@sonordev/site-kit 8.1.0 → 8.2.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 (84) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/agent-manifest.json +1 -1
  3. package/dist/{AnalyticsProvider-UWTCE5UO.js → AnalyticsProvider-6TAA3XYB.js} +4 -4
  4. package/dist/{ArticleViewTracker-MYD6SGNH.js → ArticleViewTracker-H4N7YCLC.js} +3 -3
  5. package/dist/{BlocksPopup-OY5G3EFH.js → BlocksPopup-FJT5YQD3.js} +4 -4
  6. package/dist/{ChatWidget-BTR5VERC.js → ChatWidget-THQHHTAA.js} +5 -5
  7. package/dist/{FileField-DEHVYXAO.js → FileField-OZXXJGUM.js} +3 -3
  8. package/dist/{FormSpotlight-VGC4CZL4.js → FormSpotlight-MLDJS246.js} +1 -1
  9. package/dist/{FormStage-CJUSCSAL.js → FormStage-6RVY7M3R.js} +1 -1
  10. package/dist/{ManagedForm-JCI2KPMO.js → ManagedForm-3VV54RVH.js} +6 -6
  11. package/dist/{ManagedNewsletterForm-DTE4KKXV.js → ManagedNewsletterForm-RTJDGMGG.js} +4 -4
  12. package/dist/{SignalCore-LGCBQDEH.js → SignalCore-T7ZOCA44.js} +3 -3
  13. package/dist/{SiteChat-6SF7PVUT.js → SiteChat-JSHPGAE3.js} +1 -1
  14. package/dist/{SiteDesignReporter-VISQZ5NQ.js → SiteDesignReporter-L2JBAKKK.js} +5 -5
  15. package/dist/{SitePopups-T6YPHAVY.js → SitePopups-K6ADAWFK.js} +4 -4
  16. package/dist/{SitemapSync-VKMVRPZL.js → SitemapSync-VV2YSMIW.js} +4 -4
  17. package/dist/_client/booking-widget.js +5 -5
  18. package/dist/affiliates/index.js +3 -3
  19. package/dist/analytics/index.js +4 -4
  20. package/dist/{article-styles-GGZOQG5X.js → article-styles-GFXJJDLE.js} +1 -1
  21. package/dist/articles/index.js +1 -1
  22. package/dist/articles/server-ui.js +6 -6
  23. package/dist/articles/server.js +2 -2
  24. package/dist/articles/types.d.ts +1 -0
  25. package/dist/chat/index.js +6 -6
  26. package/dist/{chunk-F2VYN3QL.js → chunk-3EU6S5YC.js} +1 -1
  27. package/dist/{chunk-AIDIEVPZ.js → chunk-575L73NT.js} +1 -1
  28. package/dist/{chunk-255NCCPB.js → chunk-57K4GW3D.js} +1 -1
  29. package/dist/{chunk-6VHDCJIZ.js → chunk-5ZCY36TY.js} +1 -1
  30. package/dist/{chunk-55GHBRCN.js → chunk-66G47P5C.js} +1 -1
  31. package/dist/{chunk-WPOFTCKL.js → chunk-727R7C5R.js} +2 -2
  32. package/dist/{chunk-ADI6IYFH.js → chunk-7FSB2EXS.js} +1 -1
  33. package/dist/{chunk-O4DETQJI.js → chunk-BQZPHICL.js} +1 -1
  34. package/dist/{chunk-TAO6BVA2.js → chunk-EBILJHUF.js} +1 -1
  35. package/dist/{chunk-4Z3DI2EL.js → chunk-FQUGGPBM.js} +1 -1
  36. package/dist/{chunk-CSTC6HZO.js → chunk-FVXFLVXF.js} +2 -2
  37. package/dist/{chunk-5L467Z5Q.js → chunk-GWP2VBFH.js} +3 -3
  38. package/dist/{chunk-G2HCCWZQ.js → chunk-H4R2GPAB.js} +1 -1
  39. package/dist/{chunk-2UO4HPGE.js → chunk-HUBMKTPW.js} +73 -51
  40. package/dist/{chunk-DOMBP3FW.js → chunk-I6QFPSUU.js} +8 -8
  41. package/dist/{chunk-LLW5HKEE.js → chunk-JBEUZJS3.js} +2 -2
  42. package/dist/{chunk-XUCU3LX4.js → chunk-JC2VS2SB.js} +1 -1
  43. package/dist/{chunk-A3EU6HB5.js → chunk-NNEIBXGU.js} +1 -1
  44. package/dist/{chunk-NWVB75ER.js → chunk-Q72M5KBS.js} +1 -1
  45. package/dist/{chunk-JT52KYHQ.js → chunk-SMYX3AAO.js} +1 -1
  46. package/dist/{chunk-DSNCU2E3.js → chunk-WBC5B3JD.js} +2 -2
  47. package/dist/{chunk-IAYGTQJD.js → chunk-WK3N3Y7V.js} +1 -1
  48. package/dist/{chunk-RSBMQFZW.js → chunk-WSNG2K3T.js} +2 -2
  49. package/dist/{chunk-DZV3KPVF.js → chunk-WYZ4OUON.js} +1 -1
  50. package/dist/{chunk-V56RZH7J.js → chunk-X7VKRHFF.js} +1 -1
  51. package/dist/{chunk-2JEUDTL6.js → chunk-XWIRU6UT.js} +1 -1
  52. package/dist/{chunk-S6IGQYHW.js → chunk-YBAFUM3Z.js} +1 -1
  53. package/dist/{chunk-47VB5INH.js → chunk-ZM2FNWIQ.js} +1 -1
  54. package/dist/client/index.js +3 -3
  55. package/dist/contracts/editorial-media.d.ts +39 -0
  56. package/dist/contracts/entries.d.ts +1 -1
  57. package/dist/fleet/index.js +4 -4
  58. package/dist/forms/index.js +7 -7
  59. package/dist/forms/server.js +2 -2
  60. package/dist/images/index.js +4 -4
  61. package/dist/index.js +1 -1
  62. package/dist/layout/client.js +7 -7
  63. package/dist/layout/index.js +8 -8
  64. package/dist/llms/index.js +4 -4
  65. package/dist/maps/index.js +3 -3
  66. package/dist/mcp/sonor.js +8 -8
  67. package/dist/revalidate/index.js +2 -2
  68. package/dist/runtime/index.js +3 -3
  69. package/dist/seo/client.js +4 -4
  70. package/dist/seo/index.js +4 -4
  71. package/dist/seo/llms.js +4 -4
  72. package/dist/seo/register-sitemap-cli.js +1 -1
  73. package/dist/seo/sitemap.js +2 -2
  74. package/dist/server/index.js +2 -2
  75. package/dist/shared/version.d.ts +1 -1
  76. package/dist/signal/index.js +2 -2
  77. package/dist/sitemap/index.js +2 -2
  78. package/dist/sync/index.js +5 -5
  79. package/dist/website/images.js +4 -4
  80. package/dist/website/index.js +5 -5
  81. package/dist/website/popups.js +4 -4
  82. package/dist/{writeLLMsTxt-OS2WBSLM.js → writeLLMsTxt-DGKLYXIW.js} +1 -1
  83. package/package.json +1 -1
  84. /package/dist/{chunk-GC2QWXJ3.js → chunk-WACWV5EP.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @sonordev/site-kit Changelog
2
2
 
3
+ ## 8.2.0
4
+
5
+ - 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.
6
+ - A saved heading ID keeps its image attached when that heading's wording changes; stale anchors are skipped rather than guessed.
7
+
8
+
3
9
  ## 8.1.0
4
10
 
5
11
  - **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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@sonordev/site-kit",
4
- "version": "8.1.0",
4
+ "version": "8.2.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": [
@@ -1,4 +1,4 @@
1
- export { AnalyticsProvider, useAnalytics, useAnalyticsOptional, useTrackEvent } from './chunk-TAO6BVA2.js';
1
+ export { AnalyticsProvider, useAnalytics, useAnalyticsOptional, useTrackEvent } from './chunk-EBILJHUF.js';
2
2
  import './chunk-LCDVPAMR.js';
3
3
  import './chunk-ZKADJNR2.js';
4
4
  import './chunk-L2V5PUFN.js';
@@ -7,7 +7,7 @@ import './chunk-GJWI74ZZ.js';
7
7
  import './chunk-CAH4Y4PY.js';
8
8
  import './chunk-EKBEOXTH.js';
9
9
  import './chunk-3G7YABRA.js';
10
- import './chunk-WPOFTCKL.js';
11
- import './chunk-F2VYN3QL.js';
12
- import './chunk-NWVB75ER.js';
10
+ import './chunk-727R7C5R.js';
11
+ import './chunk-3EU6S5YC.js';
12
+ import './chunk-Q72M5KBS.js';
13
13
  import './chunk-PKBMQBKP.js';
@@ -4,9 +4,9 @@ import { withSiteBody } from './chunk-MJP63SSS.js';
4
4
  import './chunk-FESKKJAS.js';
5
5
  import './chunk-A4CC4ZG3.js';
6
6
  import { readPublishedApiConfig } from './chunk-3G7YABRA.js';
7
- import { sonorFetch } from './chunk-WPOFTCKL.js';
8
- import './chunk-F2VYN3QL.js';
9
- import './chunk-NWVB75ER.js';
7
+ import { sonorFetch } from './chunk-727R7C5R.js';
8
+ import './chunk-3EU6S5YC.js';
9
+ import './chunk-Q72M5KBS.js';
10
10
  import './chunk-PKBMQBKP.js';
11
11
  import { useEffect } from 'react';
12
12
 
@@ -1,14 +1,14 @@
1
1
  'use client';
2
- import { getSiteDesignTokens } from './chunk-DSNCU2E3.js';
2
+ import { getSiteDesignTokens } from './chunk-WBC5B3JD.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
6
  import './chunk-CAH4Y4PY.js';
7
7
  import './chunk-EKBEOXTH.js';
8
8
  import './chunk-3G7YABRA.js';
9
- import './chunk-WPOFTCKL.js';
10
- import './chunk-F2VYN3QL.js';
11
- import './chunk-NWVB75ER.js';
9
+ import './chunk-727R7C5R.js';
10
+ import './chunk-3EU6S5YC.js';
11
+ import './chunk-Q72M5KBS.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-FVXFLVXF.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-YBAFUM3Z.js';
6
6
  import './chunk-Q6E4OPGG.js';
7
7
  import './chunk-5ROTTMBL.js';
8
8
  import './chunk-C2FZBUSS.js';
@@ -14,7 +14,7 @@ import './chunk-L2V5PUFN.js';
14
14
  import './chunk-5TM3WPCI.js';
15
15
  import './chunk-GJWI74ZZ.js';
16
16
  import './chunk-3G7YABRA.js';
17
- import './chunk-WPOFTCKL.js';
18
- import './chunk-F2VYN3QL.js';
19
- import './chunk-NWVB75ER.js';
17
+ import './chunk-727R7C5R.js';
18
+ import './chunk-3EU6S5YC.js';
19
+ import './chunk-Q72M5KBS.js';
20
20
  import './chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { getClientApiConfig } from './chunk-3G7YABRA.js';
3
- import { sonorFetch } from './chunk-WPOFTCKL.js';
4
- import './chunk-F2VYN3QL.js';
5
- import './chunk-NWVB75ER.js';
3
+ import { sonorFetch } from './chunk-727R7C5R.js';
4
+ import './chunk-3EU6S5YC.js';
5
+ import './chunk-Q72M5KBS.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-JC2VS2SB.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-JC2VS2SB.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-GWP2VBFH.js';
2
+ import './chunk-JC2VS2SB.js';
3
+ import './chunk-YBAFUM3Z.js';
4
4
  import './chunk-Q6E4OPGG.js';
5
5
  import './chunk-5ROTTMBL.js';
6
6
  import './chunk-C2FZBUSS.js';
@@ -13,7 +13,7 @@ import './chunk-L2V5PUFN.js';
13
13
  import './chunk-5TM3WPCI.js';
14
14
  import './chunk-GJWI74ZZ.js';
15
15
  import './chunk-3G7YABRA.js';
16
- import './chunk-WPOFTCKL.js';
17
- import './chunk-F2VYN3QL.js';
18
- import './chunk-NWVB75ER.js';
16
+ import './chunk-727R7C5R.js';
17
+ import './chunk-3EU6S5YC.js';
18
+ import './chunk-Q72M5KBS.js';
19
19
  import './chunk-PKBMQBKP.js';
@@ -1,4 +1,4 @@
1
- import { useForm } from './chunk-S6IGQYHW.js';
1
+ import { useForm } from './chunk-YBAFUM3Z.js';
2
2
  import './chunk-Q6E4OPGG.js';
3
3
  import './chunk-5ROTTMBL.js';
4
4
  import './chunk-C2FZBUSS.js';
@@ -11,9 +11,9 @@ import './chunk-L2V5PUFN.js';
11
11
  import './chunk-5TM3WPCI.js';
12
12
  import './chunk-GJWI74ZZ.js';
13
13
  import './chunk-3G7YABRA.js';
14
- import './chunk-WPOFTCKL.js';
15
- import './chunk-F2VYN3QL.js';
16
- import './chunk-NWVB75ER.js';
14
+ import './chunk-727R7C5R.js';
15
+ import './chunk-3EU6S5YC.js';
16
+ import './chunk-Q72M5KBS.js';
17
17
  import './chunk-PKBMQBKP.js';
18
18
  import { jsx } from 'react/jsx-runtime';
19
19
 
@@ -4,9 +4,9 @@ import { onPageLeave } from './chunk-L2V5PUFN.js';
4
4
  import './chunk-5TM3WPCI.js';
5
5
  import './chunk-GJWI74ZZ.js';
6
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';
7
+ import { sonorFetch } from './chunk-727R7C5R.js';
8
+ import { getFreshCredential, isSiteToken } from './chunk-3EU6S5YC.js';
9
+ import './chunk-Q72M5KBS.js';
10
10
  import './chunk-PKBMQBKP.js';
11
11
  import { useState, useRef, useEffect, useCallback } from 'react';
12
12
 
@@ -1,4 +1,4 @@
1
- export { SiteChat } from './chunk-A3EU6HB5.js';
1
+ export { SiteChat } from './chunk-NNEIBXGU.js';
2
2
  import './chunk-27FISYK4.js';
3
3
  import './chunk-CAH4Y4PY.js';
4
4
  import './chunk-EKBEOXTH.js';
@@ -1,12 +1,12 @@
1
- export { SiteDesignReporter } from './chunk-G2HCCWZQ.js';
2
- import './chunk-DSNCU2E3.js';
1
+ export { SiteDesignReporter } from './chunk-H4R2GPAB.js';
2
+ import './chunk-WBC5B3JD.js';
3
3
  import './chunk-IHG36STL.js';
4
4
  import './chunk-YC7ELZS3.js';
5
5
  import './chunk-S22FSH7C.js';
6
6
  import './chunk-CAH4Y4PY.js';
7
7
  import './chunk-EKBEOXTH.js';
8
8
  import './chunk-3G7YABRA.js';
9
- import './chunk-WPOFTCKL.js';
10
- import './chunk-F2VYN3QL.js';
11
- import './chunk-NWVB75ER.js';
9
+ import './chunk-727R7C5R.js';
10
+ import './chunk-3EU6S5YC.js';
11
+ import './chunk-Q72M5KBS.js';
12
12
  import './chunk-PKBMQBKP.js';
@@ -1,4 +1,4 @@
1
- export { SitePopups } from './chunk-LLW5HKEE.js';
1
+ export { SitePopups } from './chunk-JBEUZJS3.js';
2
2
  import './chunk-27FISYK4.js';
3
3
  import './chunk-5ROTTMBL.js';
4
4
  import './chunk-ZKADJNR2.js';
@@ -7,7 +7,7 @@ import './chunk-GJWI74ZZ.js';
7
7
  import './chunk-CAH4Y4PY.js';
8
8
  import './chunk-EKBEOXTH.js';
9
9
  import './chunk-3G7YABRA.js';
10
- import './chunk-WPOFTCKL.js';
11
- import './chunk-F2VYN3QL.js';
12
- import './chunk-NWVB75ER.js';
10
+ import './chunk-727R7C5R.js';
11
+ import './chunk-3EU6S5YC.js';
12
+ import './chunk-Q72M5KBS.js';
13
13
  import './chunk-PKBMQBKP.js';
@@ -1,9 +1,9 @@
1
- export { SitemapSync } from './chunk-IAYGTQJD.js';
1
+ export { SitemapSync } from './chunk-WK3N3Y7V.js';
2
2
  import './chunk-YVKRYQRG.js';
3
3
  import './chunk-CAH4Y4PY.js';
4
4
  import './chunk-EKBEOXTH.js';
5
5
  import './chunk-3G7YABRA.js';
6
- import './chunk-WPOFTCKL.js';
7
- import './chunk-F2VYN3QL.js';
8
- import './chunk-NWVB75ER.js';
6
+ import './chunk-727R7C5R.js';
7
+ import './chunk-3EU6S5YC.js';
8
+ import './chunk-Q72M5KBS.js';
9
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';
2
+ export { BookingWidget, BookingWidget_default as default } from '../chunk-66G47P5C.js';
3
+ import '../chunk-XWIRU6UT.js';
4
4
  import '../chunk-3G7YABRA.js';
5
- import '../chunk-WPOFTCKL.js';
6
- import '../chunk-F2VYN3QL.js';
7
- import '../chunk-NWVB75ER.js';
5
+ import '../chunk-727R7C5R.js';
6
+ import '../chunk-3EU6S5YC.js';
7
+ import '../chunk-Q72M5KBS.js';
8
8
  import '../chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { getClientApiConfig } from '../chunk-3G7YABRA.js';
3
- import { sonorFetch } from '../chunk-WPOFTCKL.js';
4
- import '../chunk-F2VYN3QL.js';
5
- import '../chunk-NWVB75ER.js';
3
+ import { sonorFetch } from '../chunk-727R7C5R.js';
4
+ import '../chunk-3EU6S5YC.js';
5
+ import '../chunk-Q72M5KBS.js';
6
6
  import '../chunk-PKBMQBKP.js';
7
7
  import { useState, useEffect } from 'react';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- export { AnalyticsProvider, WebVitals, useAnalytics, useAnalyticsOptional, useTrackEvent } from '../chunk-TAO6BVA2.js';
2
+ export { AnalyticsProvider, WebVitals, useAnalytics, useAnalyticsOptional, useTrackEvent } from '../chunk-EBILJHUF.js';
3
3
  import { trackConversion } from '../chunk-LCDVPAMR.js';
4
4
  export { trackConversion, trackEvent } from '../chunk-LCDVPAMR.js';
5
5
  import '../chunk-ZKADJNR2.js';
@@ -9,9 +9,9 @@ import '../chunk-GJWI74ZZ.js';
9
9
  export { isCrossOriginFrame, isFramed, isTopFrameSameOrigin } from '../chunk-CAH4Y4PY.js';
10
10
  import '../chunk-EKBEOXTH.js';
11
11
  import '../chunk-3G7YABRA.js';
12
- import '../chunk-WPOFTCKL.js';
13
- import '../chunk-F2VYN3QL.js';
14
- import '../chunk-NWVB75ER.js';
12
+ import '../chunk-727R7C5R.js';
13
+ import '../chunk-3EU6S5YC.js';
14
+ import '../chunk-Q72M5KBS.js';
15
15
  import '../chunk-PKBMQBKP.js';
16
16
  import { useCallback, useEffect } from 'react';
17
17
 
@@ -1,4 +1,4 @@
1
- import { articlePhotoCss } from './chunk-2UO4HPGE.js';
1
+ import { articlePhotoCss } from './chunk-HUBMKTPW.js';
2
2
  import { articleTableCss } from './chunk-Y3INC4QJ.js';
3
3
  import './chunk-PKBMQBKP.js';
4
4
 
@@ -15,7 +15,7 @@ import '../chunk-PKBMQBKP.js';
15
15
  import React, { useState, Suspense, useEffect } from 'react';
16
16
  import { jsx, jsxs } from 'react/jsx-runtime';
17
17
 
18
- var ManagedNewsletterForm = React.lazy(() => import('../ManagedNewsletterForm-DTE4KKXV.js'));
18
+ var ManagedNewsletterForm = React.lazy(() => import('../ManagedNewsletterForm-RTJDGMGG.js'));
19
19
  function NewsletterWidget({
20
20
  title = "Subscribe to Our Newsletter",
21
21
  description = "Get the latest posts delivered straight to your inbox.",
@@ -2,9 +2,9 @@ import { readingTimeMinutes, ServiceCallouts, ClusterNavigation, getAuthorSocial
2
2
  export { ClusterNavigation } from '../chunk-FV2VD7WM.js';
3
3
  import { widgetStyle, widgetTitleStyle } from '../chunk-GYF2ULVO.js';
4
4
  import { resolvePublicationSiteUrl, addExternalLinkTargets } from '../chunk-L5UOHS6E.js';
5
- import { fetchArticleBySlug, fetchRelatedArticles, fetchArticleCategories, getTopicCluster } from '../chunk-4Z3DI2EL.js';
6
- import { insertArticlePhotos } from '../chunk-2UO4HPGE.js';
7
- export { articlePhotoCss, insertArticlePhotos } from '../chunk-2UO4HPGE.js';
5
+ import { fetchArticleBySlug, fetchRelatedArticles, fetchArticleCategories, getTopicCluster } from '../chunk-FQUGGPBM.js';
6
+ import { insertArticlePhotos } from '../chunk-HUBMKTPW.js';
7
+ export { articlePhotoCss, insertArticlePhotos } from '../chunk-HUBMKTPW.js';
8
8
  export { articleTableCss, wrapArticleTables } from '../chunk-Y3INC4QJ.js';
9
9
  import { resolveArticleArtwork, articleArtworkImageStyle } from '../chunk-QXMIKDOL.js';
10
10
  export { resolveArticleArtwork } from '../chunk-QXMIKDOL.js';
@@ -109,7 +109,7 @@ async function Article({
109
109
  }
110
110
  const [post, { articleCss }, { wrapArticleTables: wrapArticleTables2 }] = await Promise.all([
111
111
  fetchArticleBySlug({ apiUrl, apiKey, site }, slug),
112
- unstyled ? Promise.resolve({ articleCss: "" }) : import('../article-styles-GGZOQG5X.js'),
112
+ unstyled ? Promise.resolve({ articleCss: "" }) : import('../article-styles-GFXJJDLE.js'),
113
113
  import('../article-tables-AXSZOGNW.js')
114
114
  ]);
115
115
  if (!post) {
@@ -135,7 +135,7 @@ async function Article({
135
135
  ...item,
136
136
  answer: addExternalLinkTargets(item.answer || "", siteUrlResolved)
137
137
  })) ?? faqRaw;
138
- const { ArticleViewTracker } = await import('../ArticleViewTracker-MYD6SGNH.js');
138
+ const { ArticleViewTracker } = await import('../ArticleViewTracker-H4N7YCLC.js');
139
139
  if (children) {
140
140
  return /* @__PURE__ */ jsxs(Fragment, { children: [
141
141
  /* @__PURE__ */ jsx(ArticleViewTracker, { slug: post.slug, site }),
@@ -409,7 +409,7 @@ async function ArticleList({
409
409
  const [articleData, categories, { articleListCss }] = await Promise.all([
410
410
  fetchArticleList({ apiUrl, apiKey, category, tag, author, featured, search, cluster, page, perPage, orderBy, order, site }),
411
411
  showCategoryFilter ? fetchArticleCategories({ apiUrl, apiKey, site }) : Promise.resolve([]),
412
- unstyled || children ? Promise.resolve({ articleListCss: "" }) : import('../article-styles-GGZOQG5X.js')
412
+ unstyled || children ? Promise.resolve({ articleListCss: "" }) : import('../article-styles-GFXJJDLE.js')
413
413
  ]);
414
414
  if (children) {
415
415
  return children({ posts: articleData.posts, pagination: articleData.pagination, categories });
@@ -1,5 +1,5 @@
1
- export { FEED_DEFAULT_ITEMS, NEWS_SITEMAP_MAX_URLS, NEWS_SITEMAP_WINDOW_MS, SEO_LIMITS, buildNewsSitemapXml, cdata, generateAllArticleSchemas, generateArticleCategoryMetadata, generateArticleListSchema, generateArticleMetadata, generateArticleSchema, generateArticleSitemap, generateArticleStaticParams, generateAtomFeed, generateAuthorPageMetadata, generateAuthorStaticParams, generateBreadcrumbSchema, generateCategoryStaticParams, generateClusterArticleSchema, generateClusterBreadcrumbSchema, generateClusterItemListSchema, generateClusterLandingSchema, generateClusterPageMetadata, generateFaqSchema, generateHowToSchema, generateNewsSitemap, generatePublicationMetadata, generateRssFeed, getAllArticleSlugs, getAllArticles, getAllAuthorSlugs, getArticle, getArticleCategories, getAuthorBySlug, getAuthorPosts, getClusterNavigation, getPostsByCategory, getRelatedInsights, getTopicCluster, getTopicClusters, recentNewsPosts, requireArticle, sanitizeExcerpt, validateArticleSeo, validateMetaDescription, validateSeoTitle } from '../chunk-4Z3DI2EL.js';
2
- export { articlePhotoCss, insertArticlePhotos } from '../chunk-2UO4HPGE.js';
1
+ export { FEED_DEFAULT_ITEMS, NEWS_SITEMAP_MAX_URLS, NEWS_SITEMAP_WINDOW_MS, SEO_LIMITS, buildNewsSitemapXml, cdata, generateAllArticleSchemas, generateArticleCategoryMetadata, generateArticleListSchema, generateArticleMetadata, generateArticleSchema, generateArticleSitemap, generateArticleStaticParams, generateAtomFeed, generateAuthorPageMetadata, generateAuthorStaticParams, generateBreadcrumbSchema, generateCategoryStaticParams, generateClusterArticleSchema, generateClusterBreadcrumbSchema, generateClusterItemListSchema, generateClusterLandingSchema, generateClusterPageMetadata, generateFaqSchema, generateHowToSchema, generateNewsSitemap, generatePublicationMetadata, generateRssFeed, getAllArticleSlugs, getAllArticles, getAllAuthorSlugs, getArticle, getArticleCategories, getAuthorBySlug, getAuthorPosts, getClusterNavigation, getPostsByCategory, getRelatedInsights, getTopicCluster, getTopicClusters, recentNewsPosts, requireArticle, sanitizeExcerpt, validateArticleSeo, validateMetaDescription, validateSeoTitle } from '../chunk-FQUGGPBM.js';
2
+ export { articlePhotoCss, insertArticlePhotos } from '../chunk-HUBMKTPW.js';
3
3
  export { articleTableCss, wrapArticleTables } from '../chunk-Y3INC4QJ.js';
4
4
  export { authorEntityId, generateArticleAuthorNode, generateAuthorPersonSchema, generateAuthorSchema, resolveArticleArtwork, withArticleAuthorIdentity } from '../chunk-QXMIKDOL.js';
5
5
  export { articleCategorySlug, createPublicationRoutes, resolveArticleUrl, resolvePublicationUrl } from '../chunk-WMVK77ND.js';
@@ -14,6 +14,7 @@ export interface ArticleEditorialPhoto {
14
14
  } | {
15
15
  kind: 'after_heading';
16
16
  heading: string;
17
+ headingId?: string;
17
18
  };
18
19
  }
19
20
  export interface Article {
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { ChatWidget, DEFAULT_LAUNCHER_OFFSET_BOTTOM, EchoChat, chatLauncherStyles, isChatEnabled } from '../chunk-CSTC6HZO.js';
3
- export { SiteChat } from '../chunk-A3EU6HB5.js';
2
+ export { ChatWidget, DEFAULT_LAUNCHER_OFFSET_BOTTOM, EchoChat, chatLauncherStyles, isChatEnabled } from '../chunk-FVXFLVXF.js';
3
+ export { SiteChat } from '../chunk-NNEIBXGU.js';
4
4
  import '../chunk-6T6CQVNL.js';
5
5
  import '../chunk-JE4A5S4F.js';
6
6
  import '../chunk-27FISYK4.js';
7
- import '../chunk-S6IGQYHW.js';
7
+ import '../chunk-YBAFUM3Z.js';
8
8
  import '../chunk-Q6E4OPGG.js';
9
9
  import '../chunk-5ROTTMBL.js';
10
10
  import '../chunk-C2FZBUSS.js';
@@ -18,9 +18,9 @@ import '../chunk-GJWI74ZZ.js';
18
18
  import '../chunk-CAH4Y4PY.js';
19
19
  import '../chunk-EKBEOXTH.js';
20
20
  import '../chunk-3G7YABRA.js';
21
- import '../chunk-WPOFTCKL.js';
22
- import '../chunk-F2VYN3QL.js';
23
- import '../chunk-NWVB75ER.js';
21
+ import '../chunk-727R7C5R.js';
22
+ import '../chunk-3EU6S5YC.js';
23
+ import '../chunk-Q72M5KBS.js';
24
24
  import '../chunk-PKBMQBKP.js';
25
25
 
26
26
  // src/chat/echo-config.ts
@@ -1,4 +1,4 @@
1
- import { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
1
+ import { SITE_KIT_VERSION } from './chunk-Q72M5KBS.js';
2
2
 
3
3
  // src/shared/siteToken.ts
4
4
  var SITE_TOKEN_PREFIX = "st1.";
@@ -1,4 +1,4 @@
1
- import { generateLLMsTxt, generateLLMsFullTxt, appendAgentAccessSection } from './chunk-GC2QWXJ3.js';
1
+ import { generateLLMsTxt, generateLLMsFullTxt, appendAgentAccessSection } from './chunk-WACWV5EP.js';
2
2
  import { createHash } from 'crypto';
3
3
  import { existsSync, readFileSync } from 'fs';
4
4
  import { join } from 'path';
@@ -1,4 +1,4 @@
1
- import { writeLLMsTxtToPublic } from './chunk-GC2QWXJ3.js';
1
+ import { writeLLMsTxtToPublic } from './chunk-WACWV5EP.js';
2
2
  import { getSiteConfig } from './chunk-Z22QVHT4.js';
3
3
  import { buildFetch } from './chunk-UAYAJPEP.js';
4
4
  import { findAppDirForDiscovery } from './chunk-ZEGVKVD5.js';
@@ -1,5 +1,5 @@
1
1
  import { resolveSiteHost } from './chunk-FESKKJAS.js';
2
- import { configureSiteCredential, currentCredential } from './chunk-F2VYN3QL.js';
2
+ import { configureSiteCredential, currentCredential } from './chunk-3EU6S5YC.js';
3
3
 
4
4
  // src/shared/publishCredential.ts
5
5
  function publishSiteCredential({
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { detectTimezone, releaseSlotHold, fetchBookingTypeDetails, fetchBookingTypes, fetchAvailability, createSlotHold, createBooking, formatDuration, formatDate, formatTime, prepareMeeting } from './chunk-2JEUDTL6.js';
2
+ import { detectTimezone, releaseSlotHold, fetchBookingTypeDetails, fetchBookingTypes, fetchAvailability, createSlotHold, createBooking, formatDuration, formatDate, formatTime, prepareMeeting } from './chunk-XWIRU6UT.js';
3
3
  import { readPublishedApiConfig, DEFAULT_SONOR_API_URL } from './chunk-3G7YABRA.js';
4
4
  import { useState, useRef, useMemo, useCallback, useEffect, useId } from 'react';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -1,5 +1,5 @@
1
- import { isTokenMode, getFreshCredential, isSiteToken, refreshSiteToken, currentCredential, credentialBreakerId } from './chunk-F2VYN3QL.js';
2
- import { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
1
+ import { isTokenMode, getFreshCredential, isSiteToken, refreshSiteToken, currentCredential, credentialBreakerId } from './chunk-3EU6S5YC.js';
2
+ import { SITE_KIT_VERSION } from './chunk-Q72M5KBS.js';
3
3
 
4
4
  // src/shared/fetchWithRetry.ts
5
5
  function backoffDelay(attempt, response) {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { sonorFetch } from './chunk-WPOFTCKL.js';
2
+ import { sonorFetch } from './chunk-727R7C5R.js';
3
3
  import { useState, useCallback, useEffect } from 'react';
4
4
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
5
5
 
@@ -1,4 +1,4 @@
1
- import { FormEnhancer } from './chunk-JT52KYHQ.js';
1
+ import { FormEnhancer } from './chunk-SMYX3AAO.js';
2
2
  import { StaticForm } from './chunk-LNSF6BJC.js';
3
3
  import { serverApiFetch } from './chunk-C7TLGL3R.js';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -3,7 +3,7 @@ import { registerAnalyticsDispatcher } from './chunk-LCDVPAMR.js';
3
3
  import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-ZKADJNR2.js';
4
4
  import { onPageLeave } from './chunk-L2V5PUFN.js';
5
5
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';
6
- import { sonorFetch, sonorBeacon } from './chunk-WPOFTCKL.js';
6
+ import { sonorFetch, sonorBeacon } from './chunk-727R7C5R.js';
7
7
  import { createContext, useRef, useEffect, useState, useMemo, useCallback, useContext } from 'react';
8
8
  import { usePathname } from 'next/navigation';
9
9
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1,4 +1,4 @@
1
- import { insertArticlePhotos } from './chunk-2UO4HPGE.js';
1
+ import { insertArticlePhotos } from './chunk-HUBMKTPW.js';
2
2
  import { generateArticleAuthorNode, resolveArticleArtwork, withArticleAuthorIdentity } from './chunk-QXMIKDOL.js';
3
3
  import { resolveArticleUrl, createPublicationRoutes, resolvePublicationUrl, articleCategorySlug } from './chunk-WMVK77ND.js';
4
4
  import { withoutSchemaPlaceholders } from './chunk-VWWITFWM.js';
@@ -2,10 +2,10 @@
2
2
  import { VISUAL_VIEWPORT_GAP_PROPERTY } from './chunk-6T6CQVNL.js';
3
3
  import { GlassStyles } from './chunk-JE4A5S4F.js';
4
4
  import { DEFAULT_WIDGET_Z_INDEX } from './chunk-27FISYK4.js';
5
- import { useForm } from './chunk-S6IGQYHW.js';
5
+ import { useForm } from './chunk-YBAFUM3Z.js';
6
6
  import { parseColor, relativeLuminance, DARK_LUMINANCE, contrastRatio } from './chunk-S22FSH7C.js';
7
7
  import { readPublishedApiConfig } from './chunk-3G7YABRA.js';
8
- import { sonorFetch } from './chunk-WPOFTCKL.js';
8
+ import { sonorFetch } from './chunk-727R7C5R.js';
9
9
  import { useState, useEffect, useRef, useLayoutEffect, useCallback, Fragment as Fragment$1 } from 'react';
10
10
  import { lexer } from 'marked';
11
11
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { countStageViews, countStageQuestions, useFieldControls } from './chunk-XUCU3LX4.js';
3
- import { useFormLoadedAt, useFormTracking, submitForm, useRecaptchaWarmup, useForm } from './chunk-S6IGQYHW.js';
2
+ import { countStageViews, countStageQuestions, useFieldControls } from './chunk-JC2VS2SB.js';
3
+ import { useFormLoadedAt, useFormTracking, submitForm, useRecaptchaWarmup, useForm } from './chunk-YBAFUM3Z.js';
4
4
  import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
5
5
  import { isFieldVisible, validateField, isFieldComplete, isDisplayOnly, unseenControlValues } from './chunk-C2FZBUSS.js';
6
6
  import { HoneypotField } from './chunk-DXO6SBMD.js';
@@ -63,7 +63,7 @@ function FormClient({
63
63
  return;
64
64
  }
65
65
  let cancelled = false;
66
- const load = resolvedExperience === "stage" ? import('./FormStage-CJUSCSAL.js').then((m) => m.FormStage) : import('./FormSpotlight-VGC4CZL4.js').then((m) => m.FormSpotlight);
66
+ const load = resolvedExperience === "stage" ? import('./FormStage-6RVY7M3R.js').then((m) => m.FormStage) : import('./FormSpotlight-MLDJS246.js').then((m) => m.FormSpotlight);
67
67
  load.then((Component) => {
68
68
  if (!cancelled) setExperience(() => Component);
69
69
  }).catch((err) => {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { getSiteDesignTokens, tokensForReport, shouldReportDesign, sendSiteDesign } from './chunk-DSNCU2E3.js';
2
+ import { getSiteDesignTokens, tokensForReport, shouldReportDesign, sendSiteDesign } from './chunk-WBC5B3JD.js';
3
3
  import { designTokensHash } from './chunk-IHG36STL.js';
4
4
  import { useDeferredActivation } from './chunk-YC7ELZS3.js';
5
5
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';