@sonordev/site-kit 5.3.0 → 5.3.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-2XK54UZW.mjs +11 -0
- package/dist/{AnalyticsProvider-XSPROVHM.mjs.map → AnalyticsProvider-2XK54UZW.mjs.map} +1 -1
- package/dist/AnalyticsProvider-PM7SOGOS.js +32 -0
- package/dist/{AnalyticsProvider-2YV4ZVZD.js.map → AnalyticsProvider-PM7SOGOS.js.map} +1 -1
- package/dist/{BlogViewTracker-BQBJTL5L.js → BlogViewTracker-3BIUF5TI.js} +6 -6
- package/dist/{BlogViewTracker-BQBJTL5L.js.map → BlogViewTracker-3BIUF5TI.js.map} +1 -1
- package/dist/{BlogViewTracker-FEAXIUEW.mjs → BlogViewTracker-KFUDRDQK.mjs} +5 -5
- package/dist/{BlogViewTracker-FEAXIUEW.mjs.map → BlogViewTracker-KFUDRDQK.mjs.map} +1 -1
- package/dist/ChatWidget-4PHZHGG5.mjs +11 -0
- package/dist/{ChatWidget-B2DI2OWH.mjs.map → ChatWidget-4PHZHGG5.mjs.map} +1 -1
- package/dist/ChatWidget-7BYSGNO2.js +20 -0
- package/dist/{ChatWidget-GPBFJ4A3.js.map → ChatWidget-7BYSGNO2.js.map} +1 -1
- package/dist/EngageWidget-D6M6QWEC.mjs +9 -0
- package/dist/{EngageWidget-KF4HU4YA.mjs.map → EngageWidget-D6M6QWEC.mjs.map} +1 -1
- package/dist/EngageWidget-Q4ITKTMJ.js +18 -0
- package/dist/{EngageWidget-JXJSFONK.js.map → EngageWidget-Q4ITKTMJ.js.map} +1 -1
- package/dist/{FileField-WI6SADBA.mjs → FileField-PQQDX4IR.mjs} +5 -5
- package/dist/{FileField-WI6SADBA.mjs.map → FileField-PQQDX4IR.mjs.map} +1 -1
- package/dist/{FileField-22BB34L3.js → FileField-YBBIJOCK.js} +6 -6
- package/dist/{FileField-22BB34L3.js.map → FileField-YBBIJOCK.js.map} +1 -1
- package/dist/{FormSpotlight-6FZV6JOA.mjs → FormSpotlight-7TIIWFTP.mjs} +4 -4
- package/dist/{FormSpotlight-6FZV6JOA.mjs.map → FormSpotlight-7TIIWFTP.mjs.map} +1 -1
- package/dist/{FormSpotlight-QCIN67NB.js → FormSpotlight-WUN24F3P.js} +18 -18
- package/dist/{FormSpotlight-QCIN67NB.js.map → FormSpotlight-WUN24F3P.js.map} +1 -1
- package/dist/{FormStage-SBQQZDW6.js → FormStage-CM7OVLUT.js} +15 -15
- package/dist/{FormStage-SBQQZDW6.js.map → FormStage-CM7OVLUT.js.map} +1 -1
- package/dist/{FormStage-P3IIHVCC.mjs → FormStage-TFN2GIBO.mjs} +4 -4
- package/dist/{FormStage-P3IIHVCC.mjs.map → FormStage-TFN2GIBO.mjs.map} +1 -1
- package/dist/ManagedForm-N63YGVNY.js +23 -0
- package/dist/{ManagedForm-6LII4DED.js.map → ManagedForm-N63YGVNY.js.map} +1 -1
- package/dist/ManagedForm-ZUXLHEQU.mjs +14 -0
- package/dist/{ManagedForm-O3JRRWZ6.mjs.map → ManagedForm-ZUXLHEQU.mjs.map} +1 -1
- package/dist/{ManagedNewsletterForm-FFFF5UEX.mjs → ManagedNewsletterForm-4AVKTZ2A.mjs} +7 -7
- package/dist/{ManagedNewsletterForm-FFFF5UEX.mjs.map → ManagedNewsletterForm-4AVKTZ2A.mjs.map} +1 -1
- package/dist/{ManagedNewsletterForm-Z7NYZPAN.js → ManagedNewsletterForm-PIVJTU5L.js} +8 -8
- package/dist/{ManagedNewsletterForm-Z7NYZPAN.js.map → ManagedNewsletterForm-PIVJTU5L.js.map} +1 -1
- package/dist/{SignalCore-WL5WKQEI.js → SignalCore-2M5TISM7.js} +11 -11
- package/dist/{SignalCore-WL5WKQEI.js.map → SignalCore-2M5TISM7.js.map} +1 -1
- package/dist/{SignalCore-IUOSVYUE.mjs → SignalCore-LT4NCPOR.mjs} +5 -5
- package/dist/{SignalCore-IUOSVYUE.mjs.map → SignalCore-LT4NCPOR.mjs.map} +1 -1
- package/dist/SitemapSync-7OBOJG2L.js +18 -0
- package/dist/{SitemapSync-LA67GKKS.js.map → SitemapSync-7OBOJG2L.js.map} +1 -1
- package/dist/SitemapSync-G3OLECFI.mjs +9 -0
- package/dist/{SitemapSync-2O5UM4GM.mjs.map → SitemapSync-G3OLECFI.mjs.map} +1 -1
- package/dist/SitemapSync.d.ts.map +1 -1
- package/dist/analytics/AnalyticsProvider.d.ts +11 -1
- package/dist/analytics/AnalyticsProvider.d.ts.map +1 -1
- package/dist/analytics/WebVitals.d.ts +7 -1
- package/dist/analytics/WebVitals.d.ts.map +1 -1
- package/dist/analytics/index.d.ts +1 -0
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +25 -12
- package/dist/analytics/index.mjs +6 -5
- package/dist/analytics/send-gate.d.ts +119 -0
- package/dist/analytics/send-gate.d.ts.map +1 -0
- package/dist/analytics/send-gate.test.d.ts +20 -0
- package/dist/analytics/send-gate.test.d.ts.map +1 -0
- package/dist/blog/index.js +20 -20
- package/dist/blog/index.mjs +3 -3
- package/dist/blog/server-ui.js +14 -14
- package/dist/blog/server-ui.mjs +2 -2
- package/dist/blog/types.d.ts +3 -0
- package/dist/blog/types.d.ts.map +1 -1
- package/dist/{chunk-EDZWNCSE.js → chunk-3EPMDPWI.js} +2 -2
- package/dist/{chunk-EDZWNCSE.js.map → chunk-3EPMDPWI.js.map} +1 -1
- package/dist/{chunk-BAFGZQWP.mjs → chunk-42F5EK24.mjs} +4 -4
- package/dist/{chunk-BAFGZQWP.mjs.map → chunk-42F5EK24.mjs.map} +1 -1
- package/dist/{chunk-3DQXXYCS.js → chunk-4DE2KJ7R.js} +10 -10
- package/dist/{chunk-3DQXXYCS.js.map → chunk-4DE2KJ7R.js.map} +1 -1
- package/dist/{chunk-LFBMFACZ.js → chunk-5BZDHZCN.js} +4 -4
- package/dist/{chunk-LFBMFACZ.js.map → chunk-5BZDHZCN.js.map} +1 -1
- package/dist/{chunk-YDIINUWD.mjs → chunk-67CHHDBL.mjs} +3 -3
- package/dist/{chunk-YDIINUWD.mjs.map → chunk-67CHHDBL.mjs.map} +1 -1
- package/dist/{chunk-RMLRZOVE.js → chunk-6AZTRTCG.js} +15 -15
- package/dist/{chunk-RMLRZOVE.js.map → chunk-6AZTRTCG.js.map} +1 -1
- package/dist/{chunk-X4H2RAIQ.mjs → chunk-6QABCGM6.mjs} +3 -3
- package/dist/{chunk-X4H2RAIQ.mjs.map → chunk-6QABCGM6.mjs.map} +1 -1
- package/dist/{chunk-MOVMDHGE.mjs → chunk-6VG65AIA.mjs} +3 -3
- package/dist/{chunk-MOVMDHGE.mjs.map → chunk-6VG65AIA.mjs.map} +1 -1
- package/dist/{chunk-5I7UEXJL.js → chunk-757HXAYX.js} +3 -3
- package/dist/{chunk-5I7UEXJL.js.map → chunk-757HXAYX.js.map} +1 -1
- package/dist/{chunk-ULGTZ2VU.js → chunk-A3NNUKFA.js} +3 -3
- package/dist/{chunk-ULGTZ2VU.js.map → chunk-A3NNUKFA.js.map} +1 -1
- package/dist/{chunk-D2D3YKWT.mjs → chunk-AVM4OZHR.mjs} +3 -3
- package/dist/{chunk-D2D3YKWT.mjs.map → chunk-AVM4OZHR.mjs.map} +1 -1
- package/dist/{chunk-K447AIIB.mjs → chunk-AXAIUCSF.mjs} +9 -8
- package/dist/chunk-AXAIUCSF.mjs.map +1 -0
- package/dist/{chunk-HHX72A2B.mjs → chunk-CQUA2AUA.mjs} +3 -3
- package/dist/{chunk-HHX72A2B.mjs.map → chunk-CQUA2AUA.mjs.map} +1 -1
- package/dist/chunk-D37M7MIH.js +8 -0
- package/dist/{chunk-BIZT7AYK.js.map → chunk-D37M7MIH.js.map} +1 -1
- package/dist/{chunk-7MQR4KDL.mjs → chunk-DVH3JHZ3.mjs} +4 -4
- package/dist/{chunk-7MQR4KDL.mjs.map → chunk-DVH3JHZ3.mjs.map} +1 -1
- package/dist/{chunk-K6YQ73IX.js → chunk-DYKFC7WY.js} +8 -8
- package/dist/{chunk-K6YQ73IX.js.map → chunk-DYKFC7WY.js.map} +1 -1
- package/dist/{chunk-O2KN2SC7.mjs → chunk-DZDWBQKA.mjs} +3 -3
- package/dist/{chunk-O2KN2SC7.mjs.map → chunk-DZDWBQKA.mjs.map} +1 -1
- package/dist/{chunk-OQBDJRVP.js → chunk-E33HJMRP.js} +6 -6
- package/dist/{chunk-OQBDJRVP.js.map → chunk-E33HJMRP.js.map} +1 -1
- package/dist/{chunk-VTEIXKBA.js → chunk-FDVE56JS.js} +3 -3
- package/dist/{chunk-VTEIXKBA.js.map → chunk-FDVE56JS.js.map} +1 -1
- package/dist/{chunk-7NMI7M56.js → chunk-FFJVQWKO.js} +4 -4
- package/dist/{chunk-7NMI7M56.js.map → chunk-FFJVQWKO.js.map} +1 -1
- package/dist/{chunk-2OZ2SMZH.js → chunk-G3YUSRCL.js} +4 -4
- package/dist/{chunk-2OZ2SMZH.js.map → chunk-G3YUSRCL.js.map} +1 -1
- package/dist/{chunk-JJ6AI6LW.js → chunk-GFNXWS3I.js} +5 -5
- package/dist/{chunk-JJ6AI6LW.js.map → chunk-GFNXWS3I.js.map} +1 -1
- package/dist/{chunk-X6SAM7CR.js → chunk-GPNBBUEN.js} +3 -3
- package/dist/{chunk-X6SAM7CR.js.map → chunk-GPNBBUEN.js.map} +1 -1
- package/dist/{chunk-LB7LHVWI.mjs → chunk-H7274TKR.mjs} +9 -3
- package/dist/chunk-H7274TKR.mjs.map +1 -0
- package/dist/{chunk-DXFZA34N.mjs → chunk-HDQTZAGE.mjs} +3 -3
- package/dist/{chunk-DXFZA34N.mjs.map → chunk-HDQTZAGE.mjs.map} +1 -1
- package/dist/{chunk-GCY6VPBG.mjs → chunk-HVFXFPUJ.mjs} +3 -3
- package/dist/{chunk-GCY6VPBG.mjs.map → chunk-HVFXFPUJ.mjs.map} +1 -1
- package/dist/{chunk-2ACKOMAL.js → chunk-IPV2TUAT.js} +9 -3
- package/dist/chunk-IPV2TUAT.js.map +1 -0
- package/dist/{chunk-7OCQ4646.mjs → chunk-JSLYNYTB.mjs} +3 -3
- package/dist/{chunk-7OCQ4646.mjs.map → chunk-JSLYNYTB.mjs.map} +1 -1
- package/dist/{chunk-FDLFXHUU.mjs → chunk-JTO3K5B7.mjs} +4 -4
- package/dist/{chunk-FDLFXHUU.mjs.map → chunk-JTO3K5B7.mjs.map} +1 -1
- package/dist/{chunk-KMNIW4K4.js → chunk-K37JPEQW.js} +15 -15
- package/dist/{chunk-KMNIW4K4.js.map → chunk-K37JPEQW.js.map} +1 -1
- package/dist/{chunk-KHHMU4UH.mjs → chunk-KOP3DPIR.mjs} +4 -4
- package/dist/{chunk-KHHMU4UH.mjs.map → chunk-KOP3DPIR.mjs.map} +1 -1
- package/dist/{chunk-PXAALKTP.js → chunk-KP5BFPGT.js} +5 -3
- package/dist/chunk-KP5BFPGT.js.map +1 -0
- package/dist/{chunk-XYZZJZGS.js → chunk-KPFPSOYS.js} +12 -12
- package/dist/{chunk-XYZZJZGS.js.map → chunk-KPFPSOYS.js.map} +1 -1
- package/dist/{chunk-4YJFC6FC.js → chunk-M7FWXEXC.js} +126 -188
- package/dist/chunk-M7FWXEXC.js.map +1 -0
- package/dist/{chunk-GF7CQMBL.js → chunk-MANX6422.js} +7 -7
- package/dist/{chunk-GF7CQMBL.js.map → chunk-MANX6422.js.map} +1 -1
- package/dist/{chunk-XRONA2QL.mjs → chunk-N3C323NY.mjs} +8 -3
- package/dist/chunk-N3C323NY.mjs.map +1 -0
- package/dist/{chunk-YUOVAWCL.mjs → chunk-NSLYY62T.mjs} +4 -4
- package/dist/{chunk-YUOVAWCL.mjs.map → chunk-NSLYY62T.mjs.map} +1 -1
- package/dist/chunk-NVSWTDWU.mjs +25 -0
- package/dist/chunk-NVSWTDWU.mjs.map +1 -0
- package/dist/{chunk-KC2FCI5V.mjs → chunk-OC6PU7U2.mjs} +3 -3
- package/dist/{chunk-KC2FCI5V.mjs.map → chunk-OC6PU7U2.mjs.map} +1 -1
- package/dist/{chunk-WZ6QNL2D.js → chunk-OIJ435IZ.js} +23 -23
- package/dist/{chunk-WZ6QNL2D.js.map → chunk-OIJ435IZ.js.map} +1 -1
- package/dist/chunk-OL2QBWAU.js +29 -0
- package/dist/chunk-OL2QBWAU.js.map +1 -0
- package/dist/chunk-OUERH2T4.mjs +6 -0
- package/dist/{chunk-3PTKHSF7.mjs.map → chunk-OUERH2T4.mjs.map} +1 -1
- package/dist/{chunk-NQLE3V3T.js → chunk-PEEQMI7U.js} +12 -11
- package/dist/chunk-PEEQMI7U.js.map +1 -0
- package/dist/{chunk-RE54UKET.js → chunk-PZXKFHPO.js} +14 -14
- package/dist/{chunk-RE54UKET.js.map → chunk-PZXKFHPO.js.map} +1 -1
- package/dist/{chunk-W7QMCG2A.mjs → chunk-QZ54OCWD.mjs} +8 -8
- package/dist/{chunk-W7QMCG2A.mjs.map → chunk-QZ54OCWD.mjs.map} +1 -1
- package/dist/{chunk-B7FHRTBA.js → chunk-R3LYTIVN.js} +10 -5
- package/dist/chunk-R3LYTIVN.js.map +1 -0
- package/dist/{chunk-5YKMHPJL.mjs → chunk-R5F2JQVX.mjs} +5 -3
- package/dist/chunk-R5F2JQVX.mjs.map +1 -0
- package/dist/{chunk-26JXNW7B.mjs → chunk-RO55G3OA.mjs} +2 -2
- package/dist/{chunk-26JXNW7B.mjs.map → chunk-RO55G3OA.mjs.map} +1 -1
- package/dist/{chunk-LCRWCOPI.mjs → chunk-TS3N3LGZ.mjs} +5 -5
- package/dist/{chunk-LCRWCOPI.mjs.map → chunk-TS3N3LGZ.mjs.map} +1 -1
- package/dist/{chunk-6ABEAO2K.js → chunk-W23TMUKB.js} +9 -9
- package/dist/{chunk-6ABEAO2K.js.map → chunk-W23TMUKB.js.map} +1 -1
- package/dist/{chunk-PEIWCJXS.js → chunk-XQZTOWS3.js} +14 -14
- package/dist/{chunk-PEIWCJXS.js.map → chunk-XQZTOWS3.js.map} +1 -1
- package/dist/{chunk-ITV76G3L.mjs → chunk-XW5KNCWJ.mjs} +3 -3
- package/dist/{chunk-ITV76G3L.mjs.map → chunk-XW5KNCWJ.mjs.map} +1 -1
- package/dist/{chunk-KIGIAA6Q.mjs → chunk-Y7SRO7MJ.mjs} +127 -189
- package/dist/chunk-Y7SRO7MJ.mjs.map +1 -0
- package/dist/{chunk-XZI6KUB3.js → chunk-Z7K5AMCE.js} +4 -4
- package/dist/{chunk-XZI6KUB3.js.map → chunk-Z7K5AMCE.js.map} +1 -1
- package/dist/{chunk-F4DZH4E5.mjs → chunk-ZKR5AJV5.mjs} +4 -4
- package/dist/{chunk-F4DZH4E5.mjs.map → chunk-ZKR5AJV5.mjs.map} +1 -1
- package/dist/{chunk-6RYCAW5B.mjs → chunk-ZOJ3TLO5.mjs} +3 -3
- package/dist/{chunk-6RYCAW5B.mjs.map → chunk-ZOJ3TLO5.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 +58 -57
- package/dist/commerce/index.mjs +7 -6
- package/dist/config/index.js +2 -2
- package/dist/config/index.mjs +1 -1
- 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/FormField.d.ts +2 -1
- package/dist/forms/FormField.d.ts.map +1 -1
- package/dist/forms/index.js +18 -18
- package/dist/forms/index.mjs +10 -10
- package/dist/forms/server.js +11 -11
- package/dist/forms/server.mjs +9 -9
- package/dist/forms/static.js +8 -8
- package/dist/forms/static.mjs +7 -7
- package/dist/forms/styles.css +21 -0
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +4 -4
- package/dist/index.js +65 -64
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -10
- package/dist/index.mjs.map +1 -1
- package/dist/layout/SiteKitClientProviders.d.ts.map +1 -1
- 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 +10 -10
- package/dist/layout/index.mjs +8 -8
- package/dist/layout/types.d.ts +16 -0
- package/dist/layout/types.d.ts.map +1 -1
- package/dist/maps/index.js +5 -5
- package/dist/maps/index.mjs +3 -3
- package/dist/proxy/index.js +3 -3
- package/dist/proxy/index.mjs +2 -2
- package/dist/proxy/securityHeaders.d.ts +21 -6
- package/dist/proxy/securityHeaders.d.ts.map +1 -1
- package/dist/search/index.js +4 -4
- package/dist/search/index.mjs +3 -3
- package/dist/seo/client.js +6 -5
- package/dist/seo/client.mjs +5 -4
- package/dist/seo/index.js +6 -5
- package/dist/seo/index.js.map +1 -1
- package/dist/seo/index.mjs +5 -4
- package/dist/seo/index.mjs.map +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +2 -2
- package/dist/shared/frame.d.ts +71 -0
- package/dist/shared/frame.d.ts.map +1 -0
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +11 -11
- package/dist/signal/index.mjs +2 -2
- package/dist/sync/index.js +16 -16
- package/dist/sync/index.mjs +4 -4
- package/package.json +1 -1
- package/dist/AnalyticsProvider-2YV4ZVZD.js +0 -31
- package/dist/AnalyticsProvider-XSPROVHM.mjs +0 -10
- package/dist/ChatWidget-B2DI2OWH.mjs +0 -11
- package/dist/ChatWidget-GPBFJ4A3.js +0 -20
- package/dist/EngageWidget-JXJSFONK.js +0 -18
- package/dist/EngageWidget-KF4HU4YA.mjs +0 -9
- package/dist/ManagedForm-6LII4DED.js +0 -23
- package/dist/ManagedForm-O3JRRWZ6.mjs +0 -14
- package/dist/SitemapSync-2O5UM4GM.mjs +0 -8
- package/dist/SitemapSync-LA67GKKS.js +0 -17
- package/dist/chunk-2ACKOMAL.js.map +0 -1
- package/dist/chunk-3PTKHSF7.mjs +0 -6
- package/dist/chunk-4YJFC6FC.js.map +0 -1
- package/dist/chunk-5YKMHPJL.mjs.map +0 -1
- package/dist/chunk-B7FHRTBA.js.map +0 -1
- package/dist/chunk-BIZT7AYK.js +0 -8
- package/dist/chunk-K447AIIB.mjs.map +0 -1
- package/dist/chunk-KIGIAA6Q.mjs.map +0 -1
- package/dist/chunk-LB7LHVWI.mjs.map +0 -1
- package/dist/chunk-NQLE3V3T.js.map +0 -1
- package/dist/chunk-PXAALKTP.js.map +0 -1
- package/dist/chunk-XRONA2QL.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
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-AJQI3WTN.mjs';
|
|
4
|
-
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-
|
|
4
|
+
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-6QABCGM6.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-DVH3JHZ3.mjs';
|
|
9
|
+
export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-HVFXFPUJ.mjs';
|
|
10
10
|
import './chunk-B22WSN4L.mjs';
|
|
11
|
-
export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-
|
|
12
|
-
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
11
|
+
export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-JSLYNYTB.mjs';
|
|
12
|
+
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-OC6PU7U2.mjs';
|
|
13
|
+
import './chunk-RO55G3OA.mjs';
|
|
14
|
+
import './chunk-Y7SRO7MJ.mjs';
|
|
15
15
|
import './chunk-3DPXOZAU.mjs';
|
|
16
|
+
import './chunk-NVSWTDWU.mjs';
|
|
16
17
|
import './chunk-ZZQAGCSI.mjs';
|
|
17
18
|
import './chunk-6EDVCUAG.mjs';
|
|
18
|
-
import { sonorFetch } from './chunk-
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
19
|
+
import { sonorFetch } from './chunk-ZKR5AJV5.mjs';
|
|
20
|
+
import './chunk-CQUA2AUA.mjs';
|
|
21
|
+
import './chunk-OUERH2T4.mjs';
|
|
21
22
|
import './chunk-BEXTDHO4.mjs';
|
|
22
23
|
import { useState, useEffect } from 'react';
|
|
23
24
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/affiliates/api.ts","../src/affiliates/useAffiliates.ts","../src/affiliates/AffiliatesWidget.tsx"],"names":["getTrackingUrl"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/affiliates - Affiliates API\n * \n * API functions for fetching affiliate data for client sites.\n * All data goes through Portal API with API key auth - never Supabase directly.\n */\n\nimport { sonorFetch } from '../shared/sonorFetch'\nimport type { Affiliate, AffiliateWithOffers, FetchAffiliatesOptions } from './types'\n\n// ============================================\n// API Config Helpers\n// ============================================\n\nfunction getApiConfig() {\n const apiUrl = typeof window !== 'undefined' \n ? (window as any).__SITE_KIT_API_URL__ || 'https://api.sonor.io'\n : 'https://api.sonor.io'\n const apiKey = typeof window !== 'undefined' \n ? (window as any).__SITE_KIT_API_KEY__ || ''\n : ''\n return { apiUrl, apiKey }\n}\n\nasync function apiGet<T>(endpoint: string): Promise<T | null> {\n const { apiUrl, apiKey } = getApiConfig()\n \n if (!apiKey) {\n console.error('[Affiliates] No API key configured')\n return null\n }\n \n try {\n // Route through sonorFetch (the canonical transport) — NOT bare fetch — so a\n // stale build-time seed token is transparently refreshed and a 401 triggers\n // one refresh+retry. The credential goes via options.apiKey, never a header:\n // sonorFetch injects the freshest token as x-api-key; a hand-set header would\n // pin the stale seed and 401.\n const response = await sonorFetch(\n `${apiUrl}${endpoint}`,\n { method: 'GET' },\n { apiKey, retries: 0 },\n )\n\n if (!response.ok) {\n console.error(`[Affiliates] API error: ${response.statusText}`)\n return null\n }\n \n return await response.json()\n } catch (error) {\n console.error('[Affiliates] Network error:', error)\n return null\n }\n}\n\n// ============================================\n// Fetch Affiliates\n// ============================================\n\n/**\n * Fetch all active affiliates for the project\n * \n * @example\n * ```ts\n * const affiliates = await fetchAffiliates()\n * ```\n */\nexport async function fetchAffiliates(\n options: FetchAffiliatesOptions = {}\n): Promise<AffiliateWithOffers[]> {\n const result = await apiGet<{ affiliates: AffiliateWithOffers[] }>(\n '/api/public/affiliates'\n )\n \n return result?.affiliates || []\n}\n\n/**\n * Build a tracking URL for an affiliate offer\n * When clicked, this redirects through our tracking endpoint and then to the destination\n * \n * @example\n * ```ts\n * const trackingUrl = getTrackingUrl(affiliate.id, offer.id)\n * // Returns: https://api.sonor.io/a/{affiliateId}/{offerId}\n * ```\n */\nexport function getTrackingUrl(affiliateId: string, offerId: string): string {\n const { apiUrl } = getApiConfig()\n return `${apiUrl}/a/${affiliateId}/${offerId}`\n}\n","/**\n * @sonordev/site-kit/affiliates - useAffiliates Hook\n * \n * React hook for fetching and displaying affiliates on client sites.\n */\n\n'use client'\n\nimport { useState, useEffect } from 'react'\nimport type { AffiliateWithOffers } from './types'\nimport { fetchAffiliates, getTrackingUrl } from './api'\n\nexport interface UseAffiliatesResult {\n affiliates: AffiliateWithOffers[]\n isLoading: boolean\n error: string | null\n getTrackingUrl: (affiliateId: string, offerId: string) => string\n}\n\n/**\n * Hook to fetch affiliates for display on client sites\n * \n * @example\n * ```tsx\n * function AffiliatesSection() {\n * const { affiliates, isLoading } = useAffiliates()\n * \n * if (isLoading) return <div>Loading...</div>\n * \n * return (\n * <div className=\"grid grid-cols-3 gap-4\">\n * {affiliates.map(affiliate => (\n * <AffiliateCard key={affiliate.id} affiliate={affiliate} />\n * ))}\n * </div>\n * )\n * }\n * ```\n */\nexport function useAffiliates(): UseAffiliatesResult {\n const [affiliates, setAffiliates] = useState<AffiliateWithOffers[]>([])\n const [isLoading, setIsLoading] = useState(true)\n const [error, setError] = useState<string | null>(null)\n\n useEffect(() => {\n async function load() {\n try {\n setIsLoading(true)\n setError(null)\n const data = await fetchAffiliates()\n setAffiliates(data)\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load affiliates')\n } finally {\n setIsLoading(false)\n }\n }\n \n load()\n }, [])\n\n return {\n affiliates,\n isLoading,\n error,\n getTrackingUrl,\n }\n}\n","/**\n * @sonordev/site-kit/affiliates - AffiliatesWidget Component\n * \n * Unstyled, headless component for displaying affiliates.\n * Client sites can wrap this or use it directly with their own styling.\n */\n\n'use client'\n\nimport React from 'react'\nimport { useAffiliates } from './useAffiliates'\nimport type { AffiliateWithOffers, AffiliateOffer } from './types'\n\n// ============================================\n// Affiliate Card (Unstyled)\n// ============================================\n\nexport interface AffiliateCardProps {\n affiliate: AffiliateWithOffers\n className?: string\n /** Optional custom render for the logo */\n renderLogo?: (affiliate: AffiliateWithOffers) => React.ReactNode\n /** Show offers as links below the card */\n showOffers?: boolean\n}\n\n/**\n * Single affiliate card - unstyled, bring your own CSS\n * \n * @example\n * ```tsx\n * <AffiliateCard \n * affiliate={affiliate}\n * className=\"p-4 bg-white rounded-lg shadow\"\n * showOffers\n * />\n * ```\n */\nexport function AffiliateCard({\n affiliate,\n className = '',\n renderLogo,\n showOffers = false,\n}: AffiliateCardProps) {\n const { getTrackingUrl } = useAffiliates()\n \n const defaultLogo = (\n <div data-affiliate-logo className=\"affiliate-logo\">\n {affiliate.logo_url ? (\n <img \n src={affiliate.logo_url} \n alt={affiliate.name}\n loading=\"lazy\"\n />\n ) : (\n <span>{affiliate.name.charAt(0)}</span>\n )}\n </div>\n )\n\n return (\n <div className={className} data-affiliate-card data-affiliate-id={affiliate.id}>\n {/* Logo */}\n {renderLogo ? renderLogo(affiliate) : defaultLogo}\n \n {/* Name */}\n <div data-affiliate-name className=\"affiliate-name\">\n {affiliate.name}\n </div>\n \n {/* Website link */}\n {affiliate.website_url && (\n <a \n href={affiliate.website_url}\n target=\"_blank\"\n rel=\"noopener noreferrer sponsored\"\n data-affiliate-website\n className=\"affiliate-website\"\n >\n Visit Website\n </a>\n )}\n \n {/* Offers */}\n {showOffers && affiliate.offers && affiliate.offers.length > 0 && (\n <div data-affiliate-offers className=\"affiliate-offers\">\n {affiliate.offers.map(offer => (\n <a\n key={offer.id}\n href={getTrackingUrl(affiliate.id, offer.id)}\n target=\"_blank\"\n rel=\"noopener noreferrer sponsored\"\n data-affiliate-offer\n data-offer-id={offer.id}\n className=\"affiliate-offer\"\n >\n {offer.name}\n </a>\n ))}\n </div>\n )}\n </div>\n )\n}\n\n// ============================================\n// Affiliates Grid (Unstyled)\n// ============================================\n\nexport interface AffiliatesWidgetProps {\n className?: string\n /** Custom loading component */\n loadingComponent?: React.ReactNode\n /** Custom empty state component */\n emptyComponent?: React.ReactNode\n /** Custom error component */\n errorComponent?: React.ReactNode\n /** Show offers on each card */\n showOffers?: boolean\n /** Custom render function for each affiliate */\n renderAffiliate?: (affiliate: AffiliateWithOffers) => React.ReactNode\n /** Maximum number to display */\n limit?: number\n}\n\n/**\n * Display a grid of affiliates - unstyled, bring your own CSS\n * \n * @example\n * ```tsx\n * // Basic usage\n * <AffiliatesWidget className=\"grid grid-cols-3 gap-4\" />\n * \n * // With custom rendering\n * <AffiliatesWidget\n * renderAffiliate={(affiliate) => (\n * <MyCustomCard key={affiliate.id} data={affiliate} />\n * )}\n * />\n * ```\n */\nexport function AffiliatesWidget({\n className = '',\n loadingComponent,\n emptyComponent,\n errorComponent,\n showOffers = false,\n renderAffiliate,\n limit,\n}: AffiliatesWidgetProps) {\n const { affiliates, isLoading, error, getTrackingUrl } = useAffiliates()\n \n if (isLoading) {\n return loadingComponent || <div data-affiliates-loading>Loading affiliates...</div>\n }\n \n if (error) {\n return errorComponent || <div data-affiliates-error>{error}</div>\n }\n \n const displayAffiliates = limit ? affiliates.slice(0, limit) : affiliates\n \n if (displayAffiliates.length === 0) {\n return emptyComponent || null\n }\n \n return (\n <div className={className} data-affiliates-widget>\n {displayAffiliates.map(affiliate => \n renderAffiliate \n ? renderAffiliate(affiliate)\n : <AffiliateCard \n key={affiliate.id} \n affiliate={affiliate} \n showOffers={showOffers}\n />\n )}\n </div>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/affiliates/api.ts","../src/affiliates/useAffiliates.ts","../src/affiliates/AffiliatesWidget.tsx"],"names":["getTrackingUrl"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/affiliates - Affiliates API\n * \n * API functions for fetching affiliate data for client sites.\n * All data goes through Portal API with API key auth - never Supabase directly.\n */\n\nimport { sonorFetch } from '../shared/sonorFetch'\nimport type { Affiliate, AffiliateWithOffers, FetchAffiliatesOptions } from './types'\n\n// ============================================\n// API Config Helpers\n// ============================================\n\nfunction getApiConfig() {\n const apiUrl = typeof window !== 'undefined' \n ? (window as any).__SITE_KIT_API_URL__ || 'https://api.sonor.io'\n : 'https://api.sonor.io'\n const apiKey = typeof window !== 'undefined' \n ? (window as any).__SITE_KIT_API_KEY__ || ''\n : ''\n return { apiUrl, apiKey }\n}\n\nasync function apiGet<T>(endpoint: string): Promise<T | null> {\n const { apiUrl, apiKey } = getApiConfig()\n \n if (!apiKey) {\n console.error('[Affiliates] No API key configured')\n return null\n }\n \n try {\n // Route through sonorFetch (the canonical transport) — NOT bare fetch — so a\n // stale build-time seed token is transparently refreshed and a 401 triggers\n // one refresh+retry. The credential goes via options.apiKey, never a header:\n // sonorFetch injects the freshest token as x-api-key; a hand-set header would\n // pin the stale seed and 401.\n const response = await sonorFetch(\n `${apiUrl}${endpoint}`,\n { method: 'GET' },\n { apiKey, retries: 0 },\n )\n\n if (!response.ok) {\n console.error(`[Affiliates] API error: ${response.statusText}`)\n return null\n }\n \n return await response.json()\n } catch (error) {\n console.error('[Affiliates] Network error:', error)\n return null\n }\n}\n\n// ============================================\n// Fetch Affiliates\n// ============================================\n\n/**\n * Fetch all active affiliates for the project\n * \n * @example\n * ```ts\n * const affiliates = await fetchAffiliates()\n * ```\n */\nexport async function fetchAffiliates(\n options: FetchAffiliatesOptions = {}\n): Promise<AffiliateWithOffers[]> {\n const result = await apiGet<{ affiliates: AffiliateWithOffers[] }>(\n '/api/public/affiliates'\n )\n \n return result?.affiliates || []\n}\n\n/**\n * Build a tracking URL for an affiliate offer\n * When clicked, this redirects through our tracking endpoint and then to the destination\n * \n * @example\n * ```ts\n * const trackingUrl = getTrackingUrl(affiliate.id, offer.id)\n * // Returns: https://api.sonor.io/a/{affiliateId}/{offerId}\n * ```\n */\nexport function getTrackingUrl(affiliateId: string, offerId: string): string {\n const { apiUrl } = getApiConfig()\n return `${apiUrl}/a/${affiliateId}/${offerId}`\n}\n","/**\n * @sonordev/site-kit/affiliates - useAffiliates Hook\n * \n * React hook for fetching and displaying affiliates on client sites.\n */\n\n'use client'\n\nimport { useState, useEffect } from 'react'\nimport type { AffiliateWithOffers } from './types'\nimport { fetchAffiliates, getTrackingUrl } from './api'\n\nexport interface UseAffiliatesResult {\n affiliates: AffiliateWithOffers[]\n isLoading: boolean\n error: string | null\n getTrackingUrl: (affiliateId: string, offerId: string) => string\n}\n\n/**\n * Hook to fetch affiliates for display on client sites\n * \n * @example\n * ```tsx\n * function AffiliatesSection() {\n * const { affiliates, isLoading } = useAffiliates()\n * \n * if (isLoading) return <div>Loading...</div>\n * \n * return (\n * <div className=\"grid grid-cols-3 gap-4\">\n * {affiliates.map(affiliate => (\n * <AffiliateCard key={affiliate.id} affiliate={affiliate} />\n * ))}\n * </div>\n * )\n * }\n * ```\n */\nexport function useAffiliates(): UseAffiliatesResult {\n const [affiliates, setAffiliates] = useState<AffiliateWithOffers[]>([])\n const [isLoading, setIsLoading] = useState(true)\n const [error, setError] = useState<string | null>(null)\n\n useEffect(() => {\n async function load() {\n try {\n setIsLoading(true)\n setError(null)\n const data = await fetchAffiliates()\n setAffiliates(data)\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load affiliates')\n } finally {\n setIsLoading(false)\n }\n }\n \n load()\n }, [])\n\n return {\n affiliates,\n isLoading,\n error,\n getTrackingUrl,\n }\n}\n","/**\n * @sonordev/site-kit/affiliates - AffiliatesWidget Component\n * \n * Unstyled, headless component for displaying affiliates.\n * Client sites can wrap this or use it directly with their own styling.\n */\n\n'use client'\n\nimport React from 'react'\nimport { useAffiliates } from './useAffiliates'\nimport type { AffiliateWithOffers, AffiliateOffer } from './types'\n\n// ============================================\n// Affiliate Card (Unstyled)\n// ============================================\n\nexport interface AffiliateCardProps {\n affiliate: AffiliateWithOffers\n className?: string\n /** Optional custom render for the logo */\n renderLogo?: (affiliate: AffiliateWithOffers) => React.ReactNode\n /** Show offers as links below the card */\n showOffers?: boolean\n}\n\n/**\n * Single affiliate card - unstyled, bring your own CSS\n * \n * @example\n * ```tsx\n * <AffiliateCard \n * affiliate={affiliate}\n * className=\"p-4 bg-white rounded-lg shadow\"\n * showOffers\n * />\n * ```\n */\nexport function AffiliateCard({\n affiliate,\n className = '',\n renderLogo,\n showOffers = false,\n}: AffiliateCardProps) {\n const { getTrackingUrl } = useAffiliates()\n \n const defaultLogo = (\n <div data-affiliate-logo className=\"affiliate-logo\">\n {affiliate.logo_url ? (\n <img \n src={affiliate.logo_url} \n alt={affiliate.name}\n loading=\"lazy\"\n />\n ) : (\n <span>{affiliate.name.charAt(0)}</span>\n )}\n </div>\n )\n\n return (\n <div className={className} data-affiliate-card data-affiliate-id={affiliate.id}>\n {/* Logo */}\n {renderLogo ? renderLogo(affiliate) : defaultLogo}\n \n {/* Name */}\n <div data-affiliate-name className=\"affiliate-name\">\n {affiliate.name}\n </div>\n \n {/* Website link */}\n {affiliate.website_url && (\n <a \n href={affiliate.website_url}\n target=\"_blank\"\n rel=\"noopener noreferrer sponsored\"\n data-affiliate-website\n className=\"affiliate-website\"\n >\n Visit Website\n </a>\n )}\n \n {/* Offers */}\n {showOffers && affiliate.offers && affiliate.offers.length > 0 && (\n <div data-affiliate-offers className=\"affiliate-offers\">\n {affiliate.offers.map(offer => (\n <a\n key={offer.id}\n href={getTrackingUrl(affiliate.id, offer.id)}\n target=\"_blank\"\n rel=\"noopener noreferrer sponsored\"\n data-affiliate-offer\n data-offer-id={offer.id}\n className=\"affiliate-offer\"\n >\n {offer.name}\n </a>\n ))}\n </div>\n )}\n </div>\n )\n}\n\n// ============================================\n// Affiliates Grid (Unstyled)\n// ============================================\n\nexport interface AffiliatesWidgetProps {\n className?: string\n /** Custom loading component */\n loadingComponent?: React.ReactNode\n /** Custom empty state component */\n emptyComponent?: React.ReactNode\n /** Custom error component */\n errorComponent?: React.ReactNode\n /** Show offers on each card */\n showOffers?: boolean\n /** Custom render function for each affiliate */\n renderAffiliate?: (affiliate: AffiliateWithOffers) => React.ReactNode\n /** Maximum number to display */\n limit?: number\n}\n\n/**\n * Display a grid of affiliates - unstyled, bring your own CSS\n * \n * @example\n * ```tsx\n * // Basic usage\n * <AffiliatesWidget className=\"grid grid-cols-3 gap-4\" />\n * \n * // With custom rendering\n * <AffiliatesWidget\n * renderAffiliate={(affiliate) => (\n * <MyCustomCard key={affiliate.id} data={affiliate} />\n * )}\n * />\n * ```\n */\nexport function AffiliatesWidget({\n className = '',\n loadingComponent,\n emptyComponent,\n errorComponent,\n showOffers = false,\n renderAffiliate,\n limit,\n}: AffiliatesWidgetProps) {\n const { affiliates, isLoading, error, getTrackingUrl } = useAffiliates()\n \n if (isLoading) {\n return loadingComponent || <div data-affiliates-loading>Loading affiliates...</div>\n }\n \n if (error) {\n return errorComponent || <div data-affiliates-error>{error}</div>\n }\n \n const displayAffiliates = limit ? affiliates.slice(0, limit) : affiliates\n \n if (displayAffiliates.length === 0) {\n return emptyComponent || null\n }\n \n return (\n <div className={className} data-affiliates-widget>\n {displayAffiliates.map(affiliate => \n renderAffiliate \n ? renderAffiliate(affiliate)\n : <AffiliateCard \n key={affiliate.id} \n affiliate={affiliate} \n showOffers={showOffers}\n />\n )}\n </div>\n )\n}\n"]}
|
|
@@ -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;;;;;;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,
|
|
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,qBA0J7B"}
|
|
@@ -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;;;;;;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,
|
|
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,qBA0J7B"}
|
package/dist/layout/client.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
4
|
+
var chunkPEEQMI7U_js = require('../chunk-PEEQMI7U.js');
|
|
5
|
+
require('../chunk-GFNXWS3I.js');
|
|
6
|
+
require('../chunk-MANX6422.js');
|
|
7
7
|
require('../chunk-Q2NBD54V.js');
|
|
8
8
|
require('../chunk-OZ3FU4BT.js');
|
|
9
9
|
require('../chunk-SWIKKSKL.js');
|
|
10
10
|
require('../chunk-HGNSJXWT.js');
|
|
11
|
-
require('../chunk-
|
|
11
|
+
require('../chunk-GPNBBUEN.js');
|
|
12
12
|
require('../chunk-RC4WWQXR.js');
|
|
13
13
|
require('../chunk-VJMPIRSD.js');
|
|
14
|
-
require('../chunk-
|
|
15
|
-
require('../chunk-
|
|
16
|
-
require('../chunk-
|
|
14
|
+
require('../chunk-6AZTRTCG.js');
|
|
15
|
+
require('../chunk-FFJVQWKO.js');
|
|
16
|
+
require('../chunk-D37M7MIH.js');
|
|
17
17
|
require('../chunk-SNAQBZPT.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
Object.defineProperty(exports, "SiteKitClientProviders", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkPEEQMI7U_js.SiteKitClientProviders; }
|
|
24
24
|
});
|
|
25
25
|
//# sourceMappingURL=client.js.map
|
|
26
26
|
//# sourceMappingURL=client.js.map
|
package/dist/layout/client.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SiteKitClientProviders } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
2
|
+
export { SiteKitClientProviders } from '../chunk-AXAIUCSF.mjs';
|
|
3
|
+
import '../chunk-AVM4OZHR.mjs';
|
|
4
|
+
import '../chunk-JTO3K5B7.mjs';
|
|
5
5
|
import '../chunk-ZPLN537Q.mjs';
|
|
6
6
|
import '../chunk-GZJE23Y5.mjs';
|
|
7
7
|
import '../chunk-ZN4HBK5C.mjs';
|
|
8
8
|
import '../chunk-ZVBLXXNJ.mjs';
|
|
9
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-OC6PU7U2.mjs';
|
|
10
10
|
import '../chunk-ZZQAGCSI.mjs';
|
|
11
11
|
import '../chunk-6EDVCUAG.mjs';
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
14
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-ZKR5AJV5.mjs';
|
|
13
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
14
|
+
import '../chunk-OUERH2T4.mjs';
|
|
15
15
|
import '../chunk-BEXTDHO4.mjs';
|
|
16
16
|
//# sourceMappingURL=client.mjs.map
|
|
17
17
|
//# sourceMappingURL=client.mjs.map
|
package/dist/layout/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
5
|
-
require('../chunk-
|
|
3
|
+
var chunkPEEQMI7U_js = require('../chunk-PEEQMI7U.js');
|
|
4
|
+
require('../chunk-GFNXWS3I.js');
|
|
5
|
+
require('../chunk-MANX6422.js');
|
|
6
6
|
require('../chunk-Q2NBD54V.js');
|
|
7
7
|
require('../chunk-OZ3FU4BT.js');
|
|
8
8
|
require('../chunk-SWIKKSKL.js');
|
|
9
9
|
require('../chunk-HGNSJXWT.js');
|
|
10
10
|
var chunkGCPPXUAI_js = require('../chunk-GCPPXUAI.js');
|
|
11
|
-
require('../chunk-
|
|
12
|
-
var
|
|
11
|
+
require('../chunk-GPNBBUEN.js');
|
|
12
|
+
var chunkZ7K5AMCE_js = require('../chunk-Z7K5AMCE.js');
|
|
13
13
|
var chunkDV2LJYFD_js = require('../chunk-DV2LJYFD.js');
|
|
14
14
|
var chunkO5GHP7UO_js = require('../chunk-O5GHP7UO.js');
|
|
15
15
|
require('../chunk-RC4WWQXR.js');
|
|
16
16
|
require('../chunk-VJMPIRSD.js');
|
|
17
|
-
require('../chunk-
|
|
18
|
-
require('../chunk-
|
|
19
|
-
require('../chunk-
|
|
17
|
+
require('../chunk-6AZTRTCG.js');
|
|
18
|
+
require('../chunk-FFJVQWKO.js');
|
|
19
|
+
require('../chunk-D37M7MIH.js');
|
|
20
20
|
require('../chunk-SNAQBZPT.js');
|
|
21
21
|
var jsxRuntime = require('react/jsx-runtime');
|
|
22
22
|
|
|
@@ -70,7 +70,7 @@ async function SiteKitLayout({
|
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
const apiOrigin = chunkO5GHP7UO_js.resolveApiOrigin(resolvedApiUrl);
|
|
73
|
-
const clientCredential = await
|
|
73
|
+
const clientCredential = await chunkZ7K5AMCE_js.resolveClientCredential(resolvedApiKey, resolvedApiUrl);
|
|
74
74
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
75
75
|
/* @__PURE__ */ jsxRuntime.jsx("link", { rel: "preconnect", href: apiOrigin, crossOrigin: "anonymous" }),
|
|
76
76
|
/* @__PURE__ */ jsxRuntime.jsx("link", { rel: "dns-prefetch", href: apiOrigin }),
|
|
@@ -78,7 +78,7 @@ async function SiteKitLayout({
|
|
|
78
78
|
managedScripts && /* @__PURE__ */ jsxRuntime.jsx(chunkDV2LJYFD_js.ManagedScripts, { position: "head" }),
|
|
79
79
|
speculation && /* @__PURE__ */ jsxRuntime.jsx(SpeculationRules, { ...typeof speculation === "object" ? speculation : {} }),
|
|
80
80
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
81
|
-
|
|
81
|
+
chunkPEEQMI7U_js.SiteKitClientProviders,
|
|
82
82
|
{
|
|
83
83
|
apiKey: clientCredential,
|
|
84
84
|
apiUrl: resolvedApiUrl,
|
package/dist/layout/index.mjs
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { SiteKitClientProviders } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
import { SiteKitClientProviders } from '../chunk-AXAIUCSF.mjs';
|
|
2
|
+
import '../chunk-AVM4OZHR.mjs';
|
|
3
|
+
import '../chunk-JTO3K5B7.mjs';
|
|
4
4
|
import '../chunk-ZPLN537Q.mjs';
|
|
5
5
|
import '../chunk-GZJE23Y5.mjs';
|
|
6
6
|
import '../chunk-ZN4HBK5C.mjs';
|
|
7
7
|
import '../chunk-ZVBLXXNJ.mjs';
|
|
8
8
|
import { ManagedFavicon } from '../chunk-CU6OGBKK.mjs';
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import { resolveClientCredential } from '../chunk-
|
|
9
|
+
import '../chunk-OC6PU7U2.mjs';
|
|
10
|
+
import { resolveClientCredential } from '../chunk-ZOJ3TLO5.mjs';
|
|
11
11
|
import { ManagedScripts } from '../chunk-6PJTLBRR.mjs';
|
|
12
12
|
import { resolveApiOrigin } from '../chunk-6XNEGG5B.mjs';
|
|
13
13
|
import '../chunk-ZZQAGCSI.mjs';
|
|
14
14
|
import '../chunk-6EDVCUAG.mjs';
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import '../chunk-
|
|
15
|
+
import '../chunk-ZKR5AJV5.mjs';
|
|
16
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
17
|
+
import '../chunk-OUERH2T4.mjs';
|
|
18
18
|
import '../chunk-BEXTDHO4.mjs';
|
|
19
19
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
20
20
|
|
package/dist/layout/types.d.ts
CHANGED
|
@@ -19,6 +19,22 @@ export interface AnalyticsConfig {
|
|
|
19
19
|
* `NEXT_PUBLIC_SITE_URL`, then to `window.location.host`.
|
|
20
20
|
*/
|
|
21
21
|
site?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Report analytics even when this site is loaded inside a CROSS-ORIGIN
|
|
24
|
+
* iframe. Default false.
|
|
25
|
+
*
|
|
26
|
+
* A framed page's visitor is on whoever framed it, not on this site, so by
|
|
27
|
+
* default an embed reports nothing — see `analytics/send-gate.ts` for the
|
|
28
|
+
* phantom traffic that prompted this (Upforge case studies embed live
|
|
29
|
+
* client sites, and every view was writing page views into the client's own
|
|
30
|
+
* project). Same-origin frames are never blocked: a site embedding itself
|
|
31
|
+
* is a real visit to that site.
|
|
32
|
+
*
|
|
33
|
+
* Set this to true only for a site that is deliberately distributed as an
|
|
34
|
+
* embed — a widget, a partner-hosted booking or menu page — where the frame
|
|
35
|
+
* IS the product and its traffic is genuinely yours.
|
|
36
|
+
*/
|
|
37
|
+
allowInFrame?: boolean;
|
|
22
38
|
}
|
|
23
39
|
export interface EngageConfig {
|
|
24
40
|
position?: 'bottom-right' | 'bottom-left';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B"}
|
package/dist/maps/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
4
|
+
var chunk6AZTRTCG_js = require('../chunk-6AZTRTCG.js');
|
|
5
|
+
require('../chunk-FFJVQWKO.js');
|
|
6
|
+
require('../chunk-D37M7MIH.js');
|
|
7
7
|
require('../chunk-SNAQBZPT.js');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var reactGoogleMaps = require('@vis.gl/react-google-maps');
|
|
@@ -141,7 +141,7 @@ async function fetchMapsConfig() {
|
|
|
141
141
|
const { apiUrl, apiKey } = getApiConfig();
|
|
142
142
|
if (apiKey) {
|
|
143
143
|
try {
|
|
144
|
-
const res = await
|
|
144
|
+
const res = await chunk6AZTRTCG_js.sonorFetch(
|
|
145
145
|
`${apiUrl}/api/public/maps/config`,
|
|
146
146
|
{ headers: { "Content-Type": "application/json" } },
|
|
147
147
|
{ apiKey }
|
|
@@ -181,7 +181,7 @@ async function fetchNearbyPlaces(params) {
|
|
|
181
181
|
});
|
|
182
182
|
if (params.radius) searchParams.set("radius", String(params.radius));
|
|
183
183
|
if (params.limit) searchParams.set("limit", String(params.limit));
|
|
184
|
-
const res = await
|
|
184
|
+
const res = await chunk6AZTRTCG_js.sonorFetch(
|
|
185
185
|
`${apiUrl}/api/public/maps/nearby-places?${searchParams}`,
|
|
186
186
|
{ headers: { "Content-Type": "application/json" } },
|
|
187
187
|
{ apiKey }
|
package/dist/maps/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { sonorFetch } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
2
|
+
import { sonorFetch } from '../chunk-ZKR5AJV5.mjs';
|
|
3
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
4
|
+
import '../chunk-OUERH2T4.mjs';
|
|
5
5
|
import '../chunk-BEXTDHO4.mjs';
|
|
6
6
|
import { useState, useCallback, useEffect } from 'react';
|
|
7
7
|
import { APIProvider, Map as Map$1, AdvancedMarker, Pin, InfoWindow } from '@vis.gl/react-google-maps';
|
package/dist/proxy/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKP5BFPGT_js = require('../chunk-KP5BFPGT.js');
|
|
4
4
|
var chunk5B4FABFK_js = require('../chunk-5B4FABFK.js');
|
|
5
5
|
var chunk46BMNWE6_js = require('../chunk-46BMNWE6.js');
|
|
6
6
|
require('../chunk-JP5WGL75.js');
|
|
@@ -79,7 +79,7 @@ function decodeSegment(value) {
|
|
|
79
79
|
|
|
80
80
|
// src/proxy/index.ts
|
|
81
81
|
function createProxy(config) {
|
|
82
|
-
const securityHeaders =
|
|
82
|
+
const securityHeaders = chunkKP5BFPGT_js.buildSecurityHeaders(
|
|
83
83
|
config?.securityHeaders
|
|
84
84
|
);
|
|
85
85
|
const discoveryHeaders = config?.llmsDiscovery ? chunk5B4FABFK_js.buildAiDiscoveryHeaders({
|
|
@@ -163,7 +163,7 @@ var createMiddleware = createProxy;
|
|
|
163
163
|
|
|
164
164
|
Object.defineProperty(exports, "DEFAULT_FRAME_ANCESTORS", {
|
|
165
165
|
enumerable: true,
|
|
166
|
-
get: function () { return
|
|
166
|
+
get: function () { return chunkKP5BFPGT_js.DEFAULT_FRAME_ANCESTORS; }
|
|
167
167
|
});
|
|
168
168
|
exports.createMiddleware = createMiddleware;
|
|
169
169
|
exports.createProxy = createProxy;
|
package/dist/proxy/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { buildSecurityHeaders } from '../chunk-
|
|
2
|
-
export { DEFAULT_FRAME_ANCESTORS } from '../chunk-
|
|
1
|
+
import { buildSecurityHeaders } from '../chunk-R5F2JQVX.mjs';
|
|
2
|
+
export { DEFAULT_FRAME_ANCESTORS } from '../chunk-R5F2JQVX.mjs';
|
|
3
3
|
import { buildAiDiscoveryHeaders } from '../chunk-H4OBGC43.mjs';
|
|
4
4
|
import { handleManagedRedirects, SK_PATH_HEADER } from '../chunk-AJQI3WTN.mjs';
|
|
5
5
|
import '../chunk-B22WSN4L.mjs';
|
|
@@ -9,13 +9,28 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Upforge showcases live client work inside iframes on its portfolio /
|
|
11
11
|
* area pages, so every managed marketing site has to be embeddable from
|
|
12
|
-
*
|
|
13
|
-
* is dead and ignored by every current browser),
|
|
14
|
-
* `frame-ancestors` directive is the only way to say "these
|
|
15
|
-
* nobody else". Everything not listed here is still blocked.
|
|
12
|
+
* the Upforge showcase origins. `X-Frame-Options` cannot express an
|
|
13
|
+
* allowlist (`ALLOW-FROM` is dead and ignored by every current browser),
|
|
14
|
+
* so the CSP `frame-ancestors` directive is the only way to say "these
|
|
15
|
+
* origins and nobody else". Everything not listed here is still blocked.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* upforgelabs.com is a SEPARATE APEX DOMAIN, not a subdomain of
|
|
18
|
+
* upforge.io, so `https://*.upforge.io` does not cover it and never did.
|
|
19
|
+
* Labs case studies embed three live client frames each; without this
|
|
20
|
+
* entry every one of them is refused with ERR_BLOCKED_BY_RESPONSE.
|
|
21
|
+
*
|
|
22
|
+
* upforgeapps.com is deliberately NOT here. It is a third Upforge apex,
|
|
23
|
+
* but it only *links* to case studies (`upforge.io/work/<slug>`, see its
|
|
24
|
+
* `lib/proof.ts`) and frames no client site anywhere. An origin earns a
|
|
25
|
+
* place on this list by embedding, not by belonging to Upforge; adding a
|
|
26
|
+
* non-embedder would hand out framing rights nothing needs. Re-check that
|
|
27
|
+
* before adding it.
|
|
28
|
+
*
|
|
29
|
+
* Do NOT re-fork this list into individual sites' proxy/middleware/
|
|
30
|
+
* next.config/netlify.toml/_headers — a fork is a copy that stops
|
|
31
|
+
* tracking this one, which is exactly how upforgelabs.com came to be
|
|
32
|
+
* missing from ten sites' allowlists at once. Add origins HERE and let
|
|
33
|
+
* the fleet inherit them on its next deploy.
|
|
19
34
|
*/
|
|
20
35
|
export declare const DEFAULT_FRAME_ANCESTORS: string[];
|
|
21
36
|
export interface SecurityHeadersConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"securityHeaders.d.ts","sourceRoot":"","sources":["../../src/proxy/securityHeaders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"securityHeaders.d.ts","sourceRoot":"","sources":["../../src/proxy/securityHeaders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,uBAAuB,UAMnC,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC;0EACsE;IACtE,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAA;IAC5C;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACjC,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+DxB"}
|
package/dist/search/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunkG2WC3CXW_js = require('../chunk-G2WC3CXW.js');
|
|
5
|
-
var
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
5
|
+
var chunk6AZTRTCG_js = require('../chunk-6AZTRTCG.js');
|
|
6
|
+
require('../chunk-FFJVQWKO.js');
|
|
7
|
+
require('../chunk-D37M7MIH.js');
|
|
8
8
|
require('../chunk-SNAQBZPT.js');
|
|
9
9
|
var react = require('react');
|
|
10
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -39,7 +39,7 @@ function useSiteSearch(options = {}) {
|
|
|
39
39
|
const apiUrl = typeof window !== "undefined" ? window.__SITE_KIT_API_URL__ || "https://api.sonor.io" : "https://api.sonor.io";
|
|
40
40
|
const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
|
|
41
41
|
const resolvedSite = site ?? (typeof window !== "undefined" ? window.__SITE_KIT_SITE__ : void 0);
|
|
42
|
-
const res = await
|
|
42
|
+
const res = await chunk6AZTRTCG_js.sonorFetch(
|
|
43
43
|
`${apiUrl}${chunkG2WC3CXW_js.SEARCH_ENDPOINT}`,
|
|
44
44
|
{
|
|
45
45
|
method: "POST",
|
package/dist/search/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { SEARCH_ENDPOINT } from '../chunk-75A4KY4X.mjs';
|
|
3
3
|
export { SEARCH_ENDPOINT } from '../chunk-75A4KY4X.mjs';
|
|
4
|
-
import { sonorFetch } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import { sonorFetch } from '../chunk-ZKR5AJV5.mjs';
|
|
5
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
6
|
+
import '../chunk-OUERH2T4.mjs';
|
|
7
7
|
import '../chunk-BEXTDHO4.mjs';
|
|
8
8
|
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
9
9
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
package/dist/seo/client.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkR3LYTIVN_js = require('../chunk-R3LYTIVN.js');
|
|
5
5
|
require('../chunk-JEOKDUPQ.js');
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
8
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-OL2QBWAU.js');
|
|
7
|
+
require('../chunk-6AZTRTCG.js');
|
|
8
|
+
require('../chunk-FFJVQWKO.js');
|
|
9
|
+
require('../chunk-D37M7MIH.js');
|
|
9
10
|
require('../chunk-SNAQBZPT.js');
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
Object.defineProperty(exports, "SitemapSync", {
|
|
14
15
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunkR3LYTIVN_js.SitemapSync; }
|
|
16
17
|
});
|
|
17
18
|
//# sourceMappingURL=client.js.map
|
|
18
19
|
//# sourceMappingURL=client.js.map
|
package/dist/seo/client.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SitemapSync } from '../chunk-
|
|
2
|
+
export { SitemapSync } from '../chunk-N3C323NY.mjs';
|
|
3
3
|
import '../chunk-QJU6HBSK.mjs';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-NVSWTDWU.mjs';
|
|
5
|
+
import '../chunk-ZKR5AJV5.mjs';
|
|
6
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
7
|
+
import '../chunk-OUERH2T4.mjs';
|
|
7
8
|
import '../chunk-BEXTDHO4.mjs';
|
|
8
9
|
//# sourceMappingURL=client.mjs.map
|
|
9
10
|
//# sourceMappingURL=client.mjs.map
|
package/dist/seo/index.js
CHANGED
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
var chunkDV2LJYFD_js = require('../chunk-DV2LJYFD.js');
|
|
4
4
|
var chunkH6AU3WKF_js = require('../chunk-H6AU3WKF.js');
|
|
5
5
|
var chunkJ7QI3GDX_js = require('../chunk-J7QI3GDX.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkR3LYTIVN_js = require('../chunk-R3LYTIVN.js');
|
|
7
7
|
var chunkL2LJQIM3_js = require('../chunk-L2LJQIM3.js');
|
|
8
8
|
var chunk3TXX5KIN_js = require('../chunk-3TXX5KIN.js');
|
|
9
9
|
require('../chunk-O5GHP7UO.js');
|
|
10
10
|
require('../chunk-JEOKDUPQ.js');
|
|
11
|
-
require('../chunk-
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-
|
|
11
|
+
require('../chunk-OL2QBWAU.js');
|
|
12
|
+
require('../chunk-6AZTRTCG.js');
|
|
13
|
+
require('../chunk-FFJVQWKO.js');
|
|
14
|
+
require('../chunk-D37M7MIH.js');
|
|
14
15
|
require('../chunk-SNAQBZPT.js');
|
|
15
16
|
var react = require('react');
|
|
16
17
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -687,7 +688,7 @@ Object.defineProperty(exports, "ManagedScripts", {
|
|
|
687
688
|
});
|
|
688
689
|
Object.defineProperty(exports, "SitemapSync", {
|
|
689
690
|
enumerable: true,
|
|
690
|
-
get: function () { return
|
|
691
|
+
get: function () { return chunkR3LYTIVN_js.SitemapSync; }
|
|
691
692
|
});
|
|
692
693
|
Object.defineProperty(exports, "generateSitemap", {
|
|
693
694
|
enumerable: true,
|