@sonordev/site-kit 8.1.0 → 8.3.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 (194) hide show
  1. package/AGENTS.md +13 -1
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +9 -5
  4. package/agent-manifest.json +47 -8
  5. package/dist/{AnalyticsProvider-UWTCE5UO.js → AnalyticsProvider-QXO33JUF.js} +6 -6
  6. package/dist/{ArticleFaqSection-3Q26DP7P.js → ArticleFaqSection-DEWE5B4Q.js} +1 -1
  7. package/dist/{ArticleViewTracker-MYD6SGNH.js → ArticleViewTracker-KN6ENIRS.js} +17 -6
  8. package/dist/{BlocksPopup-OY5G3EFH.js → BlocksPopup-3RPN6YVJ.js} +6 -6
  9. package/dist/{ChatWidget-BTR5VERC.js → ChatWidget-D2X445PO.js} +6 -6
  10. package/dist/{FileField-DEHVYXAO.js → FileField-UNGSNGJ5.js} +4 -4
  11. package/dist/{FormSpotlight-VGC4CZL4.js → FormSpotlight-JFH2ENKQ.js} +1 -1
  12. package/dist/{FormStage-CJUSCSAL.js → FormStage-RC3WHHXP.js} +1 -1
  13. package/dist/{ManagedForm-JCI2KPMO.js → ManagedForm-FOQZ2IYG.js} +7 -7
  14. package/dist/{ManagedNewsletterForm-DTE4KKXV.js → ManagedNewsletterForm-NFNF33V3.js} +16 -7
  15. package/dist/{SignalCore-LGCBQDEH.js → SignalCore-5KABGX5C.js} +4 -4
  16. package/dist/SiteChat-JQ46ZIJ4.js +6 -0
  17. package/dist/SiteDesignReporter-N7L6DR4J.js +12 -0
  18. package/dist/{SitePopups-T6YPHAVY.js → SitePopups-WZBKX5Q3.js} +6 -6
  19. package/dist/SitemapSync-GY6UADRI.js +9 -0
  20. package/dist/_client/booking-widget.js +6 -6
  21. package/dist/_client/testimonial-section.js +3 -3
  22. package/dist/affiliates/index.js +4 -4
  23. package/dist/analytics/index.js +6 -6
  24. package/dist/{article-styles-GGZOQG5X.js → article-styles-7QONZJR5.js} +3 -3
  25. package/dist/article-tables-6XHVULPU.js +2 -0
  26. package/dist/articles/Article.d.ts +2 -89
  27. package/dist/articles/ArticleFAQ.d.ts +2 -41
  28. package/dist/articles/ArticleFaqSection.d.ts +2 -2
  29. package/dist/articles/ArticleList.d.ts +2 -79
  30. package/dist/articles/ArticleViewTracker.d.ts +2 -15
  31. package/dist/articles/AuthorCard.d.ts +2 -10
  32. package/dist/articles/AuthorPage.d.ts +2 -8
  33. package/dist/articles/ClusterLandingPage.d.ts +2 -40
  34. package/dist/articles/ClusterNavigation.d.ts +2 -37
  35. package/dist/articles/ManagedNewsletterForm.d.ts +3 -12
  36. package/dist/articles/NewsletterShell.d.ts +2 -17
  37. package/dist/articles/NewsletterWidget.d.ts +2 -30
  38. package/dist/articles/PublicationLayout.d.ts +2 -67
  39. package/dist/articles/PublicationSidebar.d.ts +2 -36
  40. package/dist/articles/RelatedPosts.d.ts +2 -22
  41. package/dist/articles/ServiceCallout.d.ts +2 -56
  42. package/dist/articles/TableOfContents.d.ts +2 -6
  43. package/dist/articles/article-photos.d.ts +2 -9
  44. package/dist/articles/article-styles.d.ts +2 -21
  45. package/dist/articles/article-tables.d.ts +2 -12
  46. package/dist/articles/artwork.d.ts +2 -13
  47. package/dist/articles/author-schema.d.ts +2 -72
  48. package/dist/articles/author-social.d.ts +2 -14
  49. package/dist/articles/excerpt.d.ts +2 -17
  50. package/dist/articles/index.d.ts +2 -79
  51. package/dist/articles/index.js +16 -11
  52. package/dist/articles/news-sitemap.d.ts +2 -46
  53. package/dist/articles/processArticleHtml.d.ts +2 -34
  54. package/dist/articles/public-reads.d.ts +2 -26
  55. package/dist/articles/reading-time.d.ts +2 -9
  56. package/dist/articles/routes.d.ts +2 -52
  57. package/dist/articles/server-core.d.ts +2 -461
  58. package/dist/articles/server-ui.d.ts +2 -30
  59. package/dist/articles/server-ui.js +26 -17
  60. package/dist/articles/server.d.ts +2 -461
  61. package/dist/articles/server.js +14 -5
  62. package/dist/articles/types.d.ts +2 -315
  63. package/dist/articles/widget-styles.d.ts +2 -8
  64. package/dist/chat/index.js +8 -8
  65. package/dist/{chunk-AIDIEVPZ.js → chunk-2JMCBJM5.js} +1 -1
  66. package/dist/chunk-34ZYJTQR.js +1 -0
  67. package/dist/{chunk-ADI6IYFH.js → chunk-3OY52UFM.js} +1 -1
  68. package/dist/{chunk-WMVK77ND.js → chunk-4K735O3J.js} +1 -1
  69. package/dist/{chunk-55GHBRCN.js → chunk-4PVMUPC6.js} +2 -2
  70. package/dist/{chunk-L5UOHS6E.js → chunk-5D7ZISUP.js} +1 -1
  71. package/dist/{chunk-JT52KYHQ.js → chunk-5RYSTKVU.js} +1 -1
  72. package/dist/{chunk-6CJGZFOU.js → chunk-A4MPHIVP.js} +1 -1
  73. package/dist/chunk-B7T2SFUF.js +1 -0
  74. package/dist/{chunk-FV2VD7WM.js → chunk-BC7JMY4Z.js} +3 -3
  75. package/dist/{chunk-255NCCPB.js → chunk-BOCYBDKV.js} +1 -1
  76. package/dist/{chunk-NFRJTOTB.js → chunk-BSQP6PRA.js} +1 -1
  77. package/dist/{chunk-GKGSXUVQ.js → chunk-BVB5FBAA.js} +1 -1
  78. package/dist/{chunk-NWVB75ER.js → chunk-C2UROFGZ.js} +1 -1
  79. package/dist/{chunk-F2VYN3QL.js → chunk-C4AFNZT2.js} +1 -1
  80. package/dist/{chunk-GC2QWXJ3.js → chunk-D6ZIQMHB.js} +3 -3
  81. package/dist/{chunk-GYF2ULVO.js → chunk-DJAYFHVF.js} +1 -1
  82. package/dist/{chunk-XUCU3LX4.js → chunk-DPSNMOMZ.js} +1 -1
  83. package/dist/{chunk-A3EU6HB5.js → chunk-E3UR37RX.js} +2 -2
  84. package/dist/{chunk-Y3INC4QJ.js → chunk-E4PTMORJ.js} +1 -1
  85. package/dist/{chunk-TAO6BVA2.js → chunk-EA6FZMYA.js} +2 -2
  86. package/dist/{chunk-V56RZH7J.js → chunk-FHUTOXS7.js} +1 -1
  87. package/dist/{chunk-LLW5HKEE.js → chunk-GKJVSZ7H.js} +3 -3
  88. package/dist/chunk-H72ZFO3F.js +1 -0
  89. package/dist/{chunk-CSTC6HZO.js → chunk-HND6BDXC.js} +3 -3
  90. package/dist/chunk-IEGDPRQB.js +14 -0
  91. package/dist/{chunk-CAH4Y4PY.js → chunk-JO76F5WP.js} +1 -1
  92. package/dist/{chunk-4Z3DI2EL.js → chunk-KJVUOJMW.js} +58 -58
  93. package/dist/{chunk-SC4MZGWZ.js → chunk-LBDWAXAO.js} +1 -1
  94. package/dist/{chunk-RSBMQFZW.js → chunk-LPKKSYKX.js} +3 -3
  95. package/dist/{chunk-2UO4HPGE.js → chunk-M5SF7NCC.js} +73 -51
  96. package/dist/{chunk-S6IGQYHW.js → chunk-MQ4REMTH.js} +2 -2
  97. package/dist/{chunk-O4DETQJI.js → chunk-NA4Z4CQG.js} +1 -1
  98. package/dist/{chunk-WPOFTCKL.js → chunk-OIWFXUVD.js} +2 -2
  99. package/dist/{chunk-G2HCCWZQ.js → chunk-QBCWVT2S.js} +2 -2
  100. package/dist/{chunk-DZV3KPVF.js → chunk-QCZHYO5M.js} +1 -1
  101. package/dist/{chunk-DOMBP3FW.js → chunk-QDILCQBL.js} +9 -9
  102. package/dist/{chunk-IAYGTQJD.js → chunk-SCTVADDL.js} +2 -2
  103. package/dist/{chunk-QXMIKDOL.js → chunk-SNRE3ZVZ.js} +3 -3
  104. package/dist/{chunk-DSNCU2E3.js → chunk-TT4JZDKM.js} +3 -3
  105. package/dist/{chunk-6VHDCJIZ.js → chunk-U7Y3QG3A.js} +1 -1
  106. package/dist/{chunk-3G7YABRA.js → chunk-W7OPEMGJ.js} +4 -1
  107. package/dist/{chunk-2JEUDTL6.js → chunk-WBUG7XRL.js} +2 -2
  108. package/dist/{chunk-47VB5INH.js → chunk-WSOZ3FQN.js} +1 -1
  109. package/dist/chunk-X4IJS7LV.js +319 -0
  110. package/dist/{chunk-JIH32RH2.js → chunk-XA7Q2VQA.js} +1 -1
  111. package/dist/{chunk-5L467Z5Q.js → chunk-XLAXYPTK.js} +3 -3
  112. package/dist/client/index.js +4 -16
  113. package/dist/contracts/editorial-media.d.ts +39 -0
  114. package/dist/contracts/entries.d.ts +1 -1
  115. package/dist/fleet/index.js +6 -6
  116. package/dist/forms/index.js +9 -325
  117. package/dist/forms/server.js +2 -2
  118. package/dist/images/index.js +4 -4
  119. package/dist/index.js +1 -1
  120. package/dist/layout/client.js +9 -9
  121. package/dist/layout/index.js +10 -10
  122. package/dist/llms/index.js +8 -8
  123. package/dist/maps/index.js +4 -4
  124. package/dist/mcp/sonor.d.ts +42 -3
  125. package/dist/mcp/sonor.js +25 -20
  126. package/dist/mcp/transport.d.ts +1 -1
  127. package/dist/press-kit/articles/Article.d.ts +89 -0
  128. package/dist/press-kit/articles/ArticleFAQ.d.ts +41 -0
  129. package/dist/press-kit/articles/ArticleFaqSection.d.ts +2 -0
  130. package/dist/press-kit/articles/ArticleList.d.ts +79 -0
  131. package/dist/press-kit/articles/ArticleViewTracker.d.ts +15 -0
  132. package/dist/press-kit/articles/AuthorCard.d.ts +10 -0
  133. package/dist/press-kit/articles/AuthorPage.d.ts +8 -0
  134. package/dist/press-kit/articles/ClusterLandingPage.d.ts +40 -0
  135. package/dist/press-kit/articles/ClusterNavigation.d.ts +37 -0
  136. package/dist/press-kit/articles/ManagedNewsletterForm.d.ts +12 -0
  137. package/dist/press-kit/articles/NewsletterShell.d.ts +17 -0
  138. package/dist/press-kit/articles/NewsletterWidget.d.ts +30 -0
  139. package/dist/press-kit/articles/PublicationLayout.d.ts +67 -0
  140. package/dist/press-kit/articles/PublicationSidebar.d.ts +36 -0
  141. package/dist/press-kit/articles/RelatedPosts.d.ts +22 -0
  142. package/dist/press-kit/articles/ServiceCallout.d.ts +56 -0
  143. package/dist/press-kit/articles/TableOfContents.d.ts +6 -0
  144. package/dist/press-kit/articles/article-photos.d.ts +9 -0
  145. package/dist/press-kit/articles/article-styles.d.ts +21 -0
  146. package/dist/press-kit/articles/article-tables.d.ts +12 -0
  147. package/dist/press-kit/articles/artwork.d.ts +13 -0
  148. package/dist/press-kit/articles/author-schema.d.ts +72 -0
  149. package/dist/press-kit/articles/author-social.d.ts +14 -0
  150. package/dist/press-kit/articles/excerpt.d.ts +17 -0
  151. package/dist/press-kit/articles/index.d.ts +79 -0
  152. package/dist/press-kit/articles/news-sitemap.d.ts +46 -0
  153. package/dist/press-kit/articles/processArticleHtml.d.ts +34 -0
  154. package/dist/press-kit/articles/public-reads.d.ts +26 -0
  155. package/dist/press-kit/articles/reading-time.d.ts +9 -0
  156. package/dist/press-kit/articles/routes.d.ts +52 -0
  157. package/dist/press-kit/articles/server-core.d.ts +461 -0
  158. package/dist/press-kit/articles/server-ui.d.ts +31 -0
  159. package/dist/press-kit/articles/types.d.ts +316 -0
  160. package/dist/press-kit/articles/widget-styles.d.ts +8 -0
  161. package/dist/reputation/index.js +3 -3
  162. package/dist/reputation/server.js +2 -2
  163. package/dist/revalidate/index.js +2 -2
  164. package/dist/runtime/index.js +5 -4
  165. package/dist/seo/client.js +6 -6
  166. package/dist/seo/index.js +7 -7
  167. package/dist/seo/llms.js +8 -8
  168. package/dist/seo/register-sitemap-cli.js +1 -1
  169. package/dist/seo/sitemap.js +6 -6
  170. package/dist/server/index.js +3 -2
  171. package/dist/shared/build-entries.d.ts +2 -1
  172. package/dist/shared/clientApiConfig.d.ts +2 -0
  173. package/dist/shared/import-specifiers.d.ts +1 -1
  174. package/dist/shared/index.d.ts +6 -0
  175. package/dist/shared/index.js +8 -0
  176. package/dist/shared/version.d.ts +1 -1
  177. package/dist/signal/index.js +2 -2
  178. package/dist/sitemap/index.js +6 -6
  179. package/dist/sync/index.js +6 -6
  180. package/dist/website/images.js +4 -4
  181. package/dist/website/index.js +7 -7
  182. package/dist/website/popups.js +6 -6
  183. package/dist/{writeLLMsTxt-OS2WBSLM.js → writeLLMsTxt-VKHCM5IS.js} +5 -5
  184. package/docs/MIGRATING-TO-PRESS-KIT.md +83 -0
  185. package/docs.json +145 -29
  186. package/package.json +15 -5
  187. package/src/articles/README.md +5 -360
  188. package/src/mcp/README.md +16 -0
  189. package/src/og/README.md +1 -1
  190. package/src/runtime/README.md +4 -0
  191. package/dist/SiteChat-6SF7PVUT.js +0 -6
  192. package/dist/SiteDesignReporter-VISQZ5NQ.js +0 -12
  193. package/dist/SitemapSync-VKMVRPZL.js +0 -9
  194. package/dist/article-tables-AXSZOGNW.js +0 -2
package/AGENTS.md CHANGED
@@ -28,7 +28,7 @@ npx sonor-setup mcp --yes --json # agent tools: MCP
28
28
  # Existing 2.x-6.x site? migrate deterministically:
29
29
  npx sonor-setup codemod --check --json # exit 1 ⇒ work pending
30
30
  npx sonor-setup codemod --write --json # apply (idempotent, minimal diffs)
31
- # 7.x site that imports commerce? One more hop (commerce moved to @sonordev/commerce-kit):
31
+ # Site with commerce or articles? Move imports to their companion packages:
32
32
  npx sonor-setup codemod --only site-kit-8 --write --json # swaps the package name in its imports
33
33
  pnpm install # the codemod edits package.json, not node_modules (or npm / yarn)
34
34
  next build # you run the build
@@ -130,6 +130,18 @@ that sells moves with
130
130
  `sonorMcpServer({ businessName, offerings: { path: '/shop', read: getOfferingsResult } })`,
131
131
  with `getOfferingsResult` from `@sonordev/commerce-kit/commerce/server`.
132
132
 
133
+ **Articles and publications** live in `@sonordev/press-kit` (Site Kit 8.3+ peer).
134
+ Import client components from `/articles`, server data from `/articles/server`,
135
+ and RSC components from `/articles/server-ui`. Keep `SiteKitLayout` from Site Kit.
136
+ Legacy `@sonordev/site-kit/articles*` imports stay compatible in 8.x; migrate
137
+ with `npx sonor-setup codemod --only site-kit-8 --write`, install, and build.
138
+ The codemod adds Press Kit and raises the Site Kit dependency to 8.3.
139
+ Site MCP uses the same readers as the pages:
140
+ `articles: { path: '/news', readMany: getAllArticles, readOne: getArticle }`,
141
+ with both readers from `@sonordev/press-kit/articles/server`. Use `articles: false`
142
+ for a site without articles. New `sonor-setup mcp` scaffolds this wiring;
143
+ `--no-articles` doesn't need Press Kit. See [Press Kit migration](docs/MIGRATING-TO-PRESS-KIT.md).
144
+
133
145
  **Building a package on top of site-kit** (a kit, as commerce-kit is)? Take the
134
146
  browser transport from `@sonordev/site-kit/runtime` (`sonorFetch`,
135
147
  `getClientApiConfig`) and server data from `@sonordev/site-kit/server`, and
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @sonordev/site-kit Changelog
2
2
 
3
+ ## 8.3.0
4
+
5
+ - Extract publication components and article data helpers into `@sonordev/press-kit` 1.0.0, with existing article imports kept compatible through source shims built from the same implementation.
6
+ - Add the framework-free `/shared` entry for site-scoped requests, URL shaping and safe JSON-LD.
7
+
8
+ ## 8.2.0
9
+
10
+ - Article photo placement uses the same pure contract as Sonor's editor and preview: exact section anchors, missing prose diagnostics, duplicate detection, and independent website placement.
11
+ - A saved heading ID keeps its image attached when that heading's wording changes; stale anchors are skipped rather than guessed.
12
+
13
+
3
14
  ## 8.1.0
4
15
 
5
16
  - **Supporting article photos.** The default `Article` server component places approved photo snapshots after the introduction or the opening paragraph of an exact section heading. Figures include descriptions, optional credit captions, intrinsic dimensions, and lazy loading. Missing or ambiguous headings are skipped; existing inline images aren't duplicated. Older articles render unchanged.
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @sonordev/site-kit
2
2
 
3
- All-in-one integration kit for [Sonor](https://sonor.io)-powered Next.js sites. One package, one env var, and the modules a site needs: SEO, Analytics, Forms, Articles, Website chat, Popups, GEO/AEO, Booking, Reputation, A/B Testing, and more, all managed from the Sonor dashboard at [app.sonor.io](https://app.sonor.io). Products, events and memberships come from the companion package [`@sonordev/commerce-kit`](https://sonor.dev/commerce-kit), which builds on site-kit.
3
+ All-in-one integration kit for [Sonor](https://sonor.io)-powered Next.js sites. One shared foundation and one env var for the modules a site needs: SEO, Analytics, Forms, Website chat, Popups, GEO/AEO, Booking, Reputation, A/B Testing, and more, all managed from the Sonor dashboard at [app.sonor.io](https://app.sonor.io). Products, events and memberships come from the companion package [`@sonordev/commerce-kit`](https://sonor.dev/commerce-kit), which builds on site-kit.
4
+
5
+ Articles, publications and Broadcast-powered editorial artwork live in [`@sonordev/press-kit`](https://www.npmjs.com/package/@sonordev/press-kit), a companion built on Site Kit. Legacy article imports remain compatible in 8.x.
4
6
 
5
7
  ## Install
6
8
 
@@ -10,6 +12,8 @@ npm install @sonordev/site-kit
10
12
 
11
13
  Selling products, events or memberships? Add the companion package too: `npm install @sonordev/commerce-kit`. See [Commerce and memberships](#commerce-and-memberships).
12
14
 
15
+ Publishing articles? Add `npm install @sonordev/press-kit` alongside Site Kit 8.3 or newer. See [Moving to Press Kit](docs/MIGRATING-TO-PRESS-KIT.md).
16
+
13
17
  ## What's new in 8.0
14
18
 
15
19
  - **Commerce and memberships are their own package.** Products, services, events, checkout and the new memberships module now live in [`@sonordev/commerce-kit`](https://sonor.dev/commerce-kit), which builds on site-kit and releases on its own. A site that doesn't sell anything changes nothing. A site that does swaps the package name in its imports: `npx sonor-setup codemod --only site-kit-8 --write`, then install and build. See [docs/MIGRATING-TO-8.md](docs/MIGRATING-TO-8.md).
@@ -112,7 +116,7 @@ Every module has its own README in `src/<module>/README.md` with full API docs,
112
116
 
113
117
  | Module | Import | Purpose | Docs |
114
118
  |--------|--------|---------|------|
115
- | **Articles** | `@sonordev/site-kit/articles` | Sonor-managed articles with SSG, topic clusters, E-E-A-T | [README](src/articles/README.md) |
119
+ | **Articles** | `@sonordev/press-kit/articles` | Sonor-managed articles with SSG, topic clusters, E-E-A-T | [README](src/articles/README.md) |
116
120
  | **Images** | `@sonordev/site-kit/website/images` | Managed image slots with dev-mode editing | [README](src/images/README.md) |
117
121
  | **Reputation** | `@sonordev/site-kit/reputation` | Reviews, testimonials, rating stats | [README](src/reputation/README.md) |
118
122
 
@@ -219,8 +223,8 @@ import { AnalyticsProvider, useAnalytics, WebVitals } from '@sonordev/site-kit/a
219
223
  import { ManagedForm, useForm, formsApi, field } from '@sonordev/site-kit/forms'
220
224
 
221
225
  // Articles (server components; keeps server-only data helpers out of client bundles)
222
- import { Article, ArticleList, ClusterLandingPage } from '@sonordev/site-kit/articles/server-ui'
223
- import { getArticle, generateArticleStaticParams } from '@sonordev/site-kit/articles/server'
226
+ import { Article, ArticleList, ClusterLandingPage } from '@sonordev/press-kit/articles/server-ui'
227
+ import { getArticle, generateArticleStaticParams } from '@sonordev/press-kit/articles/server'
224
228
 
225
229
  // Commerce and memberships are their own package: npm install @sonordev/commerce-kit
226
230
  import { OfferingCard, ProductPage, EventCalendar } from '@sonordev/commerce-kit/commerce'
@@ -336,7 +340,7 @@ Fully typed. All types are exported from their respective module paths:
336
340
  ```ts
337
341
  import type { LLMsDataResponse, GenerateLLMSTxtOptions } from '@sonordev/site-kit/seo/llms'
338
342
  import type { ManagedFormConfig, UseFormReturn } from '@sonordev/site-kit/forms'
339
- import type { Article, TopicCluster } from '@sonordev/site-kit/articles'
343
+ import type { Article, TopicCluster } from '@sonordev/press-kit/articles'
340
344
  import type { SiteKitLayoutProps } from '@sonordev/site-kit/layout'
341
345
  import type { CommerceOffering } from '@sonordev/commerce-kit' // commerce types live in commerce-kit
342
346
  ```
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@sonordev/site-kit",
4
- "version": "8.1.0",
4
+ "version": "8.3.0",
5
5
  "description": "Machine-readable manifest for coding agents integrating a site with Sonor. See AGENTS.md (shipped) and docs/SITE-KIT-AGENT-NATIVE.md.",
6
6
  "env": {
7
7
  "required": [
@@ -54,7 +54,7 @@
54
54
  "name": "codemod",
55
55
  "json": true,
56
56
  "interactive": false,
57
- "purpose": "Deterministic migration of a 2.x-7.x site to the current site-kit (uptrade-to-sonor, provider-to-layout, analytics-sibling, site-kit-7, site-kit-8, next-16-proxy). site-kit-8 moves commerce imports to @sonordev/commerce-kit and adds the dependency. Dry-run by default; --write applies; --check gates (exit 1 if pending)."
57
+ "purpose": "Deterministic migration of a 2.x-7.x site to the current site-kit (uptrade-to-sonor, provider-to-layout, analytics-sibling, site-kit-7, site-kit-8, next-16-proxy). site-kit-8 moves commerce imports to @sonordev/commerce-kit and article imports to @sonordev/press-kit; it adds dependencies and raises site-kit to the required version (8.3 for Press Kit). Dry-run by default; --write applies; --check gates (exit 1 if pending). --only press-kit migrates only article imports and dependencies, preserving commerce code and dependencies; it shares the same migration engine."
58
58
  },
59
59
  {
60
60
  "name": "manifest",
@@ -90,7 +90,7 @@
90
90
  "name": "mcp",
91
91
  "json": true,
92
92
  "interactive": false,
93
- "purpose": "Give agents the site's tools: writes the MCP server (site-kit's built-in Sonor tools), the endpoint with tool-call reporting, the canonical server card and compatibility aliases, the experimental AI catalog, and on Netlify the rate-limited relay. Never overwrites without --force; --dry-run to preview."
93
+ "purpose": "Give agents the site's tools: writes the MCP server (site-kit's built-in Sonor tools), the endpoint with tool-call reporting, the canonical server card and compatibility aliases, the experimental AI catalog, and on Netlify the rate-limited relay. Never overwrites without --force; --dry-run to preview. Articles use Press Kit readers (requires installed Site Kit >=8.3); --no-articles needs no Press Kit and retains the 7.3 discovery minimum."
94
94
  },
95
95
  {
96
96
  "name": "next16",
@@ -161,20 +161,22 @@
161
161
  "name": "articles",
162
162
  "import": "@sonordev/site-kit/articles",
163
163
  "side": "client",
164
- "purpose": "Client-only article pieces: TableOfContents, ArticleFAQ, AuthorCard, AuthorPage, ServiceCallout, NewsletterWidget, ClusterNavigation, ArticleViewTracker. Types for every article component.",
165
- "caution": "Stamped 'use client' at build time. It exports no async server components: Article, ArticleList, PublicationLayout, PublicationPage, ArticlePage, CategoryPage, PublicationSidebar, RelatedPosts and ClusterLandingPage come from @sonordev/site-kit/articles/server-ui."
164
+ "purpose": "Compatibility entry since Site Kit 8.3. Preferred import: @sonordev/press-kit/articles. Client-only article pieces: TableOfContents, ArticleFAQ, AuthorCard, AuthorPage, ServiceCallout, NewsletterWidget, ClusterNavigation, ArticleViewTracker. Types for every article component.",
165
+ "caution": "New integrations use @sonordev/press-kit/articles. Install @sonordev/press-kit with Site Kit >=8.3. Legacy Site Kit imports remain supported in 8.x. Stamped 'use client' at build time. It exports no async server components: Article, ArticleList, PublicationLayout, PublicationPage, ArticlePage, CategoryPage, PublicationSidebar, RelatedPosts and ClusterLandingPage come from @sonordev/press-kit/articles/server-ui."
166
166
  },
167
167
  {
168
168
  "name": "articles/server",
169
169
  "import": "@sonordev/site-kit/articles/server",
170
170
  "side": "server",
171
- "purpose": "Server-only article data, SSG, metadata, schema, RSS/Atom feeds (20 newest by default), article sitemap with images, and a Google News sitemap. Shared publication routing supports basePath, includeCategoryInPath and custom postPath/categoryPath; resolveArticleArtwork separates article art from full cards; wrapArticleTables supplies accessible article tables."
171
+ "purpose": "Compatibility entry since Site Kit 8.3. Preferred import: @sonordev/press-kit/articles/server. Server-only article data, SSG, metadata, schema, RSS/Atom feeds (20 newest by default), article sitemap with images, and a Google News sitemap. Shared publication routing supports basePath, includeCategoryInPath and custom postPath/categoryPath; resolveArticleArtwork separates article art from full cards; wrapArticleTables supplies accessible article tables.",
172
+ "caution": "New integrations use @sonordev/press-kit/articles/server. Install @sonordev/press-kit with Site Kit >=8.3. Legacy Site Kit imports remain supported in 8.x. "
172
173
  },
173
174
  {
174
175
  "name": "articles/server-ui",
175
176
  "import": "@sonordev/site-kit/articles/server-ui",
176
177
  "side": "server",
177
- "purpose": "RSC-safe article UI: Article, ArticleList, PublicationLayout, PublicationSidebar, RelatedPosts, ClusterLandingPage, ClusterNavigation, and page helpers. Pass a shared routing object (basePath defaults to /articles) so a site keeps its own publication path. Article art, complete generated cards and themed table scrolling are handled by default."
178
+ "purpose": "Compatibility entry since Site Kit 8.3. Preferred import: @sonordev/press-kit/articles/server-ui. RSC-safe article UI: Article, ArticleList, PublicationLayout, PublicationSidebar, RelatedPosts, ClusterLandingPage, ClusterNavigation, and page helpers. Pass a shared routing object (basePath defaults to /articles) so a site keeps its own publication path. Article art, complete generated cards and themed table scrolling are handled by default.",
179
+ "caution": "New integrations use @sonordev/press-kit/articles/server-ui. Install @sonordev/press-kit with Site Kit >=8.3. Legacy Site Kit imports remain supported in 8.x. "
178
180
  },
179
181
  {
180
182
  "name": "sync",
@@ -290,7 +292,7 @@
290
292
  "name": "mcp/sonor",
291
293
  "import": "@sonordev/site-kit/mcp/sonor",
292
294
  "side": "server",
293
- "purpose": "The MCP tools every Sonor site can serve with no code: sonorMcpServer / sonorMcpTools (get_business_profile, list_services, search_faq, find_pages, list_articles, get_article, get_reviews; opt-in list_offerings, check_availability, get_inquiry_form + send_inquiry through Sonor's agent-inquiry door) and reportToolCallsToSonor (createMcpHandler's onToolCall: which agents used the site). Mount with `npx sonor-setup mcp`."
295
+ "purpose": "The MCP tools every Sonor site can serve with no code: sonorMcpServer / sonorMcpTools (get_business_profile, list_services, search_faq, find_pages, list_articles, get_article, get_reviews; opt-in list_offerings, check_availability, get_inquiry_form + send_inquiry through Sonor's agent-inquiry door) and reportToolCallsToSonor (createMcpHandler's onToolCall: which agents used the site). Mount with `npx sonor-setup mcp`. Article tools accept articles: { path, readMany: getAllArticles, readOne: getArticle } from @sonordev/press-kit/articles/server (Site Kit >=8.3); articles:false omits them. Existing 8.x servers retain legacy readers."
294
296
  },
295
297
  {
296
298
  "name": "admin-auth",
@@ -643,9 +645,39 @@
643
645
  "movedTo": [
644
646
  "@sonordev/site-kit/website/landing/server"
645
647
  ]
648
+ },
649
+ {
650
+ "name": "shared",
651
+ "import": "@sonordev/site-kit/shared",
652
+ "side": "shared",
653
+ "purpose": "Framework-free shared URL/site/JSON-LD helpers for companion kits: withSiteParam, withSiteBody, resolveSiteHost, readPublishedSite, applyTrailingSlash, resolveTrailingSlash and safeJsonLd. Unstamped; safe for server and client imports."
646
654
  }
647
655
  ],
648
656
  "relocated": [
657
+ {
658
+ "from": "@sonordev/site-kit/articles",
659
+ "to": "@sonordev/press-kit/articles",
660
+ "package": "@sonordev/press-kit",
661
+ "range": "^1.0.0",
662
+ "since": "8.3.0",
663
+ "compatibility": "Legacy site-kit article imports remain supported in 8.x; Press Kit is preferred for new and migrated integrations."
664
+ },
665
+ {
666
+ "from": "@sonordev/site-kit/articles/server",
667
+ "to": "@sonordev/press-kit/articles/server",
668
+ "package": "@sonordev/press-kit",
669
+ "range": "^1.0.0",
670
+ "since": "8.3.0",
671
+ "compatibility": "Legacy site-kit article imports remain supported in 8.x; Press Kit is preferred for new and migrated integrations."
672
+ },
673
+ {
674
+ "from": "@sonordev/site-kit/articles/server-ui",
675
+ "to": "@sonordev/press-kit/articles/server-ui",
676
+ "package": "@sonordev/press-kit",
677
+ "range": "^1.0.0",
678
+ "since": "8.3.0",
679
+ "compatibility": "Legacy site-kit article imports remain supported in 8.x; Press Kit is preferred for new and migrated integrations."
680
+ },
649
681
  {
650
682
  "from": "@sonordev/site-kit/commerce",
651
683
  "to": "@sonordev/commerce-kit/commerce",
@@ -676,6 +708,13 @@
676
708
  }
677
709
  ],
678
710
  "relocatedTypes": [
711
+ {
712
+ "from": "@sonordev/site-kit",
713
+ "types": [],
714
+ "to": "@sonordev/press-kit",
715
+ "range": "^1.0.0",
716
+ "since": "8.3.0"
717
+ },
679
718
  {
680
719
  "from": "@sonordev/site-kit",
681
720
  "types": [
@@ -1,13 +1,13 @@
1
- export { AnalyticsProvider, useAnalytics, useAnalyticsOptional, useTrackEvent } from './chunk-TAO6BVA2.js';
1
+ export { AnalyticsProvider, useAnalytics, useAnalyticsOptional, useTrackEvent } from './chunk-EA6FZMYA.js';
2
2
  import './chunk-LCDVPAMR.js';
3
3
  import './chunk-ZKADJNR2.js';
4
4
  import './chunk-L2V5PUFN.js';
5
5
  import './chunk-5TM3WPCI.js';
6
6
  import './chunk-GJWI74ZZ.js';
7
- import './chunk-CAH4Y4PY.js';
7
+ import './chunk-JO76F5WP.js';
8
8
  import './chunk-EKBEOXTH.js';
9
- import './chunk-3G7YABRA.js';
10
- import './chunk-WPOFTCKL.js';
11
- import './chunk-F2VYN3QL.js';
12
- import './chunk-NWVB75ER.js';
9
+ import './chunk-OIWFXUVD.js';
10
+ import './chunk-C4AFNZT2.js';
11
+ import './chunk-W7OPEMGJ.js';
12
+ import './chunk-C2UROFGZ.js';
13
13
  import './chunk-PKBMQBKP.js';
@@ -1,4 +1,4 @@
1
- import { ArticleFAQ } from './chunk-GKGSXUVQ.js';
1
+ import { ArticleFAQ } from './chunk-BVB5FBAA.js';
2
2
  import './chunk-PKBMQBKP.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -1,19 +1,30 @@
1
1
  'use client';
2
+ import './chunk-IEGDPRQB.js';
3
+ import './chunk-B7T2SFUF.js';
4
+ import './chunk-U7Y3QG3A.js';
5
+ import './chunk-6T6CQVNL.js';
6
+ import './chunk-5ROTTMBL.js';
2
7
  import { useDeferredActivation } from './chunk-YC7ELZS3.js';
8
+ import './chunk-H72ZFO3F.js';
9
+ import './chunk-4KZ6W3ZH.js';
3
10
  import { withSiteBody } from './chunk-MJP63SSS.js';
11
+ import './chunk-YVKRYQRG.js';
4
12
  import './chunk-FESKKJAS.js';
5
13
  import './chunk-A4CC4ZG3.js';
6
- import { readPublishedApiConfig } from './chunk-3G7YABRA.js';
7
- import { sonorFetch } from './chunk-WPOFTCKL.js';
8
- import './chunk-F2VYN3QL.js';
9
- import './chunk-NWVB75ER.js';
14
+ import './chunk-LCDVPAMR.js';
15
+ import './chunk-ZKADJNR2.js';
16
+ import './chunk-5TM3WPCI.js';
17
+ import './chunk-GJWI74ZZ.js';
18
+ import { sonorFetch } from './chunk-OIWFXUVD.js';
19
+ import './chunk-C4AFNZT2.js';
20
+ import { readPublishedApiConfig, readPublishedSite } from './chunk-W7OPEMGJ.js';
21
+ import './chunk-C2UROFGZ.js';
10
22
  import './chunk-PKBMQBKP.js';
11
23
  import { useEffect } from 'react';
12
24
 
13
25
  var SESSION_KEY_PREFIX = "__sonor_article_viewed__:";
14
26
  function trackArticleView(slug, site) {
15
27
  if (!slug || typeof window === "undefined") return;
16
- const w = window;
17
28
  const { apiUrl: baseUrl, apiKey } = readPublishedApiConfig();
18
29
  if (!baseUrl || !apiKey) return;
19
30
  const key = `${SESSION_KEY_PREFIX}${slug}`;
@@ -26,7 +37,7 @@ function trackArticleView(slug, site) {
26
37
  {
27
38
  method: "POST",
28
39
  headers: { "Content-Type": "application/json" },
29
- body: JSON.stringify(withSiteBody({ slug }, site || w.__SITE_KIT_SITE__))
40
+ body: JSON.stringify(withSiteBody({ slug }, site || readPublishedSite()))
30
41
  },
31
42
  { retries: 0 }
32
43
  ).then((res) => {
@@ -1,14 +1,14 @@
1
1
  'use client';
2
- import { getSiteDesignTokens } from './chunk-DSNCU2E3.js';
2
+ import { getSiteDesignTokens } from './chunk-TT4JZDKM.js';
3
3
  import { DEFAULT_POPUP_TOKENS, PopupBlocks } from './chunk-BF7TZYC3.js';
4
4
  import { normalizePopupBlocks, toHexColor, readableOn } from './chunk-IHG36STL.js';
5
5
  import './chunk-S22FSH7C.js';
6
- import './chunk-CAH4Y4PY.js';
6
+ import './chunk-JO76F5WP.js';
7
7
  import './chunk-EKBEOXTH.js';
8
- import './chunk-3G7YABRA.js';
9
- import './chunk-WPOFTCKL.js';
10
- import './chunk-F2VYN3QL.js';
11
- import './chunk-NWVB75ER.js';
8
+ import './chunk-OIWFXUVD.js';
9
+ import './chunk-C4AFNZT2.js';
10
+ import './chunk-W7OPEMGJ.js';
11
+ import './chunk-C2UROFGZ.js';
12
12
  import './chunk-PKBMQBKP.js';
13
13
  import { useState } from 'react';
14
14
  import { jsx } from 'react/jsx-runtime';
@@ -1,8 +1,8 @@
1
- export { ChatWidget, EchoChat, isChatEnabled } from './chunk-CSTC6HZO.js';
1
+ export { ChatWidget, EchoChat, isChatEnabled } from './chunk-HND6BDXC.js';
2
2
  import './chunk-6T6CQVNL.js';
3
3
  import './chunk-JE4A5S4F.js';
4
4
  import './chunk-27FISYK4.js';
5
- import './chunk-S6IGQYHW.js';
5
+ import './chunk-MQ4REMTH.js';
6
6
  import './chunk-Q6E4OPGG.js';
7
7
  import './chunk-5ROTTMBL.js';
8
8
  import './chunk-C2FZBUSS.js';
@@ -13,8 +13,8 @@ import './chunk-S22FSH7C.js';
13
13
  import './chunk-L2V5PUFN.js';
14
14
  import './chunk-5TM3WPCI.js';
15
15
  import './chunk-GJWI74ZZ.js';
16
- import './chunk-3G7YABRA.js';
17
- import './chunk-WPOFTCKL.js';
18
- import './chunk-F2VYN3QL.js';
19
- import './chunk-NWVB75ER.js';
16
+ import './chunk-OIWFXUVD.js';
17
+ import './chunk-C4AFNZT2.js';
18
+ import './chunk-W7OPEMGJ.js';
19
+ import './chunk-C2UROFGZ.js';
20
20
  import './chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { getClientApiConfig } from './chunk-3G7YABRA.js';
3
- import { sonorFetch } from './chunk-WPOFTCKL.js';
4
- import './chunk-F2VYN3QL.js';
5
- import './chunk-NWVB75ER.js';
2
+ import { sonorFetch } from './chunk-OIWFXUVD.js';
3
+ import './chunk-C4AFNZT2.js';
4
+ import { getClientApiConfig } from './chunk-W7OPEMGJ.js';
5
+ import './chunk-C2UROFGZ.js';
6
6
  import './chunk-PKBMQBKP.js';
7
7
  import React from 'react';
8
8
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { StageStyles, SummaryTick } from './chunk-3YKQLC7J.js';
3
- import { stageFirstName, useFieldControls, stageViews, stageEstimate, AUTO_ADVANCE_TYPES } from './chunk-XUCU3LX4.js';
3
+ import { stageFirstName, useFieldControls, stageViews, stageEstimate, AUTO_ADVANCE_TYPES } from './chunk-DPSNMOMZ.js';
4
4
  import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
5
5
  import { isEmptyValue, unseenControlValues, isDisplayOnly } from './chunk-C2FZBUSS.js';
6
6
  import { FormField } from './chunk-TYAVHRWH.js';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { StageStyles, SummaryTick } from './chunk-3YKQLC7J.js';
3
- import { useFieldControls, stageViews, stageFirstName, stageEstimate, formatAnswer, AUTO_ADVANCE_TYPES } from './chunk-XUCU3LX4.js';
3
+ import { useFieldControls, stageViews, stageFirstName, stageEstimate, formatAnswer, AUTO_ADVANCE_TYPES } from './chunk-DPSNMOMZ.js';
4
4
  import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
5
5
  import { isEmptyValue, unseenControlValues } from './chunk-C2FZBUSS.js';
6
6
  import { FormField } from './chunk-TYAVHRWH.js';
@@ -1,6 +1,6 @@
1
- export { ManagedForm } from './chunk-5L467Z5Q.js';
2
- import './chunk-XUCU3LX4.js';
3
- import './chunk-S6IGQYHW.js';
1
+ export { ManagedForm } from './chunk-XLAXYPTK.js';
2
+ import './chunk-DPSNMOMZ.js';
3
+ import './chunk-MQ4REMTH.js';
4
4
  import './chunk-Q6E4OPGG.js';
5
5
  import './chunk-5ROTTMBL.js';
6
6
  import './chunk-C2FZBUSS.js';
@@ -12,8 +12,8 @@ import './chunk-NJCTQH2P.js';
12
12
  import './chunk-L2V5PUFN.js';
13
13
  import './chunk-5TM3WPCI.js';
14
14
  import './chunk-GJWI74ZZ.js';
15
- import './chunk-3G7YABRA.js';
16
- import './chunk-WPOFTCKL.js';
17
- import './chunk-F2VYN3QL.js';
18
- import './chunk-NWVB75ER.js';
15
+ import './chunk-OIWFXUVD.js';
16
+ import './chunk-C4AFNZT2.js';
17
+ import './chunk-W7OPEMGJ.js';
18
+ import './chunk-C2UROFGZ.js';
19
19
  import './chunk-PKBMQBKP.js';
@@ -1,19 +1,28 @@
1
- import { useForm } from './chunk-S6IGQYHW.js';
1
+ import './chunk-X4IJS7LV.js';
2
+ import './chunk-XLAXYPTK.js';
3
+ import './chunk-DPSNMOMZ.js';
4
+ import './chunk-SOD2F6C2.js';
5
+ import './chunk-YGGDU6C3.js';
6
+ import { useForm } from './chunk-MQ4REMTH.js';
2
7
  import './chunk-Q6E4OPGG.js';
3
8
  import './chunk-5ROTTMBL.js';
9
+ import './chunk-5RYSTKVU.js';
4
10
  import './chunk-C2FZBUSS.js';
11
+ import './chunk-YC7ELZS3.js';
12
+ import './chunk-DXO6SBMD.js';
13
+ import './chunk-TYAVHRWH.js';
5
14
  import './chunk-5SQK3D53.js';
6
15
  import './chunk-HW7B43E5.js';
7
16
  import './chunk-NJCTQH2P.js';
8
- import { NewsletterShell } from './chunk-SC4MZGWZ.js';
9
- import './chunk-GYF2ULVO.js';
17
+ import { NewsletterShell } from './chunk-LBDWAXAO.js';
18
+ import './chunk-DJAYFHVF.js';
10
19
  import './chunk-L2V5PUFN.js';
11
20
  import './chunk-5TM3WPCI.js';
12
21
  import './chunk-GJWI74ZZ.js';
13
- import './chunk-3G7YABRA.js';
14
- import './chunk-WPOFTCKL.js';
15
- import './chunk-F2VYN3QL.js';
16
- import './chunk-NWVB75ER.js';
22
+ import './chunk-OIWFXUVD.js';
23
+ import './chunk-C4AFNZT2.js';
24
+ import './chunk-W7OPEMGJ.js';
25
+ import './chunk-C2UROFGZ.js';
17
26
  import './chunk-PKBMQBKP.js';
18
27
  import { jsx } from 'react/jsx-runtime';
19
28
 
@@ -3,10 +3,10 @@ import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-ZKADJNR2.js'
3
3
  import { onPageLeave } from './chunk-L2V5PUFN.js';
4
4
  import './chunk-5TM3WPCI.js';
5
5
  import './chunk-GJWI74ZZ.js';
6
- import { getClientApiConfig } from './chunk-3G7YABRA.js';
7
- import { sonorFetch } from './chunk-WPOFTCKL.js';
8
- import { getFreshCredential, isSiteToken } from './chunk-F2VYN3QL.js';
9
- import './chunk-NWVB75ER.js';
6
+ import { sonorFetch } from './chunk-OIWFXUVD.js';
7
+ import { getFreshCredential, isSiteToken } from './chunk-C4AFNZT2.js';
8
+ import { getClientApiConfig } from './chunk-W7OPEMGJ.js';
9
+ import './chunk-C2UROFGZ.js';
10
10
  import './chunk-PKBMQBKP.js';
11
11
  import { useState, useRef, useEffect, useCallback } from 'react';
12
12
 
@@ -0,0 +1,6 @@
1
+ export { SiteChat } from './chunk-E3UR37RX.js';
2
+ import './chunk-27FISYK4.js';
3
+ import './chunk-JO76F5WP.js';
4
+ import './chunk-EKBEOXTH.js';
5
+ import './chunk-W7OPEMGJ.js';
6
+ import './chunk-PKBMQBKP.js';
@@ -0,0 +1,12 @@
1
+ export { SiteDesignReporter } from './chunk-QBCWVT2S.js';
2
+ import './chunk-TT4JZDKM.js';
3
+ import './chunk-IHG36STL.js';
4
+ import './chunk-YC7ELZS3.js';
5
+ import './chunk-S22FSH7C.js';
6
+ import './chunk-JO76F5WP.js';
7
+ import './chunk-EKBEOXTH.js';
8
+ import './chunk-OIWFXUVD.js';
9
+ import './chunk-C4AFNZT2.js';
10
+ import './chunk-W7OPEMGJ.js';
11
+ import './chunk-C2UROFGZ.js';
12
+ import './chunk-PKBMQBKP.js';
@@ -1,13 +1,13 @@
1
- export { SitePopups } from './chunk-LLW5HKEE.js';
1
+ export { SitePopups } from './chunk-GKJVSZ7H.js';
2
2
  import './chunk-27FISYK4.js';
3
3
  import './chunk-5ROTTMBL.js';
4
4
  import './chunk-ZKADJNR2.js';
5
5
  import './chunk-5TM3WPCI.js';
6
6
  import './chunk-GJWI74ZZ.js';
7
- import './chunk-CAH4Y4PY.js';
7
+ import './chunk-JO76F5WP.js';
8
8
  import './chunk-EKBEOXTH.js';
9
- import './chunk-3G7YABRA.js';
10
- import './chunk-WPOFTCKL.js';
11
- import './chunk-F2VYN3QL.js';
12
- import './chunk-NWVB75ER.js';
9
+ import './chunk-OIWFXUVD.js';
10
+ import './chunk-C4AFNZT2.js';
11
+ import './chunk-W7OPEMGJ.js';
12
+ import './chunk-C2UROFGZ.js';
13
13
  import './chunk-PKBMQBKP.js';
@@ -0,0 +1,9 @@
1
+ export { SitemapSync } from './chunk-SCTVADDL.js';
2
+ import './chunk-YVKRYQRG.js';
3
+ import './chunk-JO76F5WP.js';
4
+ import './chunk-EKBEOXTH.js';
5
+ import './chunk-OIWFXUVD.js';
6
+ import './chunk-C4AFNZT2.js';
7
+ import './chunk-W7OPEMGJ.js';
8
+ import './chunk-C2UROFGZ.js';
9
+ import './chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- export { BookingWidget, BookingWidget_default as default } from '../chunk-55GHBRCN.js';
3
- import '../chunk-2JEUDTL6.js';
4
- import '../chunk-3G7YABRA.js';
5
- import '../chunk-WPOFTCKL.js';
6
- import '../chunk-F2VYN3QL.js';
7
- import '../chunk-NWVB75ER.js';
2
+ export { BookingWidget, BookingWidget_default as default } from '../chunk-4PVMUPC6.js';
3
+ import '../chunk-WBUG7XRL.js';
4
+ import '../chunk-OIWFXUVD.js';
5
+ import '../chunk-C4AFNZT2.js';
6
+ import '../chunk-W7OPEMGJ.js';
7
+ import '../chunk-C2UROFGZ.js';
8
8
  import '../chunk-PKBMQBKP.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- export { TestimonialSection } from '../chunk-6CJGZFOU.js';
2
+ export { TestimonialSection } from '../chunk-A4MPHIVP.js';
3
3
  import '../chunk-CAT235HY.js';
4
- import '../chunk-NFRJTOTB.js';
4
+ import '../chunk-BSQP6PRA.js';
5
5
  import '../chunk-MH2DSGC6.js';
6
- import '../chunk-3G7YABRA.js';
6
+ import '../chunk-W7OPEMGJ.js';
7
7
  import '../chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { getClientApiConfig } from '../chunk-3G7YABRA.js';
3
- import { sonorFetch } from '../chunk-WPOFTCKL.js';
4
- import '../chunk-F2VYN3QL.js';
5
- import '../chunk-NWVB75ER.js';
2
+ import { sonorFetch } from '../chunk-OIWFXUVD.js';
3
+ import '../chunk-C4AFNZT2.js';
4
+ import { getClientApiConfig } from '../chunk-W7OPEMGJ.js';
5
+ import '../chunk-C2UROFGZ.js';
6
6
  import '../chunk-PKBMQBKP.js';
7
7
  import { useState, useEffect } from 'react';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,17 +1,17 @@
1
1
  'use client';
2
- export { AnalyticsProvider, WebVitals, useAnalytics, useAnalyticsOptional, useTrackEvent } from '../chunk-TAO6BVA2.js';
2
+ export { AnalyticsProvider, WebVitals, useAnalytics, useAnalyticsOptional, useTrackEvent } from '../chunk-EA6FZMYA.js';
3
3
  import { trackConversion } from '../chunk-LCDVPAMR.js';
4
4
  export { trackConversion, trackEvent } from '../chunk-LCDVPAMR.js';
5
5
  import '../chunk-ZKADJNR2.js';
6
6
  import '../chunk-L2V5PUFN.js';
7
7
  import '../chunk-5TM3WPCI.js';
8
8
  import '../chunk-GJWI74ZZ.js';
9
- export { isCrossOriginFrame, isFramed, isTopFrameSameOrigin } from '../chunk-CAH4Y4PY.js';
9
+ export { isCrossOriginFrame, isFramed, isTopFrameSameOrigin } from '../chunk-JO76F5WP.js';
10
10
  import '../chunk-EKBEOXTH.js';
11
- import '../chunk-3G7YABRA.js';
12
- import '../chunk-WPOFTCKL.js';
13
- import '../chunk-F2VYN3QL.js';
14
- import '../chunk-NWVB75ER.js';
11
+ import '../chunk-OIWFXUVD.js';
12
+ import '../chunk-C4AFNZT2.js';
13
+ import '../chunk-W7OPEMGJ.js';
14
+ import '../chunk-C2UROFGZ.js';
15
15
  import '../chunk-PKBMQBKP.js';
16
16
  import { useCallback, useEffect } from 'react';
17
17
 
@@ -1,8 +1,8 @@
1
- import { articlePhotoCss } from './chunk-2UO4HPGE.js';
2
- import { articleTableCss } from './chunk-Y3INC4QJ.js';
1
+ import { articlePhotoCss } from './chunk-M5SF7NCC.js';
2
+ import { articleTableCss } from './chunk-E4PTMORJ.js';
3
3
  import './chunk-PKBMQBKP.js';
4
4
 
5
- // src/articles/article-styles.ts
5
+ // packages/press-kit/src/articles/article-styles.ts
6
6
  var articleCss = (
7
7
  /* css */
8
8
  `
@@ -0,0 +1,2 @@
1
+ export { articleTableCss, wrapArticleTables } from './chunk-E4PTMORJ.js';
2
+ import './chunk-PKBMQBKP.js';