@sonordev/site-kit 5.3.1 → 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-NA7EMJCA.mjs.map → AnalyticsProvider-2XK54UZW.mjs.map} +1 -1
- package/dist/AnalyticsProvider-PM7SOGOS.js +32 -0
- package/dist/{AnalyticsProvider-XE3ADUUH.js.map → AnalyticsProvider-PM7SOGOS.js.map} +1 -1
- package/dist/{BlogViewTracker-DVJHZ7CM.js → BlogViewTracker-3BIUF5TI.js} +6 -6
- package/dist/{BlogViewTracker-DVJHZ7CM.js.map → BlogViewTracker-3BIUF5TI.js.map} +1 -1
- package/dist/{BlogViewTracker-MKJYTTJQ.mjs → BlogViewTracker-KFUDRDQK.mjs} +5 -5
- package/dist/{BlogViewTracker-MKJYTTJQ.mjs.map → BlogViewTracker-KFUDRDQK.mjs.map} +1 -1
- package/dist/ChatWidget-4PHZHGG5.mjs +11 -0
- package/dist/{ChatWidget-BD4F4XLD.mjs.map → ChatWidget-4PHZHGG5.mjs.map} +1 -1
- package/dist/ChatWidget-7BYSGNO2.js +20 -0
- package/dist/{ChatWidget-BZ3KOSXG.js.map → ChatWidget-7BYSGNO2.js.map} +1 -1
- package/dist/EngageWidget-D6M6QWEC.mjs +9 -0
- package/dist/{EngageWidget-L7B6PCM3.mjs.map → EngageWidget-D6M6QWEC.mjs.map} +1 -1
- package/dist/EngageWidget-Q4ITKTMJ.js +18 -0
- package/dist/{EngageWidget-JPP6EDCJ.js.map → EngageWidget-Q4ITKTMJ.js.map} +1 -1
- package/dist/{FileField-7WPRONDS.mjs → FileField-PQQDX4IR.mjs} +5 -5
- package/dist/{FileField-7WPRONDS.mjs.map → FileField-PQQDX4IR.mjs.map} +1 -1
- package/dist/{FileField-GHT7444Y.js → FileField-YBBIJOCK.js} +6 -6
- package/dist/{FileField-GHT7444Y.js.map → FileField-YBBIJOCK.js.map} +1 -1
- package/dist/{FormSpotlight-WZVS6HHR.mjs → FormSpotlight-7TIIWFTP.mjs} +3 -3
- package/dist/{FormSpotlight-WZVS6HHR.mjs.map → FormSpotlight-7TIIWFTP.mjs.map} +1 -1
- package/dist/{FormSpotlight-BB2IB7IX.js → FormSpotlight-WUN24F3P.js} +15 -15
- package/dist/{FormSpotlight-BB2IB7IX.js.map → FormSpotlight-WUN24F3P.js.map} +1 -1
- package/dist/{FormStage-FLBLXENZ.js → FormStage-CM7OVLUT.js} +13 -13
- package/dist/{FormStage-FLBLXENZ.js.map → FormStage-CM7OVLUT.js.map} +1 -1
- package/dist/{FormStage-Y3NHHMV2.mjs → FormStage-TFN2GIBO.mjs} +3 -3
- package/dist/{FormStage-Y3NHHMV2.mjs.map → FormStage-TFN2GIBO.mjs.map} +1 -1
- package/dist/ManagedForm-N63YGVNY.js +23 -0
- package/dist/{ManagedForm-2OPCHDNJ.js.map → ManagedForm-N63YGVNY.js.map} +1 -1
- package/dist/ManagedForm-ZUXLHEQU.mjs +14 -0
- package/dist/{ManagedForm-AJM6D4SK.mjs.map → ManagedForm-ZUXLHEQU.mjs.map} +1 -1
- package/dist/{ManagedNewsletterForm-MJI2JXIB.mjs → ManagedNewsletterForm-4AVKTZ2A.mjs} +7 -7
- package/dist/{ManagedNewsletterForm-MJI2JXIB.mjs.map → ManagedNewsletterForm-4AVKTZ2A.mjs.map} +1 -1
- package/dist/{ManagedNewsletterForm-L2ZHJ7F4.js → ManagedNewsletterForm-PIVJTU5L.js} +8 -8
- package/dist/{ManagedNewsletterForm-L2ZHJ7F4.js.map → ManagedNewsletterForm-PIVJTU5L.js.map} +1 -1
- package/dist/{SignalCore-G2VM7NUP.js → SignalCore-2M5TISM7.js} +11 -11
- package/dist/{SignalCore-G2VM7NUP.js.map → SignalCore-2M5TISM7.js.map} +1 -1
- package/dist/{SignalCore-23YDDSWO.mjs → SignalCore-LT4NCPOR.mjs} +5 -5
- package/dist/{SignalCore-23YDDSWO.mjs.map → SignalCore-LT4NCPOR.mjs.map} +1 -1
- package/dist/SitemapSync-7OBOJG2L.js +18 -0
- package/dist/{SitemapSync-T2N3TCWF.js.map → SitemapSync-7OBOJG2L.js.map} +1 -1
- package/dist/SitemapSync-G3OLECFI.mjs +9 -0
- package/dist/{SitemapSync-YLWMU6J3.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-7UPPYERC.mjs → chunk-42F5EK24.mjs} +4 -4
- package/dist/{chunk-7UPPYERC.mjs.map → chunk-42F5EK24.mjs.map} +1 -1
- package/dist/{chunk-5HMN3FXL.js → chunk-4DE2KJ7R.js} +8 -8
- package/dist/{chunk-5HMN3FXL.js.map → chunk-4DE2KJ7R.js.map} +1 -1
- package/dist/{chunk-DTX4R45S.js → chunk-5BZDHZCN.js} +4 -4
- package/dist/{chunk-DTX4R45S.js.map → chunk-5BZDHZCN.js.map} +1 -1
- package/dist/{chunk-I72AUITZ.mjs → chunk-67CHHDBL.mjs} +3 -3
- package/dist/{chunk-I72AUITZ.mjs.map → chunk-67CHHDBL.mjs.map} +1 -1
- package/dist/{chunk-UJOEN4X6.js → chunk-6AZTRTCG.js} +15 -15
- package/dist/{chunk-UJOEN4X6.js.map → chunk-6AZTRTCG.js.map} +1 -1
- package/dist/{chunk-PA5ZVCW2.mjs → chunk-6QABCGM6.mjs} +3 -3
- package/dist/{chunk-PA5ZVCW2.mjs.map → chunk-6QABCGM6.mjs.map} +1 -1
- package/dist/{chunk-77HT6TYK.mjs → chunk-6VG65AIA.mjs} +3 -3
- package/dist/{chunk-77HT6TYK.mjs.map → chunk-6VG65AIA.mjs.map} +1 -1
- package/dist/{chunk-2MPOO6QJ.js → chunk-757HXAYX.js} +3 -3
- package/dist/{chunk-2MPOO6QJ.js.map → chunk-757HXAYX.js.map} +1 -1
- package/dist/{chunk-ZMFJXFUY.js → chunk-A3NNUKFA.js} +3 -3
- package/dist/{chunk-ZMFJXFUY.js.map → chunk-A3NNUKFA.js.map} +1 -1
- package/dist/{chunk-NW5CBNRU.mjs → chunk-AVM4OZHR.mjs} +3 -3
- package/dist/{chunk-NW5CBNRU.mjs.map → chunk-AVM4OZHR.mjs.map} +1 -1
- package/dist/{chunk-FH4LLJFL.mjs → chunk-AXAIUCSF.mjs} +9 -8
- package/dist/chunk-AXAIUCSF.mjs.map +1 -0
- package/dist/{chunk-AKQA5ZYZ.mjs → chunk-CQUA2AUA.mjs} +3 -3
- package/dist/{chunk-AKQA5ZYZ.mjs.map → chunk-CQUA2AUA.mjs.map} +1 -1
- package/dist/chunk-D37M7MIH.js +8 -0
- package/dist/{chunk-TMQKZ4DO.js.map → chunk-D37M7MIH.js.map} +1 -1
- package/dist/{chunk-ISKJLXB4.mjs → chunk-DVH3JHZ3.mjs} +4 -4
- package/dist/{chunk-ISKJLXB4.mjs.map → chunk-DVH3JHZ3.mjs.map} +1 -1
- package/dist/{chunk-LHD45PGP.js → chunk-DYKFC7WY.js} +8 -8
- package/dist/{chunk-LHD45PGP.js.map → chunk-DYKFC7WY.js.map} +1 -1
- package/dist/{chunk-X4PL7R63.mjs → chunk-DZDWBQKA.mjs} +3 -3
- package/dist/{chunk-X4PL7R63.mjs.map → chunk-DZDWBQKA.mjs.map} +1 -1
- package/dist/{chunk-GTK3CGWF.js → chunk-E33HJMRP.js} +6 -6
- package/dist/{chunk-GTK3CGWF.js.map → chunk-E33HJMRP.js.map} +1 -1
- package/dist/{chunk-4S7BHFGT.js → chunk-FDVE56JS.js} +3 -3
- package/dist/{chunk-4S7BHFGT.js.map → chunk-FDVE56JS.js.map} +1 -1
- package/dist/{chunk-SHZXSIRH.js → chunk-FFJVQWKO.js} +4 -4
- package/dist/{chunk-SHZXSIRH.js.map → chunk-FFJVQWKO.js.map} +1 -1
- package/dist/{chunk-HIV5YK5G.js → chunk-G3YUSRCL.js} +4 -4
- package/dist/{chunk-HIV5YK5G.js.map → chunk-G3YUSRCL.js.map} +1 -1
- package/dist/{chunk-APL44ZVK.js → chunk-GFNXWS3I.js} +5 -5
- package/dist/{chunk-APL44ZVK.js.map → chunk-GFNXWS3I.js.map} +1 -1
- package/dist/{chunk-GPH3VVLP.js → chunk-GPNBBUEN.js} +3 -3
- package/dist/{chunk-GPH3VVLP.js.map → chunk-GPNBBUEN.js.map} +1 -1
- package/dist/{chunk-VGX6G3TA.mjs → chunk-HDQTZAGE.mjs} +3 -3
- package/dist/{chunk-VGX6G3TA.mjs.map → chunk-HDQTZAGE.mjs.map} +1 -1
- package/dist/{chunk-COAVBUMS.mjs → chunk-HVFXFPUJ.mjs} +3 -3
- package/dist/{chunk-COAVBUMS.mjs.map → chunk-HVFXFPUJ.mjs.map} +1 -1
- package/dist/{chunk-XR47TOGW.mjs → chunk-JSLYNYTB.mjs} +3 -3
- package/dist/{chunk-XR47TOGW.mjs.map → chunk-JSLYNYTB.mjs.map} +1 -1
- package/dist/{chunk-W47J6ZZG.mjs → chunk-JTO3K5B7.mjs} +4 -4
- package/dist/{chunk-W47J6ZZG.mjs.map → chunk-JTO3K5B7.mjs.map} +1 -1
- package/dist/{chunk-QG7WHAGD.js → chunk-K37JPEQW.js} +15 -15
- package/dist/{chunk-QG7WHAGD.js.map → chunk-K37JPEQW.js.map} +1 -1
- package/dist/{chunk-DBJRJ2Q2.mjs → chunk-KOP3DPIR.mjs} +4 -4
- package/dist/{chunk-DBJRJ2Q2.mjs.map → chunk-KOP3DPIR.mjs.map} +1 -1
- package/dist/{chunk-LFJRMY4V.js → chunk-KPFPSOYS.js} +12 -12
- package/dist/{chunk-LFJRMY4V.js.map → chunk-KPFPSOYS.js.map} +1 -1
- package/dist/{chunk-KP56C66Z.js → chunk-M7FWXEXC.js} +126 -188
- package/dist/chunk-M7FWXEXC.js.map +1 -0
- package/dist/{chunk-UYR22S67.js → chunk-MANX6422.js} +7 -7
- package/dist/{chunk-UYR22S67.js.map → chunk-MANX6422.js.map} +1 -1
- package/dist/{chunk-WZZYTFDV.mjs → chunk-N3C323NY.mjs} +8 -3
- package/dist/chunk-N3C323NY.mjs.map +1 -0
- package/dist/{chunk-R4PFWVGZ.mjs → chunk-NSLYY62T.mjs} +4 -4
- package/dist/{chunk-R4PFWVGZ.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-WD57YWY5.mjs → chunk-OC6PU7U2.mjs} +3 -3
- package/dist/{chunk-WD57YWY5.mjs.map → chunk-OC6PU7U2.mjs.map} +1 -1
- package/dist/{chunk-2VQ5YXOD.js → chunk-OIJ435IZ.js} +18 -18
- package/dist/{chunk-2VQ5YXOD.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-HRQ4367C.mjs.map → chunk-OUERH2T4.mjs.map} +1 -1
- package/dist/{chunk-VLR2UYO4.js → chunk-PEEQMI7U.js} +12 -11
- package/dist/chunk-PEEQMI7U.js.map +1 -0
- package/dist/{chunk-47566YF4.js → chunk-PZXKFHPO.js} +14 -14
- package/dist/{chunk-47566YF4.js.map → chunk-PZXKFHPO.js.map} +1 -1
- package/dist/{chunk-SI7R3IJX.mjs → chunk-QZ54OCWD.mjs} +7 -7
- package/dist/{chunk-SI7R3IJX.mjs.map → chunk-QZ54OCWD.mjs.map} +1 -1
- package/dist/{chunk-GQTSQR63.js → chunk-R3LYTIVN.js} +10 -5
- package/dist/chunk-R3LYTIVN.js.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-4IMZ45YA.mjs → chunk-TS3N3LGZ.mjs} +4 -4
- package/dist/{chunk-4IMZ45YA.mjs.map → chunk-TS3N3LGZ.mjs.map} +1 -1
- package/dist/{chunk-TAIGHH5J.js → chunk-W23TMUKB.js} +9 -9
- package/dist/{chunk-TAIGHH5J.js.map → chunk-W23TMUKB.js.map} +1 -1
- package/dist/{chunk-5TGSM5EQ.js → chunk-XQZTOWS3.js} +14 -14
- package/dist/{chunk-5TGSM5EQ.js.map → chunk-XQZTOWS3.js.map} +1 -1
- package/dist/{chunk-GM5E6R5W.mjs → chunk-XW5KNCWJ.mjs} +3 -3
- package/dist/{chunk-GM5E6R5W.mjs.map → chunk-XW5KNCWJ.mjs.map} +1 -1
- package/dist/{chunk-AJBJH3BA.mjs → chunk-Y7SRO7MJ.mjs} +127 -189
- package/dist/chunk-Y7SRO7MJ.mjs.map +1 -0
- package/dist/{chunk-AVPMSJCQ.js → chunk-Z7K5AMCE.js} +4 -4
- package/dist/{chunk-AVPMSJCQ.js.map → chunk-Z7K5AMCE.js.map} +1 -1
- package/dist/{chunk-4HL6CAZ7.mjs → chunk-ZKR5AJV5.mjs} +4 -4
- package/dist/{chunk-4HL6CAZ7.mjs.map → chunk-ZKR5AJV5.mjs.map} +1 -1
- package/dist/{chunk-DN6A6KXH.mjs → chunk-ZOJ3TLO5.mjs} +3 -3
- package/dist/{chunk-DN6A6KXH.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/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/index.js +16 -16
- package/dist/forms/index.mjs +9 -9
- package/dist/forms/server.js +10 -10
- package/dist/forms/server.mjs +8 -8
- package/dist/forms/static.js +7 -7
- package/dist/forms/static.mjs +6 -6
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +4 -4
- package/dist/index.js +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/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-NA7EMJCA.mjs +0 -10
- package/dist/AnalyticsProvider-XE3ADUUH.js +0 -31
- package/dist/ChatWidget-BD4F4XLD.mjs +0 -11
- package/dist/ChatWidget-BZ3KOSXG.js +0 -20
- package/dist/EngageWidget-JPP6EDCJ.js +0 -18
- package/dist/EngageWidget-L7B6PCM3.mjs +0 -9
- package/dist/ManagedForm-2OPCHDNJ.js +0 -23
- package/dist/ManagedForm-AJM6D4SK.mjs +0 -14
- package/dist/SitemapSync-T2N3TCWF.js +0 -17
- package/dist/SitemapSync-YLWMU6J3.mjs +0 -8
- package/dist/chunk-AJBJH3BA.mjs.map +0 -1
- package/dist/chunk-FH4LLJFL.mjs.map +0 -1
- package/dist/chunk-GQTSQR63.js.map +0 -1
- package/dist/chunk-HRQ4367C.mjs +0 -6
- package/dist/chunk-KP56C66Z.js.map +0 -1
- package/dist/chunk-TMQKZ4DO.js +0 -8
- package/dist/chunk-VLR2UYO4.js.map +0 -1
- package/dist/chunk-WZZYTFDV.mjs.map +0 -1
package/dist/forms/server.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { FormEnhancer } from '../chunk-
|
|
1
|
+
import { FormEnhancer } from '../chunk-DZDWBQKA.mjs';
|
|
2
2
|
import '../chunk-ZVBLXXNJ.mjs';
|
|
3
|
-
import { StaticForm } from '../chunk-
|
|
4
|
-
export { StaticForm } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import { StaticForm } from '../chunk-TS3N3LGZ.mjs';
|
|
4
|
+
export { StaticForm } from '../chunk-TS3N3LGZ.mjs';
|
|
5
|
+
import '../chunk-HDQTZAGE.mjs';
|
|
6
6
|
import '../chunk-H7274TKR.mjs';
|
|
7
7
|
import { serverApiFetch } from '../chunk-6XNEGG5B.mjs';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-XW5KNCWJ.mjs';
|
|
9
9
|
import '../chunk-TMVKRQGJ.mjs';
|
|
10
|
-
import '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-ZKR5AJV5.mjs';
|
|
11
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
12
|
+
import '../chunk-OUERH2T4.mjs';
|
|
13
13
|
import '../chunk-BEXTDHO4.mjs';
|
|
14
14
|
import { jsx } from 'react/jsx-runtime';
|
|
15
15
|
|
package/dist/forms/static.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunk4DE2KJ7R_js = require('../chunk-4DE2KJ7R.js');
|
|
4
|
+
require('../chunk-G3YUSRCL.js');
|
|
5
5
|
require('../chunk-IPV2TUAT.js');
|
|
6
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-5BZDHZCN.js');
|
|
7
7
|
require('../chunk-KHPJ3CEL.js');
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
8
|
+
require('../chunk-6AZTRTCG.js');
|
|
9
|
+
require('../chunk-FFJVQWKO.js');
|
|
10
|
+
require('../chunk-D37M7MIH.js');
|
|
11
11
|
require('../chunk-SNAQBZPT.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
Object.defineProperty(exports, "StaticForm", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunk4DE2KJ7R_js.StaticForm; }
|
|
18
18
|
});
|
|
19
19
|
//# sourceMappingURL=static.js.map
|
|
20
20
|
//# sourceMappingURL=static.js.map
|
package/dist/forms/static.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { StaticForm } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { StaticForm } from '../chunk-TS3N3LGZ.mjs';
|
|
2
|
+
import '../chunk-HDQTZAGE.mjs';
|
|
3
3
|
import '../chunk-H7274TKR.mjs';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-XW5KNCWJ.mjs';
|
|
5
5
|
import '../chunk-TMVKRQGJ.mjs';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-ZKR5AJV5.mjs';
|
|
7
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
8
|
+
import '../chunk-OUERH2T4.mjs';
|
|
9
9
|
import '../chunk-BEXTDHO4.mjs';
|
|
10
10
|
//# sourceMappingURL=static.mjs.map
|
|
11
11
|
//# sourceMappingURL=static.mjs.map
|
package/dist/images/index.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkPZXKFHPO_js = require('../chunk-PZXKFHPO.js');
|
|
4
4
|
var chunkGCPPXUAI_js = require('../chunk-GCPPXUAI.js');
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
5
|
+
require('../chunk-6AZTRTCG.js');
|
|
6
|
+
require('../chunk-FFJVQWKO.js');
|
|
7
|
+
require('../chunk-D37M7MIH.js');
|
|
8
8
|
require('../chunk-SNAQBZPT.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "ManagedImage", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkPZXKFHPO_js.ManagedImage; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "assignImageToSlot", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkPZXKFHPO_js.assignImageToSlot; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "clearImageSlot", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkPZXKFHPO_js.clearImageSlot; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "fetchManagedImage", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkPZXKFHPO_js.fetchManagedImage; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "fetchManagedImages", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkPZXKFHPO_js.fetchManagedImages; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "listImageFiles", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkPZXKFHPO_js.listImageFiles; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "uploadImage", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkPZXKFHPO_js.uploadImage; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "ManagedFavicon", {
|
|
41
41
|
enumerable: true,
|
package/dist/images/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-
|
|
1
|
+
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-6QABCGM6.mjs';
|
|
2
2
|
export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-CU6OGBKK.mjs';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-ZKR5AJV5.mjs';
|
|
4
|
+
import '../chunk-CQUA2AUA.mjs';
|
|
5
|
+
import '../chunk-OUERH2T4.mjs';
|
|
6
6
|
import '../chunk-BEXTDHO4.mjs';
|
|
7
7
|
//# sourceMappingURL=index.mjs.map
|
|
8
8
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.js
CHANGED
|
@@ -3,23 +3,24 @@
|
|
|
3
3
|
var chunkJA77WXRE_js = require('./chunk-JA77WXRE.js');
|
|
4
4
|
var chunkCIM5W3UO_js = require('./chunk-CIM5W3UO.js');
|
|
5
5
|
var chunk46BMNWE6_js = require('./chunk-46BMNWE6.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkPZXKFHPO_js = require('./chunk-PZXKFHPO.js');
|
|
7
7
|
require('./chunk-GCPPXUAI.js');
|
|
8
8
|
var chunkEHJANA5C_js = require('./chunk-EHJANA5C.js');
|
|
9
9
|
var chunkGSRT66PA_js = require('./chunk-GSRT66PA.js');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var chunkXQZTOWS3_js = require('./chunk-XQZTOWS3.js');
|
|
11
|
+
var chunkW23TMUKB_js = require('./chunk-W23TMUKB.js');
|
|
12
12
|
require('./chunk-JP5WGL75.js');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
require('./chunk-
|
|
16
|
-
require('./chunk-
|
|
13
|
+
var chunkDYKFC7WY_js = require('./chunk-DYKFC7WY.js');
|
|
14
|
+
var chunkGPNBBUEN_js = require('./chunk-GPNBBUEN.js');
|
|
15
|
+
require('./chunk-3EPMDPWI.js');
|
|
16
|
+
require('./chunk-M7FWXEXC.js');
|
|
17
17
|
require('./chunk-HMFFAUCD.js');
|
|
18
|
+
require('./chunk-OL2QBWAU.js');
|
|
18
19
|
require('./chunk-RC4WWQXR.js');
|
|
19
20
|
require('./chunk-VJMPIRSD.js');
|
|
20
|
-
var
|
|
21
|
-
require('./chunk-
|
|
22
|
-
require('./chunk-
|
|
21
|
+
var chunk6AZTRTCG_js = require('./chunk-6AZTRTCG.js');
|
|
22
|
+
require('./chunk-FFJVQWKO.js');
|
|
23
|
+
require('./chunk-D37M7MIH.js');
|
|
23
24
|
require('./chunk-SNAQBZPT.js');
|
|
24
25
|
var react = require('react');
|
|
25
26
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -37,7 +38,7 @@ async function apiGet(endpoint) {
|
|
|
37
38
|
return null;
|
|
38
39
|
}
|
|
39
40
|
try {
|
|
40
|
-
const response = await
|
|
41
|
+
const response = await chunk6AZTRTCG_js.sonorFetch(
|
|
41
42
|
`${apiUrl}${endpoint}`,
|
|
42
43
|
{ method: "GET" },
|
|
43
44
|
{ apiKey, retries: 0 }
|
|
@@ -190,31 +191,31 @@ Object.defineProperty(exports, "handleManagedRedirects", {
|
|
|
190
191
|
});
|
|
191
192
|
Object.defineProperty(exports, "ManagedImage", {
|
|
192
193
|
enumerable: true,
|
|
193
|
-
get: function () { return
|
|
194
|
+
get: function () { return chunkPZXKFHPO_js.ManagedImage; }
|
|
194
195
|
});
|
|
195
196
|
Object.defineProperty(exports, "assignImageToSlot", {
|
|
196
197
|
enumerable: true,
|
|
197
|
-
get: function () { return
|
|
198
|
+
get: function () { return chunkPZXKFHPO_js.assignImageToSlot; }
|
|
198
199
|
});
|
|
199
200
|
Object.defineProperty(exports, "clearImageSlot", {
|
|
200
201
|
enumerable: true,
|
|
201
|
-
get: function () { return
|
|
202
|
+
get: function () { return chunkPZXKFHPO_js.clearImageSlot; }
|
|
202
203
|
});
|
|
203
204
|
Object.defineProperty(exports, "fetchManagedImage", {
|
|
204
205
|
enumerable: true,
|
|
205
|
-
get: function () { return
|
|
206
|
+
get: function () { return chunkPZXKFHPO_js.fetchManagedImage; }
|
|
206
207
|
});
|
|
207
208
|
Object.defineProperty(exports, "fetchManagedImages", {
|
|
208
209
|
enumerable: true,
|
|
209
|
-
get: function () { return
|
|
210
|
+
get: function () { return chunkPZXKFHPO_js.fetchManagedImages; }
|
|
210
211
|
});
|
|
211
212
|
Object.defineProperty(exports, "listImageFiles", {
|
|
212
213
|
enumerable: true,
|
|
213
|
-
get: function () { return
|
|
214
|
+
get: function () { return chunkPZXKFHPO_js.listImageFiles; }
|
|
214
215
|
});
|
|
215
216
|
Object.defineProperty(exports, "uploadImage", {
|
|
216
217
|
enumerable: true,
|
|
217
|
-
get: function () { return
|
|
218
|
+
get: function () { return chunkPZXKFHPO_js.uploadImage; }
|
|
218
219
|
});
|
|
219
220
|
Object.defineProperty(exports, "TestimonialSection", {
|
|
220
221
|
enumerable: true,
|
|
@@ -230,187 +231,187 @@ Object.defineProperty(exports, "fetchReviews", {
|
|
|
230
231
|
});
|
|
231
232
|
Object.defineProperty(exports, "CalendarView", {
|
|
232
233
|
enumerable: true,
|
|
233
|
-
get: function () { return
|
|
234
|
+
get: function () { return chunkXQZTOWS3_js.CalendarView; }
|
|
234
235
|
});
|
|
235
236
|
Object.defineProperty(exports, "CheckoutForm", {
|
|
236
237
|
enumerable: true,
|
|
237
|
-
get: function () { return
|
|
238
|
+
get: function () { return chunkXQZTOWS3_js.CheckoutForm; }
|
|
238
239
|
});
|
|
239
240
|
Object.defineProperty(exports, "EventCalendar", {
|
|
240
241
|
enumerable: true,
|
|
241
|
-
get: function () { return
|
|
242
|
+
get: function () { return chunkXQZTOWS3_js.EventCalendar; }
|
|
242
243
|
});
|
|
243
244
|
Object.defineProperty(exports, "EventCheckout", {
|
|
244
245
|
enumerable: true,
|
|
245
|
-
get: function () { return
|
|
246
|
+
get: function () { return chunkXQZTOWS3_js.EventCheckout; }
|
|
246
247
|
});
|
|
247
248
|
Object.defineProperty(exports, "EventEmbed", {
|
|
248
249
|
enumerable: true,
|
|
249
|
-
get: function () { return
|
|
250
|
+
get: function () { return chunkXQZTOWS3_js.EventEmbed; }
|
|
250
251
|
});
|
|
251
252
|
Object.defineProperty(exports, "EventModal", {
|
|
252
253
|
enumerable: true,
|
|
253
|
-
get: function () { return
|
|
254
|
+
get: function () { return chunkXQZTOWS3_js.EventModal; }
|
|
254
255
|
});
|
|
255
256
|
Object.defineProperty(exports, "EventTile", {
|
|
256
257
|
enumerable: true,
|
|
257
|
-
get: function () { return
|
|
258
|
+
get: function () { return chunkXQZTOWS3_js.EventTile; }
|
|
258
259
|
});
|
|
259
260
|
Object.defineProperty(exports, "OfferingCard", {
|
|
260
261
|
enumerable: true,
|
|
261
|
-
get: function () { return
|
|
262
|
+
get: function () { return chunkXQZTOWS3_js.OfferingCard; }
|
|
262
263
|
});
|
|
263
264
|
Object.defineProperty(exports, "OfferingList", {
|
|
264
265
|
enumerable: true,
|
|
265
|
-
get: function () { return
|
|
266
|
+
get: function () { return chunkXQZTOWS3_js.OfferingList; }
|
|
266
267
|
});
|
|
267
268
|
Object.defineProperty(exports, "ProductEmbed", {
|
|
268
269
|
enumerable: true,
|
|
269
|
-
get: function () { return
|
|
270
|
+
get: function () { return chunkXQZTOWS3_js.ProductEmbed; }
|
|
270
271
|
});
|
|
271
272
|
Object.defineProperty(exports, "RegistrationForm", {
|
|
272
273
|
enumerable: true,
|
|
273
|
-
get: function () { return
|
|
274
|
+
get: function () { return chunkXQZTOWS3_js.RegistrationForm; }
|
|
274
275
|
});
|
|
275
276
|
Object.defineProperty(exports, "UpcomingEvents", {
|
|
276
277
|
enumerable: true,
|
|
277
|
-
get: function () { return
|
|
278
|
+
get: function () { return chunkXQZTOWS3_js.UpcomingEvents; }
|
|
278
279
|
});
|
|
279
280
|
Object.defineProperty(exports, "createCheckoutSession", {
|
|
280
281
|
enumerable: true,
|
|
281
|
-
get: function () { return
|
|
282
|
+
get: function () { return chunkXQZTOWS3_js.createCheckoutSession; }
|
|
282
283
|
});
|
|
283
284
|
Object.defineProperty(exports, "fetchNextEvent", {
|
|
284
285
|
enumerable: true,
|
|
285
|
-
get: function () { return
|
|
286
|
+
get: function () { return chunkXQZTOWS3_js.fetchNextEvent; }
|
|
286
287
|
});
|
|
287
288
|
Object.defineProperty(exports, "fetchOffering", {
|
|
288
289
|
enumerable: true,
|
|
289
|
-
get: function () { return
|
|
290
|
+
get: function () { return chunkXQZTOWS3_js.fetchOffering; }
|
|
290
291
|
});
|
|
291
292
|
Object.defineProperty(exports, "fetchOfferings", {
|
|
292
293
|
enumerable: true,
|
|
293
|
-
get: function () { return
|
|
294
|
+
get: function () { return chunkXQZTOWS3_js.fetchOfferings; }
|
|
294
295
|
});
|
|
295
296
|
Object.defineProperty(exports, "fetchProducts", {
|
|
296
297
|
enumerable: true,
|
|
297
|
-
get: function () { return
|
|
298
|
+
get: function () { return chunkXQZTOWS3_js.fetchProducts; }
|
|
298
299
|
});
|
|
299
300
|
Object.defineProperty(exports, "fetchServices", {
|
|
300
301
|
enumerable: true,
|
|
301
|
-
get: function () { return
|
|
302
|
+
get: function () { return chunkXQZTOWS3_js.fetchServices; }
|
|
302
303
|
});
|
|
303
304
|
Object.defineProperty(exports, "fetchUpcomingEvents", {
|
|
304
305
|
enumerable: true,
|
|
305
|
-
get: function () { return
|
|
306
|
+
get: function () { return chunkXQZTOWS3_js.fetchUpcomingEvents; }
|
|
306
307
|
});
|
|
307
308
|
Object.defineProperty(exports, "formatDate", {
|
|
308
309
|
enumerable: true,
|
|
309
|
-
get: function () { return
|
|
310
|
+
get: function () { return chunkXQZTOWS3_js.formatDate; }
|
|
310
311
|
});
|
|
311
312
|
Object.defineProperty(exports, "formatDateTime", {
|
|
312
313
|
enumerable: true,
|
|
313
|
-
get: function () { return
|
|
314
|
+
get: function () { return chunkXQZTOWS3_js.formatDateTime; }
|
|
314
315
|
});
|
|
315
316
|
Object.defineProperty(exports, "formatPrice", {
|
|
316
317
|
enumerable: true,
|
|
317
|
-
get: function () { return
|
|
318
|
+
get: function () { return chunkXQZTOWS3_js.formatPrice; }
|
|
318
319
|
});
|
|
319
320
|
Object.defineProperty(exports, "getOfferingUrl", {
|
|
320
321
|
enumerable: true,
|
|
321
|
-
get: function () { return
|
|
322
|
+
get: function () { return chunkXQZTOWS3_js.getOfferingUrl; }
|
|
322
323
|
});
|
|
323
324
|
Object.defineProperty(exports, "registerForEvent", {
|
|
324
325
|
enumerable: true,
|
|
325
|
-
get: function () { return
|
|
326
|
+
get: function () { return chunkXQZTOWS3_js.registerForEvent; }
|
|
326
327
|
});
|
|
327
328
|
Object.defineProperty(exports, "useEventModal", {
|
|
328
329
|
enumerable: true,
|
|
329
|
-
get: function () { return
|
|
330
|
+
get: function () { return chunkXQZTOWS3_js.useEventModal; }
|
|
330
331
|
});
|
|
331
332
|
Object.defineProperty(exports, "BookingWidget", {
|
|
332
333
|
enumerable: true,
|
|
333
|
-
get: function () { return
|
|
334
|
+
get: function () { return chunkW23TMUKB_js.BookingWidget; }
|
|
334
335
|
});
|
|
335
336
|
Object.defineProperty(exports, "createBooking", {
|
|
336
337
|
enumerable: true,
|
|
337
|
-
get: function () { return
|
|
338
|
+
get: function () { return chunkW23TMUKB_js.createBooking; }
|
|
338
339
|
});
|
|
339
340
|
Object.defineProperty(exports, "createSlotHold", {
|
|
340
341
|
enumerable: true,
|
|
341
|
-
get: function () { return
|
|
342
|
+
get: function () { return chunkW23TMUKB_js.createSlotHold; }
|
|
342
343
|
});
|
|
343
344
|
Object.defineProperty(exports, "detectTimezone", {
|
|
344
345
|
enumerable: true,
|
|
345
|
-
get: function () { return
|
|
346
|
+
get: function () { return chunkW23TMUKB_js.detectTimezone; }
|
|
346
347
|
});
|
|
347
348
|
Object.defineProperty(exports, "fetchAvailability", {
|
|
348
349
|
enumerable: true,
|
|
349
|
-
get: function () { return
|
|
350
|
+
get: function () { return chunkW23TMUKB_js.fetchAvailability; }
|
|
350
351
|
});
|
|
351
352
|
Object.defineProperty(exports, "fetchAvailableDates", {
|
|
352
353
|
enumerable: true,
|
|
353
|
-
get: function () { return
|
|
354
|
+
get: function () { return chunkW23TMUKB_js.fetchAvailableDates; }
|
|
354
355
|
});
|
|
355
356
|
Object.defineProperty(exports, "fetchBookingTypeDetails", {
|
|
356
357
|
enumerable: true,
|
|
357
|
-
get: function () { return
|
|
358
|
+
get: function () { return chunkW23TMUKB_js.fetchBookingTypeDetails; }
|
|
358
359
|
});
|
|
359
360
|
Object.defineProperty(exports, "fetchBookingTypes", {
|
|
360
361
|
enumerable: true,
|
|
361
|
-
get: function () { return
|
|
362
|
+
get: function () { return chunkW23TMUKB_js.fetchBookingTypes; }
|
|
362
363
|
});
|
|
363
364
|
Object.defineProperty(exports, "formatBookingDate", {
|
|
364
365
|
enumerable: true,
|
|
365
|
-
get: function () { return
|
|
366
|
+
get: function () { return chunkW23TMUKB_js.formatDate; }
|
|
366
367
|
});
|
|
367
368
|
Object.defineProperty(exports, "formatBookingTime", {
|
|
368
369
|
enumerable: true,
|
|
369
|
-
get: function () { return
|
|
370
|
+
get: function () { return chunkW23TMUKB_js.formatTime; }
|
|
370
371
|
});
|
|
371
372
|
Object.defineProperty(exports, "formatDuration", {
|
|
372
373
|
enumerable: true,
|
|
373
|
-
get: function () { return
|
|
374
|
+
get: function () { return chunkW23TMUKB_js.formatDuration; }
|
|
374
375
|
});
|
|
375
376
|
Object.defineProperty(exports, "releaseSlotHold", {
|
|
376
377
|
enumerable: true,
|
|
377
|
-
get: function () { return
|
|
378
|
+
get: function () { return chunkW23TMUKB_js.releaseSlotHold; }
|
|
378
379
|
});
|
|
379
380
|
Object.defineProperty(exports, "ExperimentConversion", {
|
|
380
381
|
enumerable: true,
|
|
381
|
-
get: function () { return
|
|
382
|
+
get: function () { return chunkDYKFC7WY_js.ExperimentConversion; }
|
|
382
383
|
});
|
|
383
384
|
Object.defineProperty(exports, "SignalExperiment", {
|
|
384
385
|
enumerable: true,
|
|
385
|
-
get: function () { return
|
|
386
|
+
get: function () { return chunkDYKFC7WY_js.SignalExperiment; }
|
|
386
387
|
});
|
|
387
388
|
Object.defineProperty(exports, "useExperimentVariant", {
|
|
388
389
|
enumerable: true,
|
|
389
|
-
get: function () { return
|
|
390
|
+
get: function () { return chunkDYKFC7WY_js.useExperimentVariant; }
|
|
390
391
|
});
|
|
391
392
|
Object.defineProperty(exports, "SignalBridge", {
|
|
392
393
|
enumerable: true,
|
|
393
|
-
get: function () { return
|
|
394
|
+
get: function () { return chunkGPNBBUEN_js.SignalBridge; }
|
|
394
395
|
});
|
|
395
396
|
Object.defineProperty(exports, "useSignal", {
|
|
396
397
|
enumerable: true,
|
|
397
|
-
get: function () { return
|
|
398
|
+
get: function () { return chunkGPNBBUEN_js.useSignal; }
|
|
398
399
|
});
|
|
399
400
|
Object.defineProperty(exports, "useSignalConfig", {
|
|
400
401
|
enumerable: true,
|
|
401
|
-
get: function () { return
|
|
402
|
+
get: function () { return chunkGPNBBUEN_js.useSignalConfig; }
|
|
402
403
|
});
|
|
403
404
|
Object.defineProperty(exports, "useSignalEvent", {
|
|
404
405
|
enumerable: true,
|
|
405
|
-
get: function () { return
|
|
406
|
+
get: function () { return chunkGPNBBUEN_js.useSignalEvent; }
|
|
406
407
|
});
|
|
407
408
|
Object.defineProperty(exports, "useSignalExperiment", {
|
|
408
409
|
enumerable: true,
|
|
409
|
-
get: function () { return
|
|
410
|
+
get: function () { return chunkGPNBBUEN_js.useSignalExperiment; }
|
|
410
411
|
});
|
|
411
412
|
Object.defineProperty(exports, "useSignalOutcome", {
|
|
412
413
|
enumerable: true,
|
|
413
|
-
get: function () { return
|
|
414
|
+
get: function () { return chunkGPNBBUEN_js.useSignalOutcome; }
|
|
414
415
|
});
|
|
415
416
|
exports.AffiliateCard = AffiliateCard;
|
|
416
417
|
exports.AffiliatesWidget = AffiliatesWidget;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/affiliates/api.ts","../src/affiliates/useAffiliates.ts","../src/affiliates/AffiliatesWidget.tsx"],"names":["sonorFetch","useState","useEffect","getTrackingUrl","jsx"],"mappings":"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","file":"index.js","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":["sonorFetch","useState","useEffect","getTrackingUrl","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAS,YAAA,GAAe;AACtB,EAAA,MAAM,SAAS,OAAO,MAAA,KAAW,WAAA,GAC5B,MAAA,CAAe,wBAAwB,sBAAA,GACxC,sBAAA;AACJ,EAAA,MAAM,SAAS,OAAO,MAAA,KAAW,WAAA,GAC5B,MAAA,CAAe,wBAAwB,EAAA,GACxC,EAAA;AACJ,EAAA,OAAO,EAAE,QAAQ,MAAA,EAAO;AAC1B;AAEA,eAAe,OAAU,QAAA,EAAqC;AAC5D,EAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAO,GAAI,YAAA,EAAa;AAExC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,OAAA,CAAQ,MAAM,oCAAoC,CAAA;AAClD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI;AAMF,IAAA,MAAM,WAAW,MAAMA,2BAAA;AAAA,MACrB,CAAA,EAAG,MAAM,CAAA,EAAG,QAAQ,CAAA,CAAA;AAAA,MACpB,EAAE,QAAQ,KAAA,EAAM;AAAA,MAChB,EAAE,MAAA,EAAQ,OAAA,EAAS,CAAA;AAAE,KACvB;AAEA,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,wBAAA,EAA2B,QAAA,CAAS,UAAU,CAAA,CAAE,CAAA;AAC9D,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,OAAO,MAAM,SAAS,IAAA,EAAK;AAAA,EAC7B,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,KAAA,CAAM,+BAA+B,KAAK,CAAA;AAClD,IAAA,OAAO,IAAA;AAAA,EACT;AACF;AAcA,eAAsB,eAAA,CACpB,OAAA,GAAkC,EAAC,EACH;AAChC,EAAA,MAAM,SAAS,MAAM,MAAA;AAAA,IACnB;AAAA,GACF;AAEA,EAAA,OAAO,MAAA,EAAQ,cAAc,EAAC;AAChC;AAYO,SAAS,cAAA,CAAe,aAAqB,OAAA,EAAyB;AAC3E,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,YAAA,EAAa;AAChC,EAAA,OAAO,CAAA,EAAG,MAAM,CAAA,GAAA,EAAM,WAAW,IAAI,OAAO,CAAA,CAAA;AAC9C;ACpDO,SAAS,aAAA,GAAqC;AACnD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIC,cAAA,CAAgC,EAAE,CAAA;AACtE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,IAAI,CAAA;AAC/C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAAwB,IAAI,CAAA;AAEtD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,eAAe,IAAA,GAAO;AACpB,MAAA,IAAI;AACF,QAAA,YAAA,CAAa,IAAI,CAAA;AACjB,QAAA,QAAA,CAAS,IAAI,CAAA;AACb,QAAA,MAAM,IAAA,GAAO,MAAM,eAAA,EAAgB;AACnC,QAAA,aAAA,CAAc,IAAI,CAAA;AAAA,MACpB,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAA,YAAe,KAAA,GAAQ,GAAA,CAAI,OAAA,GAAU,2BAA2B,CAAA;AAAA,MAC3E,CAAA,SAAE;AACA,QAAA,YAAA,CAAa,KAAK,CAAA;AAAA,MACpB;AAAA,IACF;AAEA,IAAA,IAAA,EAAK;AAAA,EACP,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACF;AACF;AC7BO,SAAS,aAAA,CAAc;AAAA,EAC5B,SAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,UAAA;AAAA,EACA,UAAA,GAAa;AACf,CAAA,EAAuB;AACrB,EAAA,MAAM,EAAE,cAAA,EAAAC,eAAAA,EAAe,GAAI,aAAA,EAAc;AAEzC,EAAA,MAAM,WAAA,kCACH,KAAA,EAAA,EAAI,qBAAA,EAAmB,MAAC,SAAA,EAAU,gBAAA,EAChC,oBAAU,QAAA,mBACTC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAK,SAAA,CAAU,QAAA;AAAA,MACf,KAAK,SAAA,CAAU,IAAA;AAAA,MACf,OAAA,EAAQ;AAAA;AAAA,GACV,kCAEC,MAAA,EAAA,EAAM,QAAA,EAAA,SAAA,CAAU,KAAK,MAAA,CAAO,CAAC,GAAE,CAAA,EAEpC,CAAA;AAGF,EAAA,uCACG,KAAA,EAAA,EAAI,SAAA,EAAsB,uBAAmB,IAAA,EAAC,mBAAA,EAAmB,UAAU,EAAA,EAEzE,QAAA,EAAA;AAAA,IAAA,UAAA,GAAa,UAAA,CAAW,SAAS,CAAA,GAAI,WAAA;AAAA,mCAGrC,KAAA,EAAA,EAAI,qBAAA,EAAmB,MAAC,SAAA,EAAU,gBAAA,EAChC,oBAAU,IAAA,EACb,CAAA;AAAA,IAGC,UAAU,WAAA,oBACTA,cAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,MAAM,SAAA,CAAU,WAAA;AAAA,QAChB,MAAA,EAAO,QAAA;AAAA,QACP,GAAA,EAAI,+BAAA;AAAA,QACJ,wBAAA,EAAsB,IAAA;AAAA,QACtB,SAAA,EAAU,mBAAA;AAAA,QACX,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,IAID,cAAc,SAAA,CAAU,MAAA,IAAU,SAAA,CAAU,MAAA,CAAO,SAAS,CAAA,oBAC3DA,cAAA,CAAC,KAAA,EAAA,EAAI,uBAAA,EAAqB,MAAC,SAAA,EAAU,kBAAA,EAClC,QAAA,EAAA,SAAA,CAAU,MAAA,CAAO,IAAI,CAAA,KAAA,qBACpBA,cAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QAEC,IAAA,EAAMD,eAAAA,CAAe,SAAA,CAAU,EAAA,EAAI,MAAM,EAAE,CAAA;AAAA,QAC3C,MAAA,EAAO,QAAA;AAAA,QACP,GAAA,EAAI,+BAAA;AAAA,QACJ,sBAAA,EAAoB,IAAA;AAAA,QACpB,iBAAe,KAAA,CAAM,EAAA;AAAA,QACrB,SAAA,EAAU,iBAAA;AAAA,QAET,QAAA,EAAA,KAAA,CAAM;AAAA,OAAA;AAAA,MARF,KAAA,CAAM;AAAA,KAUd,CAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAEJ;AAsCO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,SAAA,GAAY,EAAA;AAAA,EACZ,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,eAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,EAAE,UAAA,EAAY,SAAA,EAAW,OAAO,cAAA,EAAAA,eAAAA,KAAmB,aAAA,EAAc;AAEvE,EAAA,IAAI,SAAA,EAAW;AACb,IAAA,OAAO,gBAAA,oBAAoBC,cAAA,CAAC,KAAA,EAAA,EAAI,yBAAA,EAAuB,MAAC,QAAA,EAAA,uBAAA,EAAqB,CAAA;AAAA,EAC/E;AAEA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,OAAO,cAAA,oBAAkBA,cAAA,CAAC,KAAA,EAAA,EAAI,uBAAA,EAAqB,MAAE,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,EAC7D;AAEA,EAAA,MAAM,oBAAoB,KAAA,GAAQ,UAAA,CAAW,KAAA,CAAM,CAAA,EAAG,KAAK,CAAA,GAAI,UAAA;AAE/D,EAAA,IAAI,iBAAA,CAAkB,WAAW,CAAA,EAAG;AAClC,IAAA,OAAO,cAAA,IAAkB,IAAA;AAAA,EAC3B;AAEA,EAAA,uBACEA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAsB,wBAAA,EAAsB,MAC9C,QAAA,EAAA,iBAAA,CAAkB,GAAA;AAAA,IAAI,CAAA,SAAA,KACrB,eAAA,GACI,eAAA,CAAgB,SAAS,CAAA,mBACzBA,cAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QAEC,SAAA;AAAA,QACA;AAAA,OAAA;AAAA,MAFK,SAAA,CAAU;AAAA;AAGjB,GACN,EACF,CAAA;AAEJ","file":"index.js","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"]}
|
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';
|