@sonordev/site-kit 8.10.0 → 8.12.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 (104) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/agent-manifest.json +1 -1
  3. package/dist/{AddressAutocomplete-LQS6GQ4R.js → AddressAutocomplete-6DQ3IP5C.js} +1 -1
  4. package/dist/{AnalyticsProvider-JWS7BLFY.js → AnalyticsProvider-RC2RG4YW.js} +4 -4
  5. package/dist/{ArticleViewTracker-CDPVMUAO.js → ArticleViewTracker-FNCRH3SB.js} +1 -1
  6. package/dist/{BlocksPopup-C5PNJ7U6.js → BlocksPopup-AJCDT5WM.js} +3 -3
  7. package/dist/{ChatWidget-HEPOE3YC.js → ChatWidget-CM5OGMJQ.js} +5 -5
  8. package/dist/{FileField-6R5LS5NU.js → FileField-QWS5ASLB.js} +1 -1
  9. package/dist/{FormSpotlight-2BSE7PD2.js → FormSpotlight-7Y6B2YZM.js} +1 -1
  10. package/dist/{FormStage-3G46OPPO.js → FormStage-T3N27SID.js} +1 -1
  11. package/dist/{ManagedForm-LTXEU25N.js → ManagedForm-WUULZELM.js} +6 -6
  12. package/dist/{ManagedNewsletterForm-WE6P5DMV.js → ManagedNewsletterForm-GGA3JOOI.js} +8 -8
  13. package/dist/{SignalCore-IP7FE6SN.js → SignalCore-ZMKDW44U.js} +3 -3
  14. package/dist/{SiteChat-3FQYMHCP.js → SiteChat-PM4RIZR4.js} +1 -1
  15. package/dist/{SiteDesignReporter-HGTX4FX2.js → SiteDesignReporter-SALYTWV2.js} +4 -4
  16. package/dist/{SitePopups-V7MCNSGE.js → SitePopups-VDSDWZHD.js} +4 -4
  17. package/dist/{SitemapSync-OAJ7SIET.js → SitemapSync-6UDJHS2F.js} +2 -2
  18. package/dist/_client/booking-widget.js +3 -3
  19. package/dist/_client/reviewed-signal-experiment.js +1 -1
  20. package/dist/affiliates/index.js +1 -1
  21. package/dist/analytics/index.js +4 -4
  22. package/dist/api-4AAR6BZO.js +5 -0
  23. package/dist/articles/index.js +1 -1
  24. package/dist/articles/server-ui.js +3 -3
  25. package/dist/articles/server.js +2 -2
  26. package/dist/chat/index.js +6 -6
  27. package/dist/{chunk-YJ6PRJ7Y.js → chunk-27264MSX.js} +2 -2
  28. package/dist/{chunk-D4R3FQED.js → chunk-2MJYGVKB.js} +1 -1
  29. package/dist/{chunk-MKU5ZORB.js → chunk-2QAG7ALW.js} +1 -1
  30. package/dist/{chunk-NH7K252M.js → chunk-5UAX6PHO.js} +1 -1
  31. package/dist/{chunk-NBNDH2J6.js → chunk-675DTMSR.js} +1 -1
  32. package/dist/{chunk-RMPXSEEU.js → chunk-7PW7N7P4.js} +1 -1
  33. package/dist/{chunk-TLKLHSRJ.js → chunk-C55LIDVW.js} +1 -1
  34. package/dist/{chunk-NWEIHCSE.js → chunk-CNCAQEUJ.js} +1 -1
  35. package/dist/{chunk-ACZ5JNSL.js → chunk-DFCLELM2.js} +2 -2
  36. package/dist/{chunk-HNVLINPI.js → chunk-DICLVB5P.js} +1 -1
  37. package/dist/{chunk-HLN7A4GL.js → chunk-DUIGCLQM.js} +1 -1
  38. package/dist/{chunk-Q2OE32TH.js → chunk-GHW37LVB.js} +2 -2
  39. package/dist/{chunk-727353NY.js → chunk-H4KPWR7P.js} +3 -3
  40. package/dist/{chunk-Z4XJOVQX.js → chunk-M2ZGSI6K.js} +1 -1
  41. package/dist/{chunk-J4R7MHV2.js → chunk-M34VOQ5J.js} +8 -8
  42. package/dist/{chunk-OCNODBH4.js → chunk-M3VJAE24.js} +1 -1
  43. package/dist/{chunk-P7S45DD7.js → chunk-NX4FETUK.js} +1 -1
  44. package/dist/{chunk-OEHIXCYS.js → chunk-O3CAXGY5.js} +2 -2
  45. package/dist/{chunk-RUV6DCKL.js → chunk-T2Z7KEIH.js} +1 -1
  46. package/dist/{chunk-DW5X4BC7.js → chunk-TPB5PTWW.js} +2 -2
  47. package/dist/{chunk-75N2WALV.js → chunk-TXB4ULAM.js} +1 -1
  48. package/dist/{chunk-6CIO4X6P.js → chunk-UFHEND2H.js} +1 -1
  49. package/dist/{chunk-7PWXPN53.js → chunk-UTVFF7VT.js} +1 -1
  50. package/dist/{chunk-MIKVCYGX.js → chunk-VF2X5T4H.js} +2 -2
  51. package/dist/{chunk-533ZSRJF.js → chunk-VZSIIKLR.js} +1 -1
  52. package/dist/{chunk-XAPSYDVT.js → chunk-WX4XX3BZ.js} +1 -1
  53. package/dist/{chunk-Y7DZ2ND2.js → chunk-Y4MQTSYY.js} +3 -3
  54. package/dist/{chunk-3RBOES2C.js → chunk-YOPBFEDG.js} +1 -1
  55. package/dist/{chunk-UMF5OILQ.js → chunk-YPTUKSF7.js} +1 -1
  56. package/dist/{chunk-Z62W7Q3T.js → chunk-YYV3YHUX.js} +1 -1
  57. package/dist/{chunk-A66TIJWU.js → chunk-Z42KXUTK.js} +1 -1
  58. package/dist/contracts/entries.d.ts +1 -1
  59. package/dist/contracts/property-interest.d.ts +100 -0
  60. package/dist/contracts/resonance.d.ts +1705 -358
  61. package/dist/contracts/sales-call-prep.d.ts +666 -0
  62. package/dist/contracts/signal-experiments.d.ts +0 -1
  63. package/dist/contracts/wire-uuid.d.ts +5 -0
  64. package/dist/{controls-KLG6VQLO.js → controls-GLVRT5EM.js} +2 -2
  65. package/dist/fleet/index.js +3 -3
  66. package/dist/forms/index.js +8 -8
  67. package/dist/forms/server.js +2 -2
  68. package/dist/images/index.js +2 -2
  69. package/dist/index.js +1 -1
  70. package/dist/landing/server.js +5 -5
  71. package/dist/layout/client.js +6 -6
  72. package/dist/layout/index.js +7 -7
  73. package/dist/llms/index.js +4 -4
  74. package/dist/maps/index.js +3 -3
  75. package/dist/mcp/sonor.js +5 -5
  76. package/dist/resonance/ConsentPreferences.d.ts +12 -0
  77. package/dist/resonance/consent-adapter.d.ts +3 -0
  78. package/dist/resonance/consent-preferences-styles.d.ts +2 -0
  79. package/dist/resonance/first-party-consent.d.ts +22 -0
  80. package/dist/resonance/index.d.ts +1 -0
  81. package/dist/resonance/index.js +366 -2
  82. package/dist/revalidate/index.js +2 -2
  83. package/dist/runtime/index.js +1 -1
  84. package/dist/{runtime-core-EU2RZMOL.js → runtime-core-4WL4V4QE.js} +523 -7
  85. package/dist/seo/client.js +2 -2
  86. package/dist/seo/index.js +2 -2
  87. package/dist/seo/llms.js +4 -4
  88. package/dist/seo/register-sitemap-cli.js +1 -1
  89. package/dist/seo/sitemap.js +2 -2
  90. package/dist/server/index.js +2 -2
  91. package/dist/shared/version.d.ts +1 -1
  92. package/dist/signal/index.js +2 -2
  93. package/dist/sitemap/index.js +2 -2
  94. package/dist/{sonor-fetch-runtime-SLPBNZY4.js → sonor-fetch-runtime-QO4DR7GR.js} +2 -2
  95. package/dist/sync/index.js +3 -3
  96. package/dist/website/images.js +2 -2
  97. package/dist/website/index.js +4 -4
  98. package/dist/website/landing/server.js +5 -5
  99. package/dist/website/popups.js +4 -4
  100. package/dist/{writeLLMsTxt-2CBYGKZO.js → writeLLMsTxt-EKWOSHXU.js} +1 -1
  101. package/package.json +1 -1
  102. package/src/resonance/README.md +49 -0
  103. package/dist/api-X6N6V2H3.js +0 -5
  104. /package/dist/{chunk-ORSQKTMN.js → chunk-2YSX4ZUC.js} +0 -0
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { FLEET_HEARTBEAT_PATH, FleetHeartbeat, detectNextVersion, sendFleetHeartbeat } from '../chunk-Q2OE32TH.js';
2
+ export { FLEET_HEARTBEAT_PATH, FleetHeartbeat, detectNextVersion, sendFleetHeartbeat } from '../chunk-GHW37LVB.js';
3
3
  export { FLEET_CONTRACT_VERSION, FLEET_MODULES, FLEET_MODULES_MAX, FLEET_SITE_MAX_LENGTH, FLEET_VERSION_MAX_LENGTH, FLEET_VERSION_PATTERN, buildFleetHeartbeatPayload, isFleetModule, normalizeFleetModules, normalizeFleetSite, sanitizeFleetVersion } from '../chunk-ZTZQPYP6.js';
4
4
  import '../chunk-YC7ELZS3.js';
5
- import '../chunk-D4R3FQED.js';
5
+ import '../chunk-2MJYGVKB.js';
6
6
  import '../chunk-7643MCD2.js';
7
7
  import '../chunk-64XODP7M.js';
8
- import '../chunk-Z4XJOVQX.js';
8
+ import '../chunk-M2ZGSI6K.js';
9
9
  import '../chunk-W7OPEMGJ.js';
10
10
  import '../chunk-PKBMQBKP.js';
@@ -1,14 +1,14 @@
1
1
  'use client';
2
- export { configureFormsApi, defineForm, field, formsApi, initializeForms } from '../chunk-HNVLINPI.js';
2
+ export { configureFormsApi, defineForm, field, formsApi, initializeForms } from '../chunk-DICLVB5P.js';
3
3
  export { FormCelebration } from '../chunk-YGGDU6C3.js';
4
- export { FormClient, ManagedForm } from '../chunk-727353NY.js';
5
- import '../chunk-MKU5ZORB.js';
4
+ export { FormClient, ManagedForm } from '../chunk-H4KPWR7P.js';
5
+ import '../chunk-2QAG7ALW.js';
6
6
  export { DatePicker } from '../chunk-SOD2F6C2.js';
7
- export { useForm, useFormTracking } from '../chunk-MIKVCYGX.js';
7
+ export { useForm, useFormTracking } from '../chunk-VF2X5T4H.js';
8
8
  import '../chunk-Q6E4OPGG.js';
9
9
  import '../chunk-MDBXGN6W.js';
10
10
  import '../chunk-PVY7X5UR.js';
11
- export { FormEnhancer } from '../chunk-NWEIHCSE.js';
11
+ export { FormEnhancer } from '../chunk-CNCAQEUJ.js';
12
12
  import '../chunk-C2FZBUSS.js';
13
13
  import '../chunk-YC7ELZS3.js';
14
14
  import '../chunk-DXO6SBMD.js';
@@ -17,17 +17,17 @@ export { DEFAULT_FORM_SUCCESS_MESSAGE } from '../chunk-TYSIAWC3.js';
17
17
  import '../chunk-HW7B43E5.js';
18
18
  import '../chunk-NJCTQH2P.js';
19
19
  import '../chunk-L2V5PUFN.js';
20
- import '../chunk-ACZ5JNSL.js';
20
+ import '../chunk-DFCLELM2.js';
21
21
  import '../chunk-NHDRA4Y5.js';
22
22
  import '../chunk-D4M5K6JN.js';
23
23
  import '../chunk-GJWI74ZZ.js';
24
24
  import '../chunk-NZOJHERI.js';
25
25
  import '../chunk-KMNHNCVG.js';
26
26
  import '../chunk-5IVD6G77.js';
27
- import '../chunk-D4R3FQED.js';
27
+ import '../chunk-2MJYGVKB.js';
28
28
  import '../chunk-7643MCD2.js';
29
29
  import '../chunk-64XODP7M.js';
30
- import '../chunk-Z4XJOVQX.js';
30
+ import '../chunk-M2ZGSI6K.js';
31
31
  import '../chunk-W7OPEMGJ.js';
32
32
  import '../chunk-A4CC4ZG3.js';
33
33
  import '../chunk-MOACHHOJ.js';
@@ -1,5 +1,5 @@
1
- export { ServerForm, getFormConfig } from '../chunk-NH7K252M.js';
2
- import '../chunk-NWEIHCSE.js';
1
+ export { ServerForm, getFormConfig } from '../chunk-5UAX6PHO.js';
2
+ import '../chunk-CNCAQEUJ.js';
3
3
  import '../chunk-C2FZBUSS.js';
4
4
  import '../chunk-YC7ELZS3.js';
5
5
  export { StaticForm } from '../chunk-HHEDRZOJ.js';
@@ -1,4 +1,4 @@
1
- export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-P7S45DD7.js';
1
+ export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-NX4FETUK.js';
2
2
  export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
3
- import '../chunk-Z4XJOVQX.js';
3
+ import '../chunk-M2ZGSI6K.js';
4
4
  import '../chunk-PKBMQBKP.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { SITE_KIT_VERSION } from './chunk-D4R3FQED.js';
1
+ export { SITE_KIT_VERSION } from './chunk-2MJYGVKB.js';
2
2
  import './chunk-PKBMQBKP.js';
@@ -1,12 +1,12 @@
1
- export { FunnelPageContent, ManagedFunnelPage, getPublishedFunnelPage, managedFunnelMetadata } from '../chunk-YJ6PRJ7Y.js';
1
+ export { FunnelPageContent, ManagedFunnelPage, getPublishedFunnelPage, managedFunnelMetadata } from '../chunk-27264MSX.js';
2
2
  import '../chunk-XS2ORMUG.js';
3
3
  import '../chunk-XJZLXUTG.js';
4
4
  import '../chunk-7IZUUXXO.js';
5
5
  export { normalizeCampaignSlug } from '../chunk-2QPVU63T.js';
6
6
  export { landingPageMetadata } from '../chunk-JESLPEST.js';
7
7
  import '../chunk-XHYE24HU.js';
8
- import '../chunk-NH7K252M.js';
9
- import '../chunk-NWEIHCSE.js';
8
+ import '../chunk-5UAX6PHO.js';
9
+ import '../chunk-CNCAQEUJ.js';
10
10
  import '../chunk-C2FZBUSS.js';
11
11
  import '../chunk-YC7ELZS3.js';
12
12
  import '../chunk-HHEDRZOJ.js';
@@ -19,8 +19,8 @@ import '../chunk-7VMA3KCN.js';
19
19
  import '../chunk-MH2DSGC6.js';
20
20
  import '../chunk-S22FSH7C.js';
21
21
  import '../chunk-A4CC4ZG3.js';
22
- import '../chunk-OCNODBH4.js';
23
- import '../chunk-533ZSRJF.js';
22
+ import '../chunk-M3VJAE24.js';
23
+ import '../chunk-VZSIIKLR.js';
24
24
  import '../chunk-MOACHHOJ.js';
25
25
  import '../chunk-FRY6PBT6.js';
26
26
  import '../chunk-PKBMQBKP.js';
@@ -1,11 +1,11 @@
1
1
  'use client';
2
- export { SiteKitClientProviders } from '../chunk-J4R7MHV2.js';
2
+ export { SiteKitClientProviders } from '../chunk-M34VOQ5J.js';
3
3
  import '../chunk-KQKUXIUD.js';
4
4
  import '../chunk-6G43IRWR.js';
5
5
  import '../chunk-2LBKIE2K.js';
6
6
  import '../chunk-TPHOIE4I.js';
7
- import '../chunk-3RBOES2C.js';
8
- import '../chunk-Q2OE32TH.js';
7
+ import '../chunk-YOPBFEDG.js';
8
+ import '../chunk-GHW37LVB.js';
9
9
  import '../chunk-ZTZQPYP6.js';
10
10
  import '../chunk-YC7ELZS3.js';
11
11
  import '../chunk-FESKKJAS.js';
@@ -13,12 +13,12 @@ import '../chunk-JT7GHHMV.js';
13
13
  import '../chunk-D4M5K6JN.js';
14
14
  import '../chunk-GJWI74ZZ.js';
15
15
  import '../chunk-5IVD6G77.js';
16
- import '../chunk-D4R3FQED.js';
16
+ import '../chunk-2MJYGVKB.js';
17
17
  import '../chunk-7643MCD2.js';
18
18
  import '../chunk-64XODP7M.js';
19
- import '../chunk-Z4XJOVQX.js';
19
+ import '../chunk-M2ZGSI6K.js';
20
20
  import '../chunk-W7OPEMGJ.js';
21
21
  import '../chunk-A4CC4ZG3.js';
22
- import '../chunk-533ZSRJF.js';
22
+ import '../chunk-VZSIIKLR.js';
23
23
  import '../chunk-FRY6PBT6.js';
24
24
  import '../chunk-PKBMQBKP.js';
@@ -1,15 +1,15 @@
1
- import { SiteKitClientProviders } from '../chunk-J4R7MHV2.js';
1
+ import { SiteKitClientProviders } from '../chunk-M34VOQ5J.js';
2
2
  import '../chunk-KQKUXIUD.js';
3
3
  import '../chunk-6G43IRWR.js';
4
4
  import '../chunk-2LBKIE2K.js';
5
5
  import '../chunk-TPHOIE4I.js';
6
- import '../chunk-3RBOES2C.js';
7
- import '../chunk-Q2OE32TH.js';
6
+ import '../chunk-YOPBFEDG.js';
7
+ import '../chunk-GHW37LVB.js';
8
8
  import '../chunk-ZTZQPYP6.js';
9
9
  import { aiDiscoveryLinks } from '../chunk-MTDVV5P3.js';
10
10
  import { ManagedFavicon } from '../chunk-GW7GSBO7.js';
11
11
  import '../chunk-YC7ELZS3.js';
12
- import { resolveClientCredential } from '../chunk-NBNDH2J6.js';
12
+ import { resolveClientCredential } from '../chunk-675DTMSR.js';
13
13
  import '../chunk-UAYAJPEP.js';
14
14
  import { ManagedScripts } from '../chunk-MVLMXC44.js';
15
15
  import { resolveApiOrigin } from '../chunk-7VMA3KCN.js';
@@ -19,13 +19,13 @@ import '../chunk-JT7GHHMV.js';
19
19
  import '../chunk-D4M5K6JN.js';
20
20
  import '../chunk-GJWI74ZZ.js';
21
21
  import '../chunk-5IVD6G77.js';
22
- import '../chunk-D4R3FQED.js';
22
+ import '../chunk-2MJYGVKB.js';
23
23
  import '../chunk-7643MCD2.js';
24
24
  import '../chunk-64XODP7M.js';
25
- import '../chunk-Z4XJOVQX.js';
25
+ import '../chunk-M2ZGSI6K.js';
26
26
  import '../chunk-W7OPEMGJ.js';
27
27
  import '../chunk-A4CC4ZG3.js';
28
- import '../chunk-533ZSRJF.js';
28
+ import '../chunk-VZSIIKLR.js';
29
29
  import '../chunk-FRY6PBT6.js';
30
30
  import '../chunk-PKBMQBKP.js';
31
31
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
@@ -1,10 +1,10 @@
1
- export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-HLN7A4GL.js';
1
+ export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-DUIGCLQM.js';
2
2
  export { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from '../chunk-MTDVV5P3.js';
3
3
  export { AI_RETRIEVAL_CRAWLERS, AI_TRAINING_CRAWLERS, buildAiCrawlerRules, createRobotsTxtHandler } from '../chunk-QLTDFUJ7.js';
4
- export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-RUV6DCKL.js';
4
+ export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-T2Z7KEIH.js';
5
5
  export { AEOBlock, AEOCitedContent, AEOClaim, AEOComparison, AEODefinition, AEOEntity, AEOProvenanceList, AEOStep, AEOSteps, AEOSummary, DEFAULT_SPEAKABLE_SELECTORS, SpeakableSchema, createSpeakableSchema, getSpeakableSelectorsForPage } from '../chunk-PSAG45YF.js';
6
6
  import '../chunk-XTRZGXB2.js';
7
- export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-ORSQKTMN.js';
7
+ export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-2YSX4ZUC.js';
8
8
  export { getBusinessInfo, getFAQItems, getLLMsData, getOptimizedLLMsTxt, getPageSummaries, getServices } from '../chunk-EK7P62DT.js';
9
9
  import '../chunk-7DYMM6SS.js';
10
10
  import '../chunk-IBHBEUZV.js';
@@ -16,7 +16,7 @@ import '../chunk-ISRBSTB7.js';
16
16
  import '../chunk-MJP63SSS.js';
17
17
  import '../chunk-YVKRYQRG.js';
18
18
  import '../chunk-FESKKJAS.js';
19
- import '../chunk-D4R3FQED.js';
19
+ import '../chunk-2MJYGVKB.js';
20
20
  import '../chunk-W7OPEMGJ.js';
21
21
  import '../chunk-A4CC4ZG3.js';
22
22
  import '../chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { fetchMapsConfig, fetchNearbyPlaces } from '../chunk-6CIO4X6P.js';
3
- export { fetchMapsConfig, fetchNearbyPlaces } from '../chunk-6CIO4X6P.js';
2
+ import { fetchMapsConfig, fetchNearbyPlaces } from '../chunk-UFHEND2H.js';
3
+ export { fetchMapsConfig, fetchNearbyPlaces } from '../chunk-UFHEND2H.js';
4
4
  import '../chunk-MH2DSGC6.js';
5
- import '../chunk-Z4XJOVQX.js';
5
+ import '../chunk-M2ZGSI6K.js';
6
6
  import '../chunk-W7OPEMGJ.js';
7
7
  import '../chunk-PKBMQBKP.js';
8
8
  import { useState, useCallback, useEffect } from 'react';
package/dist/mcp/sonor.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { fetchReviews, fetchReviewStats } from '../chunk-BSQP6PRA.js';
2
2
  import { toolErrorResult } from '../chunk-FYAB6CXS.js';
3
- import { fetchBookingTypes, fetchAvailability } from '../chunk-75N2WALV.js';
3
+ import { fetchBookingTypes, fetchAvailability } from '../chunk-TXB4ULAM.js';
4
4
  import { getLLMsData, getServices, getFAQItems, getPageSummaries } from '../chunk-EK7P62DT.js';
5
5
  import '../chunk-PVY7X5UR.js';
6
- import { getFormConfig } from '../chunk-NH7K252M.js';
7
- import '../chunk-NWEIHCSE.js';
6
+ import { getFormConfig } from '../chunk-5UAX6PHO.js';
7
+ import '../chunk-CNCAQEUJ.js';
8
8
  import '../chunk-C2FZBUSS.js';
9
9
  import '../chunk-YC7ELZS3.js';
10
10
  import '../chunk-HHEDRZOJ.js';
@@ -22,8 +22,8 @@ import { resolveServerApiConfig } from '../chunk-7VMA3KCN.js';
22
22
  import '../chunk-MH2DSGC6.js';
23
23
  import { resolveSiteHost } from '../chunk-FESKKJAS.js';
24
24
  import '../chunk-5IVD6G77.js';
25
- import { SITE_KIT_VERSION } from '../chunk-D4R3FQED.js';
26
- import '../chunk-Z4XJOVQX.js';
25
+ import { SITE_KIT_VERSION } from '../chunk-2MJYGVKB.js';
26
+ import '../chunk-M2ZGSI6K.js';
27
27
  import '../chunk-W7OPEMGJ.js';
28
28
  import '../chunk-A4CC4ZG3.js';
29
29
  import '../chunk-FRY6PBT6.js';
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export interface ResonanceConsentPreferencesProps {
3
+ privacyUrl?: string;
4
+ /** Preference lifetime, capped at 180 days. Native policy and proof expiry are checked separately. */
5
+ maxAgeDays?: number;
6
+ launcherPlacement?: 'floating' | 'inline';
7
+ launcherLabel?: string;
8
+ promptMode?: 'dialog' | 'panel';
9
+ className?: string;
10
+ }
11
+ /** One optional first-party CMP leaf, including its launcher, prompt and native dialog. */
12
+ export declare function ResonanceConsentPreferences({ privacyUrl, maxAgeDays, launcherPlacement, launcherLabel, promptMode, className, }: ResonanceConsentPreferencesProps): React.JSX.Element | null;
@@ -13,6 +13,9 @@ export interface ConsentReadContext {
13
13
  configRevision: string | null;
14
14
  policyRevision: string | null;
15
15
  requiredPurposes: readonly MeasurementPurpose[];
16
+ /** Actual current configuration expiry, supplied by the existing controller. */
17
+ configEnabled?: boolean;
18
+ configExpiresAt?: string | null;
16
19
  }
17
20
  export interface ResonanceConsentAdapter {
18
21
  requiredPurposes: readonly MeasurementPurpose[];
@@ -0,0 +1,2 @@
1
+ /** Public presentation slots and tokens, scoped to the single consent leaf. */
2
+ export declare const consentPreferencesStyles = "\n.sk-consent { display: contents; }\n.sk-consent button, .sk-consent input { font: inherit; }\n.sk-consent button { min-height: 44px; cursor: pointer; }\n.sk-consent button:disabled, .sk-consent fieldset:disabled { opacity: .55; }\n.sk-consent button:disabled { cursor: default; }\n.sk-consent :is(button, input, a):focus-visible {\n outline: 2px solid var(--sk-consent-focus, #225588); outline-offset: 3px;\n}\n.sk-consent__launcher--floating {\n position: fixed; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; z-index: 1000;\n border: 1px solid var(--sk-consent-border, currentColor); border-radius: var(--sk-consent-radius, 6px);\n padding: 10px 14px; background: var(--sk-consent-surface, #fff); color: var(--sk-consent-foreground, #222);\n}\n.sk-consent__launcher--inline {\n display: inline-flex; align-items: center; border: 0; padding: 0; background: transparent;\n color: inherit; text-decoration: underline; text-underline-offset: .2em;\n}\n.sk-consent__prompt, .sk-consent__dialog {\n box-sizing: border-box; padding: 24px; border: 1px solid var(--sk-consent-border, #777);\n border-radius: var(--sk-consent-radius, 10px); background: var(--sk-consent-surface, #fff);\n color: var(--sk-consent-foreground, #222); font: var(--sk-consent-font, 16px/1.5 system-ui, sans-serif);\n}\n.sk-consent__dialog {\n max-width: 460px; width: calc(100% - 32px); max-height: calc(100dvh - 32px);\n overflow-y: auto; margin: auto;\n}\n.sk-consent__prompt {\n position: fixed; z-index: 1000; width: min(420px, calc(100% - 32px));\n left: var(--sk-consent-prompt-inset, 16px);\n bottom: var(--sk-consent-prompt-bottom, max(16px, env(safe-area-inset-bottom)));\n max-height: calc(100dvh - var(--sk-consent-prompt-bottom, 16px) - 16px);\n overflow-y: auto;\n}\n.sk-consent__heading { color: var(--sk-consent-accent, inherit); font-size: 22px; line-height: 1.25; margin: 0 0 12px; }\n.sk-consent__prompt .sk-consent__heading { font-size: 20px; padding-right: 32px; }\n.sk-consent__prompt p, .sk-consent__dialog p { margin: 12px 0; }\n.sk-consent__description, .sk-consent small { color: var(--sk-consent-muted, inherit); }\n.sk-consent__fields { border: 0; margin: 16px 0; padding: 0; }\n.sk-consent__fields legend { font-weight: 600; }\n.sk-consent__setting { display: flex; align-items: start; gap: 10px; padding: 12px 0; min-height: 44px; box-sizing: border-box; }\n.sk-consent__setting input { flex: 0 0 auto; margin-top: 5px; }\n.sk-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; }\n.sk-consent__actions button, .sk-consent__dismiss {\n border: 1px solid var(--sk-consent-border, currentColor); border-radius: var(--sk-consent-radius, 6px);\n padding: 10px 14px; color: inherit; background: transparent;\n}\n.sk-consent__prompt .sk-consent__actions { display: grid; grid-template-columns: 1fr 1fr; }\n.sk-consent__customize { grid-column: 1 / -1; }\n.sk-consent__dismiss { position: absolute; right: 8px; top: 8px; width: 44px; padding: 8px; }\n.sk-consent__policy { display: inline-block; color: inherit; margin-top: 16px; text-underline-offset: .2em; }\n.sk-consent__status:empty { display: none; }\n.sk-consent__status { font: inherit; }\n";
@@ -0,0 +1,22 @@
1
+ import type { ResonanceConsentAdapter } from "./consent-adapter.js";
2
+ export interface ConsentPreferencesSnapshot {
3
+ contextReady: boolean;
4
+ hasPreference: boolean;
5
+ analytics: boolean;
6
+ advertising: boolean;
7
+ }
8
+ interface Options {
9
+ maxAgeDays?: number;
10
+ now?: () => number;
11
+ storage?: Pick<Storage, 'getItem' | 'setItem'> | null;
12
+ }
13
+ /** Optional first-party CMP owner. Sites with an existing CMP retain their registered adapter. */
14
+ export declare function createFirstPartyConsentAdapter(options?: Options): {
15
+ adapter: ResonanceConsentAdapter;
16
+ getSnapshot: () => ConsentPreferencesSnapshot;
17
+ getServerSnapshot: () => ConsentPreferencesSnapshot;
18
+ subscribe(listener: () => void): () => void;
19
+ save(analytics: boolean, advertising: boolean): boolean;
20
+ connect(): () => void;
21
+ };
22
+ export {};
@@ -2,3 +2,4 @@ export { ResonanceRuntime, type ResonanceRuntimeProps } from "./ResonanceRuntime
2
2
  export { registerResonanceConsentAdapter, type ResonanceConsentAdapter, type ConsentObservation, type ConsentReadContext } from "./consent-adapter.js";
3
3
  export { recordResonanceExposure, getResonanceMeasurementStatus } from "./bridge.js";
4
4
  export type { MeasurementPurpose, PurposeChoice, PurposeChoices } from "../shared/measurement-policy.js";
5
+ export { ResonanceConsentPreferences, type ResonanceConsentPreferencesProps } from "./ConsentPreferences.js";