@sonordev/site-kit 6.3.6 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/agent-manifest.json +8 -2
  2. package/dist/AnalyticsProvider-44PDLORZ.js +34 -0
  3. package/dist/{AnalyticsProvider-L3GWK5PO.js.map → AnalyticsProvider-44PDLORZ.js.map} +1 -1
  4. package/dist/AnalyticsProvider-F6KHEAOX.mjs +13 -0
  5. package/dist/{AnalyticsProvider-XDVJTAPN.mjs.map → AnalyticsProvider-F6KHEAOX.mjs.map} +1 -1
  6. package/dist/{ArticleViewTracker-YMGW6ZXB.js → ArticleViewTracker-MGNVIHZ4.js} +6 -6
  7. package/dist/{ArticleViewTracker-YMGW6ZXB.js.map → ArticleViewTracker-MGNVIHZ4.js.map} +1 -1
  8. package/dist/{ArticleViewTracker-7AJJTGFY.mjs → ArticleViewTracker-NI4UNSY7.mjs} +5 -5
  9. package/dist/{ArticleViewTracker-7AJJTGFY.mjs.map → ArticleViewTracker-NI4UNSY7.mjs.map} +1 -1
  10. package/dist/{ChatWidget-MR64ZLOG.mjs → ChatWidget-XSALHDDW.mjs} +7 -7
  11. package/dist/{ChatWidget-MR64ZLOG.mjs.map → ChatWidget-XSALHDDW.mjs.map} +1 -1
  12. package/dist/{ChatWidget-IAYEXLNX.js → ChatWidget-YBXJRR2Z.js} +10 -10
  13. package/dist/{ChatWidget-IAYEXLNX.js.map → ChatWidget-YBXJRR2Z.js.map} +1 -1
  14. package/dist/EngageWidget-DUEXPVOY.mjs +13 -0
  15. package/dist/{EngageWidget-RANSIKC3.mjs.map → EngageWidget-DUEXPVOY.mjs.map} +1 -1
  16. package/dist/EngageWidget-MDCRS3BN.js +22 -0
  17. package/dist/{EngageWidget-BF7DH4GO.js.map → EngageWidget-MDCRS3BN.js.map} +1 -1
  18. package/dist/{FileField-VRKATE4G.js → FileField-AXU6KBSV.js} +6 -6
  19. package/dist/{FileField-VRKATE4G.js.map → FileField-AXU6KBSV.js.map} +1 -1
  20. package/dist/{FileField-7ZNQ5BID.mjs → FileField-UTLGR5ZN.mjs} +5 -5
  21. package/dist/{FileField-7ZNQ5BID.mjs.map → FileField-UTLGR5ZN.mjs.map} +1 -1
  22. package/dist/{FormSpotlight-QNH7XGYS.mjs → FormSpotlight-NWLCZMOT.mjs} +3 -3
  23. package/dist/{FormSpotlight-QNH7XGYS.mjs.map → FormSpotlight-NWLCZMOT.mjs.map} +1 -1
  24. package/dist/{FormSpotlight-VQJ2QWIU.js → FormSpotlight-RR5KJDIH.js} +9 -9
  25. package/dist/{FormSpotlight-VQJ2QWIU.js.map → FormSpotlight-RR5KJDIH.js.map} +1 -1
  26. package/dist/{FormStage-3JIN6X6O.js → FormStage-GFNX4GLU.js} +9 -9
  27. package/dist/{FormStage-3JIN6X6O.js.map → FormStage-GFNX4GLU.js.map} +1 -1
  28. package/dist/{FormStage-XB4JNFCH.mjs → FormStage-V4XKLI6J.mjs} +3 -3
  29. package/dist/{FormStage-XB4JNFCH.mjs.map → FormStage-V4XKLI6J.mjs.map} +1 -1
  30. package/dist/ManagedForm-4AD3LWSC.js +25 -0
  31. package/dist/{ManagedForm-Q5UFMUBE.js.map → ManagedForm-4AD3LWSC.js.map} +1 -1
  32. package/dist/ManagedForm-4IWPG6AZ.mjs +16 -0
  33. package/dist/{ManagedForm-E6F4FLVY.mjs.map → ManagedForm-4IWPG6AZ.mjs.map} +1 -1
  34. package/dist/{ManagedNewsletterForm-OEEC3GVY.mjs → ManagedNewsletterForm-ARSY2VHC.mjs} +6 -6
  35. package/dist/{ManagedNewsletterForm-OEEC3GVY.mjs.map → ManagedNewsletterForm-ARSY2VHC.mjs.map} +1 -1
  36. package/dist/{ManagedNewsletterForm-UTNOJ5T4.js → ManagedNewsletterForm-HJZNUABY.js} +7 -7
  37. package/dist/{ManagedNewsletterForm-UTNOJ5T4.js.map → ManagedNewsletterForm-HJZNUABY.js.map} +1 -1
  38. package/dist/{SignalCore-PWN5X6FF.mjs → SignalCore-N2LKG4XN.mjs} +5 -5
  39. package/dist/{SignalCore-PWN5X6FF.mjs.map → SignalCore-N2LKG4XN.mjs.map} +1 -1
  40. package/dist/{SignalCore-4AUWHMYK.js → SignalCore-P2JUY2BO.js} +11 -11
  41. package/dist/{SignalCore-4AUWHMYK.js.map → SignalCore-P2JUY2BO.js.map} +1 -1
  42. package/dist/SitemapSync-KFY4PJ7G.js +19 -0
  43. package/dist/{SitemapSync-DHJ25PSH.js.map → SitemapSync-KFY4PJ7G.js.map} +1 -1
  44. package/dist/SitemapSync-UYDL7T4M.mjs +10 -0
  45. package/dist/{SitemapSync-ZA2MNM63.mjs.map → SitemapSync-UYDL7T4M.mjs.map} +1 -1
  46. package/dist/analytics/index.js +14 -13
  47. package/dist/analytics/index.mjs +6 -5
  48. package/dist/articles/AuthorPage.d.ts +1 -1
  49. package/dist/articles/AuthorPage.d.ts.map +1 -1
  50. package/dist/articles/author-schema.d.ts +59 -13
  51. package/dist/articles/author-schema.d.ts.map +1 -1
  52. package/dist/articles/index.js +24 -23
  53. package/dist/articles/index.js.map +1 -1
  54. package/dist/articles/index.mjs +12 -11
  55. package/dist/articles/index.mjs.map +1 -1
  56. package/dist/articles/routes.d.ts +9 -0
  57. package/dist/articles/routes.d.ts.map +1 -1
  58. package/dist/articles/server-core.d.ts +5 -2
  59. package/dist/articles/server-core.d.ts.map +1 -1
  60. package/dist/articles/server-ui.js +45 -45
  61. package/dist/articles/server-ui.mjs +8 -8
  62. package/dist/articles/server.d.ts +5 -2
  63. package/dist/articles/server.d.ts.map +1 -1
  64. package/dist/articles/server.js +72 -56
  65. package/dist/articles/server.mjs +3 -3
  66. package/dist/articles/types.d.ts +23 -0
  67. package/dist/articles/types.d.ts.map +1 -1
  68. package/dist/{chunk-UAOQVHZW.js → chunk-34XL7TVH.js} +4 -4
  69. package/dist/{chunk-UAOQVHZW.js.map → chunk-34XL7TVH.js.map} +1 -1
  70. package/dist/chunk-3AOKYAZ2.js +135 -0
  71. package/dist/chunk-3AOKYAZ2.js.map +1 -0
  72. package/dist/{chunk-BJKA3XRS.mjs → chunk-3BLKKF67.mjs} +4 -4
  73. package/dist/{chunk-BJKA3XRS.mjs.map → chunk-3BLKKF67.mjs.map} +1 -1
  74. package/dist/{chunk-3J5L5DIK.js → chunk-3EAS4PAT.js} +3 -3
  75. package/dist/{chunk-3J5L5DIK.js.map → chunk-3EAS4PAT.js.map} +1 -1
  76. package/dist/{chunk-SB4CJX2X.mjs → chunk-42LLFAJQ.mjs} +3 -3
  77. package/dist/{chunk-SB4CJX2X.mjs.map → chunk-42LLFAJQ.mjs.map} +1 -1
  78. package/dist/{chunk-ZR43XFUM.js → chunk-55J2KE7D.js} +3 -3
  79. package/dist/chunk-55J2KE7D.js.map +1 -0
  80. package/dist/{chunk-VGBUC2JP.js → chunk-5ZMTEK7U.js} +10 -10
  81. package/dist/{chunk-VGBUC2JP.js.map → chunk-5ZMTEK7U.js.map} +1 -1
  82. package/dist/{chunk-6DCAMW62.mjs → chunk-6C47333H.mjs} +3 -3
  83. package/dist/chunk-6C47333H.mjs.map +1 -0
  84. package/dist/{chunk-E7EV2AHT.js → chunk-6OQYRVMI.js} +9 -9
  85. package/dist/{chunk-E7EV2AHT.js.map → chunk-6OQYRVMI.js.map} +1 -1
  86. package/dist/{chunk-UJIKP35G.mjs → chunk-7F66Y4MA.mjs} +4 -4
  87. package/dist/{chunk-UJIKP35G.mjs.map → chunk-7F66Y4MA.mjs.map} +1 -1
  88. package/dist/{chunk-6MOGGEY3.mjs → chunk-A2HL22BO.mjs} +3 -3
  89. package/dist/{chunk-6MOGGEY3.mjs.map → chunk-A2HL22BO.mjs.map} +1 -1
  90. package/dist/{chunk-7NFSSPGM.js → chunk-AL4Z6VYF.js} +8 -8
  91. package/dist/{chunk-7NFSSPGM.js.map → chunk-AL4Z6VYF.js.map} +1 -1
  92. package/dist/{chunk-W46QIVBM.mjs → chunk-B6QPCAEG.mjs} +3 -3
  93. package/dist/{chunk-W46QIVBM.mjs.map → chunk-B6QPCAEG.mjs.map} +1 -1
  94. package/dist/{chunk-EB33U2WT.js → chunk-BHZHWXER.js} +131 -71
  95. package/dist/chunk-BHZHWXER.js.map +1 -0
  96. package/dist/{chunk-R26FAQWF.mjs → chunk-BNKBRLJK.mjs} +3 -3
  97. package/dist/{chunk-R26FAQWF.mjs.map → chunk-BNKBRLJK.mjs.map} +1 -1
  98. package/dist/{chunk-A6UYV475.mjs → chunk-CABEVWKJ.mjs} +4 -24
  99. package/dist/chunk-CABEVWKJ.mjs.map +1 -0
  100. package/dist/{chunk-LWCAZDY2.js → chunk-CDRQYJUT.js} +4 -4
  101. package/dist/{chunk-LWCAZDY2.js.map → chunk-CDRQYJUT.js.map} +1 -1
  102. package/dist/{chunk-SAOUAIRS.js → chunk-CM4AVKXR.js} +14 -14
  103. package/dist/{chunk-SAOUAIRS.js.map → chunk-CM4AVKXR.js.map} +1 -1
  104. package/dist/{chunk-KMONA7CT.mjs → chunk-D3WJMSTB.mjs} +3 -3
  105. package/dist/{chunk-KMONA7CT.mjs.map → chunk-D3WJMSTB.mjs.map} +1 -1
  106. package/dist/{chunk-3Q3Y6OQE.mjs → chunk-DWZGW77V.mjs} +4 -4
  107. package/dist/{chunk-3Q3Y6OQE.mjs.map → chunk-DWZGW77V.mjs.map} +1 -1
  108. package/dist/{chunk-L6BQIDSZ.mjs → chunk-FPVYKSXE.mjs} +13 -10
  109. package/dist/chunk-FPVYKSXE.mjs.map +1 -0
  110. package/dist/{chunk-5XDOBM5S.js → chunk-G2KGHIAP.js} +3 -3
  111. package/dist/{chunk-5XDOBM5S.js.map → chunk-G2KGHIAP.js.map} +1 -1
  112. package/dist/chunk-GFSQMK35.mjs +127 -0
  113. package/dist/chunk-GFSQMK35.mjs.map +1 -0
  114. package/dist/chunk-GIGUDKLS.mjs +6 -0
  115. package/dist/{chunk-3V6DIQI7.mjs.map → chunk-GIGUDKLS.mjs.map} +1 -1
  116. package/dist/{chunk-BJ4T65OK.mjs → chunk-H4TSADY3.mjs} +3 -3
  117. package/dist/{chunk-BJ4T65OK.mjs.map → chunk-H4TSADY3.mjs.map} +1 -1
  118. package/dist/{chunk-J4C3JAJF.js → chunk-IO65ROAO.js} +15 -15
  119. package/dist/{chunk-J4C3JAJF.js.map → chunk-IO65ROAO.js.map} +1 -1
  120. package/dist/chunk-JCDX37BY.js +58 -0
  121. package/dist/chunk-JCDX37BY.js.map +1 -0
  122. package/dist/{chunk-5J4FKRGH.mjs → chunk-MDQLON5R.mjs} +5 -5
  123. package/dist/{chunk-5J4FKRGH.mjs.map → chunk-MDQLON5R.mjs.map} +1 -1
  124. package/dist/{chunk-3POB4JKR.js → chunk-MHKD34B4.js} +15 -15
  125. package/dist/{chunk-3POB4JKR.js.map → chunk-MHKD34B4.js.map} +1 -1
  126. package/dist/chunk-MXJOKOFK.mjs +51 -0
  127. package/dist/chunk-MXJOKOFK.mjs.map +1 -0
  128. package/dist/{chunk-5RNAUYWE.js → chunk-NH2P27MA.js} +4 -27
  129. package/dist/chunk-NH2P27MA.js.map +1 -0
  130. package/dist/{chunk-5DZVQW35.mjs → chunk-OFBEBMXN.mjs} +4 -4
  131. package/dist/{chunk-5DZVQW35.mjs.map → chunk-OFBEBMXN.mjs.map} +1 -1
  132. package/dist/{chunk-G3L26XQ7.js → chunk-OIPG3EGM.js} +5 -5
  133. package/dist/{chunk-G3L26XQ7.js.map → chunk-OIPG3EGM.js.map} +1 -1
  134. package/dist/{chunk-2UZULHI4.js → chunk-OY3PDIB3.js} +10 -10
  135. package/dist/{chunk-2UZULHI4.js.map → chunk-OY3PDIB3.js.map} +1 -1
  136. package/dist/{chunk-SNXJXPB6.js → chunk-PFDRQJKJ.js} +13 -13
  137. package/dist/{chunk-SNXJXPB6.js.map → chunk-PFDRQJKJ.js.map} +1 -1
  138. package/dist/{chunk-CXYGKK4U.mjs → chunk-PGYOBEPL.mjs} +3 -3
  139. package/dist/{chunk-CXYGKK4U.mjs.map → chunk-PGYOBEPL.mjs.map} +1 -1
  140. package/dist/{chunk-TE3YNZVH.js → chunk-PIPGH7GA.js} +4 -4
  141. package/dist/{chunk-TE3YNZVH.js.map → chunk-PIPGH7GA.js.map} +1 -1
  142. package/dist/chunk-PURI56RE.js +8 -0
  143. package/dist/{chunk-6SBRD5KT.js.map → chunk-PURI56RE.js.map} +1 -1
  144. package/dist/{chunk-X3MY4PL7.mjs → chunk-QAQTDHHT.mjs} +10 -14
  145. package/dist/chunk-QAQTDHHT.mjs.map +1 -0
  146. package/dist/{chunk-PMWF5CRL.js → chunk-QCS7NWMA.js} +15 -12
  147. package/dist/chunk-QCS7NWMA.js.map +1 -0
  148. package/dist/{chunk-HXHRS3PX.mjs → chunk-RCB6HEHM.mjs} +3 -3
  149. package/dist/{chunk-HXHRS3PX.mjs.map → chunk-RCB6HEHM.mjs.map} +1 -1
  150. package/dist/{chunk-ANYCUTS5.js → chunk-RMDH2HMW.js} +3 -3
  151. package/dist/{chunk-ANYCUTS5.js.map → chunk-RMDH2HMW.js.map} +1 -1
  152. package/dist/{chunk-NAA5J2JM.js → chunk-RQROZLH3.js} +47 -51
  153. package/dist/chunk-RQROZLH3.js.map +1 -0
  154. package/dist/{chunk-X5J3PYZJ.js → chunk-SUGBIEYQ.js} +9 -9
  155. package/dist/{chunk-X5J3PYZJ.js.map → chunk-SUGBIEYQ.js.map} +1 -1
  156. package/dist/{chunk-LFF32POH.mjs → chunk-SVCKJ5KH.mjs} +4 -4
  157. package/dist/{chunk-LFF32POH.mjs.map → chunk-SVCKJ5KH.mjs.map} +1 -1
  158. package/dist/{chunk-YKZ3EVAQ.mjs → chunk-THO4NS6Z.mjs} +3 -3
  159. package/dist/{chunk-YKZ3EVAQ.mjs.map → chunk-THO4NS6Z.mjs.map} +1 -1
  160. package/dist/{chunk-K6ZQVDP4.mjs → chunk-TPEPAHU5.mjs} +3 -3
  161. package/dist/{chunk-K6ZQVDP4.mjs.map → chunk-TPEPAHU5.mjs.map} +1 -1
  162. package/dist/{chunk-FRUBUQOH.js → chunk-U577ITSA.js} +5 -5
  163. package/dist/{chunk-FRUBUQOH.js.map → chunk-U577ITSA.js.map} +1 -1
  164. package/dist/{chunk-B2NO5QVY.mjs → chunk-UCQDE5UH.mjs} +3 -3
  165. package/dist/{chunk-B2NO5QVY.mjs.map → chunk-UCQDE5UH.mjs.map} +1 -1
  166. package/dist/{chunk-KB7SIIVY.mjs → chunk-VA2O5OSV.mjs} +3 -3
  167. package/dist/{chunk-KB7SIIVY.mjs.map → chunk-VA2O5OSV.mjs.map} +1 -1
  168. package/dist/{chunk-6I5O5CTL.mjs → chunk-VJTKIKZY.mjs} +128 -68
  169. package/dist/chunk-VJTKIKZY.mjs.map +1 -0
  170. package/dist/{chunk-OLVCGOXZ.js → chunk-VUAGR6VL.js} +12 -12
  171. package/dist/{chunk-OLVCGOXZ.js.map → chunk-VUAGR6VL.js.map} +1 -1
  172. package/dist/{chunk-PQICWWQW.mjs → chunk-XEOIGCUE.mjs} +5 -5
  173. package/dist/{chunk-PQICWWQW.mjs.map → chunk-XEOIGCUE.mjs.map} +1 -1
  174. package/dist/chunk-YMZNEDFP.js +39 -0
  175. package/dist/chunk-YMZNEDFP.js.map +1 -0
  176. package/dist/chunk-Z2URIOKG.mjs +36 -0
  177. package/dist/chunk-Z2URIOKG.mjs.map +1 -0
  178. package/dist/{chunk-2MEMK5XC.js → chunk-ZXC56JS3.js} +14 -14
  179. package/dist/{chunk-2MEMK5XC.js.map → chunk-ZXC56JS3.js.map} +1 -1
  180. package/dist/cli/index.js +3 -3
  181. package/dist/cli/index.mjs +1 -1
  182. package/dist/client/index.js +4 -4
  183. package/dist/client/index.mjs +3 -3
  184. package/dist/commerce/index.js +59 -58
  185. package/dist/commerce/index.mjs +7 -6
  186. package/dist/engage/DesignRenderer.d.ts.map +1 -1
  187. package/dist/engage/EngageWidget.d.ts.map +1 -1
  188. package/dist/engage/element-rules.d.ts +39 -0
  189. package/dist/engage/element-rules.d.ts.map +1 -0
  190. package/dist/engage/index.js +11 -10
  191. package/dist/engage/index.js.map +1 -1
  192. package/dist/engage/index.mjs +8 -7
  193. package/dist/engage/index.mjs.map +1 -1
  194. package/dist/fleet/index.js +10 -9
  195. package/dist/fleet/index.mjs +6 -5
  196. package/dist/forms/index.js +13 -13
  197. package/dist/forms/index.mjs +7 -7
  198. package/dist/forms/server.js +2 -2
  199. package/dist/forms/server.mjs +1 -1
  200. package/dist/images/index.js +11 -11
  201. package/dist/images/index.mjs +4 -4
  202. package/dist/index.js +65 -64
  203. package/dist/index.js.map +1 -1
  204. package/dist/index.mjs +11 -10
  205. package/dist/index.mjs.map +1 -1
  206. package/dist/layout/SiteKitClientProviders.d.ts.map +1 -1
  207. package/dist/layout/client.d.ts.map +1 -1
  208. package/dist/layout/client.js +10 -9
  209. package/dist/layout/client.mjs +9 -8
  210. package/dist/layout/index.js +12 -11
  211. package/dist/layout/index.js.map +1 -1
  212. package/dist/layout/index.mjs +10 -9
  213. package/dist/layout/index.mjs.map +1 -1
  214. package/dist/layout/types.d.ts +6 -0
  215. package/dist/layout/types.d.ts.map +1 -1
  216. package/dist/llms/index.d.ts +2 -0
  217. package/dist/llms/index.d.ts.map +1 -1
  218. package/dist/llms/index.js +129 -14
  219. package/dist/llms/index.js.map +1 -1
  220. package/dist/llms/index.mjs +115 -5
  221. package/dist/llms/index.mjs.map +1 -1
  222. package/dist/llms/revalidate.d.ts +3 -0
  223. package/dist/llms/revalidate.d.ts.map +1 -1
  224. package/dist/llms/seo-revalidate.d.ts +105 -0
  225. package/dist/llms/seo-revalidate.d.ts.map +1 -0
  226. package/dist/maps/index.js +5 -5
  227. package/dist/maps/index.mjs +3 -3
  228. package/dist/mcp/transport.d.ts +166 -0
  229. package/dist/mcp/transport.d.ts.map +1 -0
  230. package/dist/mcp/transport.js +137 -0
  231. package/dist/mcp/transport.js.map +1 -0
  232. package/dist/mcp/transport.mjs +123 -0
  233. package/dist/mcp/transport.mjs.map +1 -0
  234. package/dist/portfolio/contract.d.ts +93 -0
  235. package/dist/portfolio/contract.d.ts.map +1 -1
  236. package/dist/portfolio/contract.js +94 -1
  237. package/dist/portfolio/contract.js.map +1 -1
  238. package/dist/portfolio/contract.mjs +79 -2
  239. package/dist/portfolio/contract.mjs.map +1 -1
  240. package/dist/search/index.js +4 -4
  241. package/dist/search/index.mjs +3 -3
  242. package/dist/seo/client.js +7 -6
  243. package/dist/seo/client.mjs +6 -5
  244. package/dist/seo/index.js +7 -6
  245. package/dist/seo/index.js.map +1 -1
  246. package/dist/seo/index.mjs +6 -5
  247. package/dist/seo/index.mjs.map +1 -1
  248. package/dist/seo/register-sitemap-cli.js +1 -1
  249. package/dist/seo/register-sitemap-cli.mjs +1 -1
  250. package/dist/server/index.js +3 -3
  251. package/dist/server/index.mjs +2 -2
  252. package/dist/shared/build-entries.d.ts +7 -0
  253. package/dist/shared/build-entries.d.ts.map +1 -1
  254. package/dist/shared/frame.d.ts +15 -0
  255. package/dist/shared/frame.d.ts.map +1 -1
  256. package/dist/shared/request-guards.d.ts +27 -0
  257. package/dist/shared/request-guards.d.ts.map +1 -0
  258. package/dist/shared/version.d.ts +1 -1
  259. package/dist/signal/index.js +11 -11
  260. package/dist/signal/index.mjs +2 -2
  261. package/dist/sitemap/index.js +3 -3
  262. package/dist/sitemap/index.mjs +2 -2
  263. package/dist/sync/index.js +17 -17
  264. package/dist/sync/index.mjs +4 -4
  265. package/dist/{writeLLMsTxt-LYYC3ZSN.mjs → writeLLMsTxt-IYJILIU3.mjs} +3 -3
  266. package/dist/{writeLLMsTxt-XHLHJ5XY.js → writeLLMsTxt-SQG4B63X.js} +4 -4
  267. package/package.json +24 -21
  268. package/dist/AnalyticsProvider-L3GWK5PO.js +0 -33
  269. package/dist/AnalyticsProvider-XDVJTAPN.mjs +0 -12
  270. package/dist/EngageWidget-BF7DH4GO.js +0 -21
  271. package/dist/EngageWidget-RANSIKC3.mjs +0 -12
  272. package/dist/ManagedForm-E6F4FLVY.mjs +0 -16
  273. package/dist/ManagedForm-Q5UFMUBE.js +0 -25
  274. package/dist/SitemapSync-DHJ25PSH.js +0 -18
  275. package/dist/SitemapSync-ZA2MNM63.mjs +0 -9
  276. package/dist/chunk-3V6DIQI7.mjs +0 -6
  277. package/dist/chunk-5RNAUYWE.js.map +0 -1
  278. package/dist/chunk-6DCAMW62.mjs.map +0 -1
  279. package/dist/chunk-6I5O5CTL.mjs.map +0 -1
  280. package/dist/chunk-6SBRD5KT.js +0 -8
  281. package/dist/chunk-A6UYV475.mjs.map +0 -1
  282. package/dist/chunk-EB33U2WT.js.map +0 -1
  283. package/dist/chunk-L6BQIDSZ.mjs.map +0 -1
  284. package/dist/chunk-NAA5J2JM.js.map +0 -1
  285. package/dist/chunk-PMWF5CRL.js.map +0 -1
  286. package/dist/chunk-X3MY4PL7.mjs.map +0 -1
  287. package/dist/chunk-YRCR7WY3.js +0 -65
  288. package/dist/chunk-YRCR7WY3.js.map +0 -1
  289. package/dist/chunk-ZL35JCDA.mjs +0 -61
  290. package/dist/chunk-ZL35JCDA.mjs.map +0 -1
  291. package/dist/chunk-ZR43XFUM.js.map +0 -1
@@ -1,23 +1,23 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkOLVCGOXZ_js = require('../chunk-OLVCGOXZ.js');
4
+ var chunkVUAGR6VL_js = require('../chunk-VUAGR6VL.js');
5
+ require('../chunk-3EAS4PAT.js');
5
6
  var chunkDVYYGHSG_js = require('../chunk-DVYYGHSG.js');
6
7
  var chunkYVJASVVK_js = require('../chunk-YVJASVVK.js');
7
- require('../chunk-3J5L5DIK.js');
8
- var chunkANYCUTS5_js = require('../chunk-ANYCUTS5.js');
8
+ var chunkRMDH2HMW_js = require('../chunk-RMDH2HMW.js');
9
9
  require('../chunk-HGNSJXWT.js');
10
10
  require('../chunk-7RLL67F3.js');
11
11
  var chunkRI6DFQCA_js = require('../chunk-RI6DFQCA.js');
12
- var chunkE7EV2AHT_js = require('../chunk-E7EV2AHT.js');
12
+ var chunk6OQYRVMI_js = require('../chunk-6OQYRVMI.js');
13
13
  require('../chunk-5XFFUP6D.js');
14
14
  var chunkTULCHQX2_js = require('../chunk-TULCHQX2.js');
15
15
  require('../chunk-KHPJ3CEL.js');
16
16
  require('../chunk-P4Y75QSU.js');
17
17
  require('../chunk-VJMPIRSD.js');
18
- var chunkJ4C3JAJF_js = require('../chunk-J4C3JAJF.js');
19
- require('../chunk-TE3YNZVH.js');
20
- require('../chunk-6SBRD5KT.js');
18
+ var chunkIO65ROAO_js = require('../chunk-IO65ROAO.js');
19
+ require('../chunk-PIPGH7GA.js');
20
+ require('../chunk-PURI56RE.js');
21
21
  require('../chunk-SNAQBZPT.js');
22
22
 
23
23
  // src/forms/formsApi.ts
@@ -49,7 +49,7 @@ async function apiRequest(method, path, body) {
49
49
  const token = await getAuthToken();
50
50
  headers["Authorization"] = `Bearer ${token}`;
51
51
  }
52
- const response = await chunkJ4C3JAJF_js.sonorFetch(`${baseUrl}${path}`, {
52
+ const response = await chunkIO65ROAO_js.sonorFetch(`${baseUrl}${path}`, {
53
53
  method,
54
54
  headers,
55
55
  body: body ? JSON.stringify(body) : void 0
@@ -340,11 +340,11 @@ async function initializeForms(forms) {
340
340
 
341
341
  Object.defineProperty(exports, "FormClient", {
342
342
  enumerable: true,
343
- get: function () { return chunkOLVCGOXZ_js.FormClient; }
343
+ get: function () { return chunkVUAGR6VL_js.FormClient; }
344
344
  });
345
345
  Object.defineProperty(exports, "ManagedForm", {
346
346
  enumerable: true,
347
- get: function () { return chunkOLVCGOXZ_js.ManagedForm; }
347
+ get: function () { return chunkVUAGR6VL_js.ManagedForm; }
348
348
  });
349
349
  Object.defineProperty(exports, "DatePicker", {
350
350
  enumerable: true,
@@ -356,7 +356,7 @@ Object.defineProperty(exports, "FormCelebration", {
356
356
  });
357
357
  Object.defineProperty(exports, "FormEnhancer", {
358
358
  enumerable: true,
359
- get: function () { return chunkANYCUTS5_js.FormEnhancer; }
359
+ get: function () { return chunkRMDH2HMW_js.FormEnhancer; }
360
360
  });
361
361
  Object.defineProperty(exports, "FormFieldComponent", {
362
362
  enumerable: true,
@@ -364,11 +364,11 @@ Object.defineProperty(exports, "FormFieldComponent", {
364
364
  });
365
365
  Object.defineProperty(exports, "useForm", {
366
366
  enumerable: true,
367
- get: function () { return chunkE7EV2AHT_js.useForm; }
367
+ get: function () { return chunk6OQYRVMI_js.useForm; }
368
368
  });
369
369
  Object.defineProperty(exports, "useFormTracking", {
370
370
  enumerable: true,
371
- get: function () { return chunkE7EV2AHT_js.useFormTracking; }
371
+ get: function () { return chunk6OQYRVMI_js.useFormTracking; }
372
372
  });
373
373
  Object.defineProperty(exports, "DEFAULT_FORM_SUCCESS_MESSAGE", {
374
374
  enumerable: true,
@@ -1,21 +1,21 @@
1
1
  'use client';
2
- export { FormClient, ManagedForm } from '../chunk-PQICWWQW.mjs';
2
+ export { FormClient, ManagedForm } from '../chunk-XEOIGCUE.mjs';
3
+ import '../chunk-D3WJMSTB.mjs';
3
4
  export { DatePicker } from '../chunk-MU3D5IO7.mjs';
4
5
  export { FormCelebration } from '../chunk-54CARHDR.mjs';
5
- import '../chunk-KMONA7CT.mjs';
6
- export { FormEnhancer } from '../chunk-B2NO5QVY.mjs';
6
+ export { FormEnhancer } from '../chunk-UCQDE5UH.mjs';
7
7
  import '../chunk-ZVBLXXNJ.mjs';
8
8
  import '../chunk-FCAHV5P3.mjs';
9
9
  export { FormField as FormFieldComponent } from '../chunk-WRRVYPMY.mjs';
10
- export { useForm, useFormTracking } from '../chunk-SB4CJX2X.mjs';
10
+ export { useForm, useFormTracking } from '../chunk-42LLFAJQ.mjs';
11
11
  import '../chunk-QRHVMTHF.mjs';
12
12
  export { DEFAULT_FORM_SUCCESS_MESSAGE } from '../chunk-AGIMH67E.mjs';
13
13
  import '../chunk-TMVKRQGJ.mjs';
14
14
  import '../chunk-5SANRSX3.mjs';
15
15
  import '../chunk-6EDVCUAG.mjs';
16
- import { sonorFetch } from '../chunk-BJKA3XRS.mjs';
17
- import '../chunk-CXYGKK4U.mjs';
18
- import '../chunk-3V6DIQI7.mjs';
16
+ import { sonorFetch } from '../chunk-3BLKKF67.mjs';
17
+ import '../chunk-PGYOBEPL.mjs';
18
+ import '../chunk-GIGUDKLS.mjs';
19
19
  import '../chunk-BEXTDHO4.mjs';
20
20
 
21
21
  // src/forms/formsApi.ts
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkANYCUTS5_js = require('../chunk-ANYCUTS5.js');
3
+ var chunkRMDH2HMW_js = require('../chunk-RMDH2HMW.js');
4
4
  require('../chunk-HGNSJXWT.js');
5
5
  var chunkDV5KVNA7_js = require('../chunk-DV5KVNA7.js');
6
6
  require('../chunk-7RLL67F3.js');
@@ -26,7 +26,7 @@ async function ServerForm({
26
26
  const shell = /* @__PURE__ */ jsxRuntime.jsx(chunkDV5KVNA7_js.StaticForm, { config, className });
27
27
  if (!enhance) return shell;
28
28
  return /* @__PURE__ */ jsxRuntime.jsx(
29
- chunkANYCUTS5_js.FormEnhancer,
29
+ chunkRMDH2HMW_js.FormEnhancer,
30
30
  {
31
31
  formId,
32
32
  initialConfig: config,
@@ -1,4 +1,4 @@
1
- import { FormEnhancer } from '../chunk-B2NO5QVY.mjs';
1
+ import { FormEnhancer } from '../chunk-UCQDE5UH.mjs';
2
2
  import '../chunk-ZVBLXXNJ.mjs';
3
3
  import { StaticForm } from '../chunk-VQL7XDIY.mjs';
4
4
  export { StaticForm } from '../chunk-VQL7XDIY.mjs';
@@ -1,41 +1,41 @@
1
1
  'use strict';
2
2
 
3
- var chunkSAOUAIRS_js = require('../chunk-SAOUAIRS.js');
3
+ var chunkCM4AVKXR_js = require('../chunk-CM4AVKXR.js');
4
4
  var chunkGCPPXUAI_js = require('../chunk-GCPPXUAI.js');
5
- require('../chunk-J4C3JAJF.js');
6
- require('../chunk-TE3YNZVH.js');
7
- require('../chunk-6SBRD5KT.js');
5
+ require('../chunk-IO65ROAO.js');
6
+ require('../chunk-PIPGH7GA.js');
7
+ require('../chunk-PURI56RE.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 chunkSAOUAIRS_js.ManagedImage; }
14
+ get: function () { return chunkCM4AVKXR_js.ManagedImage; }
15
15
  });
16
16
  Object.defineProperty(exports, "assignImageToSlot", {
17
17
  enumerable: true,
18
- get: function () { return chunkSAOUAIRS_js.assignImageToSlot; }
18
+ get: function () { return chunkCM4AVKXR_js.assignImageToSlot; }
19
19
  });
20
20
  Object.defineProperty(exports, "clearImageSlot", {
21
21
  enumerable: true,
22
- get: function () { return chunkSAOUAIRS_js.clearImageSlot; }
22
+ get: function () { return chunkCM4AVKXR_js.clearImageSlot; }
23
23
  });
24
24
  Object.defineProperty(exports, "fetchManagedImage", {
25
25
  enumerable: true,
26
- get: function () { return chunkSAOUAIRS_js.fetchManagedImage; }
26
+ get: function () { return chunkCM4AVKXR_js.fetchManagedImage; }
27
27
  });
28
28
  Object.defineProperty(exports, "fetchManagedImages", {
29
29
  enumerable: true,
30
- get: function () { return chunkSAOUAIRS_js.fetchManagedImages; }
30
+ get: function () { return chunkCM4AVKXR_js.fetchManagedImages; }
31
31
  });
32
32
  Object.defineProperty(exports, "listImageFiles", {
33
33
  enumerable: true,
34
- get: function () { return chunkSAOUAIRS_js.listImageFiles; }
34
+ get: function () { return chunkCM4AVKXR_js.listImageFiles; }
35
35
  });
36
36
  Object.defineProperty(exports, "uploadImage", {
37
37
  enumerable: true,
38
- get: function () { return chunkSAOUAIRS_js.uploadImage; }
38
+ get: function () { return chunkCM4AVKXR_js.uploadImage; }
39
39
  });
40
40
  Object.defineProperty(exports, "ManagedFavicon", {
41
41
  enumerable: true,
@@ -1,8 +1,8 @@
1
- export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-K6ZQVDP4.mjs';
1
+ export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-TPEPAHU5.mjs';
2
2
  export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-CU6OGBKK.mjs';
3
- import '../chunk-BJKA3XRS.mjs';
4
- import '../chunk-CXYGKK4U.mjs';
5
- import '../chunk-3V6DIQI7.mjs';
3
+ import '../chunk-3BLKKF67.mjs';
4
+ import '../chunk-PGYOBEPL.mjs';
5
+ import '../chunk-GIGUDKLS.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,28 +3,29 @@
3
3
  var chunkJA77WXRE_js = require('./chunk-JA77WXRE.js');
4
4
  var chunkCIM5W3UO_js = require('./chunk-CIM5W3UO.js');
5
5
  var chunk4BEGKFMN_js = require('./chunk-4BEGKFMN.js');
6
- var chunkSAOUAIRS_js = require('./chunk-SAOUAIRS.js');
6
+ var chunkCM4AVKXR_js = require('./chunk-CM4AVKXR.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 chunk2MEMK5XC_js = require('./chunk-2MEMK5XC.js');
11
- var chunkVGBUC2JP_js = require('./chunk-VGBUC2JP.js');
10
+ var chunkZXC56JS3_js = require('./chunk-ZXC56JS3.js');
11
+ var chunk5ZMTEK7U_js = require('./chunk-5ZMTEK7U.js');
12
12
  require('./chunk-JP5WGL75.js');
13
- var chunk7NFSSPGM_js = require('./chunk-7NFSSPGM.js');
14
- var chunk5XDOBM5S_js = require('./chunk-5XDOBM5S.js');
13
+ var chunkAL4Z6VYF_js = require('./chunk-AL4Z6VYF.js');
14
+ var chunkG2KGHIAP_js = require('./chunk-G2KGHIAP.js');
15
15
  require('./chunk-BBBJHYPH.js');
16
16
  require('./chunk-UZKXOZHR.js');
17
17
  require('./chunk-SWIKKSKL.js');
18
18
  require('./chunk-3SDMJMN2.js');
19
- require('./chunk-SNXJXPB6.js');
19
+ require('./chunk-PFDRQJKJ.js');
20
20
  require('./chunk-3DWIYCQX.js');
21
21
  require('./chunk-RC4WWQXR.js');
22
22
  require('./chunk-P4Y75QSU.js');
23
23
  require('./chunk-VJMPIRSD.js');
24
- require('./chunk-5RNAUYWE.js');
25
- var chunkJ4C3JAJF_js = require('./chunk-J4C3JAJF.js');
26
- require('./chunk-TE3YNZVH.js');
27
- require('./chunk-6SBRD5KT.js');
24
+ require('./chunk-NH2P27MA.js');
25
+ require('./chunk-JCDX37BY.js');
26
+ var chunkIO65ROAO_js = require('./chunk-IO65ROAO.js');
27
+ require('./chunk-PIPGH7GA.js');
28
+ require('./chunk-PURI56RE.js');
28
29
  require('./chunk-SNAQBZPT.js');
29
30
  var react = require('react');
30
31
  var jsxRuntime = require('react/jsx-runtime');
@@ -42,7 +43,7 @@ async function apiGet(endpoint) {
42
43
  return null;
43
44
  }
44
45
  try {
45
- const response = await chunkJ4C3JAJF_js.sonorFetch(
46
+ const response = await chunkIO65ROAO_js.sonorFetch(
46
47
  `${apiUrl}${endpoint}`,
47
48
  { method: "GET" },
48
49
  { apiKey, retries: 0 }
@@ -195,31 +196,31 @@ Object.defineProperty(exports, "handleManagedRedirects", {
195
196
  });
196
197
  Object.defineProperty(exports, "ManagedImage", {
197
198
  enumerable: true,
198
- get: function () { return chunkSAOUAIRS_js.ManagedImage; }
199
+ get: function () { return chunkCM4AVKXR_js.ManagedImage; }
199
200
  });
200
201
  Object.defineProperty(exports, "assignImageToSlot", {
201
202
  enumerable: true,
202
- get: function () { return chunkSAOUAIRS_js.assignImageToSlot; }
203
+ get: function () { return chunkCM4AVKXR_js.assignImageToSlot; }
203
204
  });
204
205
  Object.defineProperty(exports, "clearImageSlot", {
205
206
  enumerable: true,
206
- get: function () { return chunkSAOUAIRS_js.clearImageSlot; }
207
+ get: function () { return chunkCM4AVKXR_js.clearImageSlot; }
207
208
  });
208
209
  Object.defineProperty(exports, "fetchManagedImage", {
209
210
  enumerable: true,
210
- get: function () { return chunkSAOUAIRS_js.fetchManagedImage; }
211
+ get: function () { return chunkCM4AVKXR_js.fetchManagedImage; }
211
212
  });
212
213
  Object.defineProperty(exports, "fetchManagedImages", {
213
214
  enumerable: true,
214
- get: function () { return chunkSAOUAIRS_js.fetchManagedImages; }
215
+ get: function () { return chunkCM4AVKXR_js.fetchManagedImages; }
215
216
  });
216
217
  Object.defineProperty(exports, "listImageFiles", {
217
218
  enumerable: true,
218
- get: function () { return chunkSAOUAIRS_js.listImageFiles; }
219
+ get: function () { return chunkCM4AVKXR_js.listImageFiles; }
219
220
  });
220
221
  Object.defineProperty(exports, "uploadImage", {
221
222
  enumerable: true,
222
- get: function () { return chunkSAOUAIRS_js.uploadImage; }
223
+ get: function () { return chunkCM4AVKXR_js.uploadImage; }
223
224
  });
224
225
  Object.defineProperty(exports, "TestimonialSection", {
225
226
  enumerable: true,
@@ -235,187 +236,187 @@ Object.defineProperty(exports, "fetchReviews", {
235
236
  });
236
237
  Object.defineProperty(exports, "CalendarView", {
237
238
  enumerable: true,
238
- get: function () { return chunk2MEMK5XC_js.CalendarView; }
239
+ get: function () { return chunkZXC56JS3_js.CalendarView; }
239
240
  });
240
241
  Object.defineProperty(exports, "CheckoutForm", {
241
242
  enumerable: true,
242
- get: function () { return chunk2MEMK5XC_js.CheckoutForm; }
243
+ get: function () { return chunkZXC56JS3_js.CheckoutForm; }
243
244
  });
244
245
  Object.defineProperty(exports, "EventCalendar", {
245
246
  enumerable: true,
246
- get: function () { return chunk2MEMK5XC_js.EventCalendar; }
247
+ get: function () { return chunkZXC56JS3_js.EventCalendar; }
247
248
  });
248
249
  Object.defineProperty(exports, "EventCheckout", {
249
250
  enumerable: true,
250
- get: function () { return chunk2MEMK5XC_js.EventCheckout; }
251
+ get: function () { return chunkZXC56JS3_js.EventCheckout; }
251
252
  });
252
253
  Object.defineProperty(exports, "EventEmbed", {
253
254
  enumerable: true,
254
- get: function () { return chunk2MEMK5XC_js.EventEmbed; }
255
+ get: function () { return chunkZXC56JS3_js.EventEmbed; }
255
256
  });
256
257
  Object.defineProperty(exports, "EventModal", {
257
258
  enumerable: true,
258
- get: function () { return chunk2MEMK5XC_js.EventModal; }
259
+ get: function () { return chunkZXC56JS3_js.EventModal; }
259
260
  });
260
261
  Object.defineProperty(exports, "EventTile", {
261
262
  enumerable: true,
262
- get: function () { return chunk2MEMK5XC_js.EventTile; }
263
+ get: function () { return chunkZXC56JS3_js.EventTile; }
263
264
  });
264
265
  Object.defineProperty(exports, "OfferingCard", {
265
266
  enumerable: true,
266
- get: function () { return chunk2MEMK5XC_js.OfferingCard; }
267
+ get: function () { return chunkZXC56JS3_js.OfferingCard; }
267
268
  });
268
269
  Object.defineProperty(exports, "OfferingList", {
269
270
  enumerable: true,
270
- get: function () { return chunk2MEMK5XC_js.OfferingList; }
271
+ get: function () { return chunkZXC56JS3_js.OfferingList; }
271
272
  });
272
273
  Object.defineProperty(exports, "ProductEmbed", {
273
274
  enumerable: true,
274
- get: function () { return chunk2MEMK5XC_js.ProductEmbed; }
275
+ get: function () { return chunkZXC56JS3_js.ProductEmbed; }
275
276
  });
276
277
  Object.defineProperty(exports, "RegistrationForm", {
277
278
  enumerable: true,
278
- get: function () { return chunk2MEMK5XC_js.RegistrationForm; }
279
+ get: function () { return chunkZXC56JS3_js.RegistrationForm; }
279
280
  });
280
281
  Object.defineProperty(exports, "UpcomingEvents", {
281
282
  enumerable: true,
282
- get: function () { return chunk2MEMK5XC_js.UpcomingEvents; }
283
+ get: function () { return chunkZXC56JS3_js.UpcomingEvents; }
283
284
  });
284
285
  Object.defineProperty(exports, "createCheckoutSession", {
285
286
  enumerable: true,
286
- get: function () { return chunk2MEMK5XC_js.createCheckoutSession; }
287
+ get: function () { return chunkZXC56JS3_js.createCheckoutSession; }
287
288
  });
288
289
  Object.defineProperty(exports, "fetchNextEvent", {
289
290
  enumerable: true,
290
- get: function () { return chunk2MEMK5XC_js.fetchNextEvent; }
291
+ get: function () { return chunkZXC56JS3_js.fetchNextEvent; }
291
292
  });
292
293
  Object.defineProperty(exports, "fetchOffering", {
293
294
  enumerable: true,
294
- get: function () { return chunk2MEMK5XC_js.fetchOffering; }
295
+ get: function () { return chunkZXC56JS3_js.fetchOffering; }
295
296
  });
296
297
  Object.defineProperty(exports, "fetchOfferings", {
297
298
  enumerable: true,
298
- get: function () { return chunk2MEMK5XC_js.fetchOfferings; }
299
+ get: function () { return chunkZXC56JS3_js.fetchOfferings; }
299
300
  });
300
301
  Object.defineProperty(exports, "fetchProducts", {
301
302
  enumerable: true,
302
- get: function () { return chunk2MEMK5XC_js.fetchProducts; }
303
+ get: function () { return chunkZXC56JS3_js.fetchProducts; }
303
304
  });
304
305
  Object.defineProperty(exports, "fetchServices", {
305
306
  enumerable: true,
306
- get: function () { return chunk2MEMK5XC_js.fetchServices; }
307
+ get: function () { return chunkZXC56JS3_js.fetchServices; }
307
308
  });
308
309
  Object.defineProperty(exports, "fetchUpcomingEvents", {
309
310
  enumerable: true,
310
- get: function () { return chunk2MEMK5XC_js.fetchUpcomingEvents; }
311
+ get: function () { return chunkZXC56JS3_js.fetchUpcomingEvents; }
311
312
  });
312
313
  Object.defineProperty(exports, "formatDate", {
313
314
  enumerable: true,
314
- get: function () { return chunk2MEMK5XC_js.formatDate; }
315
+ get: function () { return chunkZXC56JS3_js.formatDate; }
315
316
  });
316
317
  Object.defineProperty(exports, "formatDateTime", {
317
318
  enumerable: true,
318
- get: function () { return chunk2MEMK5XC_js.formatDateTime; }
319
+ get: function () { return chunkZXC56JS3_js.formatDateTime; }
319
320
  });
320
321
  Object.defineProperty(exports, "formatPrice", {
321
322
  enumerable: true,
322
- get: function () { return chunk2MEMK5XC_js.formatPrice; }
323
+ get: function () { return chunkZXC56JS3_js.formatPrice; }
323
324
  });
324
325
  Object.defineProperty(exports, "getOfferingUrl", {
325
326
  enumerable: true,
326
- get: function () { return chunk2MEMK5XC_js.getOfferingUrl; }
327
+ get: function () { return chunkZXC56JS3_js.getOfferingUrl; }
327
328
  });
328
329
  Object.defineProperty(exports, "registerForEvent", {
329
330
  enumerable: true,
330
- get: function () { return chunk2MEMK5XC_js.registerForEvent; }
331
+ get: function () { return chunkZXC56JS3_js.registerForEvent; }
331
332
  });
332
333
  Object.defineProperty(exports, "useEventModal", {
333
334
  enumerable: true,
334
- get: function () { return chunk2MEMK5XC_js.useEventModal; }
335
+ get: function () { return chunkZXC56JS3_js.useEventModal; }
335
336
  });
336
337
  Object.defineProperty(exports, "BookingWidget", {
337
338
  enumerable: true,
338
- get: function () { return chunkVGBUC2JP_js.BookingWidget; }
339
+ get: function () { return chunk5ZMTEK7U_js.BookingWidget; }
339
340
  });
340
341
  Object.defineProperty(exports, "createBooking", {
341
342
  enumerable: true,
342
- get: function () { return chunkVGBUC2JP_js.createBooking; }
343
+ get: function () { return chunk5ZMTEK7U_js.createBooking; }
343
344
  });
344
345
  Object.defineProperty(exports, "createSlotHold", {
345
346
  enumerable: true,
346
- get: function () { return chunkVGBUC2JP_js.createSlotHold; }
347
+ get: function () { return chunk5ZMTEK7U_js.createSlotHold; }
347
348
  });
348
349
  Object.defineProperty(exports, "detectTimezone", {
349
350
  enumerable: true,
350
- get: function () { return chunkVGBUC2JP_js.detectTimezone; }
351
+ get: function () { return chunk5ZMTEK7U_js.detectTimezone; }
351
352
  });
352
353
  Object.defineProperty(exports, "fetchAvailability", {
353
354
  enumerable: true,
354
- get: function () { return chunkVGBUC2JP_js.fetchAvailability; }
355
+ get: function () { return chunk5ZMTEK7U_js.fetchAvailability; }
355
356
  });
356
357
  Object.defineProperty(exports, "fetchAvailableDates", {
357
358
  enumerable: true,
358
- get: function () { return chunkVGBUC2JP_js.fetchAvailableDates; }
359
+ get: function () { return chunk5ZMTEK7U_js.fetchAvailableDates; }
359
360
  });
360
361
  Object.defineProperty(exports, "fetchBookingTypeDetails", {
361
362
  enumerable: true,
362
- get: function () { return chunkVGBUC2JP_js.fetchBookingTypeDetails; }
363
+ get: function () { return chunk5ZMTEK7U_js.fetchBookingTypeDetails; }
363
364
  });
364
365
  Object.defineProperty(exports, "fetchBookingTypes", {
365
366
  enumerable: true,
366
- get: function () { return chunkVGBUC2JP_js.fetchBookingTypes; }
367
+ get: function () { return chunk5ZMTEK7U_js.fetchBookingTypes; }
367
368
  });
368
369
  Object.defineProperty(exports, "formatBookingDate", {
369
370
  enumerable: true,
370
- get: function () { return chunkVGBUC2JP_js.formatDate; }
371
+ get: function () { return chunk5ZMTEK7U_js.formatDate; }
371
372
  });
372
373
  Object.defineProperty(exports, "formatBookingTime", {
373
374
  enumerable: true,
374
- get: function () { return chunkVGBUC2JP_js.formatTime; }
375
+ get: function () { return chunk5ZMTEK7U_js.formatTime; }
375
376
  });
376
377
  Object.defineProperty(exports, "formatDuration", {
377
378
  enumerable: true,
378
- get: function () { return chunkVGBUC2JP_js.formatDuration; }
379
+ get: function () { return chunk5ZMTEK7U_js.formatDuration; }
379
380
  });
380
381
  Object.defineProperty(exports, "releaseSlotHold", {
381
382
  enumerable: true,
382
- get: function () { return chunkVGBUC2JP_js.releaseSlotHold; }
383
+ get: function () { return chunk5ZMTEK7U_js.releaseSlotHold; }
383
384
  });
384
385
  Object.defineProperty(exports, "ExperimentConversion", {
385
386
  enumerable: true,
386
- get: function () { return chunk7NFSSPGM_js.ExperimentConversion; }
387
+ get: function () { return chunkAL4Z6VYF_js.ExperimentConversion; }
387
388
  });
388
389
  Object.defineProperty(exports, "SignalExperiment", {
389
390
  enumerable: true,
390
- get: function () { return chunk7NFSSPGM_js.SignalExperiment; }
391
+ get: function () { return chunkAL4Z6VYF_js.SignalExperiment; }
391
392
  });
392
393
  Object.defineProperty(exports, "useExperimentVariant", {
393
394
  enumerable: true,
394
- get: function () { return chunk7NFSSPGM_js.useExperimentVariant; }
395
+ get: function () { return chunkAL4Z6VYF_js.useExperimentVariant; }
395
396
  });
396
397
  Object.defineProperty(exports, "SignalBridge", {
397
398
  enumerable: true,
398
- get: function () { return chunk5XDOBM5S_js.SignalBridge; }
399
+ get: function () { return chunkG2KGHIAP_js.SignalBridge; }
399
400
  });
400
401
  Object.defineProperty(exports, "useSignal", {
401
402
  enumerable: true,
402
- get: function () { return chunk5XDOBM5S_js.useSignal; }
403
+ get: function () { return chunkG2KGHIAP_js.useSignal; }
403
404
  });
404
405
  Object.defineProperty(exports, "useSignalConfig", {
405
406
  enumerable: true,
406
- get: function () { return chunk5XDOBM5S_js.useSignalConfig; }
407
+ get: function () { return chunkG2KGHIAP_js.useSignalConfig; }
407
408
  });
408
409
  Object.defineProperty(exports, "useSignalEvent", {
409
410
  enumerable: true,
410
- get: function () { return chunk5XDOBM5S_js.useSignalEvent; }
411
+ get: function () { return chunkG2KGHIAP_js.useSignalEvent; }
411
412
  });
412
413
  Object.defineProperty(exports, "useSignalExperiment", {
413
414
  enumerable: true,
414
- get: function () { return chunk5XDOBM5S_js.useSignalExperiment; }
415
+ get: function () { return chunkG2KGHIAP_js.useSignalExperiment; }
415
416
  });
416
417
  Object.defineProperty(exports, "useSignalOutcome", {
417
418
  enumerable: true,
418
- get: function () { return chunk5XDOBM5S_js.useSignalOutcome; }
419
+ get: function () { return chunkG2KGHIAP_js.useSignalOutcome; }
419
420
  });
420
421
  exports.AffiliateCard = AffiliateCard;
421
422
  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":"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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"]}
package/dist/index.mjs CHANGED
@@ -1,28 +1,29 @@
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-UO6KTHBQ.mjs';
4
- export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-K6ZQVDP4.mjs';
4
+ export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from './chunk-TPEPAHU5.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-5DZVQW35.mjs';
9
- export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-YKZ3EVAQ.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-OFBEBMXN.mjs';
9
+ export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate as formatBookingDate, formatTime as formatBookingTime, formatDuration, releaseSlotHold } from './chunk-THO4NS6Z.mjs';
10
10
  import './chunk-B22WSN4L.mjs';
11
- export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-R26FAQWF.mjs';
12
- export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-6MOGGEY3.mjs';
11
+ export { ExperimentConversion, SignalExperiment, useExperimentVariant } from './chunk-BNKBRLJK.mjs';
12
+ export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from './chunk-A2HL22BO.mjs';
13
13
  import './chunk-AS2HUIDW.mjs';
14
14
  import './chunk-KZVSB5WE.mjs';
15
15
  import './chunk-ZN4HBK5C.mjs';
16
16
  import './chunk-64BOVMXG.mjs';
17
- import './chunk-UJIKP35G.mjs';
17
+ import './chunk-7F66Y4MA.mjs';
18
18
  import './chunk-SHLWA6JY.mjs';
19
19
  import './chunk-ZZQAGCSI.mjs';
20
20
  import './chunk-5SANRSX3.mjs';
21
21
  import './chunk-6EDVCUAG.mjs';
22
- import './chunk-A6UYV475.mjs';
23
- import { sonorFetch } from './chunk-BJKA3XRS.mjs';
24
- import './chunk-CXYGKK4U.mjs';
25
- import './chunk-3V6DIQI7.mjs';
22
+ import './chunk-CABEVWKJ.mjs';
23
+ import './chunk-MXJOKOFK.mjs';
24
+ import { sonorFetch } from './chunk-3BLKKF67.mjs';
25
+ import './chunk-PGYOBEPL.mjs';
26
+ import './chunk-GIGUDKLS.mjs';
26
27
  import './chunk-BEXTDHO4.mjs';
27
28
  import { useState, useEffect } from 'react';
28
29
  import { jsx, jsxs } from 'react/jsx-runtime';