@sonordev/site-kit 5.3.1 → 5.4.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 (336) hide show
  1. package/README.md +17 -0
  2. package/agent-manifest.json +5 -4
  3. package/dist/AnalyticsProvider-2XIOMRCN.mjs +11 -0
  4. package/dist/{AnalyticsProvider-NA7EMJCA.mjs.map → AnalyticsProvider-2XIOMRCN.mjs.map} +1 -1
  5. package/dist/AnalyticsProvider-Y2P2BPOI.js +32 -0
  6. package/dist/{AnalyticsProvider-XE3ADUUH.js.map → AnalyticsProvider-Y2P2BPOI.js.map} +1 -1
  7. package/dist/{BlogViewTracker-DVJHZ7CM.js → BlogViewTracker-6EGEDPP3.js} +6 -6
  8. package/dist/{BlogViewTracker-DVJHZ7CM.js.map → BlogViewTracker-6EGEDPP3.js.map} +1 -1
  9. package/dist/{BlogViewTracker-MKJYTTJQ.mjs → BlogViewTracker-R4YQ76WP.mjs} +5 -5
  10. package/dist/{BlogViewTracker-MKJYTTJQ.mjs.map → BlogViewTracker-R4YQ76WP.mjs.map} +1 -1
  11. package/dist/ChatWidget-2OFWPCWF.js +20 -0
  12. package/dist/{ChatWidget-BZ3KOSXG.js.map → ChatWidget-2OFWPCWF.js.map} +1 -1
  13. package/dist/ChatWidget-4AOGHYXQ.mjs +11 -0
  14. package/dist/{ChatWidget-BD4F4XLD.mjs.map → ChatWidget-4AOGHYXQ.mjs.map} +1 -1
  15. package/dist/EngageWidget-SFO2XRNG.mjs +9 -0
  16. package/dist/{EngageWidget-L7B6PCM3.mjs.map → EngageWidget-SFO2XRNG.mjs.map} +1 -1
  17. package/dist/EngageWidget-T4KAAD3G.js +18 -0
  18. package/dist/{EngageWidget-JPP6EDCJ.js.map → EngageWidget-T4KAAD3G.js.map} +1 -1
  19. package/dist/{FileField-7WPRONDS.mjs → FileField-7DF2SLPF.mjs} +5 -5
  20. package/dist/{FileField-7WPRONDS.mjs.map → FileField-7DF2SLPF.mjs.map} +1 -1
  21. package/dist/{FileField-GHT7444Y.js → FileField-CE2XNBBG.js} +6 -6
  22. package/dist/{FileField-GHT7444Y.js.map → FileField-CE2XNBBG.js.map} +1 -1
  23. package/dist/{FormSpotlight-WZVS6HHR.mjs → FormSpotlight-IRLKSZGV.mjs} +3 -3
  24. package/dist/{FormSpotlight-WZVS6HHR.mjs.map → FormSpotlight-IRLKSZGV.mjs.map} +1 -1
  25. package/dist/{FormSpotlight-BB2IB7IX.js → FormSpotlight-ZD3WR5BC.js} +15 -15
  26. package/dist/{FormSpotlight-BB2IB7IX.js.map → FormSpotlight-ZD3WR5BC.js.map} +1 -1
  27. package/dist/{FormStage-Y3NHHMV2.mjs → FormStage-2OSRNQJL.mjs} +3 -3
  28. package/dist/{FormStage-Y3NHHMV2.mjs.map → FormStage-2OSRNQJL.mjs.map} +1 -1
  29. package/dist/{FormStage-FLBLXENZ.js → FormStage-OSPXOUQE.js} +13 -13
  30. package/dist/{FormStage-FLBLXENZ.js.map → FormStage-OSPXOUQE.js.map} +1 -1
  31. package/dist/ManagedForm-5G37EDJT.mjs +14 -0
  32. package/dist/{ManagedForm-AJM6D4SK.mjs.map → ManagedForm-5G37EDJT.mjs.map} +1 -1
  33. package/dist/ManagedForm-JCHGBBQW.js +23 -0
  34. package/dist/{ManagedForm-2OPCHDNJ.js.map → ManagedForm-JCHGBBQW.js.map} +1 -1
  35. package/dist/{ManagedNewsletterForm-L2ZHJ7F4.js → ManagedNewsletterForm-4LVJZROZ.js} +8 -8
  36. package/dist/{ManagedNewsletterForm-L2ZHJ7F4.js.map → ManagedNewsletterForm-4LVJZROZ.js.map} +1 -1
  37. package/dist/{ManagedNewsletterForm-MJI2JXIB.mjs → ManagedNewsletterForm-QJSVH23S.mjs} +7 -7
  38. package/dist/{ManagedNewsletterForm-MJI2JXIB.mjs.map → ManagedNewsletterForm-QJSVH23S.mjs.map} +1 -1
  39. package/dist/{SignalCore-23YDDSWO.mjs → SignalCore-L6Z3YTCF.mjs} +5 -5
  40. package/dist/{SignalCore-23YDDSWO.mjs.map → SignalCore-L6Z3YTCF.mjs.map} +1 -1
  41. package/dist/{SignalCore-G2VM7NUP.js → SignalCore-NQ4YEOI7.js} +11 -11
  42. package/dist/{SignalCore-G2VM7NUP.js.map → SignalCore-NQ4YEOI7.js.map} +1 -1
  43. package/dist/SitemapSync-3LUZWBTB.js +18 -0
  44. package/dist/{SitemapSync-T2N3TCWF.js.map → SitemapSync-3LUZWBTB.js.map} +1 -1
  45. package/dist/SitemapSync-MYSTLJOM.mjs +9 -0
  46. package/dist/{SitemapSync-YLWMU6J3.mjs.map → SitemapSync-MYSTLJOM.mjs.map} +1 -1
  47. package/dist/SitemapSync.d.ts.map +1 -1
  48. package/dist/analytics/AnalyticsProvider.d.ts +11 -1
  49. package/dist/analytics/AnalyticsProvider.d.ts.map +1 -1
  50. package/dist/analytics/WebVitals.d.ts +7 -1
  51. package/dist/analytics/WebVitals.d.ts.map +1 -1
  52. package/dist/analytics/index.d.ts +1 -0
  53. package/dist/analytics/index.d.ts.map +1 -1
  54. package/dist/analytics/index.js +25 -12
  55. package/dist/analytics/index.mjs +6 -5
  56. package/dist/analytics/send-gate.d.ts +119 -0
  57. package/dist/analytics/send-gate.d.ts.map +1 -0
  58. package/dist/analytics/send-gate.test.d.ts +20 -0
  59. package/dist/analytics/send-gate.test.d.ts.map +1 -0
  60. package/dist/blog/AuthorPage.d.ts +1 -1
  61. package/dist/blog/AuthorPage.d.ts.map +1 -1
  62. package/dist/blog/BlogLayout.d.ts +3 -1
  63. package/dist/blog/BlogLayout.d.ts.map +1 -1
  64. package/dist/blog/BlogList.d.ts +3 -1
  65. package/dist/blog/BlogList.d.ts.map +1 -1
  66. package/dist/blog/BlogPost.d.ts +3 -1
  67. package/dist/blog/BlogPost.d.ts.map +1 -1
  68. package/dist/blog/BlogSidebar.d.ts +3 -1
  69. package/dist/blog/BlogSidebar.d.ts.map +1 -1
  70. package/dist/blog/ClusterLandingPage.d.ts +3 -1
  71. package/dist/blog/ClusterLandingPage.d.ts.map +1 -1
  72. package/dist/blog/ClusterNavigation.d.ts +3 -1
  73. package/dist/blog/ClusterNavigation.d.ts.map +1 -1
  74. package/dist/blog/RelatedPosts.d.ts +4 -1
  75. package/dist/blog/RelatedPosts.d.ts.map +1 -1
  76. package/dist/blog/artwork-components.test.d.ts +2 -0
  77. package/dist/blog/artwork-components.test.d.ts.map +1 -0
  78. package/dist/blog/artwork.d.ts +14 -0
  79. package/dist/blog/artwork.d.ts.map +1 -0
  80. package/dist/blog/artwork.test.d.ts +2 -0
  81. package/dist/blog/artwork.test.d.ts.map +1 -0
  82. package/dist/blog/blog-styles.d.ts.map +1 -1
  83. package/dist/blog/blog-tables.d.ts +13 -0
  84. package/dist/blog/blog-tables.d.ts.map +1 -0
  85. package/dist/blog/blog-tables.test.d.ts +2 -0
  86. package/dist/blog/blog-tables.test.d.ts.map +1 -0
  87. package/dist/blog/index.d.ts +3 -0
  88. package/dist/blog/index.d.ts.map +1 -1
  89. package/dist/blog/index.js +52 -30
  90. package/dist/blog/index.js.map +1 -1
  91. package/dist/blog/index.mjs +15 -12
  92. package/dist/blog/index.mjs.map +1 -1
  93. package/dist/blog/publication-render.test.d.ts +2 -0
  94. package/dist/blog/publication-render.test.d.ts.map +1 -0
  95. package/dist/blog/publication-routes.test.d.ts +2 -0
  96. package/dist/blog/publication-routes.test.d.ts.map +1 -0
  97. package/dist/blog/routes.d.ts +40 -0
  98. package/dist/blog/routes.d.ts.map +1 -0
  99. package/dist/blog/server-core.d.ts +28 -21
  100. package/dist/blog/server-core.d.ts.map +1 -1
  101. package/dist/blog/server-ui.d.ts +4 -0
  102. package/dist/blog/server-ui.d.ts.map +1 -1
  103. package/dist/blog/server-ui.js +49 -28
  104. package/dist/blog/server-ui.js.map +1 -1
  105. package/dist/blog/server-ui.mjs +9 -15
  106. package/dist/blog/server-ui.mjs.map +1 -1
  107. package/dist/blog/server.d.ts +28 -21
  108. package/dist/blog/server.d.ts.map +1 -1
  109. package/dist/blog/server.js +71 -42
  110. package/dist/blog/server.mjs +3 -2
  111. package/dist/blog/types.d.ts +11 -1
  112. package/dist/blog/types.d.ts.map +1 -1
  113. package/dist/blog-styles-6EY3BS5Y.js +595 -0
  114. package/dist/blog-styles-6EY3BS5Y.js.map +1 -0
  115. package/dist/blog-styles-7AKRUMV7.mjs +592 -0
  116. package/dist/blog-styles-7AKRUMV7.mjs.map +1 -0
  117. package/dist/blog-tables-DWDEWA3S.js +17 -0
  118. package/dist/blog-tables-DWDEWA3S.js.map +1 -0
  119. package/dist/blog-tables-QGIHOESZ.mjs +4 -0
  120. package/dist/blog-tables-QGIHOESZ.mjs.map +1 -0
  121. package/dist/{chunk-KP56C66Z.js → chunk-2KIGFOPM.js} +126 -188
  122. package/dist/chunk-2KIGFOPM.js.map +1 -0
  123. package/dist/{chunk-EDZWNCSE.js → chunk-3EPMDPWI.js} +2 -2
  124. package/dist/{chunk-EDZWNCSE.js.map → chunk-3EPMDPWI.js.map} +1 -1
  125. package/dist/chunk-4B4S56WJ.mjs +110 -0
  126. package/dist/chunk-4B4S56WJ.mjs.map +1 -0
  127. package/dist/{chunk-47566YF4.js → chunk-4WQB2ORG.js} +14 -14
  128. package/dist/{chunk-47566YF4.js.map → chunk-4WQB2ORG.js.map} +1 -1
  129. package/dist/{chunk-5TGSM5EQ.js → chunk-5737U6DI.js} +14 -14
  130. package/dist/{chunk-5TGSM5EQ.js.map → chunk-5737U6DI.js.map} +1 -1
  131. package/dist/{chunk-DN6A6KXH.mjs → chunk-6CUBSQMD.mjs} +3 -3
  132. package/dist/{chunk-DN6A6KXH.mjs.map → chunk-6CUBSQMD.mjs.map} +1 -1
  133. package/dist/{chunk-JBGRXICL.js → chunk-746RKQHA.js} +75 -70
  134. package/dist/chunk-746RKQHA.js.map +1 -0
  135. package/dist/{chunk-GTK3CGWF.js → chunk-7IPSQ5JR.js} +6 -6
  136. package/dist/{chunk-GTK3CGWF.js.map → chunk-7IPSQ5JR.js.map} +1 -1
  137. package/dist/{chunk-4S7BHFGT.js → chunk-7PLH3H3W.js} +3 -3
  138. package/dist/{chunk-4S7BHFGT.js.map → chunk-7PLH3H3W.js.map} +1 -1
  139. package/dist/chunk-7U7C6XRI.mjs +6 -0
  140. package/dist/{chunk-HRQ4367C.mjs.map → chunk-7U7C6XRI.mjs.map} +1 -1
  141. package/dist/{chunk-X4PL7R63.mjs → chunk-7Y2UPFSY.mjs} +3 -3
  142. package/dist/{chunk-X4PL7R63.mjs.map → chunk-7Y2UPFSY.mjs.map} +1 -1
  143. package/dist/{chunk-XR47TOGW.mjs → chunk-A2VLEORI.mjs} +3 -3
  144. package/dist/{chunk-XR47TOGW.mjs.map → chunk-A2VLEORI.mjs.map} +1 -1
  145. package/dist/{chunk-PA5ZVCW2.mjs → chunk-ACTLQ2RH.mjs} +3 -3
  146. package/dist/{chunk-PA5ZVCW2.mjs.map → chunk-ACTLQ2RH.mjs.map} +1 -1
  147. package/dist/{chunk-VLR2UYO4.js → chunk-AWFZIXCT.js} +12 -11
  148. package/dist/chunk-AWFZIXCT.js.map +1 -0
  149. package/dist/{chunk-COAVBUMS.mjs → chunk-B36PTS7B.mjs} +413 -94
  150. package/dist/chunk-B36PTS7B.mjs.map +1 -0
  151. package/dist/{chunk-LFJRMY4V.js → chunk-DPDV5Z4G.js} +12 -12
  152. package/dist/{chunk-LFJRMY4V.js.map → chunk-DPDV5Z4G.js.map} +1 -1
  153. package/dist/{chunk-W47J6ZZG.mjs → chunk-DQM5GR2P.mjs} +4 -4
  154. package/dist/{chunk-W47J6ZZG.mjs.map → chunk-DQM5GR2P.mjs.map} +1 -1
  155. package/dist/{chunk-VGX6G3TA.mjs → chunk-EBMPXFOP.mjs} +3 -3
  156. package/dist/{chunk-VGX6G3TA.mjs.map → chunk-EBMPXFOP.mjs.map} +1 -1
  157. package/dist/{chunk-DHXQBTXE.mjs → chunk-EEQYKMGH.mjs} +75 -70
  158. package/dist/chunk-EEQYKMGH.mjs.map +1 -0
  159. package/dist/{chunk-77HT6TYK.mjs → chunk-G5I3XEQS.mjs} +3 -3
  160. package/dist/{chunk-77HT6TYK.mjs.map → chunk-G5I3XEQS.mjs.map} +1 -1
  161. package/dist/chunk-GHECYDSZ.mjs +134 -0
  162. package/dist/chunk-GHECYDSZ.mjs.map +1 -0
  163. package/dist/{chunk-UJOEN4X6.js → chunk-GQ6CUOLA.js} +15 -15
  164. package/dist/{chunk-UJOEN4X6.js.map → chunk-GQ6CUOLA.js.map} +1 -1
  165. package/dist/{chunk-DTX4R45S.js → chunk-HBMF3M5F.js} +4 -4
  166. package/dist/{chunk-DTX4R45S.js.map → chunk-HBMF3M5F.js.map} +1 -1
  167. package/dist/{chunk-NW5CBNRU.mjs → chunk-HDDV63XJ.mjs} +3 -3
  168. package/dist/{chunk-NW5CBNRU.mjs.map → chunk-HDDV63XJ.mjs.map} +1 -1
  169. package/dist/{chunk-DBJRJ2Q2.mjs → chunk-HH5KGXTK.mjs} +4 -4
  170. package/dist/{chunk-DBJRJ2Q2.mjs.map → chunk-HH5KGXTK.mjs.map} +1 -1
  171. package/dist/{chunk-AKQA5ZYZ.mjs → chunk-I4PDSDVE.mjs} +3 -3
  172. package/dist/{chunk-AKQA5ZYZ.mjs.map → chunk-I4PDSDVE.mjs.map} +1 -1
  173. package/dist/{chunk-2MPOO6QJ.js → chunk-ITFZZ6YT.js} +3 -3
  174. package/dist/{chunk-2MPOO6QJ.js.map → chunk-ITFZZ6YT.js.map} +1 -1
  175. package/dist/{chunk-WZZYTFDV.mjs → chunk-JJ26JKBJ.mjs} +8 -3
  176. package/dist/chunk-JJ26JKBJ.mjs.map +1 -0
  177. package/dist/{chunk-Z33JXJTJ.js → chunk-KMGGAL2X.js} +2 -2
  178. package/dist/{chunk-Z33JXJTJ.js.map → chunk-KMGGAL2X.js.map} +1 -1
  179. package/dist/{chunk-4IMZ45YA.mjs → chunk-KQ3VAOAF.mjs} +4 -4
  180. package/dist/{chunk-4IMZ45YA.mjs.map → chunk-KQ3VAOAF.mjs.map} +1 -1
  181. package/dist/{chunk-GPH3VVLP.js → chunk-LBS4PRC7.js} +3 -3
  182. package/dist/{chunk-GPH3VVLP.js.map → chunk-LBS4PRC7.js.map} +1 -1
  183. package/dist/chunk-LC7AM4J5.js +118 -0
  184. package/dist/chunk-LC7AM4J5.js.map +1 -0
  185. package/dist/{chunk-5HMN3FXL.js → chunk-LF4L3ZP5.js} +8 -8
  186. package/dist/{chunk-5HMN3FXL.js.map → chunk-LF4L3ZP5.js.map} +1 -1
  187. package/dist/{chunk-LHD45PGP.js → chunk-LHYVFWHL.js} +8 -8
  188. package/dist/{chunk-LHD45PGP.js.map → chunk-LHYVFWHL.js.map} +1 -1
  189. package/dist/{chunk-I72AUITZ.mjs → chunk-LIYSLNEK.mjs} +96 -644
  190. package/dist/chunk-LIYSLNEK.mjs.map +1 -0
  191. package/dist/{chunk-HIV5YK5G.js → chunk-LUYUFILE.js} +4 -4
  192. package/dist/{chunk-HIV5YK5G.js.map → chunk-LUYUFILE.js.map} +1 -1
  193. package/dist/{chunk-4HL6CAZ7.mjs → chunk-MIFP6QEQ.mjs} +4 -4
  194. package/dist/{chunk-4HL6CAZ7.mjs.map → chunk-MIFP6QEQ.mjs.map} +1 -1
  195. package/dist/{chunk-SI7R3IJX.mjs → chunk-MTANHZKJ.mjs} +7 -7
  196. package/dist/{chunk-SI7R3IJX.mjs.map → chunk-MTANHZKJ.mjs.map} +1 -1
  197. package/dist/{chunk-R4PFWVGZ.mjs → chunk-N6AVWMIB.mjs} +4 -4
  198. package/dist/{chunk-R4PFWVGZ.mjs.map → chunk-N6AVWMIB.mjs.map} +1 -1
  199. package/dist/{chunk-WD57YWY5.mjs → chunk-N6X76QUF.mjs} +3 -3
  200. package/dist/{chunk-WD57YWY5.mjs.map → chunk-N6X76QUF.mjs.map} +1 -1
  201. package/dist/{chunk-7UPPYERC.mjs → chunk-NUH245XK.mjs} +4 -4
  202. package/dist/{chunk-7UPPYERC.mjs.map → chunk-NUH245XK.mjs.map} +1 -1
  203. package/dist/chunk-NVSWTDWU.mjs +25 -0
  204. package/dist/chunk-NVSWTDWU.mjs.map +1 -0
  205. package/dist/chunk-OL2QBWAU.js +29 -0
  206. package/dist/chunk-OL2QBWAU.js.map +1 -0
  207. package/dist/{chunk-UYR22S67.js → chunk-OXZYP32B.js} +7 -7
  208. package/dist/{chunk-UYR22S67.js.map → chunk-OXZYP32B.js.map} +1 -1
  209. package/dist/{chunk-QG7WHAGD.js → chunk-QWLL3B6U.js} +15 -15
  210. package/dist/{chunk-QG7WHAGD.js.map → chunk-QWLL3B6U.js.map} +1 -1
  211. package/dist/{chunk-26JXNW7B.mjs → chunk-RO55G3OA.mjs} +2 -2
  212. package/dist/{chunk-26JXNW7B.mjs.map → chunk-RO55G3OA.mjs.map} +1 -1
  213. package/dist/{chunk-FH4LLJFL.mjs → chunk-SJXGIUHP.mjs} +9 -8
  214. package/dist/chunk-SJXGIUHP.mjs.map +1 -0
  215. package/dist/{chunk-4TU246Q4.mjs → chunk-SZHKNGNR.mjs} +2 -2
  216. package/dist/{chunk-4TU246Q4.mjs.map → chunk-SZHKNGNR.mjs.map} +1 -1
  217. package/dist/{chunk-GQTSQR63.js → chunk-U53KN4SA.js} +10 -5
  218. package/dist/chunk-U53KN4SA.js.map +1 -0
  219. package/dist/{chunk-AJBJH3BA.mjs → chunk-UOLY4NXK.mjs} +127 -189
  220. package/dist/chunk-UOLY4NXK.mjs.map +1 -0
  221. package/dist/{chunk-AVPMSJCQ.js → chunk-URVGBWCP.js} +4 -4
  222. package/dist/{chunk-AVPMSJCQ.js.map → chunk-URVGBWCP.js.map} +1 -1
  223. package/dist/chunk-UTOHMK52.js +8 -0
  224. package/dist/{chunk-TMQKZ4DO.js.map → chunk-UTOHMK52.js.map} +1 -1
  225. package/dist/{chunk-SHZXSIRH.js → chunk-VA36CJRV.js} +4 -4
  226. package/dist/{chunk-SHZXSIRH.js.map → chunk-VA36CJRV.js.map} +1 -1
  227. package/dist/{chunk-ZMFJXFUY.js → chunk-VWDT7H6L.js} +96 -644
  228. package/dist/chunk-VWDT7H6L.js.map +1 -0
  229. package/dist/{chunk-2VQ5YXOD.js → chunk-WSUQ76LN.js} +18 -18
  230. package/dist/{chunk-2VQ5YXOD.js.map → chunk-WSUQ76LN.js.map} +1 -1
  231. package/dist/{chunk-GM5E6R5W.mjs → chunk-XWF7QPIP.mjs} +3 -3
  232. package/dist/{chunk-GM5E6R5W.mjs.map → chunk-XWF7QPIP.mjs.map} +1 -1
  233. package/dist/chunk-YQTE32QK.js +137 -0
  234. package/dist/chunk-YQTE32QK.js.map +1 -0
  235. package/dist/{chunk-ISKJLXB4.mjs → chunk-ZDFVYSKK.mjs} +4 -4
  236. package/dist/{chunk-ISKJLXB4.mjs.map → chunk-ZDFVYSKK.mjs.map} +1 -1
  237. package/dist/{chunk-APL44ZVK.js → chunk-ZLPXFV5Y.js} +5 -5
  238. package/dist/{chunk-APL44ZVK.js.map → chunk-ZLPXFV5Y.js.map} +1 -1
  239. package/dist/{chunk-TAIGHH5J.js → chunk-ZY5AVC4P.js} +418 -98
  240. package/dist/chunk-ZY5AVC4P.js.map +1 -0
  241. package/dist/cli/index.js +3 -3
  242. package/dist/cli/index.mjs +1 -1
  243. package/dist/client/index.js +4 -4
  244. package/dist/client/index.mjs +3 -3
  245. package/dist/commerce/index.js +58 -57
  246. package/dist/commerce/index.mjs +7 -6
  247. package/dist/engage/index.js +10 -10
  248. package/dist/engage/index.mjs +7 -7
  249. package/dist/fleet/index.js +8 -8
  250. package/dist/fleet/index.mjs +4 -4
  251. package/dist/forms/index.js +16 -16
  252. package/dist/forms/index.mjs +9 -9
  253. package/dist/forms/server.js +10 -10
  254. package/dist/forms/server.mjs +8 -8
  255. package/dist/forms/static.js +7 -7
  256. package/dist/forms/static.mjs +6 -6
  257. package/dist/images/index.js +11 -11
  258. package/dist/images/index.mjs +4 -4
  259. package/dist/index.js +65 -64
  260. package/dist/index.js.map +1 -1
  261. package/dist/index.mjs +11 -10
  262. package/dist/index.mjs.map +1 -1
  263. package/dist/layout/SiteKitClientProviders.d.ts.map +1 -1
  264. package/dist/layout/client.d.ts.map +1 -1
  265. package/dist/layout/client.js +8 -8
  266. package/dist/layout/client.mjs +7 -7
  267. package/dist/layout/index.js +10 -10
  268. package/dist/layout/index.mjs +8 -8
  269. package/dist/layout/types.d.ts +16 -0
  270. package/dist/layout/types.d.ts.map +1 -1
  271. package/dist/llms/index.js +12 -12
  272. package/dist/llms/index.mjs +2 -2
  273. package/dist/maps/index.js +5 -5
  274. package/dist/maps/index.mjs +3 -3
  275. package/dist/search/index.js +4 -4
  276. package/dist/search/index.mjs +3 -3
  277. package/dist/seo/client.js +6 -5
  278. package/dist/seo/client.mjs +5 -4
  279. package/dist/seo/index.js +6 -5
  280. package/dist/seo/index.js.map +1 -1
  281. package/dist/seo/index.mjs +5 -4
  282. package/dist/seo/index.mjs.map +1 -1
  283. package/dist/server/index.js +3 -3
  284. package/dist/server/index.mjs +2 -2
  285. package/dist/shared/frame.d.ts +71 -0
  286. package/dist/shared/frame.d.ts.map +1 -0
  287. package/dist/shared/version.d.ts +1 -1
  288. package/dist/signal/index.js +11 -11
  289. package/dist/signal/index.mjs +2 -2
  290. package/dist/sitemap/index.js +2 -2
  291. package/dist/sitemap/index.mjs +1 -1
  292. package/dist/sync/BookingWidget.d.ts +0 -23
  293. package/dist/sync/BookingWidget.d.ts.map +1 -1
  294. package/dist/sync/MeetingFormatStep.d.ts +13 -0
  295. package/dist/sync/MeetingFormatStep.d.ts.map +1 -0
  296. package/dist/sync/api.d.ts +9 -10
  297. package/dist/sync/api.d.ts.map +1 -1
  298. package/dist/sync/booking-flow.d.ts +7 -0
  299. package/dist/sync/booking-flow.d.ts.map +1 -0
  300. package/dist/sync/booking-flow.test.d.ts +2 -0
  301. package/dist/sync/booking-flow.test.d.ts.map +1 -0
  302. package/dist/sync/index.d.ts +2 -2
  303. package/dist/sync/index.d.ts.map +1 -1
  304. package/dist/sync/index.js +20 -16
  305. package/dist/sync/index.mjs +4 -4
  306. package/dist/sync/types.d.ts +34 -0
  307. package/dist/sync/types.d.ts.map +1 -1
  308. package/package.json +1 -1
  309. package/dist/AnalyticsProvider-NA7EMJCA.mjs +0 -10
  310. package/dist/AnalyticsProvider-XE3ADUUH.js +0 -31
  311. package/dist/ChatWidget-BD4F4XLD.mjs +0 -11
  312. package/dist/ChatWidget-BZ3KOSXG.js +0 -20
  313. package/dist/EngageWidget-JPP6EDCJ.js +0 -18
  314. package/dist/EngageWidget-L7B6PCM3.mjs +0 -9
  315. package/dist/ManagedForm-2OPCHDNJ.js +0 -23
  316. package/dist/ManagedForm-AJM6D4SK.mjs +0 -14
  317. package/dist/SitemapSync-T2N3TCWF.js +0 -17
  318. package/dist/SitemapSync-YLWMU6J3.mjs +0 -8
  319. package/dist/chunk-AJBJH3BA.mjs.map +0 -1
  320. package/dist/chunk-CGCYZJYX.mjs +0 -41
  321. package/dist/chunk-CGCYZJYX.mjs.map +0 -1
  322. package/dist/chunk-COAVBUMS.mjs.map +0 -1
  323. package/dist/chunk-DHXQBTXE.mjs.map +0 -1
  324. package/dist/chunk-FH4LLJFL.mjs.map +0 -1
  325. package/dist/chunk-GQTSQR63.js.map +0 -1
  326. package/dist/chunk-HRQ4367C.mjs +0 -6
  327. package/dist/chunk-I72AUITZ.mjs.map +0 -1
  328. package/dist/chunk-JBGRXICL.js.map +0 -1
  329. package/dist/chunk-KP56C66Z.js.map +0 -1
  330. package/dist/chunk-TAIGHH5J.js.map +0 -1
  331. package/dist/chunk-TMQKZ4DO.js +0 -8
  332. package/dist/chunk-TPL2IHFI.js +0 -43
  333. package/dist/chunk-TPL2IHFI.js.map +0 -1
  334. package/dist/chunk-VLR2UYO4.js.map +0 -1
  335. package/dist/chunk-WZZYTFDV.mjs.map +0 -1
  336. package/dist/chunk-ZMFJXFUY.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @sonordev/site-kit/analytics — the ONE analytics send decision
3
+ *
4
+ * SINGLE SOURCE OF TRUTH for "may this document report analytics, and where
5
+ * to". Every phone-home in the analytics module — page views, journey /
6
+ * session rows, scroll depth, heatmap clicks, web vitals, custom events,
7
+ * conversions, and the sitemap-validation read — resolves through
8
+ * {@link resolveAnalyticsTarget} and sends through {@link analyticsSend} /
9
+ * {@link analyticsBeacon}. Do NOT call sonorFetch/sonorBeacon directly from
10
+ * this module, and do not re-fork the credential resolution below; the
11
+ * eight hand-rolled copies this replaced are exactly how a rule gets fixed
12
+ * in one place and left broken in seven (see CLAUDE.md, "Code Hygiene").
13
+ * `send-gate.test.ts` fails the build if a new direct call appears.
14
+ *
15
+ * It answers two questions, in this order:
16
+ *
17
+ * 1. IS THIS DOCUMENT SOMEONE ELSE'S EMBED? A site loaded in a cross-origin
18
+ * iframe must not report traffic against its own Sonor project. The
19
+ * visitor is not on that site; they are on whatever page framed it, and
20
+ * every metric the frame produces is phantom traffic in the analytics its
21
+ * owner reads (and, for an agency, reports to the client).
22
+ *
23
+ * 2. IS THERE A CREDENTIAL? Unchanged behavior — no key, no send.
24
+ *
25
+ * ─── Why this landed on 2026-09-08, and what was measured ──────────────────
26
+ *
27
+ * Upforge case studies embed each client's whole production site in three
28
+ * eager iframes per study (agency-site-kit `DeviceTrifolio`), and
29
+ * `securityHeaders`' DEFAULT_FRAME_ANCESTORS has allowed https://upforge.io
30
+ * to frame every managed site since it was introduced. DeviceTrifolio's own
31
+ * doc comment reasons that nobody is affected because its cross-origin load
32
+ * detection can never succeed, so the screenshot overlay never fades. That is
33
+ * true of the PIXELS and false of the JAVASCRIPT: the overlay is an opacity
34
+ * layer over a live frame, so the embedded site loads, hydrates and runs its
35
+ * analytics whether or not it is ever revealed.
36
+ *
37
+ * Measured in the Sonor analytics table before this change (2026-09-08), the
38
+ * signature is unmistakable — from `analytics_page_views`, three views of `/`
39
+ * sharing ONE session_id and ONE visitor_id, milliseconds apart, with
40
+ * referrer `https://upforge.io/`:
41
+ *
42
+ * abbeyglenapts.com 20:02:13.852 / .900 / .921 (48ms, 21ms apart)
43
+ * goldenmilenky.com 04:12:23.840 / .868 / 24.624
44
+ * queencityriverboats 22:12:33.609 / .690 / .784
45
+ *
46
+ * Three loads of one page inside 70 milliseconds is not a person; it is the
47
+ * desktop + tablet + mobile frames of one trifolio, sharing storage because
48
+ * they share the embedded site's origin. 23 client sites carried this traffic
49
+ * on the day of the fix, the oldest from 2026-06-11. The widening of
50
+ * frame-ancestors to upforgelabs.com (upforge-nextjs 0c12be5) does not start
51
+ * this problem — it multiplies one that was already live.
52
+ *
53
+ * ─── Same-origin frames are ALLOWED, deliberately ──────────────────────────
54
+ *
55
+ * The block is on CROSS-origin embedding, not on being framed at all. A site
56
+ * embedding itself (a preview pane, a print view, an on-domain booking frame)
57
+ * has a real visitor really on that site and no other tenant to pollute, so
58
+ * it keeps reporting. How that is detected, and why `window.top` rather than
59
+ * `window.parent`, lives with the primitive in `shared/frame.ts` — this file
60
+ * owns the analytics POLICY, that file owns the frame FACT.
61
+ */
62
+ /** Resolved destination for an analytics send. */
63
+ export interface AnalyticsTarget {
64
+ apiUrl: string;
65
+ apiKey: string;
66
+ }
67
+ export interface AnalyticsGateOptions {
68
+ /** `apiUrl` prop, when the caller was given one. Falls back to the window global. */
69
+ apiUrl?: string;
70
+ /** `apiKey` prop, when the caller was given one. Falls back to the window global. */
71
+ apiKey?: string;
72
+ /**
73
+ * Opt back in to reporting from inside a cross-origin frame. For a site
74
+ * deliberately distributed as an embed (a widget, a partner-hosted
75
+ * booking or menu page) the frame IS the product, and its traffic is real.
76
+ * Explicit per-site config only — see AnalyticsConfig.allowInFrame. There
77
+ * is deliberately no window global or env var for this: a silent switch
78
+ * that turns cross-tenant tracking back on is the failure mode, not the
79
+ * feature.
80
+ */
81
+ allowInFrame?: boolean;
82
+ /** Emit the one-time diagnostic when a send is suppressed. */
83
+ debug?: boolean;
84
+ }
85
+ export { isCrossOriginFrame, isFramed, isTopFrameSameOrigin } from '../shared/frame';
86
+ /** Test seam — resets the once-per-document log latch. */
87
+ export declare function __resetSendGate(): void;
88
+ /**
89
+ * Resolve where an analytics call should go, or `null` if it must not happen.
90
+ *
91
+ * Returning `null` is the ONLY "do not send" signal in this module. Callers
92
+ * that set up listeners or scrape the DOM should resolve first and bail on
93
+ * `null`, so a cross-origin frame never even attaches a scroll or click
94
+ * listener — the guard saves the work, not just the request.
95
+ */
96
+ export declare function resolveAnalyticsTarget(options?: AnalyticsGateOptions): AnalyticsTarget | null;
97
+ /**
98
+ * POST an analytics payload. Resolves the gate itself and no-ops when it
99
+ * says no — so a caller that forgets its own early bail still cannot send
100
+ * from a cross-origin frame. That belt-and-braces is the point: this is the
101
+ * choke point, and it does not rely on every call site remembering.
102
+ *
103
+ * `retries: 0` by default — every analytics endpoint here is non-idempotent
104
+ * from the client's side (a retried page view after a lost response
105
+ * double-counts). Never resolves to a rejected promise; tracking must not
106
+ * break a page.
107
+ */
108
+ export declare function analyticsSend(path: string, body: unknown, options?: AnalyticsGateOptions & {
109
+ retries?: number;
110
+ method?: string;
111
+ /** Let the request outlive the page (scroll depth flushed on unmount). */
112
+ keepalive?: boolean;
113
+ }): Promise<Response | null>;
114
+ /**
115
+ * Unload-time twin of {@link analyticsSend}, through the keepalive beacon so
116
+ * the credential stays in a header. Gated identically.
117
+ */
118
+ export declare function analyticsBeacon(path: string, body: unknown, options?: AnalyticsGateOptions): void;
119
+ //# sourceMappingURL=send-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-gate.d.ts","sourceRoot":"","sources":["../../src/analytics/send-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAKH,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAGD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAuBpF,0DAA0D;AAC1D,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,oBAAyB,GACjC,eAAe,GAAG,IAAI,CAmBxB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,oBAAoB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAA;CACf,GACL,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAkB1B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAIN"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The cross-origin-frame guard.
3
+ *
4
+ * A site loaded inside someone else's page must not report traffic against
5
+ * its own Sonor project. This is not hypothetical: on 2026-09-08,
6
+ * `analytics_page_views` held bursts of three views of `/` sharing one
7
+ * session_id and one visitor_id 21-80ms apart with referrer
8
+ * `https://upforge.io/` — the desktop/tablet/mobile frames of one
9
+ * agency-site-kit DeviceTrifolio, across 23 client sites. See send-gate.ts.
10
+ *
11
+ * These tests pin the four cases the guard has to get right, and then pin the
12
+ * structure: ONE place decides, and no module re-forks it.
13
+ *
14
+ * Every case asserts against the real transport with `fetch` stubbed, rather
15
+ * than against the gate's return value alone — "returns null" is not the
16
+ * promise being made to a client whose analytics this pollutes; "no request
17
+ * leaves the browser" is.
18
+ */
19
+ export {};
20
+ //# sourceMappingURL=send-gate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-gate.test.d.ts","sourceRoot":"","sources":["../../src/analytics/send-gate.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  import React from 'react';
7
7
  import type { AuthorPageProps } from './types';
8
- export declare function AuthorPage({ author, posts, basePath }: AuthorPageProps): React.JSX.Element;
8
+ export declare function AuthorPage({ author, posts, basePath, routing }: AuthorPageProps): React.JSX.Element;
9
9
  //# sourceMappingURL=AuthorPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorPage.d.ts","sourceRoot":"","sources":["../../src/blog/AuthorPage.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,SAAS,CAAA;AAgKpE,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAkB,EAAE,EAAE,eAAe,qBA8ChF"}
1
+ {"version":3,"file":"AuthorPage.d.ts","sourceRoot":"","sources":["../../src/blog/AuthorPage.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,SAAS,CAAA;AAmKpE,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,qBA+C/E"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import React from 'react';
8
8
  import { BlogSidebarProps } from './BlogSidebar';
9
+ import type { BlogRoutingOptions } from './routes';
9
10
  export interface BlogLayoutProps {
10
11
  /** Portal API URL */
11
12
  apiUrl?: string;
@@ -28,6 +29,7 @@ export interface BlogLayoutProps {
28
29
  maxWidth?: number;
29
30
  /** Base URL for blog links */
30
31
  basePath?: string;
32
+ routing?: BlogRoutingOptions;
31
33
  /** Custom class name */
32
34
  className?: string;
33
35
  /** Current category (for sidebar highlighting) */
@@ -35,7 +37,7 @@ export interface BlogLayoutProps {
35
37
  /** Main content */
36
38
  children: React.ReactNode;
37
39
  }
38
- export declare function BlogLayout({ apiUrl, apiKey, layout, showSidebar, sidebarProps, hero, maxWidth, basePath, className, currentCategory, children, }: BlogLayoutProps): Promise<React.JSX.Element>;
40
+ export declare function BlogLayout({ apiUrl, apiKey, layout, showSidebar, sidebarProps, hero, maxWidth, basePath, routing, className, currentCategory, children, }: BlogLayoutProps): Promise<React.JSX.Element>;
39
41
  /**
40
42
  * Convenience wrapper for a complete blog index page
41
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BlogLayout.d.ts","sourceRoot":"","sources":["../../src/blog/BlogLayout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAM7D,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,eAAe,GAAG,cAAc,GAAG,YAAY,CAAA;IACxD,mBAAmB;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACxC,0BAA0B;IAC1B,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAA4D,EAC5D,MAAwC,EACxC,MAAwB,EACxB,WAAkB,EAClB,YAAiB,EACjB,IAAI,EACJ,QAAe,EACf,QAAkB,EAClB,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,eAAe,8BA6FjB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IACtE,+BAA+B;IAC/B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;CAC/B;AAED,wBAAsB,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,EAAE,aAAa,8BAE9E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IAC1E,+BAA+B;IAC/B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;CAC/B;AAED,wBAAsB,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,EAAE,iBAAiB,8BAMtF;AAMD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB;IACrB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;CAC/B;AAED,wBAAsB,YAAY,CAAC,EACjC,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,GAAG,WAAW,EACf,EAAE,iBAAiB,8BAYnB"}
1
+ {"version":3,"file":"BlogLayout.d.ts","sourceRoot":"","sources":["../../src/blog/BlogLayout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAMlD,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,eAAe,GAAG,cAAc,GAAG,YAAY,CAAA;IACxD,mBAAmB;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACxC,0BAA0B;IAC1B,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAA4D,EAC5D,MAAwC,EACxC,MAAwB,EACxB,WAAkB,EAClB,YAAiB,EACjB,IAAI,EACJ,QAAe,EACf,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,eAAe,8BA+FjB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IACtE,+BAA+B;IAC/B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;CAC/B;AAED,wBAAsB,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,EAAE,aAAa,8BAE9E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IAC1E,+BAA+B;IAC/B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;CAC/B;AAED,wBAAsB,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,EAAE,iBAAiB,8BAMtF;AAMD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB;IACrB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;CAC/B;AAED,wBAAsB,YAAY,CAAC,EACjC,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,GAAG,WAAW,EACf,EAAE,iBAAiB,8BAYnB"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import React from 'react';
13
13
  import type { BlogListResult, BlogPost, BlogCategory } from './types';
14
+ import { type BlogRoutingOptions } from './routes';
14
15
  export interface BlogListStyles {
15
16
  container?: string;
16
17
  categoryNav?: string;
@@ -59,6 +60,7 @@ export interface BlogListServerProps {
59
60
  showPagination?: boolean;
60
61
  className?: string;
61
62
  basePath?: string;
63
+ routing?: BlogRoutingOptions;
62
64
  styles?: BlogListStyles;
63
65
  unstyled?: boolean;
64
66
  renderPost?: (post: BlogPost) => React.ReactNode;
@@ -68,5 +70,5 @@ export interface BlogListServerProps {
68
70
  categories: BlogCategory[];
69
71
  }) => React.ReactNode;
70
72
  }
71
- export declare function BlogList({ apiUrl, apiKey, category, tag, author, featured, search, cluster, page, perPage, orderBy, order, showCategoryFilter, showPagination, className, basePath, styles, unstyled, renderPost, children, }: BlogListServerProps): Promise<string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined>;
73
+ export declare function BlogList({ apiUrl, apiKey, category, tag, author, featured, search, cluster, page, perPage, orderBy, order, showCategoryFilter, showPagination, className, basePath, routing, styles, unstyled, renderPost, children, }: BlogListServerProps): Promise<string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined>;
72
74
  //# sourceMappingURL=BlogList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlogList.d.ts","sourceRoot":"","sources":["../../src/blog/BlogList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlogList.d.ts","sourceRoot":"","sources":["../../src/blog/BlogList.tsx"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import React from 'react';
14
14
  import type { BlogPost as BlogPostType, TocItem } from './types';
15
+ import { type BlogRoutingOptions } from './routes';
15
16
  export interface BlogPostStyles {
16
17
  article?: string;
17
18
  header?: string;
@@ -53,6 +54,7 @@ export interface BlogPostServerProps {
53
54
  relatedCount?: number;
54
55
  showAuthor?: boolean;
55
56
  basePath?: string;
57
+ routing?: BlogRoutingOptions;
56
58
  className?: string;
57
59
  styles?: BlogPostStyles;
58
60
  unstyled?: boolean;
@@ -63,5 +65,5 @@ export interface BlogPostServerProps {
63
65
  relatedPosts: BlogPostType[];
64
66
  }) => React.ReactNode;
65
67
  }
66
- export declare function BlogPost({ apiUrl, apiKey, slug, showToc, showRelated, relatedCount, showAuthor, basePath, className, styles, unstyled, siteUrl, children, }: BlogPostServerProps): Promise<React.JSX.Element | null>;
68
+ export declare function BlogPost({ apiUrl, apiKey, slug, showToc, showRelated, relatedCount, showAuthor, basePath, routing, className, styles, unstyled, siteUrl, children, }: BlogPostServerProps): Promise<React.JSX.Element | null>;
67
69
  //# sourceMappingURL=BlogPost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlogPost.d.ts","sourceRoot":"","sources":["../../src/blog/BlogPost.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,OAAO,EAA0D,MAAM,SAAS,CAAA;AA2ExH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAgED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,IAAI,EAAE,YAAY,CAAA;QAClB,eAAe,EAAE,OAAO,EAAE,CAAA;QAC1B,YAAY,EAAE,YAAY,EAAE,CAAA;KAC7B,KAAK,KAAK,CAAC,SAAS,CAAA;CACtB;AAgBD,wBAAsB,QAAQ,CAAC,EAC7B,MAA4D,EAC5D,MAAwC,EACxC,IAAI,EACJ,OAAc,EACd,WAAkB,EAClB,YAAgB,EAChB,UAAiB,EACjB,QAAkB,EAClB,SAAS,EACT,MAAW,EACX,QAAgB,EAChB,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,qCAoNrB"}
1
+ {"version":3,"file":"BlogPost.d.ts","sourceRoot":"","sources":["../../src/blog/BlogPost.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,OAAO,EAA0D,MAAM,SAAS,CAAA;AAOxH,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAqEtF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAgED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,IAAI,EAAE,YAAY,CAAA;QAClB,eAAe,EAAE,OAAO,EAAE,CAAA;QAC1B,YAAY,EAAE,YAAY,EAAE,CAAA;KAC7B,KAAK,KAAK,CAAC,SAAS,CAAA;CACtB;AAgBD,wBAAsB,QAAQ,CAAC,EAC7B,MAA4D,EAC5D,MAAwC,EACxC,IAAI,EACJ,OAAc,EACd,WAAkB,EAClB,YAAgB,EAChB,UAAiB,EACjB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAW,EACX,QAAgB,EAChB,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,qCAiOrB"}
@@ -5,6 +5,7 @@
5
5
  * tags, newsletter signup, and custom widgets.
6
6
  */
7
7
  import React from 'react';
8
+ import { type BlogRoutingOptions } from './routes';
8
9
  export interface BlogSidebarProps {
9
10
  /** Portal API URL */
10
11
  apiUrl?: string;
@@ -22,6 +23,7 @@ export interface BlogSidebarProps {
22
23
  showSearch?: boolean;
23
24
  /** Base URL for blog links */
24
25
  basePath?: string;
26
+ routing?: BlogRoutingOptions;
25
27
  /** Custom class name */
26
28
  className?: string;
27
29
  /** Current category filter (for highlighting) */
@@ -29,5 +31,5 @@ export interface BlogSidebarProps {
29
31
  /** Additional widgets to render */
30
32
  children?: React.ReactNode;
31
33
  }
32
- export declare function BlogSidebar({ apiUrl, apiKey, showCategories, showRecentPosts, recentPostsCount, showTags, showSearch, basePath, className, currentCategory, children, }: BlogSidebarProps): Promise<React.JSX.Element | null>;
34
+ export declare function BlogSidebar({ apiUrl, apiKey, showCategories, showRecentPosts, recentPostsCount, showTags, showSearch, basePath, routing, className, currentCategory, children, }: BlogSidebarProps): Promise<React.JSX.Element | null>;
33
35
  //# sourceMappingURL=BlogSidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlogSidebar.d.ts","sourceRoot":"","sources":["../../src/blog/BlogSidebar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAmEzB,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6BAA6B;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yBAAyB;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,wBAAsB,WAAW,CAAC,EAChC,MAA4D,EAC5D,MAAwC,EACxC,cAAqB,EACrB,eAAsB,EACtB,gBAAoB,EACpB,QAAe,EACf,UAAiB,EACjB,QAAkB,EAClB,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,gBAAgB,qCAyClB"}
1
+ {"version":3,"file":"BlogSidebar.d.ts","sourceRoot":"","sources":["../../src/blog/BlogSidebar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAiEpE,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6BAA6B;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yBAAyB;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,wBAAsB,WAAW,CAAC,EAChC,MAA4D,EAC5D,MAAwC,EACxC,cAAqB,EACrB,eAAsB,EACtB,gBAAoB,EACpB,QAAe,EACf,UAAiB,EACjB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,gBAAgB,qCA2ClB"}
@@ -11,12 +11,14 @@
11
11
  * Ships with `.sk-cluster-landing-*` scoped styles.
12
12
  */
13
13
  import React from 'react';
14
+ import { type BlogRoutingOptions } from './routes';
14
15
  import type { TopicCluster } from './types';
15
16
  export interface ClusterLandingPageProps {
16
17
  /** Cluster slug to fetch */
17
18
  slug: string;
18
19
  /** Base path for blog URLs (default: /blog) */
19
20
  basePath?: string;
21
+ routing?: BlogRoutingOptions;
20
22
  /**
21
23
  * Include each article's own category segment in its URL:
22
24
  * {basePath}/{category}/{slug}. Enable on sites whose blog routes are
@@ -33,5 +35,5 @@ export interface ClusterLandingPageProps {
33
35
  cluster: TopicCluster;
34
36
  }) => React.ReactNode;
35
37
  }
36
- export declare function ClusterLandingPage({ slug, basePath, categoryInPath, unstyled, className, children, }: ClusterLandingPageProps): Promise<string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined>;
38
+ export declare function ClusterLandingPage({ slug, basePath, routing, categoryInPath, unstyled, className, children, }: ClusterLandingPageProps): Promise<string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined>;
37
39
  //# sourceMappingURL=ClusterLandingPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterLandingPage.d.ts","sourceRoot":"","sources":["../../src/blog/ClusterLandingPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAA;AAiHrD,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;CACjE;AAUD,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,QAAkB,EAClB,cAAsB,EACtB,QAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,uBAAuB,kHAyHzB"}
1
+ {"version":3,"file":"ClusterLandingPage.d.ts","sourceRoot":"","sources":["../../src/blog/ClusterLandingPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAA;AAiHrD,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;CACjE;AAED,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,cAAsB,EACtB,QAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,uBAAuB,kHAsHzB"}
@@ -10,11 +10,13 @@
10
10
  */
11
11
  import React from 'react';
12
12
  import type { ClusterNavigation as ClusterNavigationType } from './types';
13
+ import { type BlogRoutingOptions } from './routes';
13
14
  export interface ClusterNavigationProps {
14
15
  /** Cluster navigation data */
15
16
  navigation: ClusterNavigationType;
16
17
  /** Base path for blog URLs (default: /blog) */
17
18
  basePath?: string;
19
+ routing?: BlogRoutingOptions;
18
20
  /**
19
21
  * Fallback category slug for URL building (optional). Each linked article's
20
22
  * OWN category takes precedence when present — applying one category to
@@ -29,5 +31,5 @@ export interface ClusterNavigationProps {
29
31
  /** Custom class name */
30
32
  className?: string;
31
33
  }
32
- export declare function ClusterNavigation({ navigation, basePath, category, trailingSlash, unstyled, className, }: ClusterNavigationProps): React.JSX.Element | null;
34
+ export declare function ClusterNavigation({ navigation, basePath, routing, category, trailingSlash, unstyled, className, }: ClusterNavigationProps): React.JSX.Element | null;
33
35
  //# sourceMappingURL=ClusterNavigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterNavigation.d.ts","sourceRoot":"","sources":["../../src/blog/ClusterNavigation.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,SAAS,CAAA;AA+FzE,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,UAAU,EAAE,qBAAqB,CAAA;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAkB,EAClB,QAAQ,EACR,aAAqB,EACrB,QAAgB,EAChB,SAAS,GACV,EAAE,sBAAsB,4BAsDxB"}
1
+ {"version":3,"file":"ClusterNavigation.d.ts","sourceRoot":"","sources":["../../src/blog/ClusterNavigation.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AA+FpE,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,UAAU,EAAE,qBAAqB,CAAA;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAqB,EACrB,QAAgB,EAChB,SAAS,GACV,EAAE,sBAAsB,4BAoDxB"}
@@ -5,14 +5,17 @@
5
5
  */
6
6
  import React from 'react';
7
7
  import type { BlogPost } from './types';
8
+ import { type BlogRoutingOptions } from './routes';
8
9
  interface RelatedPostsServerProps {
9
10
  apiUrl?: string;
10
11
  apiKey?: string;
11
12
  currentPostId: string;
12
13
  limit?: number;
13
14
  className?: string;
15
+ basePath?: string;
16
+ routing?: BlogRoutingOptions;
14
17
  renderItem?: (post: BlogPost) => React.ReactNode;
15
18
  }
16
- export declare function RelatedPosts({ apiUrl, apiKey, currentPostId, limit, className, renderItem, }: RelatedPostsServerProps): Promise<React.JSX.Element | null>;
19
+ export declare function RelatedPosts({ apiUrl, apiKey, currentPostId, limit, className, basePath, routing, renderItem, }: RelatedPostsServerProps): Promise<React.JSX.Element | null>;
17
20
  export {};
18
21
  //# sourceMappingURL=RelatedPosts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RelatedPosts.d.ts","sourceRoot":"","sources":["../../src/blog/RelatedPosts.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,SAAS,CAAA;AA2C1D,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAA;CACjD;AAED,wBAAsB,YAAY,CAAC,EACjC,MAA4D,EAC5D,MAAwC,EACxC,aAAa,EACb,KAAS,EACT,SAAS,EACT,UAAU,GACX,EAAE,uBAAuB,qCA8CzB"}
1
+ {"version":3,"file":"RelatedPosts.d.ts","sourceRoot":"","sources":["../../src/blog/RelatedPosts.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE1D,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AA2CpE,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAA;CACjD;AAED,wBAAsB,YAAY,CAAC,EACjC,MAA4D,EAC5D,MAAwC,EACxC,aAAa,EACb,KAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,uBAAuB,qCAkDzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=artwork-components.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artwork-components.test.d.ts","sourceRoot":"","sources":["../../src/blog/artwork-components.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { BlogPost } from './types';
3
+ export interface BlogArtwork {
4
+ src: string | undefined;
5
+ alt: string;
6
+ composed: boolean;
7
+ }
8
+ type ArtworkSource = Pick<BlogPost, 'title' | 'featured_image' | 'featured_image_alt' | 'editorial_image' | 'editorial_image_alt'>;
9
+ /** Single source of truth for article artwork versus complete promotional cards. */
10
+ export declare function resolveBlogArtwork(post: ArtworkSource, placement?: 'article' | 'card'): BlogArtwork;
11
+ /** Preserve generated text and graphics across every stock card surface. */
12
+ export declare function blogArtworkImageStyle(artwork: BlogArtwork): CSSProperties | undefined;
13
+ export {};
14
+ //# sourceMappingURL=artwork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artwork.d.ts","sourceRoot":"","sources":["../../src/blog/artwork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,KAAK,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC,CAAA;AAElI,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,GAAE,SAAS,GAAG,MAAe,GAAG,WAAW,CAc3G;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAIrF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=artwork.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artwork.test.d.ts","sourceRoot":"","sources":["../../src/blog/artwork.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"blog-styles.d.ts","sourceRoot":"","sources":["../../src/blog/blog-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,eAAO,MAAM,WAAW,QAqZhB,CAAA;AAMR,eAAO,MAAM,WAAW,QAyKhB,CAAA"}
1
+ {"version":3,"file":"blog-styles.d.ts","sourceRoot":"","sources":["../../src/blog/blog-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,eAAO,MAAM,WAAW,QAuZhB,CAAA;AAMR,eAAO,MAAM,WAAW,QAyKhB,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Server-rendered table scrolling. Keep the author's table markup intact so
3
+ * captions, header associations, links and table semantics survive unchanged.
4
+ */
5
+ /**
6
+ * Single source of truth for default blog table wrappers. Safe to call twice;
7
+ * already wrapped tables and HTML examples are left alone. This is a layout
8
+ * transform, not an HTML sanitizer: content still follows the host's trust policy.
9
+ */
10
+ export declare function wrapBlogTables(html: string): string;
11
+ /** Native overflow only when content needs it; small tables retain their layout. */
12
+ export declare const blogTableCss: string;
13
+ //# sourceMappingURL=blog-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-tables.d.ts","sourceRoot":"","sources":["../../src/blog/blog-tables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2DH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkDnD;AAED,oFAAoF;AACpF,eAAO,MAAM,YAAY,QAuCjB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=blog-tables.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-tables.test.d.ts","sourceRoot":"","sources":["../../src/blog/blog-tables.test.ts"],"names":[],"mappings":""}
@@ -77,5 +77,8 @@ export type { ClusterNavigationProps } from './ClusterNavigation';
77
77
  */
78
78
  export type { ClusterLandingPageProps } from './ClusterLandingPage';
79
79
  export * from './types';
80
+ export { blogCategorySlug, createBlogRoutes, resolveBlogPostUrl, resolveBlogUrl } from './routes';
81
+ export type { BlogRoutePost, BlogRoutingOptions } from './routes';
82
+ export { resolveBlogArtwork } from './artwork';
80
83
  export { addExternalLinkTargets, normalizeSiteHost, resolveBlogSiteUrl, } from './processBlogHtml';
81
84
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC/E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAExG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAGnE,cAAc,SAAS,CAAA;AAGvB,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC/E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAExG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAGnE,cAAc,SAAS,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACjG,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA"}