@sonordev/site-kit 5.8.3 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/agent-manifest.json +17 -11
- package/dist/{AnalyticsProvider-DPXR6FSV.js → AnalyticsProvider-4RLYTVWO.js} +10 -10
- package/dist/{AnalyticsProvider-DPXR6FSV.js.map → AnalyticsProvider-4RLYTVWO.js.map} +1 -1
- package/dist/{AnalyticsProvider-IGOD64MY.mjs → AnalyticsProvider-YU6QANW5.mjs} +6 -6
- package/dist/{AnalyticsProvider-IGOD64MY.mjs.map → AnalyticsProvider-YU6QANW5.mjs.map} +1 -1
- package/dist/ArticleFaqSection-3KZ24MFS.js +13 -0
- package/dist/ArticleFaqSection-3KZ24MFS.js.map +1 -0
- package/dist/ArticleFaqSection-XZPXJVH4.mjs +11 -0
- package/dist/ArticleFaqSection-XZPXJVH4.mjs.map +1 -0
- package/dist/{BlogViewTracker-Q7Y4MN4B.mjs → ArticleViewTracker-LI44SA4T.mjs} +13 -13
- package/dist/ArticleViewTracker-LI44SA4T.mjs.map +1 -0
- package/dist/{BlogViewTracker-S3CSRBIZ.js → ArticleViewTracker-OQB2VT73.js} +16 -16
- package/dist/ArticleViewTracker-OQB2VT73.js.map +1 -0
- package/dist/ChatWidget-56SW5ITH.mjs +15 -0
- package/dist/{ChatWidget-G3KOUDX5.mjs.map → ChatWidget-56SW5ITH.mjs.map} +1 -1
- package/dist/ChatWidget-HR3OC3WA.js +24 -0
- package/dist/{ChatWidget-76R7NOWD.js.map → ChatWidget-HR3OC3WA.js.map} +1 -1
- package/dist/EngageWidget-HXGI3ZKG.js +21 -0
- package/dist/{EngageWidget-HD4F2ZVE.js.map → EngageWidget-HXGI3ZKG.js.map} +1 -1
- package/dist/EngageWidget-L4X35N2B.mjs +12 -0
- package/dist/{EngageWidget-UJ47PQFG.mjs.map → EngageWidget-L4X35N2B.mjs.map} +1 -1
- package/dist/{FileField-WNMEA3PK.mjs → FileField-GSTLU42O.mjs} +5 -5
- package/dist/{FileField-WNMEA3PK.mjs.map → FileField-GSTLU42O.mjs.map} +1 -1
- package/dist/{FileField-FV6WSZMX.js → FileField-N2P6E2PN.js} +6 -6
- package/dist/{FileField-FV6WSZMX.js.map → FileField-N2P6E2PN.js.map} +1 -1
- package/dist/{FormSpotlight-2VRQXEFI.js → FormSpotlight-QLXOS5LN.js} +9 -9
- package/dist/{FormSpotlight-2VRQXEFI.js.map → FormSpotlight-QLXOS5LN.js.map} +1 -1
- package/dist/{FormSpotlight-NGWEPGI4.mjs → FormSpotlight-UFATQTN3.mjs} +3 -3
- package/dist/{FormSpotlight-NGWEPGI4.mjs.map → FormSpotlight-UFATQTN3.mjs.map} +1 -1
- package/dist/{FormStage-Q3KQVFVW.js → FormStage-4HYDMCYU.js} +9 -9
- package/dist/{FormStage-Q3KQVFVW.js.map → FormStage-4HYDMCYU.js.map} +1 -1
- package/dist/{FormStage-7L4BBOLC.mjs → FormStage-SYOKD5TJ.mjs} +3 -3
- package/dist/{FormStage-7L4BBOLC.mjs.map → FormStage-SYOKD5TJ.mjs.map} +1 -1
- package/dist/ManagedForm-3TDSIRCM.mjs +16 -0
- package/dist/{ManagedForm-Z7QE4KYI.mjs.map → ManagedForm-3TDSIRCM.mjs.map} +1 -1
- package/dist/ManagedForm-TUSGW5EH.js +25 -0
- package/dist/{ManagedForm-4ZGU4R3G.js.map → ManagedForm-TUSGW5EH.js.map} +1 -1
- package/dist/{ManagedNewsletterForm-4TVO2VL4.mjs → ManagedNewsletterForm-CNGCBA2N.mjs} +11 -11
- package/dist/ManagedNewsletterForm-CNGCBA2N.mjs.map +1 -0
- package/dist/{ManagedNewsletterForm-22EPZB7Z.js → ManagedNewsletterForm-XJEPVJRM.js} +13 -13
- package/dist/ManagedNewsletterForm-XJEPVJRM.js.map +1 -0
- package/dist/{SignalCore-57OK3DHA.mjs → SignalCore-ARRVP6F7.mjs} +5 -5
- package/dist/{SignalCore-57OK3DHA.mjs.map → SignalCore-ARRVP6F7.mjs.map} +1 -1
- package/dist/{SignalCore-2N7UZGF3.js → SignalCore-AXK6RCR4.js} +11 -11
- package/dist/{SignalCore-2N7UZGF3.js.map → SignalCore-AXK6RCR4.js.map} +1 -1
- package/dist/SitemapSync-42VKJUOU.mjs +9 -0
- package/dist/{SitemapSync-WIUEYOBS.mjs.map → SitemapSync-42VKJUOU.mjs.map} +1 -1
- package/dist/SitemapSync-GAGREAX6.js +18 -0
- package/dist/{SitemapSync-GF4OKN4Z.js.map → SitemapSync-GAGREAX6.js.map} +1 -1
- package/dist/analytics/index.js +9 -9
- package/dist/analytics/index.mjs +4 -4
- package/dist/{blog-styles-7AKRUMV7.mjs → article-styles-DACUAOVT.mjs} +124 -124
- package/dist/article-styles-DACUAOVT.mjs.map +1 -0
- package/dist/{blog-styles-6EY3BS5Y.js → article-styles-JHHTNHOK.js} +125 -125
- package/dist/article-styles-JHHTNHOK.js.map +1 -0
- package/dist/article-tables-EWXG4LNP.js +17 -0
- package/dist/article-tables-EWXG4LNP.js.map +1 -0
- package/dist/article-tables-OGE52LNT.mjs +4 -0
- package/dist/article-tables-OGE52LNT.mjs.map +1 -0
- package/dist/{blog/BlogPost.d.ts → articles/Article.d.ts} +18 -16
- package/dist/articles/Article.d.ts.map +1 -0
- package/dist/{blog/BlogFAQ.d.ts → articles/ArticleFAQ.d.ts} +6 -6
- package/dist/articles/ArticleFAQ.d.ts.map +1 -0
- package/dist/articles/ArticleFaqSection.d.ts +3 -0
- package/dist/articles/ArticleFaqSection.d.ts.map +1 -0
- package/dist/{blog/BlogList.d.ts → articles/ArticleList.d.ts} +16 -16
- package/dist/articles/ArticleList.d.ts.map +1 -0
- package/dist/{blog/BlogViewTracker.d.ts → articles/ArticleViewTracker.d.ts} +4 -4
- package/dist/articles/ArticleViewTracker.d.ts.map +1 -0
- package/dist/{blog → articles}/AuthorCard.d.ts +3 -3
- package/dist/articles/AuthorCard.d.ts.map +1 -0
- package/dist/{blog → articles}/AuthorPage.d.ts +1 -1
- package/dist/articles/AuthorPage.d.ts.map +1 -0
- package/dist/{blog → articles}/ClusterLandingPage.d.ts +6 -6
- package/dist/articles/ClusterLandingPage.d.ts.map +1 -0
- package/dist/{blog → articles}/ClusterNavigation.d.ts +5 -5
- package/dist/articles/ClusterNavigation.d.ts.map +1 -0
- package/dist/{blog → articles}/ManagedNewsletterForm.d.ts +1 -1
- package/dist/articles/ManagedNewsletterForm.d.ts.map +1 -0
- package/dist/{blog → articles}/NewsletterShell.d.ts +1 -1
- package/dist/articles/NewsletterShell.d.ts.map +1 -0
- package/dist/{blog → articles}/NewsletterWidget.d.ts +4 -4
- package/dist/articles/NewsletterWidget.d.ts.map +1 -0
- package/dist/{blog/BlogLayout.d.ts → articles/PublicationLayout.d.ts} +18 -18
- package/dist/articles/PublicationLayout.d.ts.map +1 -0
- package/dist/{blog/BlogSidebar.d.ts → articles/PublicationSidebar.d.ts} +8 -8
- package/dist/articles/PublicationSidebar.d.ts.map +1 -0
- package/dist/{blog → articles}/RelatedPosts.d.ts +6 -6
- package/dist/articles/RelatedPosts.d.ts.map +1 -0
- package/dist/{blog → articles}/ServiceCallout.d.ts +4 -4
- package/dist/articles/ServiceCallout.d.ts.map +1 -0
- package/dist/{blog → articles}/TableOfContents.d.ts +1 -1
- package/dist/articles/TableOfContents.d.ts.map +1 -0
- package/dist/{blog/blog-styles.d.ts → articles/article-styles.d.ts} +5 -5
- package/dist/articles/article-styles.d.ts.map +1 -0
- package/dist/{blog/blog-tables.d.ts → articles/article-tables.d.ts} +4 -4
- package/dist/articles/article-tables.d.ts.map +1 -0
- package/dist/articles/artwork.d.ts +14 -0
- package/dist/articles/artwork.d.ts.map +1 -0
- package/dist/{blog → articles}/author-schema.d.ts +6 -5
- package/dist/articles/author-schema.d.ts.map +1 -0
- package/dist/{blog → articles}/author-social.d.ts +2 -2
- package/dist/articles/author-social.d.ts.map +1 -0
- package/dist/{blog → articles}/excerpt.d.ts +2 -2
- package/dist/articles/excerpt.d.ts.map +1 -0
- package/dist/{blog → articles}/index.d.ts +26 -31
- package/dist/articles/index.d.ts.map +1 -0
- package/dist/{blog → articles}/index.js +39 -73
- package/dist/articles/index.js.map +1 -0
- package/dist/{blog → articles}/index.mjs +16 -17
- package/dist/articles/index.mjs.map +1 -0
- package/dist/articles/news-sitemap.d.ts +47 -0
- package/dist/articles/news-sitemap.d.ts.map +1 -0
- package/dist/{blog/processBlogHtml.d.ts → articles/processArticleHtml.d.ts} +4 -4
- package/dist/articles/processArticleHtml.d.ts.map +1 -0
- package/dist/articles/public-reads.d.ts +27 -0
- package/dist/articles/public-reads.d.ts.map +1 -0
- package/dist/{blog → articles}/reading-time.d.ts +2 -2
- package/dist/articles/reading-time.d.ts.map +1 -0
- package/dist/{blog → articles}/routes.d.ts +16 -12
- package/dist/articles/routes.d.ts.map +1 -0
- package/dist/{blog → articles}/server-core.d.ts +94 -81
- package/dist/articles/server-core.d.ts.map +1 -0
- package/dist/articles/server-ui.d.ts +29 -0
- package/dist/articles/server-ui.d.ts.map +1 -0
- package/dist/{chunk-W2U5SLMY.js → articles/server-ui.js} +378 -499
- package/dist/articles/server-ui.js.map +1 -0
- package/dist/{chunk-MWKI6ZIS.mjs → articles/server-ui.mjs} +328 -474
- package/dist/articles/server-ui.mjs.map +1 -0
- package/dist/{blog → articles}/server.d.ts +94 -81
- package/dist/articles/server.d.ts.map +1 -0
- package/dist/articles/server.js +236 -0
- package/dist/articles/server.mjs +11 -0
- package/dist/{blog → articles}/types.d.ts +34 -34
- package/dist/articles/types.d.ts.map +1 -0
- package/dist/articles/widget-styles.d.ts +9 -0
- package/dist/articles/widget-styles.d.ts.map +1 -0
- package/dist/brand/extract-brand-profile.d.ts +1 -1
- package/dist/{chunk-AJBOEV4I.mjs → chunk-3T2CVHFO.mjs} +3 -3
- package/dist/chunk-3T2CVHFO.mjs.map +1 -0
- package/dist/{chunk-I3ND4XYW.js → chunk-4BEGKFMN.js} +8 -8
- package/dist/{chunk-I3ND4XYW.js.map → chunk-4BEGKFMN.js.map} +1 -1
- package/dist/{chunk-YFX3Q56O.mjs → chunk-4KAMU5HD.mjs} +3 -3
- package/dist/chunk-4KAMU5HD.mjs.map +1 -0
- package/dist/{chunk-CNTDV7HM.js → chunk-4NBJDP6Y.js} +4 -4
- package/dist/{chunk-CNTDV7HM.js.map → chunk-4NBJDP6Y.js.map} +1 -1
- package/dist/{chunk-PIEHBSCN.js → chunk-4VCR6TXK.js} +9 -9
- package/dist/{chunk-PIEHBSCN.js.map → chunk-4VCR6TXK.js.map} +1 -1
- package/dist/{chunk-ZPLN537Q.mjs → chunk-4WCA2HM6.mjs} +2 -2
- package/dist/chunk-4WCA2HM6.mjs.map +1 -0
- package/dist/{chunk-I7HOMMIK.js → chunk-5ABTBPPK.js} +15 -15
- package/dist/{chunk-I7HOMMIK.js.map → chunk-5ABTBPPK.js.map} +1 -1
- package/dist/{chunk-GHECYDSZ.mjs → chunk-5F2FIM5A.mjs} +16 -15
- package/dist/chunk-5F2FIM5A.mjs.map +1 -0
- package/dist/{chunk-Y5QZPUL3.mjs → chunk-5YVQWLSQ.mjs} +5 -5
- package/dist/chunk-5YVQWLSQ.mjs.map +1 -0
- package/dist/chunk-6DCAMW62.mjs +55 -0
- package/dist/chunk-6DCAMW62.mjs.map +1 -0
- package/dist/{chunk-ROSYCNXG.mjs → chunk-6URNNS3V.mjs} +4 -4
- package/dist/{chunk-ROSYCNXG.mjs.map → chunk-6URNNS3V.mjs.map} +1 -1
- package/dist/{chunk-PI3FHABB.js → chunk-6YEPFH3Q.js} +10 -10
- package/dist/{chunk-PI3FHABB.js.map → chunk-6YEPFH3Q.js.map} +1 -1
- package/dist/{chunk-NBT4L2D7.js → chunk-6ZOMIPU5.js} +8 -8
- package/dist/{chunk-NBT4L2D7.js.map → chunk-6ZOMIPU5.js.map} +1 -1
- package/dist/chunk-7MAHP735.mjs +6 -0
- package/dist/{chunk-5FETEH3Y.mjs.map → chunk-7MAHP735.mjs.map} +1 -1
- package/dist/{chunk-Q2NBD54V.js → chunk-7THQ4UW3.js} +2 -2
- package/dist/chunk-7THQ4UW3.js.map +1 -0
- package/dist/{chunk-CY2RFEW6.js → chunk-AQMQOH7V.js} +3 -3
- package/dist/{chunk-CY2RFEW6.js.map → chunk-AQMQOH7V.js.map} +1 -1
- package/dist/{chunk-4TLFZ6NR.mjs → chunk-AS2HUIDW.mjs} +3 -3
- package/dist/chunk-AS2HUIDW.mjs.map +1 -0
- package/dist/{chunk-YN7QHLWF.js → chunk-BBBJHYPH.js} +5 -5
- package/dist/chunk-BBBJHYPH.js.map +1 -0
- package/dist/{chunk-3OO5EDKD.mjs → chunk-BIU234TJ.mjs} +9 -9
- package/dist/{chunk-3OO5EDKD.mjs.map → chunk-BIU234TJ.mjs.map} +1 -1
- package/dist/{chunk-ZVI7MBVF.mjs → chunk-BJ4T65OK.mjs} +14 -10
- package/dist/chunk-BJ4T65OK.mjs.map +1 -0
- package/dist/{chunk-HBHS5VRN.mjs → chunk-BMH2D2EP.mjs} +3 -3
- package/dist/{chunk-HBHS5VRN.mjs.map → chunk-BMH2D2EP.mjs.map} +1 -1
- package/dist/{chunk-QQQAW6WY.js → chunk-BWSYPQ5E.js} +6 -6
- package/dist/{chunk-QQQAW6WY.js.map → chunk-BWSYPQ5E.js.map} +1 -1
- package/dist/{chunk-4LYW6PMU.mjs → chunk-C2CTLLIO.mjs} +3 -3
- package/dist/chunk-C2CTLLIO.mjs.map +1 -0
- package/dist/{chunk-O237KKCX.mjs → chunk-C5VITBN7.mjs} +5 -5
- package/dist/chunk-C5VITBN7.mjs.map +1 -0
- package/dist/{chunk-75A4KY4X.mjs → chunk-CFRJ2MK5.mjs} +2 -2
- package/dist/chunk-CFRJ2MK5.mjs.map +1 -0
- package/dist/{chunk-G2WC3CXW.js → chunk-CLO3K7PF.js} +2 -2
- package/dist/chunk-CLO3K7PF.js.map +1 -0
- package/dist/{chunk-AK6JZ3OE.mjs → chunk-EDLNMGQC.mjs} +3 -3
- package/dist/{chunk-DO6ATNLN.js.map → chunk-EDLNMGQC.mjs.map} +1 -1
- package/dist/{chunk-HX6ZG3PP.js → chunk-EMHSHAVW.js} +3 -3
- package/dist/chunk-EMHSHAVW.js.map +1 -0
- package/dist/chunk-F3EAAAZ3.js +8 -0
- package/dist/{chunk-7R6H3GQ4.js.map → chunk-F3EAAAZ3.js.map} +1 -1
- package/dist/{chunk-MYMZRHTC.js → chunk-FKFVN3GT.js} +8 -8
- package/dist/{chunk-MYMZRHTC.js.map → chunk-FKFVN3GT.js.map} +1 -1
- package/dist/{chunk-7TC3GRXQ.js → chunk-G3L26XQ7.js} +27 -23
- package/dist/chunk-G3L26XQ7.js.map +1 -0
- package/dist/{chunk-VVBMWV4O.js → chunk-GCZHKHEH.js} +7 -7
- package/dist/{chunk-VVBMWV4O.js.map → chunk-GCZHKHEH.js.map} +1 -1
- package/dist/{chunk-LGOQ65JQ.mjs → chunk-GJCQVVO3.mjs} +7 -7
- package/dist/{chunk-LGOQ65JQ.mjs.map → chunk-GJCQVVO3.mjs.map} +1 -1
- package/dist/{chunk-R5IPDAMM.mjs → chunk-GKPVGVHY.mjs} +3 -3
- package/dist/{chunk-R5IPDAMM.mjs.map → chunk-GKPVGVHY.mjs.map} +1 -1
- package/dist/{chunk-XZO5I4RS.mjs → chunk-HIZJD7TU.mjs} +3 -3
- package/dist/{chunk-XZO5I4RS.mjs.map → chunk-HIZJD7TU.mjs.map} +1 -1
- package/dist/chunk-HXHRS3PX.mjs +349 -0
- package/dist/chunk-HXHRS3PX.mjs.map +1 -0
- package/dist/{chunk-XBX2K3GA.js → chunk-IBJOGXQI.js} +4 -4
- package/dist/{chunk-XBX2K3GA.js.map → chunk-IBJOGXQI.js.map} +1 -1
- package/dist/{chunk-F2KW4OJF.mjs → chunk-IDOHDP7D.mjs} +4 -4
- package/dist/{chunk-F2KW4OJF.mjs.map → chunk-IDOHDP7D.mjs.map} +1 -1
- package/dist/{chunk-R7GHP3FY.js → chunk-JONWE26J.js} +3 -3
- package/dist/chunk-JONWE26J.js.map +1 -0
- package/dist/{chunk-PQYQHZWV.mjs → chunk-JSXLTZUP.mjs} +6 -6
- package/dist/{chunk-PQYQHZWV.mjs.map → chunk-JSXLTZUP.mjs.map} +1 -1
- package/dist/{chunk-K4TCEAUX.js → chunk-KR7ATPAN.js} +5 -5
- package/dist/chunk-KR7ATPAN.js.map +1 -0
- package/dist/{chunk-UQY5KC64.mjs → chunk-KUHMHKG5.mjs} +4 -4
- package/dist/{chunk-UQY5KC64.mjs.map → chunk-KUHMHKG5.mjs.map} +1 -1
- package/dist/{chunk-JLVCWC6A.mjs → chunk-KZVSB5WE.mjs} +2 -2
- package/dist/chunk-KZVSB5WE.mjs.map +1 -0
- package/dist/{chunk-NCDF2RK4.mjs → chunk-L63DFM4R.mjs} +3 -3
- package/dist/{chunk-NCDF2RK4.mjs.map → chunk-L63DFM4R.mjs.map} +1 -1
- package/dist/{chunk-25F2EXOC.mjs → chunk-LCYODFNY.mjs} +3 -3
- package/dist/{chunk-25F2EXOC.mjs.map → chunk-LCYODFNY.mjs.map} +1 -1
- package/dist/{chunk-RFAAY3BW.mjs → chunk-LFASEDBO.mjs} +3 -3
- package/dist/{chunk-RFAAY3BW.mjs.map → chunk-LFASEDBO.mjs.map} +1 -1
- package/dist/chunk-LWCAZDY2.js +355 -0
- package/dist/chunk-LWCAZDY2.js.map +1 -0
- package/dist/{chunk-7VZYP4K5.js → chunk-LZPICBND.js} +15 -15
- package/dist/{chunk-7VZYP4K5.js.map → chunk-LZPICBND.js.map} +1 -1
- package/dist/{chunk-LMEUYRRR.js → chunk-NAA5J2JM.js} +233 -120
- package/dist/chunk-NAA5J2JM.js.map +1 -0
- package/dist/{chunk-OE7CTIOU.mjs → chunk-NE6QGHFT.mjs} +4 -4
- package/dist/{chunk-OE7CTIOU.mjs.map → chunk-NE6QGHFT.mjs.map} +1 -1
- package/dist/{chunk-UEUWC3PH.mjs → chunk-NNQG25M2.mjs} +3 -3
- package/dist/{chunk-UEUWC3PH.mjs.map → chunk-NNQG25M2.mjs.map} +1 -1
- package/dist/{chunk-S2Y7LVQ2.js → chunk-NVOYCK2S.js} +14 -14
- package/dist/{chunk-S2Y7LVQ2.js.map → chunk-NVOYCK2S.js.map} +1 -1
- package/dist/{chunk-FD72QL42.mjs → chunk-NVWUXCUQ.mjs} +3 -3
- package/dist/{chunk-FD72QL42.mjs.map → chunk-NVWUXCUQ.mjs.map} +1 -1
- package/dist/{chunk-4NVMAYMQ.mjs → chunk-NYNL6UQV.mjs} +4 -4
- package/dist/{chunk-4NVMAYMQ.mjs.map → chunk-NYNL6UQV.mjs.map} +1 -1
- package/dist/{chunk-GQF6QAQS.js → chunk-OGNX6JT4.js} +5 -5
- package/dist/chunk-OGNX6JT4.js.map +1 -0
- package/dist/{chunk-FVW6FT6L.js → chunk-OSU4QA5M.js} +8 -8
- package/dist/{chunk-FVW6FT6L.js.map → chunk-OSU4QA5M.js.map} +1 -1
- package/dist/{chunk-2TS4ALOA.js → chunk-P2HOVWJW.js} +14 -14
- package/dist/{chunk-2TS4ALOA.js.map → chunk-P2HOVWJW.js.map} +1 -1
- package/dist/{chunk-5HFD36AN.js → chunk-PKZMNDZJ.js} +5 -5
- package/dist/{chunk-5HFD36AN.js.map → chunk-PKZMNDZJ.js.map} +1 -1
- package/dist/{chunk-DO6ATNLN.js → chunk-PRAHDLKT.js} +5 -5
- package/dist/chunk-PRAHDLKT.js.map +1 -0
- package/dist/{chunk-IIHIRHSW.js → chunk-QD4BNYMM.js} +18 -18
- package/dist/{chunk-IIHIRHSW.js.map → chunk-QD4BNYMM.js.map} +1 -1
- package/dist/{chunk-HEOLGDUX.mjs → chunk-QJ3SMLND.mjs} +4 -4
- package/dist/{chunk-HEOLGDUX.mjs.map → chunk-QJ3SMLND.mjs.map} +1 -1
- package/dist/{chunk-QOOLMSBY.mjs → chunk-QP56JXMH.mjs} +3 -3
- package/dist/{chunk-QOOLMSBY.mjs.map → chunk-QP56JXMH.mjs.map} +1 -1
- package/dist/{chunk-MQS6AF5K.mjs → chunk-QXPGIOU7.mjs} +3 -3
- package/dist/{chunk-MQS6AF5K.mjs.map → chunk-QXPGIOU7.mjs.map} +1 -1
- package/dist/{chunk-TR3F3CLV.js → chunk-R6UE6MC5.js} +10 -10
- package/dist/{chunk-TR3F3CLV.js.map → chunk-R6UE6MC5.js.map} +1 -1
- package/dist/{chunk-OEW2LFOV.js → chunk-RLUNEEGM.js} +4 -4
- package/dist/{chunk-OEW2LFOV.js.map → chunk-RLUNEEGM.js.map} +1 -1
- package/dist/{chunk-SFC3OWSE.mjs → chunk-RX4TVHSN.mjs} +4 -4
- package/dist/{chunk-SFC3OWSE.mjs.map → chunk-RX4TVHSN.mjs.map} +1 -1
- package/dist/{chunk-YQTE32QK.js → chunk-SG7CWD2R.js} +17 -16
- package/dist/chunk-SG7CWD2R.js.map +1 -0
- package/dist/{chunk-4C5CZJIN.mjs → chunk-SU42KCQD.mjs} +4 -4
- package/dist/{chunk-4C5CZJIN.mjs.map → chunk-SU42KCQD.mjs.map} +1 -1
- package/dist/{chunk-XEB77DQS.js → chunk-TBXWJJGT.js} +3 -3
- package/dist/chunk-TBXWJJGT.js.map +1 -0
- package/dist/{chunk-CZEIHFLW.js → chunk-TC3JSQUS.js} +4 -4
- package/dist/{chunk-CZEIHFLW.js.map → chunk-TC3JSQUS.js.map} +1 -1
- package/dist/{chunk-LB44BNJ2.js → chunk-TST2IKYO.js} +14 -14
- package/dist/{chunk-LB44BNJ2.js.map → chunk-TST2IKYO.js.map} +1 -1
- package/dist/{chunk-POJZA67T.mjs → chunk-U6F6AN23.mjs} +4 -4
- package/dist/{chunk-POJZA67T.mjs.map → chunk-U6F6AN23.mjs.map} +1 -1
- package/dist/{chunk-FTB5LAD3.js → chunk-UCBBZXJI.js} +4 -4
- package/dist/{chunk-FTB5LAD3.js.map → chunk-UCBBZXJI.js.map} +1 -1
- package/dist/{chunk-U2V542EO.mjs → chunk-UHYRVALN.mjs} +2 -2
- package/dist/{chunk-U2V542EO.mjs.map → chunk-UHYRVALN.mjs.map} +1 -1
- package/dist/{chunk-F3KA6V2Y.js → chunk-UILVPI2R.js} +3 -3
- package/dist/{chunk-F3KA6V2Y.js.map → chunk-UILVPI2R.js.map} +1 -1
- package/dist/{chunk-UHM3CCCC.js → chunk-ULSFOC3J.js} +12 -12
- package/dist/{chunk-UHM3CCCC.js.map → chunk-ULSFOC3J.js.map} +1 -1
- package/dist/{chunk-4L7OHRWB.mjs → chunk-UO6KTHBQ.mjs} +4 -4
- package/dist/{chunk-4L7OHRWB.mjs.map → chunk-UO6KTHBQ.mjs.map} +1 -1
- package/dist/{chunk-H5NBFNND.js → chunk-UZKXOZHR.js} +2 -2
- package/dist/chunk-UZKXOZHR.js.map +1 -0
- package/dist/{chunk-QXMWNIKL.mjs → chunk-WLCPBZOS.mjs} +3 -3
- package/dist/{chunk-QXMWNIKL.mjs.map → chunk-WLCPBZOS.mjs.map} +1 -1
- package/dist/{chunk-3EY5E35M.mjs → chunk-X3MY4PL7.mjs} +210 -107
- package/dist/chunk-X3MY4PL7.mjs.map +1 -0
- package/dist/{chunk-PIPERXI7.mjs → chunk-XLFTZV34.mjs} +3 -3
- package/dist/{chunk-PIPERXI7.mjs.map → chunk-XLFTZV34.mjs.map} +1 -1
- package/dist/{chunk-6CCS2EGF.js → chunk-XWKY46NU.js} +13 -13
- package/dist/{chunk-6CCS2EGF.js.map → chunk-XWKY46NU.js.map} +1 -1
- package/dist/{chunk-SEP5D4MI.js → chunk-Y2CP5J6Q.js} +2 -2
- package/dist/{chunk-SEP5D4MI.js.map → chunk-Y2CP5J6Q.js.map} +1 -1
- package/dist/{chunk-KV7XXLJV.mjs → chunk-YPGUV6BT.mjs} +3 -3
- package/dist/{chunk-KV7XXLJV.mjs.map → chunk-YPGUV6BT.mjs.map} +1 -1
- package/dist/chunk-YRCR7WY3.js +65 -0
- package/dist/chunk-YRCR7WY3.js.map +1 -0
- package/dist/{chunk-WINDP776.mjs → chunk-YTJKVWHY.mjs} +5 -5
- package/dist/{chunk-WINDP776.mjs.map → chunk-YTJKVWHY.mjs.map} +1 -1
- package/dist/chunk-ZL35JCDA.mjs +61 -0
- package/dist/chunk-ZL35JCDA.mjs.map +1 -0
- package/dist/chunk-ZR43XFUM.js +60 -0
- package/dist/chunk-ZR43XFUM.js.map +1 -0
- package/dist/{chunk-NMM27UOF.js → chunk-ZRWIMNQF.js} +3 -3
- package/dist/{chunk-NMM27UOF.js.map → chunk-ZRWIMNQF.js.map} +1 -1
- package/dist/{chunk-NR7YZQRR.js → chunk-ZYJYBE5G.js} +4 -4
- package/dist/{chunk-NR7YZQRR.js.map → chunk-ZYJYBE5G.js.map} +1 -1
- package/dist/cli/commands/setup.d.ts +2 -2
- package/dist/cli/commands/sync.d.ts +2 -2
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/index.js +76 -76
- package/dist/cli/index.mjs +29 -29
- package/dist/client/index.js +5 -5
- package/dist/client/index.mjs +4 -4
- package/dist/commerce/index.js +57 -57
- package/dist/commerce/index.mjs +5 -5
- package/dist/discover-LPN55L5B.js +21 -0
- package/dist/{discover-NGEPXZOD.js.map → discover-LPN55L5B.js.map} +1 -1
- package/dist/discover-QGA6QFSR.mjs +4 -0
- package/dist/{discover-CYXYKHZ2.mjs.map → discover-QGA6QFSR.mjs.map} +1 -1
- package/dist/engage/index.js +13 -13
- package/dist/engage/index.mjs +7 -7
- package/dist/fleet/contract.d.ts +1 -1
- package/dist/fleet/contract.js +12 -12
- package/dist/fleet/contract.mjs +1 -1
- package/dist/fleet/index.js +20 -20
- package/dist/fleet/index.mjs +5 -5
- package/dist/forms/index.js +16 -16
- package/dist/forms/index.mjs +9 -9
- package/dist/forms/server.js +10 -10
- package/dist/forms/server.mjs +8 -8
- package/dist/forms/static.js +7 -7
- package/dist/forms/static.mjs +6 -6
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +4 -4
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -70
- package/dist/index.mjs +12 -12
- package/dist/layout/client.js +10 -10
- package/dist/layout/client.mjs +9 -9
- package/dist/layout/index.js +12 -12
- package/dist/layout/index.mjs +10 -10
- package/dist/llms/SpeakableSchema.d.ts +1 -1
- package/dist/llms/SpeakableSchema.d.ts.map +1 -1
- package/dist/llms/client.js +15 -15
- package/dist/llms/client.mjs +1 -1
- package/dist/llms/generateLLMsTxt.d.ts.map +1 -1
- package/dist/llms/index.js +32 -31
- package/dist/llms/index.js.map +1 -1
- package/dist/llms/index.mjs +8 -7
- package/dist/llms/index.mjs.map +1 -1
- package/dist/llms/types.d.ts +7 -0
- package/dist/llms/types.d.ts.map +1 -1
- package/dist/llms/writeLLMsTxt.d.ts +6 -0
- package/dist/llms/writeLLMsTxt.d.ts.map +1 -1
- package/dist/maps/index.js +5 -5
- package/dist/maps/index.mjs +3 -3
- package/dist/og/index.js +7 -7
- package/dist/og/index.mjs +2 -2
- package/dist/og/route.d.ts +6 -6
- package/dist/og/route.js.map +1 -1
- package/dist/og/route.mjs.map +1 -1
- package/dist/og/wiring.d.ts +4 -4
- package/dist/og/wiring.d.ts.map +1 -1
- package/dist/proxy/index.js +5 -5
- package/dist/proxy/index.mjs +3 -3
- package/dist/redirects/index.js +10 -10
- package/dist/redirects/index.mjs +3 -3
- package/dist/redirects/not-found.js +7 -7
- package/dist/redirects/not-found.mjs +3 -3
- package/dist/robots/indexnow.d.ts +17 -0
- package/dist/robots/indexnow.d.ts.map +1 -0
- package/dist/robots/indexnow.js +39 -0
- package/dist/robots/indexnow.js.map +1 -0
- package/dist/robots/indexnow.mjs +34 -0
- package/dist/robots/indexnow.mjs.map +1 -0
- package/dist/search/contract.d.ts +1 -1
- package/dist/search/contract.js +3 -3
- package/dist/search/contract.mjs +1 -1
- package/dist/search/index.js +7 -7
- package/dist/search/index.mjs +5 -5
- package/dist/seo/client.js +6 -6
- package/dist/seo/client.mjs +5 -5
- package/dist/seo/index.js +47 -47
- package/dist/seo/index.js.map +1 -1
- package/dist/seo/index.mjs +12 -12
- package/dist/seo/index.mjs.map +1 -1
- package/dist/seo/register-sitemap-cli-impl.d.ts +2 -0
- package/dist/seo/register-sitemap-cli-impl.d.ts.map +1 -1
- package/dist/seo/register-sitemap-cli.d.ts +1 -0
- package/dist/seo/register-sitemap-cli.d.ts.map +1 -1
- package/dist/seo/register-sitemap-cli.js +18 -14
- package/dist/seo/register-sitemap-cli.mjs +11 -7
- package/dist/seo/server.js +21 -21
- package/dist/seo/server.mjs +5 -5
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +2 -2
- package/dist/{server-api-A2EFCTZX.mjs → server-api-7F5P6CSH.mjs} +6 -6
- package/dist/{server-api-A2EFCTZX.mjs.map → server-api-7F5P6CSH.mjs.map} +1 -1
- package/dist/{server-api-IWTZ7C3O.js → server-api-OC5JNK6R.js} +24 -24
- package/dist/{server-api-IWTZ7C3O.js.map → server-api-OC5JNK6R.js.map} +1 -1
- package/dist/shared/build-entries.d.ts +9 -7
- package/dist/shared/build-entries.d.ts.map +1 -1
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +11 -11
- package/dist/signal/index.mjs +2 -2
- package/dist/sitemap/discover.d.ts +1 -1
- package/dist/sitemap/index.d.ts +13 -1
- package/dist/sitemap/index.d.ts.map +1 -1
- package/dist/sitemap/index.js +48 -30
- package/dist/sitemap/index.js.map +1 -1
- package/dist/sitemap/index.mjs +27 -9
- package/dist/sitemap/index.mjs.map +1 -1
- package/dist/sitemap/shared.d.ts +1 -1
- package/dist/sitemap/shared.d.ts.map +1 -1
- package/dist/sites/site-param.d.ts +2 -2
- package/dist/sync/index.js +17 -17
- package/dist/sync/index.mjs +4 -4
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/writeLLMsTxt-LYYC3ZSN.mjs +11 -0
- package/dist/writeLLMsTxt-XHLHJ5XY.js +20 -0
- package/package.json +20 -14
- package/dist/BlogPostFaqSection-P3GXVQPA.mjs +0 -11
- package/dist/BlogPostFaqSection-P3GXVQPA.mjs.map +0 -1
- package/dist/BlogPostFaqSection-YG5J4B4U.js +0 -13
- package/dist/BlogPostFaqSection-YG5J4B4U.js.map +0 -1
- package/dist/BlogViewTracker-Q7Y4MN4B.mjs.map +0 -1
- package/dist/BlogViewTracker-S3CSRBIZ.js.map +0 -1
- package/dist/ChatWidget-76R7NOWD.js +0 -24
- package/dist/ChatWidget-G3KOUDX5.mjs +0 -15
- package/dist/EngageWidget-HD4F2ZVE.js +0 -21
- package/dist/EngageWidget-UJ47PQFG.mjs +0 -12
- package/dist/ManagedForm-4ZGU4R3G.js +0 -25
- package/dist/ManagedForm-Z7QE4KYI.mjs +0 -16
- package/dist/ManagedNewsletterForm-22EPZB7Z.js.map +0 -1
- package/dist/ManagedNewsletterForm-4TVO2VL4.mjs.map +0 -1
- package/dist/SitemapSync-GF4OKN4Z.js +0 -18
- package/dist/SitemapSync-WIUEYOBS.mjs +0 -9
- package/dist/blog/AuthorCard.d.ts.map +0 -1
- package/dist/blog/AuthorPage.d.ts.map +0 -1
- package/dist/blog/BlogFAQ.d.ts.map +0 -1
- package/dist/blog/BlogLayout.d.ts.map +0 -1
- package/dist/blog/BlogList.d.ts.map +0 -1
- package/dist/blog/BlogPost.d.ts.map +0 -1
- package/dist/blog/BlogPostFaqSection.d.ts +0 -3
- package/dist/blog/BlogPostFaqSection.d.ts.map +0 -1
- package/dist/blog/BlogSidebar.d.ts.map +0 -1
- package/dist/blog/BlogViewTracker.d.ts.map +0 -1
- package/dist/blog/ClusterLandingPage.d.ts.map +0 -1
- package/dist/blog/ClusterNavigation.d.ts.map +0 -1
- package/dist/blog/ManagedNewsletterForm.d.ts.map +0 -1
- package/dist/blog/NewsletterShell.d.ts.map +0 -1
- package/dist/blog/NewsletterWidget.d.ts.map +0 -1
- package/dist/blog/RelatedPosts.d.ts.map +0 -1
- package/dist/blog/ServiceCallout.d.ts.map +0 -1
- package/dist/blog/TableOfContents.d.ts.map +0 -1
- package/dist/blog/artwork.d.ts +0 -14
- package/dist/blog/artwork.d.ts.map +0 -1
- package/dist/blog/author-schema.d.ts.map +0 -1
- package/dist/blog/author-social.d.ts.map +0 -1
- package/dist/blog/blog-styles.d.ts.map +0 -1
- package/dist/blog/blog-tables.d.ts.map +0 -1
- package/dist/blog/excerpt.d.ts.map +0 -1
- package/dist/blog/index.d.ts.map +0 -1
- package/dist/blog/index.js.map +0 -1
- package/dist/blog/index.mjs.map +0 -1
- package/dist/blog/processBlogHtml.d.ts.map +0 -1
- package/dist/blog/public-reads.d.ts +0 -27
- package/dist/blog/public-reads.d.ts.map +0 -1
- package/dist/blog/reading-time.d.ts.map +0 -1
- package/dist/blog/routes.d.ts.map +0 -1
- package/dist/blog/server-core.d.ts.map +0 -1
- package/dist/blog/server-ui.d.ts +0 -29
- package/dist/blog/server-ui.d.ts.map +0 -1
- package/dist/blog/server-ui.js +0 -267
- package/dist/blog/server-ui.js.map +0 -1
- package/dist/blog/server-ui.mjs +0 -203
- package/dist/blog/server-ui.mjs.map +0 -1
- package/dist/blog/server.d.ts.map +0 -1
- package/dist/blog/server.js +0 -207
- package/dist/blog/server.mjs +0 -10
- package/dist/blog/types.d.ts.map +0 -1
- package/dist/blog/widget-styles.d.ts +0 -9
- package/dist/blog/widget-styles.d.ts.map +0 -1
- package/dist/blog-styles-6EY3BS5Y.js.map +0 -1
- package/dist/blog-styles-7AKRUMV7.mjs.map +0 -1
- package/dist/blog-tables-DWDEWA3S.js +0 -17
- package/dist/blog-tables-DWDEWA3S.js.map +0 -1
- package/dist/blog-tables-QGIHOESZ.mjs +0 -4
- package/dist/blog-tables-QGIHOESZ.mjs.map +0 -1
- package/dist/chunk-3EY5E35M.mjs.map +0 -1
- package/dist/chunk-4LYW6PMU.mjs.map +0 -1
- package/dist/chunk-4TLFZ6NR.mjs.map +0 -1
- package/dist/chunk-5B4J3IBX.mjs +0 -164
- package/dist/chunk-5B4J3IBX.mjs.map +0 -1
- package/dist/chunk-5FETEH3Y.mjs +0 -6
- package/dist/chunk-75A4KY4X.mjs.map +0 -1
- package/dist/chunk-7R6H3GQ4.js +0 -8
- package/dist/chunk-7TC3GRXQ.js.map +0 -1
- package/dist/chunk-AJBOEV4I.mjs.map +0 -1
- package/dist/chunk-AK6JZ3OE.mjs.map +0 -1
- package/dist/chunk-FHPW7XVH.js +0 -175
- package/dist/chunk-FHPW7XVH.js.map +0 -1
- package/dist/chunk-G2WC3CXW.js.map +0 -1
- package/dist/chunk-GHECYDSZ.mjs.map +0 -1
- package/dist/chunk-GQF6QAQS.js.map +0 -1
- package/dist/chunk-H5NBFNND.js.map +0 -1
- package/dist/chunk-HX6ZG3PP.js.map +0 -1
- package/dist/chunk-JLVCWC6A.mjs.map +0 -1
- package/dist/chunk-K4TCEAUX.js.map +0 -1
- package/dist/chunk-LMEUYRRR.js.map +0 -1
- package/dist/chunk-MWKI6ZIS.mjs.map +0 -1
- package/dist/chunk-O237KKCX.mjs.map +0 -1
- package/dist/chunk-Q2NBD54V.js.map +0 -1
- package/dist/chunk-R7GHP3FY.js.map +0 -1
- package/dist/chunk-W2U5SLMY.js.map +0 -1
- package/dist/chunk-XEB77DQS.js.map +0 -1
- package/dist/chunk-Y5QZPUL3.mjs.map +0 -1
- package/dist/chunk-YFX3Q56O.mjs.map +0 -1
- package/dist/chunk-YN7QHLWF.js.map +0 -1
- package/dist/chunk-YQTE32QK.js.map +0 -1
- package/dist/chunk-ZPLN537Q.mjs.map +0 -1
- package/dist/chunk-ZVI7MBVF.mjs.map +0 -1
- package/dist/discover-CYXYKHZ2.mjs +0 -4
- package/dist/discover-NGEPXZOD.js +0 -21
- package/dist/writeLLMsTxt-CQ7A4AAL.js +0 -19
- package/dist/writeLLMsTxt-NX5MSPYX.mjs +0 -10
- /package/dist/{blog → articles}/server.js.map +0 -0
- /package/dist/{blog → articles}/server.mjs.map +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useState, useCallback, useRef } from 'react';
|
|
3
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
|
-
// src/
|
|
5
|
+
// src/articles/ArticleFAQ.tsx
|
|
6
6
|
var defaultStyles = {
|
|
7
7
|
section: {
|
|
8
8
|
margin: "3rem 0",
|
|
@@ -157,7 +157,7 @@ function FAQItem({
|
|
|
157
157
|
}
|
|
158
158
|
);
|
|
159
159
|
}
|
|
160
|
-
function
|
|
160
|
+
function ArticleFAQ({
|
|
161
161
|
items,
|
|
162
162
|
title = "Frequently Asked Questions",
|
|
163
163
|
allowMultiple = false,
|
|
@@ -215,6 +215,6 @@ function BlogFAQ({
|
|
|
215
215
|
);
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
export {
|
|
219
|
-
//# sourceMappingURL=chunk-
|
|
220
|
-
//# sourceMappingURL=chunk-
|
|
218
|
+
export { ArticleFAQ };
|
|
219
|
+
//# sourceMappingURL=chunk-C5VITBN7.mjs.map
|
|
220
|
+
//# sourceMappingURL=chunk-C5VITBN7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/articles/ArticleFAQ.tsx"],"names":[],"mappings":"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","file":"chunk-C5VITBN7.mjs","sourcesContent":["/**\n * @sonordev/site-kit/articles - Article FAQ Component\n *\n * Renders FAQ items with collapsible accordion behavior.\n * Content is always in the DOM (not display:none) for SEO crawlability.\n * Uses CSS max-height transitions — no JS animation library required.\n *\n * Pairs with FAQPage schema (generated by Signal AI in the publication pipeline)\n * for Google's \"People Also Ask\" featured snippets.\n *\n * @example\n * ```tsx\n * <ArticleFAQ items={post.faqItems} />\n * ```\n */\n\n'use client'\n\nimport React, { useState, useRef, useCallback } from 'react'\n\nexport interface FaqItem {\n question: string\n answer: string\n}\n\nexport interface ArticleFAQProps {\n items: FaqItem[]\n /** Section title */\n title?: string\n /** Allow multiple items open simultaneously */\n allowMultiple?: boolean\n /** Override styles with Tailwind classes */\n styles?: {\n section?: string\n title?: string\n list?: string\n item?: string\n question?: string\n questionText?: string\n icon?: string\n answer?: string\n answerInner?: string\n }\n unstyled?: boolean\n}\n\n// CSS custom property defaults\nconst defaultStyles = {\n section: {\n margin: '3rem 0',\n padding: 0,\n },\n title: {\n fontSize: '1.5rem',\n fontWeight: 700,\n color: 'var(--sk-text-primary, #0f172a)',\n marginBottom: '1.5rem',\n display: 'flex',\n alignItems: 'center',\n gap: '0.5rem',\n },\n list: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '0.5rem',\n },\n item: {\n borderRadius: '0.75rem',\n border: '1px solid var(--sk-surface-border, #e2e8f0)',\n background: 'var(--sk-bg-elevated, #f8fafc)',\n overflow: 'hidden',\n transition: 'border-color 0.2s, box-shadow 0.2s',\n },\n itemOpen: {\n borderColor: 'color-mix(in srgb, var(--sk-primary, #2563eb) 40%, var(--sk-surface-border, #e2e8f0))',\n boxShadow: '0 1px 3px rgba(0,0,0,0.06)',\n },\n question: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n padding: '1rem 1.25rem',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n textAlign: 'left' as const,\n },\n questionText: {\n fontSize: '1rem',\n fontWeight: 600,\n color: 'var(--sk-text-primary, #0f172a)',\n paddingRight: '1rem',\n },\n icon: {\n flexShrink: 0,\n width: '1.25rem',\n height: '1.25rem',\n color: 'var(--sk-primary, #2563eb)',\n transition: 'transform 0.2s',\n },\n answer: {\n overflow: 'hidden',\n transition: 'max-height 0.3s ease, opacity 0.2s ease',\n },\n answerInner: {\n padding: '0 1.25rem 1.25rem',\n fontSize: '0.9375rem',\n lineHeight: 1.7,\n color: 'var(--sk-text-secondary, #475569)',\n },\n}\n\nfunction PlusMinusIcon({ isOpen }: { isOpen: boolean }) {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n style={{\n ...defaultStyles.icon,\n transform: isOpen ? 'rotate(45deg)' : 'rotate(0deg)',\n }}\n >\n <line x1=\"10\" y1=\"4\" x2=\"10\" y2=\"16\" />\n <line x1=\"4\" y1=\"10\" x2=\"16\" y2=\"10\" />\n </svg>\n )\n}\n\nfunction FAQItem({\n item,\n isOpen,\n onToggle,\n styles,\n unstyled,\n}: {\n item: FaqItem\n isOpen: boolean\n onToggle: () => void\n styles?: ArticleFAQProps['styles']\n unstyled?: boolean\n}) {\n const answerRef = useRef<HTMLDivElement>(null)\n\n return (\n <li\n className={styles?.item}\n style={unstyled ? undefined : {\n ...defaultStyles.item,\n ...(isOpen ? defaultStyles.itemOpen : {}),\n }}\n >\n <button\n className={styles?.question}\n style={unstyled ? undefined : defaultStyles.question}\n onClick={onToggle}\n aria-expanded={isOpen}\n type=\"button\"\n >\n <span\n className={styles?.questionText}\n style={unstyled ? undefined : defaultStyles.questionText}\n >\n {item.question}\n </span>\n <span className={styles?.icon}>\n <PlusMinusIcon isOpen={isOpen} />\n </span>\n </button>\n <div\n ref={answerRef}\n className={styles?.answer}\n style={unstyled ? undefined : {\n ...defaultStyles.answer,\n maxHeight: isOpen ? `${(answerRef.current?.scrollHeight || 500) + 40}px` : '0',\n opacity: isOpen ? 1 : 0,\n }}\n role=\"region\"\n aria-hidden={!isOpen}\n >\n <div\n className={styles?.answerInner}\n style={unstyled ? undefined : defaultStyles.answerInner}\n dangerouslySetInnerHTML={{ __html: item.answer }}\n />\n </div>\n </li>\n )\n}\n\nexport function ArticleFAQ({\n items,\n title = 'Frequently Asked Questions',\n allowMultiple = false,\n styles,\n unstyled = false,\n}: ArticleFAQProps) {\n const [openIndices, setOpenIndices] = useState<Set<number>>(new Set())\n\n const toggle = useCallback((index: number) => {\n setOpenIndices(prev => {\n const next = new Set(allowMultiple ? prev : [])\n if (prev.has(index)) {\n next.delete(index)\n } else {\n next.add(index)\n }\n return next\n })\n }, [allowMultiple])\n\n if (!items || items.length === 0) return null\n\n return (\n <section\n className={styles?.section}\n style={unstyled ? undefined : defaultStyles.section}\n aria-label=\"Frequently Asked Questions\"\n >\n <h2\n className={styles?.title}\n style={unstyled ? undefined : defaultStyles.title}\n >\n {title}\n </h2>\n <ul\n className={styles?.list}\n style={unstyled ? undefined : defaultStyles.list}\n >\n {items.map((item, index) => (\n <FAQItem\n key={index}\n item={item}\n isOpen={openIndices.has(index)}\n onToggle={() => toggle(index)}\n styles={styles}\n unstyled={unstyled}\n />\n ))}\n </ul>\n </section>\n )\n}\n"]}
|
|
@@ -12,5 +12,5 @@ var SEARCH_CONTRACT_VECTORS = [
|
|
|
12
12
|
];
|
|
13
13
|
|
|
14
14
|
export { SEARCH_CONTRACT_VECTORS, SEARCH_ENDPOINT };
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-CFRJ2MK5.mjs.map
|
|
16
|
+
//# sourceMappingURL=chunk-CFRJ2MK5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/search/contract.ts"],"names":[],"mappings":";AAmBO,IAAM,eAAA,GAAkB;AAkCxB,IAAM,uBAAA,GAA0B;AAAA,EACrC;AAAA,IACE,IAAA,EAAM,iBAAA;AAAA,IACN,OAAA,EAAS,EAAE,CAAA,EAAG,SAAA;AAAU,GAC1B;AAAA,EACA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,OAAA,EAAS,EAAE,CAAA,EAAG,aAAA,EAAe,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAO,CAAC,MAAA,EAAQ,MAAM,CAAA,EAAG,KAAA,EAAO,CAAA;AAAE;AAE1F","file":"chunk-CFRJ2MK5.mjs","sourcesContent":["/**\n * @sonordev/site-kit/search/contract — site search wire contract.\n *\n * CANONICAL SOURCE for the shape of POST /api/public/search. sonor-api keeps\n * an inline mirror per the cross-repo contract pattern (APIs do not depend on\n * site-kit at runtime); drift is caught by test vectors on both sides.\n *\n * Design notes (4.0 exploration):\n * - One endpoint, unified across content types the project already manages:\n * pages (seo_pages), articles, and commerce offerings. The site's whole\n * navigable surface, ranked together.\n * - Tenant scoping comes from the API key (ApiKeyGuard) — requests carry no\n * project id, same as every public endpoint.\n * - `site` narrows multi-site projects (TPS microsites) using the standard\n * host convention from sites/contract.\n * - Results carry a `url` the site can link directly plus a typed `kind`\n * so UIs can group (\"Pages / Posts / Events\").\n */\n\nexport const SEARCH_ENDPOINT = '/api/public/search'\n\nexport type SearchKind = 'page' | 'post' | 'offering'\n\nexport interface SearchRequest {\n /** The user's query. Server trims; empty queries return empty results. */\n q: string\n /** Multi-site narrowing (normalized host, e.g. 'ohiopowerstudies.com'). */\n site?: string\n /** Restrict to specific kinds. Default: all. */\n kinds?: SearchKind[]\n /** Max results across kinds. Server clamps to 25. Default 10. */\n limit?: number\n}\n\nexport interface SearchResult {\n kind: SearchKind\n /** Path or absolute URL the site should link to. */\n url: string\n title: string\n /** Short excerpt with the match context when the backend can produce one. */\n excerpt?: string\n /** Higher = better. Only comparable within a single response. */\n score: number\n}\n\nexport interface SearchResponse {\n query: string\n results: SearchResult[]\n /** Total matches before the limit, per kind — lets UIs show \"12 more posts\". */\n totals?: Partial<Record<SearchKind, number>>\n}\n\n/** Shared test vectors — mirrored by sonor-api's contract test. */\nexport const SEARCH_CONTRACT_VECTORS = [\n {\n name: 'minimal request',\n request: { q: 'bonfire' } satisfies SearchRequest,\n },\n {\n name: 'narrowed request',\n request: { q: 'supply list', site: 'ludlowpto.org', kinds: ['page', 'post'], limit: 5 } satisfies SearchRequest,\n },\n] as const\n"]}
|
|
@@ -15,5 +15,5 @@ var SEARCH_CONTRACT_VECTORS = [
|
|
|
15
15
|
|
|
16
16
|
exports.SEARCH_CONTRACT_VECTORS = SEARCH_CONTRACT_VECTORS;
|
|
17
17
|
exports.SEARCH_ENDPOINT = SEARCH_ENDPOINT;
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
18
|
+
//# sourceMappingURL=chunk-CLO3K7PF.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-CLO3K7PF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/search/contract.ts"],"names":[],"mappings":";;;AAmBO,IAAM,eAAA,GAAkB;AAkCxB,IAAM,uBAAA,GAA0B;AAAA,EACrC;AAAA,IACE,IAAA,EAAM,iBAAA;AAAA,IACN,OAAA,EAAS,EAAE,CAAA,EAAG,SAAA;AAAU,GAC1B;AAAA,EACA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,OAAA,EAAS,EAAE,CAAA,EAAG,aAAA,EAAe,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAO,CAAC,MAAA,EAAQ,MAAM,CAAA,EAAG,KAAA,EAAO,CAAA;AAAE;AAE1F","file":"chunk-CLO3K7PF.js","sourcesContent":["/**\n * @sonordev/site-kit/search/contract — site search wire contract.\n *\n * CANONICAL SOURCE for the shape of POST /api/public/search. sonor-api keeps\n * an inline mirror per the cross-repo contract pattern (APIs do not depend on\n * site-kit at runtime); drift is caught by test vectors on both sides.\n *\n * Design notes (4.0 exploration):\n * - One endpoint, unified across content types the project already manages:\n * pages (seo_pages), articles, and commerce offerings. The site's whole\n * navigable surface, ranked together.\n * - Tenant scoping comes from the API key (ApiKeyGuard) — requests carry no\n * project id, same as every public endpoint.\n * - `site` narrows multi-site projects (TPS microsites) using the standard\n * host convention from sites/contract.\n * - Results carry a `url` the site can link directly plus a typed `kind`\n * so UIs can group (\"Pages / Posts / Events\").\n */\n\nexport const SEARCH_ENDPOINT = '/api/public/search'\n\nexport type SearchKind = 'page' | 'post' | 'offering'\n\nexport interface SearchRequest {\n /** The user's query. Server trims; empty queries return empty results. */\n q: string\n /** Multi-site narrowing (normalized host, e.g. 'ohiopowerstudies.com'). */\n site?: string\n /** Restrict to specific kinds. Default: all. */\n kinds?: SearchKind[]\n /** Max results across kinds. Server clamps to 25. Default 10. */\n limit?: number\n}\n\nexport interface SearchResult {\n kind: SearchKind\n /** Path or absolute URL the site should link to. */\n url: string\n title: string\n /** Short excerpt with the match context when the backend can produce one. */\n excerpt?: string\n /** Higher = better. Only comparable within a single response. */\n score: number\n}\n\nexport interface SearchResponse {\n query: string\n results: SearchResult[]\n /** Total matches before the limit, per kind — lets UIs show \"12 more posts\". */\n totals?: Partial<Record<SearchKind, number>>\n}\n\n/** Shared test vectors — mirrored by sonor-api's contract test. */\nexport const SEARCH_CONTRACT_VECTORS = [\n {\n name: 'minimal request',\n request: { q: 'bonfire' } satisfies SearchRequest,\n },\n {\n name: 'narrowed request',\n request: { q: 'supply list', site: 'ludlowpto.org', kinds: ['page', 'post'], limit: 5 } satisfies SearchRequest,\n },\n] as const\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { widgetStyle, widgetTitleStyle } from './chunk-
|
|
1
|
+
import { widgetStyle, widgetTitleStyle } from './chunk-4KAMU5HD.mjs';
|
|
2
2
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
function NewsletterShell({
|
|
@@ -61,5 +61,5 @@ function NewsletterShell({
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
export { NewsletterShell };
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-EDLNMGQC.mjs.map
|
|
65
|
+
//# sourceMappingURL=chunk-EDLNMGQC.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/
|
|
1
|
+
{"version":3,"sources":["../src/articles/NewsletterShell.tsx"],"names":[],"mappings":";;;AAsBO,SAAS,eAAA,CAAgB;AAAA,EAC9B,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA,EAAyB;AACvB,EAAA,uBACE,IAAA,CAAC,SAAI,KAAA,EAAO,EAAE,GAAG,WAAA,EAAa,eAAA,EAAiB,oCAAmC,EAChF,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,OAAO,EAAE,GAAG,kBAAkB,KAAA,EAAO,mBAAA,IAAwB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IACtE,MAAA,KAAW,SAAA,mBACV,GAAA,CAAC,GAAA,EAAA,EAAE,OAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,4BAA4B,MAAA,EAAQ,CAAA,EAAE,EACpE,QAAA,EAAA,cAAA,EACH,oBAEA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,OAAO,0BAAA,EAA4B,YAAA,EAAc,EAAA,EAAG,EAC3E,QAAA,EAAA,WAAA,EACH,CAAA;AAAA,sBACA,IAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAU,YAAA,EAAc,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,CAAA,EAAE,EAC7D,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,OAAA;AAAA,YACL,IAAA,EAAK,OAAA;AAAA,YACL,WAAA,EAAY,kBAAA;AAAA,YACZ,QAAA,EAAQ,IAAA;AAAA,YACR,KAAA,EAAO,KAAA;AAAA,YACP,UAAU,CAAC,CAAA,KAAM,aAAA,CAAc,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,YAC7C,UAAU,MAAA,KAAW,YAAA;AAAA,YACrB,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,CAAA;AAAA,cACN,OAAA,EAAS,WAAA;AAAA,cACT,MAAA,EAAQ,4BAAA;AAAA,cACR,YAAA,EAAc,CAAA;AAAA,cACd,QAAA,EAAU;AAAA;AACZ;AAAA,SACF;AAAA,wBACA,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,UAAU,MAAA,KAAW,YAAA;AAAA,YACrB,KAAA,EAAO;AAAA,cACL,OAAA,EAAS,WAAA;AAAA,cACT,eAAA,EAAiB,mBAAA;AAAA,cACjB,KAAA,EAAO,cAAA;AAAA,cACP,MAAA,EAAQ,MAAA;AAAA,cACR,YAAA,EAAc,CAAA;AAAA,cACd,QAAA,EAAU,EAAA;AAAA,cACV,UAAA,EAAY,GAAA;AAAA,cACZ,MAAA,EAAQ,MAAA,KAAW,YAAA,GAAe,MAAA,GAAS;AAAA,aAC7C;AAAA,YAEC,QAAA,EAAA,MAAA,KAAW,eAAe,QAAA,GAAM;AAAA;AAAA;AACnC,OAAA,EACF,CAAA;AAAA,MACC,MAAA,KAAW,OAAA,oBACV,GAAA,CAAC,GAAA,EAAA,EAAE,OAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,0BAAA,EAA4B,MAAA,EAAQ,SAAA,EAAU,EAC5E,0BAAgB,yCAAA,EACnB;AAAA,KAAA,EAEJ;AAAA,GAAA,EAEJ,CAAA;AAEJ","file":"chunk-EDLNMGQC.mjs","sourcesContent":["'use client'\n\n/**\n * Presentational shell shared by NewsletterWidget's two modes. No data\n * imports — keep it that way, it renders in the eager article bundle.\n */\n\nimport React from 'react'\nimport { widgetStyle, widgetTitleStyle } from './widget-styles'\n\nexport interface NewsletterShellProps {\n title: string\n description: string\n buttonText: string\n email: string\n onEmailChange: (value: string) => void\n onFormSubmit: (e: React.FormEvent) => void\n status: 'idle' | 'submitting' | 'success' | 'error'\n successMessage: string\n errorMessage?: string | null\n}\n\nexport function NewsletterShell({\n title,\n description,\n buttonText,\n email,\n onEmailChange,\n onFormSubmit,\n status,\n successMessage,\n errorMessage,\n}: NewsletterShellProps) {\n return (\n <div style={{ ...widgetStyle, backgroundColor: 'rgba(var(--sk-primary-rgb), 0.1)' }}>\n <h4 style={{ ...widgetTitleStyle, color: 'var(--sk-primary)' }}>{title}</h4>\n {status === 'success' ? (\n <p style={{ fontSize: 14, color: 'var(--sk-text-secondary)', margin: 0 }}>\n {successMessage}\n </p>\n ) : (\n <>\n <p style={{ fontSize: 14, color: 'var(--sk-text-secondary)', marginBottom: 16 }}>\n {description}\n </p>\n <form onSubmit={onFormSubmit} style={{ display: 'flex', gap: 8 }}>\n <input\n type=\"email\"\n name=\"email\"\n placeholder=\"Enter your email\"\n required\n value={email}\n onChange={(e) => onEmailChange(e.target.value)}\n disabled={status === 'submitting'}\n style={{\n flex: 1,\n padding: '10px 12px',\n border: '1px solid var(--sk-border)',\n borderRadius: 8,\n fontSize: 14,\n }}\n />\n <button\n type=\"submit\"\n disabled={status === 'submitting'}\n style={{\n padding: '10px 16px',\n backgroundColor: 'var(--sk-primary)',\n color: 'var(--sk-bg)',\n border: 'none',\n borderRadius: 8,\n fontSize: 14,\n fontWeight: 500,\n cursor: status === 'submitting' ? 'wait' : 'pointer',\n }}\n >\n {status === 'submitting' ? '…' : buttonText}\n </button>\n </form>\n {status === 'error' && (\n <p style={{ fontSize: 13, color: 'var(--sk-error, #dc2626)', margin: '8px 0 0' }}>\n {errorMessage || 'Something went wrong. Please try again.'}\n </p>\n )}\n </>\n )}\n </div>\n )\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
// src/
|
|
3
|
+
// src/articles/widget-styles.ts
|
|
4
4
|
var widgetStyle = {
|
|
5
5
|
padding: 20,
|
|
6
6
|
backgroundColor: "var(--sk-bg-elevated)",
|
|
@@ -15,5 +15,5 @@ var widgetTitleStyle = {
|
|
|
15
15
|
|
|
16
16
|
exports.widgetStyle = widgetStyle;
|
|
17
17
|
exports.widgetTitleStyle = widgetTitleStyle;
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
18
|
+
//# sourceMappingURL=chunk-EMHSHAVW.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-EMHSHAVW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/articles/widget-styles.ts"],"names":[],"mappings":";;;AAOO,IAAM,WAAA,GAAmC;AAAA,EAC9C,OAAA,EAAS,EAAA;AAAA,EACT,eAAA,EAAiB,uBAAA;AAAA,EACjB,YAAA,EAAc;AAChB;AAEO,IAAM,gBAAA,GAAwC;AAAA,EACnD,MAAA,EAAQ,UAAA;AAAA,EACR,QAAA,EAAU,EAAA;AAAA,EACV,UAAA,EAAY,GAAA;AAAA,EACZ,KAAA,EAAO;AACT","file":"chunk-EMHSHAVW.js","sourcesContent":["import type React from 'react'\n\n/**\n * Shared sidebar-widget chrome, extracted from PublicationSidebar so the client-side\n * NewsletterWidget (its own module — it needs hooks, and PublicationSidebar is also\n * bundled into the un-stamped server entry articles/server-ui) can reuse it.\n */\nexport const widgetStyle: React.CSSProperties = {\n padding: 20,\n backgroundColor: 'var(--sk-bg-elevated)',\n borderRadius: 12,\n}\n\nexport const widgetTitleStyle: React.CSSProperties = {\n margin: '0 0 16px',\n fontSize: 16,\n fontWeight: 600,\n color: 'var(--sk-text-primary)',\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/shared/version.ts"],"names":[],"mappings":";;;AASO,IAAM,gBAAA,GAAmB","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/shared/version.ts"],"names":[],"mappings":";;;AASO,IAAM,gBAAA,GAAmB","file":"chunk-F3EAAAZ3.js","sourcesContent":["/**\n * @sonordev/site-kit shared - Package version constant\n *\n * Single source of truth for the version the kit reports at runtime (the\n * x-sitekit-version request header set by sonorFetch). Kept as a plain const\n * so client bundles don't need JSON imports; scripts/verify-dts.cjs asserts\n * it matches package.json at publish time, and version.test.ts asserts it in\n * dev, so it can't silently drift.\n */\nexport const SITE_KIT_VERSION = '6.0.1'\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkZRWIMNQF_js = require('./chunk-ZRWIMNQF.js');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
@@ -16,8 +16,8 @@ function SignalExperiment({
|
|
|
16
16
|
trackImpression = true,
|
|
17
17
|
children
|
|
18
18
|
}) {
|
|
19
|
-
const { assignment, variant, isControl } =
|
|
20
|
-
const trackEvent =
|
|
19
|
+
const { assignment, variant, isControl } = chunkZRWIMNQF_js.useSignalExperiment(experimentId);
|
|
20
|
+
const trackEvent = chunkZRWIMNQF_js.useSignalEvent();
|
|
21
21
|
React.useEffect(() => {
|
|
22
22
|
if (trackImpression && variant) {
|
|
23
23
|
trackEvent({
|
|
@@ -44,7 +44,7 @@ function SignalExperiment({
|
|
|
44
44
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: variants.control || null });
|
|
45
45
|
}
|
|
46
46
|
function useExperimentVariant(experimentId) {
|
|
47
|
-
return
|
|
47
|
+
return chunkZRWIMNQF_js.useSignalExperiment(experimentId);
|
|
48
48
|
}
|
|
49
49
|
function ExperimentConversion({
|
|
50
50
|
experimentId,
|
|
@@ -52,8 +52,8 @@ function ExperimentConversion({
|
|
|
52
52
|
value,
|
|
53
53
|
children
|
|
54
54
|
}) {
|
|
55
|
-
const trackEvent =
|
|
56
|
-
const { variant } =
|
|
55
|
+
const trackEvent = chunkZRWIMNQF_js.useSignalEvent();
|
|
56
|
+
const { variant } = chunkZRWIMNQF_js.useSignalExperiment(experimentId);
|
|
57
57
|
const handleInteraction = () => {
|
|
58
58
|
trackEvent({
|
|
59
59
|
event_type: "experiment",
|
|
@@ -79,5 +79,5 @@ function ExperimentConversion({
|
|
|
79
79
|
exports.ExperimentConversion = ExperimentConversion;
|
|
80
80
|
exports.SignalExperiment = SignalExperiment;
|
|
81
81
|
exports.useExperimentVariant = useExperimentVariant;
|
|
82
|
-
//# sourceMappingURL=chunk-
|
|
83
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-FKFVN3GT.js.map
|
|
83
|
+
//# sourceMappingURL=chunk-FKFVN3GT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/signal/SignalExperiment.tsx"],"names":["useSignalExperiment","useSignalEvent","useEffect","jsx","Fragment","React"],"mappings":";;;;;;;;;;AAgDO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,YAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,EAAE,UAAA,EAAY,OAAA,EAAS,SAAA,EAAU,GAAIA,qCAAoB,YAAY,CAAA;AAC3E,EAAA,MAAM,aAAaC,+BAAA,EAAe;AAGlC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,mBAAmB,OAAA,EAAS;AAC9B,MAAA,UAAA,CAAW;AAAA,QACT,UAAA,EAAY,YAAA;AAAA,QACZ,UAAA,EAAY,YAAA;AAAA,QACZ,UAAA,EAAY;AAAA,UACV,aAAA,EAAe,YAAA;AAAA,UACf,WAAA,EAAa;AAAA;AACf,OACD,CAAA;AAAA,IACH;AAAA,EACF,GAAG,CAAC,YAAA,EAAc,OAAA,EAAS,eAAA,EAAiB,UAAU,CAAC,CAAA;AAGvD,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,uBAAOC,cAAA,CAAAC,mBAAA,EAAA,EAAG,mBAAS,EAAE,OAAA,EAAS,WAAW,SAAA,EAAW,SAAA,EAAW,CAAA,EAAE,CAAA;AAAA,EACnE;AAGA,EAAA,MAAM,kBAAkB,OAAA,IAAW,SAAA;AACnC,EAAA,MAAM,OAAA,GAAU,SAAS,eAAe,CAAA;AAExC,EAAA,IAAI,YAAY,MAAA,EAAW;AACzB,IAAA,6DAAU,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,EACpB;AAGA,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,6DAAU,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,EACrB;AAEA,EAAA,uBAAOD,cAAA,CAAAC,mBAAA,EAAA,EAAG,QAAA,EAAA,QAAA,CAAS,OAAA,IAAW,IAAA,EAAK,CAAA;AACrC;AAYO,SAAS,qBAAqB,YAAA,EAAsB;AACzD,EAAA,OAAOJ,qCAAoB,YAAY,CAAA;AACzC;AAoBO,SAAS,oBAAA,CAAqB;AAAA,EACnC,YAAA;AAAA,EACA,WAAA,GAAc,OAAA;AAAA,EACd,KAAA;AAAA,EACA;AACF,CAAA,EAKG;AACD,EAAA,MAAM,aAAaC,+BAAA,EAAe;AAClC,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAID,oCAAA,CAAoB,YAAY,CAAA;AAEpD,EAAA,MAAM,oBAAoB,MAAM;AAC9B,IAAA,UAAA,CAAW;AAAA,MACT,UAAA,EAAY,YAAA;AAAA,MACZ,UAAA,EAAY,YAAA;AAAA,MACZ,UAAA,EAAY;AAAA,QACV,aAAA,EAAe,YAAA;AAAA,QACf,WAAA,EAAa,OAAA;AAAA,QACb,YAAA,EAAc,WAAA;AAAA,QACd;AAAA;AACF,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAOK,sBAAA,CAAM,aAAa,QAAA,EAAU;AAAA,IAClC,OAAA,EAAS,CAAC,CAAA,KAAwB;AAChC,MAAA,iBAAA,EAAkB;AAElB,MAAA,IAAK,QAAA,CAAS,MAAsD,OAAA,EAAS;AAC3E,QAAC,QAAA,CAAS,KAAA,CAAsD,OAAA,CAAS,CAAC,CAAA;AAAA,MAC5E;AAAA,IACF;AAAA,GACD,CAAA;AACH","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/signal/SignalExperiment.tsx"],"names":["useSignalExperiment","useSignalEvent","useEffect","jsx","Fragment","React"],"mappings":";;;;;;;;;;AAgDO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,YAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,EAAE,UAAA,EAAY,OAAA,EAAS,SAAA,EAAU,GAAIA,qCAAoB,YAAY,CAAA;AAC3E,EAAA,MAAM,aAAaC,+BAAA,EAAe;AAGlC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,mBAAmB,OAAA,EAAS;AAC9B,MAAA,UAAA,CAAW;AAAA,QACT,UAAA,EAAY,YAAA;AAAA,QACZ,UAAA,EAAY,YAAA;AAAA,QACZ,UAAA,EAAY;AAAA,UACV,aAAA,EAAe,YAAA;AAAA,UACf,WAAA,EAAa;AAAA;AACf,OACD,CAAA;AAAA,IACH;AAAA,EACF,GAAG,CAAC,YAAA,EAAc,OAAA,EAAS,eAAA,EAAiB,UAAU,CAAC,CAAA;AAGvD,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,uBAAOC,cAAA,CAAAC,mBAAA,EAAA,EAAG,mBAAS,EAAE,OAAA,EAAS,WAAW,SAAA,EAAW,SAAA,EAAW,CAAA,EAAE,CAAA;AAAA,EACnE;AAGA,EAAA,MAAM,kBAAkB,OAAA,IAAW,SAAA;AACnC,EAAA,MAAM,OAAA,GAAU,SAAS,eAAe,CAAA;AAExC,EAAA,IAAI,YAAY,MAAA,EAAW;AACzB,IAAA,6DAAU,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,EACpB;AAGA,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,6DAAU,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,EACrB;AAEA,EAAA,uBAAOD,cAAA,CAAAC,mBAAA,EAAA,EAAG,QAAA,EAAA,QAAA,CAAS,OAAA,IAAW,IAAA,EAAK,CAAA;AACrC;AAYO,SAAS,qBAAqB,YAAA,EAAsB;AACzD,EAAA,OAAOJ,qCAAoB,YAAY,CAAA;AACzC;AAoBO,SAAS,oBAAA,CAAqB;AAAA,EACnC,YAAA;AAAA,EACA,WAAA,GAAc,OAAA;AAAA,EACd,KAAA;AAAA,EACA;AACF,CAAA,EAKG;AACD,EAAA,MAAM,aAAaC,+BAAA,EAAe;AAClC,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAID,oCAAA,CAAoB,YAAY,CAAA;AAEpD,EAAA,MAAM,oBAAoB,MAAM;AAC9B,IAAA,UAAA,CAAW;AAAA,MACT,UAAA,EAAY,YAAA;AAAA,MACZ,UAAA,EAAY,YAAA;AAAA,MACZ,UAAA,EAAY;AAAA,QACV,aAAA,EAAe,YAAA;AAAA,QACf,WAAA,EAAa,OAAA;AAAA,QACb,YAAA,EAAc,WAAA;AAAA,QACd;AAAA;AACF,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAOK,sBAAA,CAAM,aAAa,QAAA,EAAU;AAAA,IAClC,OAAA,EAAS,CAAC,CAAA,KAAwB;AAChC,MAAA,iBAAA,EAAkB;AAElB,MAAA,IAAK,QAAA,CAAS,MAAsD,OAAA,EAAS;AAC3E,QAAC,QAAA,CAAS,KAAA,CAAsD,OAAA,CAAS,CAAC,CAAA;AAAA,MAC5E;AAAA,IACF;AAAA,GACD,CAAA;AACH","file":"chunk-FKFVN3GT.js","sourcesContent":["/**\n * @sonordev/site-kit/signal - SignalExperiment\n * \n * A/B test component that renders different variants based on Signal assignment.\n * Uses Thompson Sampling (Bayesian bandit) for optimization.\n */\n\n'use client'\n\nimport React, { useMemo, useEffect } from 'react'\nimport { useSignalExperiment, useSignalEvent } from './SignalBridge'\n\ninterface SignalExperimentProps {\n /** Unique experiment ID */\n experimentId: string\n \n /** Variants to test - keys are variant names, values are React nodes */\n variants: Record<string, React.ReactNode>\n \n /** Fallback content if no assignment (defaults to 'control' variant) */\n fallback?: React.ReactNode\n \n /** Track impression automatically */\n trackImpression?: boolean\n \n /** Children function for more control */\n children?: (props: { variant: string; isControl: boolean }) => React.ReactNode\n}\n\n/**\n * Renders different content variants based on Signal's A/B assignment.\n * \n * @example\n * // Simple variant switching\n * <SignalExperiment experimentId=\"hero-cta\" variants={{\n * control: <Button>Get Started</Button>,\n * variant_a: <Button variant=\"primary\">Start Free Trial</Button>,\n * variant_b: <Button variant=\"secondary\">Book a Demo</Button>,\n * }} />\n * \n * @example\n * // With render prop for more control\n * <SignalExperiment experimentId=\"pricing-layout\">\n * {({ variant, isControl }) => (\n * <PricingSection layout={isControl ? 'cards' : 'table'} />\n * )}\n * </SignalExperiment>\n */\nexport function SignalExperiment({\n experimentId,\n variants,\n fallback,\n trackImpression = true,\n children,\n}: SignalExperimentProps) {\n const { assignment, variant, isControl } = useSignalExperiment(experimentId)\n const trackEvent = useSignalEvent()\n \n // Track impression when variant is rendered\n useEffect(() => {\n if (trackImpression && variant) {\n trackEvent({\n event_type: 'experiment',\n event_name: 'impression',\n event_data: {\n experiment_id: experimentId,\n variant_key: variant,\n },\n })\n }\n }, [experimentId, variant, trackImpression, trackEvent])\n \n // If using render prop\n if (children) {\n return <>{children({ variant: variant || 'control', isControl })}</>\n }\n \n // Determine what to render\n const selectedVariant = variant || 'control'\n const content = variants[selectedVariant]\n \n if (content !== undefined) {\n return <>{content}</>\n }\n \n // Fallback to provided fallback or control\n if (fallback) {\n return <>{fallback}</>\n }\n \n return <>{variants.control || null}</>\n}\n\n/**\n * Hook for conditional experiment logic\n * \n * @example\n * const { variant, isControl } = useExperimentVariant('pricing-test')\n * \n * return isControl \n * ? <OldPricing />\n * : <NewPricing showAnnual={variant === 'annual_first'} />\n */\nexport function useExperimentVariant(experimentId: string) {\n return useSignalExperiment(experimentId)\n}\n\n/**\n * Component for tracking experiment conversions\n * Wraps interactive elements to track when they convert\n * \n * @example\n * <SignalExperiment experimentId=\"signup-button\" variants={{\n * control: (\n * <ExperimentConversion experimentId=\"signup-button\" outcomeType=\"click\">\n * <Button>Sign Up</Button>\n * </ExperimentConversion>\n * ),\n * variant_a: (\n * <ExperimentConversion experimentId=\"signup-button\" outcomeType=\"click\">\n * <Button variant=\"large\">Join Now - It's Free!</Button>\n * </ExperimentConversion>\n * ),\n * }} />\n */\nexport function ExperimentConversion({\n experimentId,\n outcomeType = 'click',\n value,\n children,\n}: {\n experimentId: string\n outcomeType?: string\n value?: number\n children: React.ReactElement<{ onClick?: (e: React.MouseEvent) => void }>\n}) {\n const trackEvent = useSignalEvent()\n const { variant } = useSignalExperiment(experimentId)\n\n const handleInteraction = () => {\n trackEvent({\n event_type: 'experiment',\n event_name: 'conversion',\n event_data: {\n experiment_id: experimentId,\n variant_key: variant,\n outcome_type: outcomeType,\n value,\n },\n })\n }\n\n return React.cloneElement(children, {\n onClick: (e: React.MouseEvent) => {\n handleInteraction()\n // Call original onClick if exists\n if ((children.props as { onClick?: (e: React.MouseEvent) => void }).onClick) {\n (children.props as { onClick?: (e: React.MouseEvent) => void }).onClick!(e)\n }\n },\n })\n}\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKR7ATPAN_js = require('./chunk-KR7ATPAN.js');
|
|
4
|
+
var chunkZR43XFUM_js = require('./chunk-ZR43XFUM.js');
|
|
4
5
|
var chunkLVGSOW2F_js = require('./chunk-LVGSOW2F.js');
|
|
5
6
|
var chunkH6AU3WKF_js = require('./chunk-H6AU3WKF.js');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var chunkBBBJHYPH_js = require('./chunk-BBBJHYPH.js');
|
|
8
|
+
var chunkJONWE26J_js = require('./chunk-JONWE26J.js');
|
|
9
|
+
var chunkUZKXOZHR_js = require('./chunk-UZKXOZHR.js');
|
|
9
10
|
var fs = require('fs');
|
|
10
11
|
var path = require('path');
|
|
11
12
|
var react = require('react');
|
|
@@ -44,7 +45,7 @@ async function apiGet(endpoint, options) {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
var getLLMsData = react.cache(async (projectId, site, fresh) => {
|
|
47
|
-
const data = await apiGet(
|
|
48
|
+
const data = await apiGet(chunkBBBJHYPH_js.withSiteParam(`/api/public/llms/data`, site), { fresh });
|
|
48
49
|
if (data?.meta && data.meta.contract_version != null && data.meta.contract_version !== chunkH6AU3WKF_js.LLM_GEO_CONTRACT_VERSION && typeof process !== "undefined" && process.env.NODE_ENV !== "production") {
|
|
49
50
|
console.warn(
|
|
50
51
|
`[site-kit/llms] API meta.contract_version (${data.meta.contract_version}) !== site-kit LLM_GEO_CONTRACT_VERSION (${chunkH6AU3WKF_js.LLM_GEO_CONTRACT_VERSION}).`
|
|
@@ -57,17 +58,17 @@ var getBusinessInfo = react.cache(async (projectId) => {
|
|
|
57
58
|
return result?.business || null;
|
|
58
59
|
});
|
|
59
60
|
var getServices = react.cache(async (projectId, site) => {
|
|
60
|
-
const result = await apiGet(
|
|
61
|
+
const result = await apiGet(chunkBBBJHYPH_js.withSiteParam(`/api/public/llms/services`, site));
|
|
61
62
|
return result?.services || [];
|
|
62
63
|
});
|
|
63
64
|
var getFAQItems = react.cache(async (projectId, limit, site) => {
|
|
64
65
|
const endpoint = limit ? `/api/public/llms/faq?limit=${limit}` : "/api/public/llms/faq";
|
|
65
|
-
const result = await apiGet(
|
|
66
|
+
const result = await apiGet(chunkBBBJHYPH_js.withSiteParam(endpoint, site));
|
|
66
67
|
return result?.faq || [];
|
|
67
68
|
});
|
|
68
69
|
var getPageSummaries = react.cache(async (projectId, limit, site) => {
|
|
69
70
|
const endpoint = limit ? `/api/public/llms/pages?limit=${limit}` : "/api/public/llms/pages";
|
|
70
|
-
const result = await apiGet(
|
|
71
|
+
const result = await apiGet(chunkBBBJHYPH_js.withSiteParam(endpoint, site));
|
|
71
72
|
return result?.pages || [];
|
|
72
73
|
});
|
|
73
74
|
async function getOptimizedLLMsTxt(options) {
|
|
@@ -81,7 +82,7 @@ async function getOptimizedLLMsTxt(options) {
|
|
|
81
82
|
if (options?.full) params.set("full", "true");
|
|
82
83
|
if (options?.publicSummaryOnly) params.set("publicSummaryOnly", "true");
|
|
83
84
|
const qs = params.toString();
|
|
84
|
-
const endpoint =
|
|
85
|
+
const endpoint = chunkBBBJHYPH_js.withSiteParam(`/api/public/llms/txt${qs ? `?${qs}` : ""}`, options?.site);
|
|
85
86
|
try {
|
|
86
87
|
const response = await chunkLVGSOW2F_js.freshFetch(`${apiUrl}${endpoint}`, {
|
|
87
88
|
method: "GET",
|
|
@@ -114,17 +115,17 @@ var RELATIVE_LINK_TARGET = /\]\((\/(?!\/)[^)\s]*)/g;
|
|
|
114
115
|
var TRAILING_PUNCTUATION = /[.,;:!?]+$/;
|
|
115
116
|
function applyTrailingSlashToSiteLinks(markdown, site, trailingSlash) {
|
|
116
117
|
if (!trailingSlash || !markdown) return markdown;
|
|
117
|
-
const siteHost = site ?
|
|
118
|
-
let out = markdown.replace(RELATIVE_LINK_TARGET, (_match, path) => `](${
|
|
118
|
+
const siteHost = site ? chunkKR7ATPAN_js.linkClassificationHost(site) : "";
|
|
119
|
+
let out = markdown.replace(RELATIVE_LINK_TARGET, (_match, path) => `](${chunkJONWE26J_js.applyTrailingSlash(path, true)}`);
|
|
119
120
|
if (!siteHost) return out;
|
|
120
121
|
out = out.replace(ABSOLUTE_URL, (raw) => {
|
|
121
122
|
const punctuation = raw.match(TRAILING_PUNCTUATION)?.[0] ?? "";
|
|
122
123
|
const url = punctuation ? raw.slice(0, -punctuation.length) : raw;
|
|
123
124
|
const match = /^(https?:\/\/[^/?#]+)(.*)$/.exec(url);
|
|
124
|
-
if (!match ||
|
|
125
|
+
if (!match || chunkKR7ATPAN_js.linkClassificationHost(match[1]) !== siteHost) return raw;
|
|
125
126
|
const [, origin, rest] = match;
|
|
126
127
|
if (!rest.startsWith("/")) return raw;
|
|
127
|
-
return `${origin}${
|
|
128
|
+
return `${origin}${chunkJONWE26J_js.applyTrailingSlash(rest, true)}${punctuation}`;
|
|
128
129
|
});
|
|
129
130
|
return out;
|
|
130
131
|
}
|
|
@@ -177,6 +178,7 @@ async function generateLLMsTxt(options) {
|
|
|
177
178
|
maxPortfolioItems = 20,
|
|
178
179
|
maxEntities = 50,
|
|
179
180
|
maxArticlesPerCluster = 5,
|
|
181
|
+
publication = {},
|
|
180
182
|
customSections = [],
|
|
181
183
|
optionalPagePaths = [],
|
|
182
184
|
linkToFullLlms = false,
|
|
@@ -213,7 +215,7 @@ async function generateLLMsTxt(options) {
|
|
|
213
215
|
headerDisclaimer
|
|
214
216
|
);
|
|
215
217
|
const baseUrl = resolveBaseUrl(baseUrlOption, data.business?.website);
|
|
216
|
-
const trailingSlash =
|
|
218
|
+
const trailingSlash = chunkJONWE26J_js.resolveTrailingSlash(trailingSlashOption);
|
|
217
219
|
const sections = [];
|
|
218
220
|
const sectionNames = [];
|
|
219
221
|
const attemptedSections = [];
|
|
@@ -318,7 +320,7 @@ async function generateLLMsTxt(options) {
|
|
|
318
320
|
if (includeEntities) {
|
|
319
321
|
attemptedSections.push("knowledge-graph");
|
|
320
322
|
optionalFetches.push(
|
|
321
|
-
import('./server-api-
|
|
323
|
+
import('./server-api-OC5JNK6R.js').then(async ({ getEntities, getPrimaryEntity }) => {
|
|
322
324
|
const [entities, primaryEntity] = await Promise.all([
|
|
323
325
|
getEntities().then((e) => e.slice(0, maxEntities)),
|
|
324
326
|
getPrimaryEntity()
|
|
@@ -333,7 +335,7 @@ async function generateLLMsTxt(options) {
|
|
|
333
335
|
}
|
|
334
336
|
attemptedSections.push("topic-clusters");
|
|
335
337
|
optionalFetches.push(
|
|
336
|
-
import('./
|
|
338
|
+
import('./articles/server.js').then(async ({ getTopicClusters }) => {
|
|
337
339
|
const clusters = await getTopicClusters({ site });
|
|
338
340
|
return { kind: "clusters", clusters };
|
|
339
341
|
}).catch((err) => {
|
|
@@ -364,14 +366,14 @@ async function generateLLMsTxt(options) {
|
|
|
364
366
|
clusterLines.push(`Service page: ${baseUrl}${cluster.target_service_page}`);
|
|
365
367
|
}
|
|
366
368
|
if (cluster.pillar) {
|
|
367
|
-
const pillarUrl = cluster.pillar.slug ?
|
|
369
|
+
const pillarUrl = cluster.pillar.slug ? chunkZR43XFUM_js.resolveArticleUrl(cluster.pillar, { ...publication, siteUrl: baseUrl }) : "";
|
|
368
370
|
clusterLines.push(`Pillar: [${cluster.pillar.title || cluster.cluster_name}](${pillarUrl})`);
|
|
369
371
|
}
|
|
370
372
|
const supports = cluster.supports || [];
|
|
371
373
|
if (supports.length > 0) {
|
|
372
374
|
const sorted = [...supports].sort((a, b) => (b.published_at || "").localeCompare(a.published_at || "")).slice(0, maxArticlesPerCluster);
|
|
373
375
|
for (const article of sorted) {
|
|
374
|
-
const articleUrl = article.slug ?
|
|
376
|
+
const articleUrl = article.slug ? chunkZR43XFUM_js.resolveArticleUrl(article, { ...publication, siteUrl: baseUrl }) : "";
|
|
375
377
|
const dateStr = article.published_at ? ` (${new Date(article.published_at).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })})` : "";
|
|
376
378
|
clusterLines.push(`- [${article.title}](${articleUrl})${dateStr}`);
|
|
377
379
|
}
|
|
@@ -603,7 +605,7 @@ function generateOptionalPagesSection(paths, pages, baseUrl, publicSummaryOnly,
|
|
|
603
605
|
continue;
|
|
604
606
|
}
|
|
605
607
|
const title = key.split("/").filter(Boolean).pop() || key;
|
|
606
|
-
lines.push(`- [${title}](${baseUrl}${
|
|
608
|
+
lines.push(`- [${title}](${baseUrl}${chunkJONWE26J_js.applyTrailingSlash(key, trailingSlash)})`);
|
|
607
609
|
}
|
|
608
610
|
return seen.size > 0 ? lines.join("\n") : null;
|
|
609
611
|
}
|
|
@@ -650,13 +652,14 @@ async function writeLLMsTxtToPublic(options = {}) {
|
|
|
650
652
|
apiKey,
|
|
651
653
|
fallbackToLocal = true,
|
|
652
654
|
site,
|
|
655
|
+
publication,
|
|
653
656
|
trailingSlash: trailingSlashOption,
|
|
654
657
|
getLocalData,
|
|
655
658
|
publicSummaryOnly,
|
|
656
659
|
customSections
|
|
657
660
|
} = options;
|
|
658
|
-
const trailingSlash =
|
|
659
|
-
const linkHost =
|
|
661
|
+
const trailingSlash = chunkJONWE26J_js.resolveTrailingSlash(trailingSlashOption);
|
|
662
|
+
const linkHost = chunkUZKXOZHR_js.resolveSiteHost(site);
|
|
660
663
|
const shapeLinks = (md) => applyTrailingSlashToSiteLinks(md, linkHost, trailingSlash);
|
|
661
664
|
const cwd = typeof process !== "undefined" ? process.cwd() : ".";
|
|
662
665
|
const outPath = path.join(cwd, outputDir);
|
|
@@ -668,6 +671,7 @@ async function writeLLMsTxtToPublic(options = {}) {
|
|
|
668
671
|
const apiOptions = { apiUrl, apiKey, publicSummaryOnly, site };
|
|
669
672
|
const genOpts = {
|
|
670
673
|
site,
|
|
674
|
+
publication,
|
|
671
675
|
trailingSlash,
|
|
672
676
|
getLocalData,
|
|
673
677
|
pageListNotesFromPublicSummaryOnly: !!publicSummaryOnly,
|
|
@@ -763,5 +767,5 @@ exports.getOptimizedLLMsTxt = getOptimizedLLMsTxt;
|
|
|
763
767
|
exports.getPageSummaries = getPageSummaries;
|
|
764
768
|
exports.getServices = getServices;
|
|
765
769
|
exports.writeLLMsTxtToPublic = writeLLMsTxtToPublic;
|
|
766
|
-
//# sourceMappingURL=chunk-
|
|
767
|
-
//# sourceMappingURL=chunk-
|
|
770
|
+
//# sourceMappingURL=chunk-G3L26XQ7.js.map
|
|
771
|
+
//# sourceMappingURL=chunk-G3L26XQ7.js.map
|