@sonordev/site-kit 7.4.0 → 8.0.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.
- package/AGENTS.md +40 -12
- package/CHANGELOG.md +67 -0
- package/README.md +44 -18
- package/agent-manifest.json +111 -56
- package/dist/AnalyticsProvider-LYFDQRRJ.js +13 -0
- package/dist/{ArticleViewTracker-3DH53RSB.js → ArticleViewTracker-HG7IIRJY.js} +6 -5
- package/dist/{BlocksPopup-FGWYVHCH.js → BlocksPopup-GFX3GZIK.js} +6 -5
- package/dist/{ChatWidget-CDQZCLVH.js → ChatWidget-DVS7MLBN.js} +8 -5
- package/dist/{FileField-IPJ7L2W6.js → FileField-DVN7NUBI.js} +5 -5
- package/dist/{FormSpotlight-CQI2DBWI.js → FormSpotlight-W4SXKKO6.js} +3 -3
- package/dist/{FormStage-4WHD6ED4.js → FormStage-JTEE5MZD.js} +3 -3
- package/dist/ManagedForm-ZAUHIHGP.js +19 -0
- package/dist/{ManagedNewsletterForm-3D2BK3KQ.js → ManagedNewsletterForm-DQIB5Z4Y.js} +9 -6
- package/dist/{SignalCore-HEQYITTM.js → SignalCore-W5PYYMGX.js} +7 -7
- package/dist/SiteChat-MY2GATWC.js +6 -0
- package/dist/SiteDesignReporter-ICZWEGCY.js +12 -0
- package/dist/SitePopups-TGULLAER.js +13 -0
- package/dist/SitemapSync-AN2OBJE6.js +9 -0
- package/dist/_client/booking-widget.js +6 -5
- package/dist/_client/testimonial-section.js +3 -2
- package/dist/affiliates/index.js +6 -6
- package/dist/analytics/index.js +73 -7
- package/dist/articles/index.js +2 -2
- package/dist/articles/server-ui.js +3 -3
- package/dist/articles/server.js +2 -2
- package/dist/brand.css +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +39 -8
- package/dist/chunk-3G7YABRA.js +25 -0
- package/dist/{chunk-CGWUXUYZ.js → chunk-3RDJKIYO.js} +2 -2
- package/dist/{chunk-J4FSB4OG.js → chunk-3YKQLC7J.js} +5 -2
- package/dist/{chunk-3E3PPSNR.js → chunk-56VDS2RP.js} +2 -2
- package/dist/chunk-5ROTTMBL.js +19 -0
- package/dist/{chunk-KHQ5GD6T.js → chunk-5S2XDG5O.js} +1 -1
- package/dist/chunk-5TM3WPCI.js +7 -0
- package/dist/{chunk-7HPZSWS4.js → chunk-6CJGZFOU.js} +1 -1
- package/dist/{chunk-RYVDGXC2.js → chunk-6KU7STM3.js} +3 -1
- package/dist/{chunk-FUQTV5O6.js → chunk-6QFINXLH.js} +3 -3
- package/dist/{chunk-AH4AXO4P.js → chunk-6ZXJ3SXR.js} +1 -1
- package/dist/{chunk-XA2BNW5M.js → chunk-7YEEOIWI.js} +1 -1
- package/dist/{chunk-IE5SSOCN.js → chunk-BQ2CXKTQ.js} +3 -11
- package/dist/{chunk-X6F6SO4S.js → chunk-C7TLGL3R.js} +21 -1
- package/dist/{chunk-43OCZ3JA.js → chunk-CAH4Y4PY.js} +4 -2
- package/dist/{chunk-PXKIGZ2F.js → chunk-EATJPSTS.js} +1 -1
- package/dist/{chunk-OOD6GMT4.js → chunk-GNSXOTIK.js} +6 -4
- package/dist/{chunk-EHR4NIMX.js → chunk-ICAVVF6D.js} +3 -3
- package/dist/{chunk-MHGAZ3LL.js → chunk-IJQ767JS.js} +3 -5
- package/dist/{chunk-CKW4HFJG.js → chunk-J65N34YM.js} +3 -3
- package/dist/{chunk-4BHRA7TI.js → chunk-JIH32RH2.js} +3 -3
- package/dist/{chunk-D2RGEWHS.js → chunk-K22OLAPC.js} +2 -2
- package/dist/{chunk-CG4ETW5Y.js → chunk-KRBBH64S.js} +3 -3
- package/dist/{chunk-JRCNUUNG.js → chunk-LBIQ5LTC.js} +1 -1
- package/dist/{chunk-MDP7EB4J.js → chunk-LKH44GI3.js} +5 -5
- package/dist/{chunk-ZTLMPUO6.js → chunk-LNSF6BJC.js} +1 -1
- package/dist/{chunk-5O62CER4.js → chunk-M62U7TJF.js} +1 -1
- package/dist/{chunk-EDYHROQ7.js → chunk-NFRJTOTB.js} +3 -3
- package/dist/{chunk-4DJMJ4V5.js → chunk-OE3NXEOF.js} +1 -1
- package/dist/{chunk-AV4QAK5F.js → chunk-OGK7OL3T.js} +5 -4
- package/dist/{chunk-YCFW2OQO.js → chunk-PD7K54EQ.js} +2 -2
- package/dist/{chunk-PF64OEXC.js → chunk-PIX7FAMX.js} +2 -2
- package/dist/{chunk-XEMHGJEG.js → chunk-ROAOI6GG.js} +10 -10
- package/dist/{chunk-6LLTLLEJ.js → chunk-S7SSYGUJ.js} +6 -5
- package/dist/{chunk-ATE6IFVK.js → chunk-SBPAXWLF.js} +1 -1
- package/dist/{chunk-DA5XC7Y6.js → chunk-TOSZGJEQ.js} +1 -1
- package/dist/{chunk-4NTBQNHA.js → chunk-TYAVHRWH.js} +80 -81
- package/dist/{chunk-ZTLU3BSW.js → chunk-TZ5RTANX.js} +2 -2
- package/dist/{chunk-4YTYGG2C.js → chunk-URJN75ZG.js} +29 -16
- package/dist/{chunk-CSN45MHO.js → chunk-UUWUAMUC.js} +13 -16
- package/dist/{chunk-PKGN32AU.js → chunk-XPTJRVL2.js} +1 -1
- package/dist/{chunk-662ILEZ6.js → chunk-Y35BWW2C.js} +3 -7
- package/dist/{chunk-PQDJNIHR.js → chunk-ZHNQFNO3.js} +2 -2
- package/dist/chunk-ZKADJNR2.js +52 -0
- package/dist/{chunk-GK7TV7EK.js → chunk-ZLFGXKLG.js} +1 -1
- package/dist/client/index.js +6 -5
- package/dist/contracts/entries.d.ts +1 -1
- package/dist/contracts/sentences.d.ts +46 -0
- package/dist/contracts/site-cache.d.ts +2 -0
- package/dist/cta-bar/index.js +1 -1
- package/dist/fleet/index.js +6 -5
- package/dist/forms/field-autocomplete.d.ts +16 -8
- package/dist/forms/index.d.ts +5 -0
- package/dist/forms/index.js +17 -17
- package/dist/forms/server.js +7 -7
- package/dist/forms/static.js +2 -2
- package/dist/forms/submitForm.d.ts +5 -0
- package/dist/images/index.js +4 -4
- package/dist/index.d.ts +3 -7
- package/dist/index.js +1 -1
- package/dist/layout/SiteKitLayout.d.ts +2 -1
- package/dist/layout/client.js +11 -9
- package/dist/layout/index.js +13 -11
- package/dist/llms/index.js +7 -6
- package/dist/maps/index.js +6 -6
- package/dist/mcp/sonor.d.ts +47 -3
- package/dist/mcp/sonor.js +30 -20
- package/dist/proxy/index.d.ts +3 -3
- package/dist/proxy/index.js +1 -1
- package/dist/reputation/index.js +3 -2
- package/dist/reputation/server.js +2 -1
- package/dist/revalidate/index.js +3 -3
- package/dist/robots/indexnow.js +2 -2
- package/dist/runtime/index.d.ts +32 -0
- package/dist/runtime/index.js +7 -0
- package/dist/seo/api.d.ts +0 -4
- package/dist/seo/client.js +6 -5
- package/dist/seo/getManagedMetadata.d.ts +24 -0
- package/dist/seo/index.d.ts +2 -3
- package/dist/seo/index.js +14 -132
- package/dist/seo/indexnow.js +2 -2
- package/dist/seo/llms.js +7 -6
- package/dist/seo/register-sitemap-cli.js +2 -2
- package/dist/seo/server-api.d.ts +0 -6
- package/dist/seo/server.d.ts +1 -1
- package/dist/seo/server.js +4 -4
- package/dist/seo/sitemap.js +4 -3
- package/dist/seo/types.d.ts +9 -30
- package/dist/server/index.d.ts +8 -1
- package/dist/server/index.js +4 -3
- package/dist/server/mint-site-token.d.ts +0 -11
- package/dist/server/server-fetch.d.ts +19 -0
- package/dist/server-api-EGOKC7Q3.js +9 -0
- package/dist/shared/build-entries.d.ts +21 -9
- package/dist/shared/clientApiConfig.d.ts +56 -0
- package/dist/shared/identity-reader.d.ts +26 -0
- package/dist/shared/identity-storage.d.ts +30 -0
- package/dist/shared/identity.d.ts +13 -13
- package/dist/shared/import-specifiers.d.ts +26 -0
- package/dist/shared/sonorFetch.d.ts +4 -3
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +2 -2
- package/dist/sitemap/index.js +4 -3
- package/dist/slots/index.js +3 -3
- package/dist/sync/index.js +6 -5
- package/dist/types.d.ts +0 -1
- package/dist/website/cta-bar.js +1 -1
- package/dist/website/images.js +4 -4
- package/dist/website/index.js +7 -6
- package/dist/website/popups.js +10 -7
- package/dist/website/slots.js +3 -3
- package/dist/{writeLLMsTxt-OL4KQERZ.js → writeLLMsTxt-UZGN6IBU.js} +3 -2
- package/docs/MIGRATING-TO-7.md +5 -2
- package/docs/MIGRATING-TO-8.md +183 -0
- package/docs.json +4 -8
- package/package.json +15 -44
- package/skills/site-kit/SKILL.md +41 -11
- package/src/analytics/README.md +14 -14
- package/src/chat/README.md +7 -7
- package/src/forms/README.md +61 -6
- package/src/mcp/README.md +61 -20
- package/src/proxy/README.md +5 -4
- package/src/revalidate/README.md +2 -2
- package/src/runtime/README.md +51 -0
- package/src/seo/README.md +24 -8
- package/src/sync/README.md +2 -2
- package/src/website/README.md +3 -2
- package/dist/AnalyticsProvider-BQXV3ZF3.js +0 -11
- package/dist/ManagedForm-7FZNH4L2.js +0 -16
- package/dist/SiteChat-DMPDXY3W.js +0 -5
- package/dist/SiteDesignReporter-Y2IOJE52.js +0 -11
- package/dist/SitePopups-HD2LDKVU.js +0 -10
- package/dist/SitemapSync-OKPZHRX6.js +0 -8
- package/dist/chunk-24QZEO3Q.js +0 -41
- package/dist/chunk-BU66S5B7.js +0 -1
- package/dist/chunk-G3NHWMP5.js +0 -233
- package/dist/chunk-HODO5BX5.js +0 -28
- package/dist/chunk-L3AQCDCY.js +0 -386
- package/dist/chunk-P5GB6NEO.js +0 -66
- package/dist/chunk-SWKE6FWH.js +0 -47
- package/dist/cms/CmsPage.d.ts +0 -17
- package/dist/cms/CmsPreview.d.ts +0 -37
- package/dist/cms/CmsSection.d.ts +0 -8
- package/dist/cms/PortableTextRenderer.d.ts +0 -7
- package/dist/cms/index.d.ts +0 -37
- package/dist/cms/index.js +0 -5
- package/dist/cms/sanity-image.d.ts +0 -47
- package/dist/cms/sections/CtaSection.d.ts +0 -3
- package/dist/cms/sections/CustomSection.d.ts +0 -7
- package/dist/cms/sections/FaqSection.d.ts +0 -3
- package/dist/cms/sections/FormSection.d.ts +0 -8
- package/dist/cms/sections/GallerySection.d.ts +0 -3
- package/dist/cms/sections/HeroSection.d.ts +0 -3
- package/dist/cms/sections/RichTextSection.d.ts +0 -3
- package/dist/cms/sections/TestimonialsSection.d.ts +0 -3
- package/dist/cms/sections/index.d.ts +0 -8
- package/dist/cms/server-api.d.ts +0 -49
- package/dist/cms/server.d.ts +0 -1
- package/dist/cms/server.js +0 -5
- package/dist/cms/types.d.ts +0 -104
- package/dist/commerce/CalendarView.d.ts +0 -43
- package/dist/commerce/CheckoutForm.d.ts +0 -11
- package/dist/commerce/EventCalendar.d.ts +0 -26
- package/dist/commerce/EventCheckout.d.ts +0 -42
- package/dist/commerce/EventEmbed.d.ts +0 -11
- package/dist/commerce/EventModal.d.ts +0 -43
- package/dist/commerce/EventTile.d.ts +0 -10
- package/dist/commerce/EventsAgenda.d.ts +0 -38
- package/dist/commerce/EventsWidget.d.ts +0 -84
- package/dist/commerce/OfferingCard.d.ts +0 -9
- package/dist/commerce/OfferingList.d.ts +0 -9
- package/dist/commerce/ProductDetail.d.ts +0 -38
- package/dist/commerce/ProductEmbed.d.ts +0 -11
- package/dist/commerce/ProductGrid.d.ts +0 -41
- package/dist/commerce/ProductPage.d.ts +0 -39
- package/dist/commerce/RegistrationForm.d.ts +0 -9
- package/dist/commerce/SizeChart.d.ts +0 -8
- package/dist/commerce/UpcomingEvents.d.ts +0 -9
- package/dist/commerce/api.d.ts +0 -179
- package/dist/commerce/events-extras.d.ts +0 -60
- package/dist/commerce/index.d.ts +0 -33
- package/dist/commerce/index.js +0 -8022
- package/dist/commerce/server.d.ts +0 -161
- package/dist/commerce/server.js +0 -2
- package/dist/commerce/types.d.ts +0 -340
- package/dist/commerce/useEventModal.d.ts +0 -20
- package/dist/commerce/utils.d.ts +0 -17
- package/dist/engage/EngageWidget.d.ts +0 -21
- package/dist/engage/index.d.ts +0 -14
- package/dist/engage/index.js +0 -45
- package/dist/engage/types.d.ts +0 -33
- package/dist/seo/ManagedContent.d.ts +0 -14
- package/dist/server-api-BVCBLJKL.js +0 -9
- package/dist/website/cms/server.d.ts +0 -2
- package/dist/website/cms/server.js +0 -5
- package/dist/website/cms-server.d.ts +0 -2
- package/dist/website/cms.d.ts +0 -2
- package/dist/website/cms.js +0 -5
- package/src/commerce/README.md +0 -109
|
@@ -3,9 +3,10 @@ import { useDeferredActivation } from './chunk-YC7ELZS3.js';
|
|
|
3
3
|
import { withSiteBody } from './chunk-MJP63SSS.js';
|
|
4
4
|
import './chunk-FESKKJAS.js';
|
|
5
5
|
import './chunk-A4CC4ZG3.js';
|
|
6
|
-
import {
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
6
|
+
import { readPublishedApiConfig } from './chunk-3G7YABRA.js';
|
|
7
|
+
import { sonorFetch } from './chunk-56VDS2RP.js';
|
|
8
|
+
import './chunk-ZLFGXKLG.js';
|
|
9
|
+
import './chunk-5S2XDG5O.js';
|
|
9
10
|
import './chunk-PKBMQBKP.js';
|
|
10
11
|
import { useEffect } from 'react';
|
|
11
12
|
|
|
@@ -13,8 +14,8 @@ var SESSION_KEY_PREFIX = "__sonor_article_viewed__:";
|
|
|
13
14
|
function trackArticleView(slug, site) {
|
|
14
15
|
if (!slug || typeof window === "undefined") return;
|
|
15
16
|
const w = window;
|
|
16
|
-
const baseUrl =
|
|
17
|
-
if (!baseUrl || !
|
|
17
|
+
const { apiUrl: baseUrl, apiKey } = readPublishedApiConfig();
|
|
18
|
+
if (!baseUrl || !apiKey) return;
|
|
18
19
|
const key = `${SESSION_KEY_PREFIX}${slug}`;
|
|
19
20
|
try {
|
|
20
21
|
if (sessionStorage.getItem(key)) return;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { getSiteDesignTokens } from './chunk-
|
|
2
|
+
import { getSiteDesignTokens } from './chunk-KRBBH64S.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-
|
|
6
|
+
import './chunk-CAH4Y4PY.js';
|
|
7
7
|
import './chunk-EKBEOXTH.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-3G7YABRA.js';
|
|
9
|
+
import './chunk-56VDS2RP.js';
|
|
10
|
+
import './chunk-ZLFGXKLG.js';
|
|
11
|
+
import './chunk-5S2XDG5O.js';
|
|
11
12
|
import './chunk-PKBMQBKP.js';
|
|
12
13
|
import { useState } from 'react';
|
|
13
14
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
export { ChatWidget, EchoChat, isChatEnabled } from './chunk-
|
|
1
|
+
export { ChatWidget, EchoChat, isChatEnabled } from './chunk-GNSXOTIK.js';
|
|
2
2
|
import './chunk-6T6CQVNL.js';
|
|
3
3
|
import './chunk-JE4A5S4F.js';
|
|
4
4
|
import './chunk-27FISYK4.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-UUWUAMUC.js';
|
|
6
6
|
import './chunk-Q6E4OPGG.js';
|
|
7
|
+
import './chunk-5ROTTMBL.js';
|
|
7
8
|
import './chunk-C2FZBUSS.js';
|
|
8
9
|
import './chunk-5SQK3D53.js';
|
|
9
10
|
import './chunk-HW7B43E5.js';
|
|
10
11
|
import './chunk-NJCTQH2P.js';
|
|
11
12
|
import './chunk-S22FSH7C.js';
|
|
12
13
|
import './chunk-L2V5PUFN.js';
|
|
14
|
+
import './chunk-5TM3WPCI.js';
|
|
13
15
|
import './chunk-GJWI74ZZ.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-3G7YABRA.js';
|
|
17
|
+
import './chunk-56VDS2RP.js';
|
|
18
|
+
import './chunk-ZLFGXKLG.js';
|
|
19
|
+
import './chunk-5S2XDG5O.js';
|
|
17
20
|
import './chunk-PKBMQBKP.js';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
2
|
+
import { getClientApiConfig } from './chunk-3G7YABRA.js';
|
|
3
|
+
import { sonorFetch } from './chunk-56VDS2RP.js';
|
|
4
|
+
import './chunk-ZLFGXKLG.js';
|
|
5
|
+
import './chunk-5S2XDG5O.js';
|
|
5
6
|
import './chunk-PKBMQBKP.js';
|
|
6
7
|
import React from 'react';
|
|
7
8
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
@@ -54,8 +55,7 @@ function FileField({
|
|
|
54
55
|
] });
|
|
55
56
|
}
|
|
56
57
|
async function uploadFormFile(file) {
|
|
57
|
-
const apiUrl
|
|
58
|
-
const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
|
|
58
|
+
const { apiUrl, apiKey } = getClientApiConfig();
|
|
59
59
|
if (!apiKey) {
|
|
60
60
|
throw new Error("API key is required to upload files.");
|
|
61
61
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { StageStyles, SummaryTick } from './chunk-
|
|
3
|
-
import { stageFirstName, useFieldControls, stageViews, stageEstimate, AUTO_ADVANCE_TYPES } from './chunk-
|
|
4
|
-
import { FormField } from './chunk-4NTBQNHA.js';
|
|
2
|
+
import { StageStyles, SummaryTick } from './chunk-3YKQLC7J.js';
|
|
3
|
+
import { stageFirstName, useFieldControls, stageViews, stageEstimate, AUTO_ADVANCE_TYPES } from './chunk-SBPAXWLF.js';
|
|
5
4
|
import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
|
|
6
5
|
import { isEmptyValue, unseenControlValues, isDisplayOnly } from './chunk-C2FZBUSS.js';
|
|
6
|
+
import { FormField } from './chunk-TYAVHRWH.js';
|
|
7
7
|
import './chunk-HW7B43E5.js';
|
|
8
8
|
import { DEFAULT_HONEYPOT_FIELD } from './chunk-NJCTQH2P.js';
|
|
9
9
|
import './chunk-PKBMQBKP.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { StageStyles, SummaryTick } from './chunk-
|
|
3
|
-
import { useFieldControls, stageViews, stageFirstName, stageEstimate, formatAnswer, AUTO_ADVANCE_TYPES } from './chunk-
|
|
4
|
-
import { FormField } from './chunk-4NTBQNHA.js';
|
|
2
|
+
import { StageStyles, SummaryTick } from './chunk-3YKQLC7J.js';
|
|
3
|
+
import { useFieldControls, stageViews, stageFirstName, stageEstimate, formatAnswer, AUTO_ADVANCE_TYPES } from './chunk-SBPAXWLF.js';
|
|
5
4
|
import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
|
|
6
5
|
import { isEmptyValue, unseenControlValues } from './chunk-C2FZBUSS.js';
|
|
6
|
+
import { FormField } from './chunk-TYAVHRWH.js';
|
|
7
7
|
import './chunk-HW7B43E5.js';
|
|
8
8
|
import { DEFAULT_HONEYPOT_FIELD } from './chunk-NJCTQH2P.js';
|
|
9
9
|
import './chunk-PKBMQBKP.js';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { ManagedForm } from './chunk-LKH44GI3.js';
|
|
2
|
+
import './chunk-SBPAXWLF.js';
|
|
3
|
+
import './chunk-UUWUAMUC.js';
|
|
4
|
+
import './chunk-Q6E4OPGG.js';
|
|
5
|
+
import './chunk-5ROTTMBL.js';
|
|
6
|
+
import './chunk-C2FZBUSS.js';
|
|
7
|
+
import './chunk-DXO6SBMD.js';
|
|
8
|
+
import './chunk-TYAVHRWH.js';
|
|
9
|
+
import './chunk-5SQK3D53.js';
|
|
10
|
+
import './chunk-HW7B43E5.js';
|
|
11
|
+
import './chunk-NJCTQH2P.js';
|
|
12
|
+
import './chunk-L2V5PUFN.js';
|
|
13
|
+
import './chunk-5TM3WPCI.js';
|
|
14
|
+
import './chunk-GJWI74ZZ.js';
|
|
15
|
+
import './chunk-3G7YABRA.js';
|
|
16
|
+
import './chunk-56VDS2RP.js';
|
|
17
|
+
import './chunk-ZLFGXKLG.js';
|
|
18
|
+
import './chunk-5S2XDG5O.js';
|
|
19
|
+
import './chunk-PKBMQBKP.js';
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import './chunk-GYF2ULVO.js';
|
|
3
|
-
import { useForm } from './chunk-CSN45MHO.js';
|
|
1
|
+
import { useForm } from './chunk-UUWUAMUC.js';
|
|
4
2
|
import './chunk-Q6E4OPGG.js';
|
|
3
|
+
import './chunk-5ROTTMBL.js';
|
|
5
4
|
import './chunk-C2FZBUSS.js';
|
|
6
5
|
import './chunk-5SQK3D53.js';
|
|
7
6
|
import './chunk-HW7B43E5.js';
|
|
8
7
|
import './chunk-NJCTQH2P.js';
|
|
8
|
+
import { NewsletterShell } from './chunk-SC4MZGWZ.js';
|
|
9
|
+
import './chunk-GYF2ULVO.js';
|
|
9
10
|
import './chunk-L2V5PUFN.js';
|
|
11
|
+
import './chunk-5TM3WPCI.js';
|
|
10
12
|
import './chunk-GJWI74ZZ.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-3G7YABRA.js';
|
|
14
|
+
import './chunk-56VDS2RP.js';
|
|
15
|
+
import './chunk-ZLFGXKLG.js';
|
|
16
|
+
import './chunk-5S2XDG5O.js';
|
|
14
17
|
import './chunk-PKBMQBKP.js';
|
|
15
18
|
import { jsx } from 'react/jsx-runtime';
|
|
16
19
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-
|
|
2
|
+
import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-ZKADJNR2.js';
|
|
3
3
|
import { onPageLeave } from './chunk-L2V5PUFN.js';
|
|
4
|
+
import './chunk-5TM3WPCI.js';
|
|
4
5
|
import './chunk-GJWI74ZZ.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import './chunk-
|
|
6
|
+
import { getClientApiConfig } from './chunk-3G7YABRA.js';
|
|
7
|
+
import { sonorFetch } from './chunk-56VDS2RP.js';
|
|
8
|
+
import { getFreshCredential, isSiteToken } from './chunk-ZLFGXKLG.js';
|
|
9
|
+
import './chunk-5S2XDG5O.js';
|
|
8
10
|
import './chunk-PKBMQBKP.js';
|
|
9
11
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
10
12
|
|
|
11
13
|
function getApiConfig() {
|
|
12
|
-
|
|
13
|
-
const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
|
|
14
|
-
return { apiUrl, apiKey };
|
|
14
|
+
return getClientApiConfig();
|
|
15
15
|
}
|
|
16
16
|
function isDebug() {
|
|
17
17
|
return typeof window !== "undefined" && !!window.__SITE_KIT_DEBUG__;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { SiteDesignReporter } from './chunk-ZHNQFNO3.js';
|
|
2
|
+
import './chunk-KRBBH64S.js';
|
|
3
|
+
import './chunk-IHG36STL.js';
|
|
4
|
+
import './chunk-YC7ELZS3.js';
|
|
5
|
+
import './chunk-S22FSH7C.js';
|
|
6
|
+
import './chunk-CAH4Y4PY.js';
|
|
7
|
+
import './chunk-EKBEOXTH.js';
|
|
8
|
+
import './chunk-3G7YABRA.js';
|
|
9
|
+
import './chunk-56VDS2RP.js';
|
|
10
|
+
import './chunk-ZLFGXKLG.js';
|
|
11
|
+
import './chunk-5S2XDG5O.js';
|
|
12
|
+
import './chunk-PKBMQBKP.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { SitePopups } from './chunk-S7SSYGUJ.js';
|
|
2
|
+
import './chunk-27FISYK4.js';
|
|
3
|
+
import './chunk-5ROTTMBL.js';
|
|
4
|
+
import './chunk-ZKADJNR2.js';
|
|
5
|
+
import './chunk-5TM3WPCI.js';
|
|
6
|
+
import './chunk-GJWI74ZZ.js';
|
|
7
|
+
import './chunk-CAH4Y4PY.js';
|
|
8
|
+
import './chunk-EKBEOXTH.js';
|
|
9
|
+
import './chunk-3G7YABRA.js';
|
|
10
|
+
import './chunk-56VDS2RP.js';
|
|
11
|
+
import './chunk-ZLFGXKLG.js';
|
|
12
|
+
import './chunk-5S2XDG5O.js';
|
|
13
|
+
import './chunk-PKBMQBKP.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SitemapSync } from './chunk-K22OLAPC.js';
|
|
2
|
+
import './chunk-YVKRYQRG.js';
|
|
3
|
+
import './chunk-CAH4Y4PY.js';
|
|
4
|
+
import './chunk-EKBEOXTH.js';
|
|
5
|
+
import './chunk-3G7YABRA.js';
|
|
6
|
+
import './chunk-56VDS2RP.js';
|
|
7
|
+
import './chunk-ZLFGXKLG.js';
|
|
8
|
+
import './chunk-5S2XDG5O.js';
|
|
9
|
+
import './chunk-PKBMQBKP.js';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { BookingWidget, BookingWidget_default as default } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
2
|
+
export { BookingWidget, BookingWidget_default as default } from '../chunk-OGK7OL3T.js';
|
|
3
|
+
import '../chunk-IJQ767JS.js';
|
|
4
|
+
import '../chunk-3G7YABRA.js';
|
|
5
|
+
import '../chunk-56VDS2RP.js';
|
|
6
|
+
import '../chunk-ZLFGXKLG.js';
|
|
7
|
+
import '../chunk-5S2XDG5O.js';
|
|
7
8
|
import '../chunk-PKBMQBKP.js';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { TestimonialSection } from '../chunk-
|
|
2
|
+
export { TestimonialSection } from '../chunk-6CJGZFOU.js';
|
|
3
3
|
import '../chunk-CAT235HY.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-NFRJTOTB.js';
|
|
5
5
|
import '../chunk-MH2DSGC6.js';
|
|
6
|
+
import '../chunk-3G7YABRA.js';
|
|
6
7
|
import '../chunk-PKBMQBKP.js';
|
package/dist/affiliates/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
2
|
+
import { getClientApiConfig } from '../chunk-3G7YABRA.js';
|
|
3
|
+
import { sonorFetch } from '../chunk-56VDS2RP.js';
|
|
4
|
+
import '../chunk-ZLFGXKLG.js';
|
|
5
|
+
import '../chunk-5S2XDG5O.js';
|
|
5
6
|
import '../chunk-PKBMQBKP.js';
|
|
6
7
|
import { useState, useEffect } from 'react';
|
|
7
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
9
|
|
|
9
10
|
// src/affiliates/api.ts
|
|
10
11
|
function getApiConfig() {
|
|
11
|
-
const apiUrl
|
|
12
|
-
|
|
13
|
-
return { apiUrl, apiKey };
|
|
12
|
+
const { apiUrl, apiKey } = getClientApiConfig();
|
|
13
|
+
return { apiUrl, apiKey: apiKey ?? "" };
|
|
14
14
|
}
|
|
15
15
|
async function apiGet(endpoint) {
|
|
16
16
|
const { apiUrl, apiKey } = getApiConfig();
|
package/dist/analytics/index.js
CHANGED
|
@@ -1,13 +1,79 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export {
|
|
3
|
-
|
|
2
|
+
export { AnalyticsProvider, WebVitals, useAnalytics, useAnalyticsOptional, useTrackEvent } from '../chunk-J65N34YM.js';
|
|
3
|
+
import { trackConversion } from '../chunk-LCDVPAMR.js';
|
|
4
4
|
export { trackConversion, trackEvent } from '../chunk-LCDVPAMR.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-ZKADJNR2.js';
|
|
6
6
|
import '../chunk-L2V5PUFN.js';
|
|
7
|
+
import '../chunk-5TM3WPCI.js';
|
|
7
8
|
import '../chunk-GJWI74ZZ.js';
|
|
8
|
-
export { isCrossOriginFrame, isFramed, isTopFrameSameOrigin } from '../chunk-
|
|
9
|
+
export { isCrossOriginFrame, isFramed, isTopFrameSameOrigin } from '../chunk-CAH4Y4PY.js';
|
|
9
10
|
import '../chunk-EKBEOXTH.js';
|
|
10
|
-
import '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-3G7YABRA.js';
|
|
12
|
+
import '../chunk-56VDS2RP.js';
|
|
13
|
+
import '../chunk-ZLFGXKLG.js';
|
|
14
|
+
import '../chunk-5S2XDG5O.js';
|
|
13
15
|
import '../chunk-PKBMQBKP.js';
|
|
16
|
+
import { useCallback, useEffect } from 'react';
|
|
17
|
+
|
|
18
|
+
function useContactTracking(options = {}) {
|
|
19
|
+
const { autoTrack = true, debug = false } = options;
|
|
20
|
+
const trackPhoneClick = useCallback((phoneNumber, metadata) => {
|
|
21
|
+
if (debug) console.log("[Analytics] Phone click:", phoneNumber);
|
|
22
|
+
trackConversion({
|
|
23
|
+
type: "phone_call",
|
|
24
|
+
metadata: {
|
|
25
|
+
phoneNumber: phoneNumber.replace(/\D/g, ""),
|
|
26
|
+
// Normalize to digits
|
|
27
|
+
rawNumber: phoneNumber,
|
|
28
|
+
...metadata
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}, [debug]);
|
|
32
|
+
const trackEmailClick = useCallback((email, metadata) => {
|
|
33
|
+
if (debug) console.log("[Analytics] Email click:", email);
|
|
34
|
+
trackConversion({
|
|
35
|
+
type: "email_click",
|
|
36
|
+
metadata: {
|
|
37
|
+
email,
|
|
38
|
+
...metadata
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}, [debug]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (!autoTrack || typeof document === "undefined") return;
|
|
44
|
+
const handleClick = (e) => {
|
|
45
|
+
const target = e.target;
|
|
46
|
+
const anchor = target.closest("a");
|
|
47
|
+
if (!anchor) return;
|
|
48
|
+
const href = anchor.getAttribute("href");
|
|
49
|
+
if (!href) return;
|
|
50
|
+
if (href.startsWith("tel:")) {
|
|
51
|
+
const phone = href.replace("tel:", "").trim();
|
|
52
|
+
trackPhoneClick(phone, {
|
|
53
|
+
linkText: anchor.textContent?.trim(),
|
|
54
|
+
source: "auto"
|
|
55
|
+
});
|
|
56
|
+
} else if (href.startsWith("mailto:")) {
|
|
57
|
+
const email = href.replace("mailto:", "").split("?")[0].trim();
|
|
58
|
+
trackEmailClick(email, {
|
|
59
|
+
linkText: anchor.textContent?.trim(),
|
|
60
|
+
source: "auto"
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
document.addEventListener("click", handleClick, { capture: true });
|
|
65
|
+
return () => {
|
|
66
|
+
document.removeEventListener("click", handleClick, { capture: true });
|
|
67
|
+
};
|
|
68
|
+
}, [autoTrack, trackPhoneClick, trackEmailClick]);
|
|
69
|
+
return {
|
|
70
|
+
trackPhoneClick,
|
|
71
|
+
trackEmailClick
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function ContactTracking({ debug = false }) {
|
|
75
|
+
useContactTracking({ autoTrack: true, debug });
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export { ContactTracking, useContactTracking };
|
package/dist/articles/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { ArticleFAQ } from '../chunk-GKGSXUVQ.js';
|
|
3
2
|
import { NewsletterShell } from '../chunk-SC4MZGWZ.js';
|
|
3
|
+
export { ArticleFAQ } from '../chunk-GKGSXUVQ.js';
|
|
4
4
|
import { getAuthorSocialLinks, readingTimeMinutes } from '../chunk-FV2VD7WM.js';
|
|
5
5
|
export { ClusterNavigation, ServiceCallout, ServiceCallouts } from '../chunk-FV2VD7WM.js';
|
|
6
6
|
import '../chunk-GYF2ULVO.js';
|
|
@@ -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-
|
|
18
|
+
var ManagedNewsletterForm = React.lazy(() => import('../ManagedNewsletterForm-DQIB5Z4Y.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,7 +2,7 @@ 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-
|
|
5
|
+
import { fetchArticleBySlug, fetchRelatedArticles, fetchArticleCategories, getTopicCluster } from '../chunk-XPTJRVL2.js';
|
|
6
6
|
export { articleTableCss, wrapArticleTables } from '../chunk-Y3INC4QJ.js';
|
|
7
7
|
import { resolveArticleArtwork, articleArtworkImageStyle } from '../chunk-QXMIKDOL.js';
|
|
8
8
|
export { resolveArticleArtwork } from '../chunk-QXMIKDOL.js';
|
|
@@ -10,7 +10,7 @@ import { createPublicationRoutes, articleCategorySlug } from '../chunk-WMVK77ND.
|
|
|
10
10
|
export { articleCategorySlug, createPublicationRoutes, resolveArticleUrl, resolvePublicationUrl } from '../chunk-WMVK77ND.js';
|
|
11
11
|
import '../chunk-VWWITFWM.js';
|
|
12
12
|
import { withSiteParam } from '../chunk-MJP63SSS.js';
|
|
13
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-C7TLGL3R.js';
|
|
14
14
|
import '../chunk-MH2DSGC6.js';
|
|
15
15
|
import '../chunk-YVKRYQRG.js';
|
|
16
16
|
import '../chunk-FESKKJAS.js';
|
|
@@ -133,7 +133,7 @@ async function Article({
|
|
|
133
133
|
...item,
|
|
134
134
|
answer: addExternalLinkTargets(item.answer || "", siteUrlResolved)
|
|
135
135
|
})) ?? faqRaw;
|
|
136
|
-
const { ArticleViewTracker } = await import('../ArticleViewTracker-
|
|
136
|
+
const { ArticleViewTracker } = await import('../ArticleViewTracker-HG7IIRJY.js');
|
|
137
137
|
if (children) {
|
|
138
138
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
139
139
|
/* @__PURE__ */ jsx(ArticleViewTracker, { slug: post.slug, site }),
|
package/dist/articles/server.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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-
|
|
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-XPTJRVL2.js';
|
|
2
2
|
export { articleTableCss, wrapArticleTables } from '../chunk-Y3INC4QJ.js';
|
|
3
3
|
export { authorEntityId, generateArticleAuthorNode, generateAuthorPersonSchema, generateAuthorSchema, resolveArticleArtwork, withArticleAuthorIdentity } from '../chunk-QXMIKDOL.js';
|
|
4
4
|
export { articleCategorySlug, createPublicationRoutes, resolveArticleUrl, resolvePublicationUrl } from '../chunk-WMVK77ND.js';
|
|
5
5
|
import '../chunk-VWWITFWM.js';
|
|
6
6
|
import '../chunk-MJP63SSS.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-C7TLGL3R.js';
|
|
8
8
|
import '../chunk-MH2DSGC6.js';
|
|
9
9
|
import '../chunk-FESKKJAS.js';
|
|
10
10
|
import '../chunk-A4CC4ZG3.js';
|
package/dist/brand.css
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* --sk-primary-rgb: 84, 185, 72;
|
|
14
14
|
* }
|
|
15
15
|
*
|
|
16
|
-
* All site-kit components (forms,
|
|
16
|
+
* All site-kit components (forms, booking, chat, popups, blog) and the kits that build on it (commerce-kit)
|
|
17
17
|
* read from these tokens. Set them once and every widget matches your brand.
|
|
18
18
|
*/
|
|
19
19
|
|
package/dist/chat/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* The chat launcher and Echo conversation a site shows. SiteKitLayout mounts
|
|
5
5
|
* it for you (its `chat` prop); `SiteChat` places it yourself the same way
|
|
6
6
|
* (idle-deferred, gated like analytics), and `ChatWidget` is the widget
|
|
7
|
-
* itself.
|
|
7
|
+
* itself.
|
|
8
8
|
*/
|
|
9
9
|
export { SiteChat, type SiteChatProps } from './SiteChat';
|
|
10
10
|
export { ChatWidget, EchoChat, isChatEnabled } from './ChatWidget';
|
package/dist/chat/index.js
CHANGED
|
@@ -1,22 +1,53 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export { SiteChat } from '../chunk-YCFW2OQO.js';
|
|
2
|
+
export { ChatWidget, DEFAULT_LAUNCHER_OFFSET_BOTTOM, EchoChat, chatLauncherStyles, isChatEnabled } from '../chunk-GNSXOTIK.js';
|
|
3
|
+
export { SiteChat } from '../chunk-PD7K54EQ.js';
|
|
5
4
|
import '../chunk-6T6CQVNL.js';
|
|
6
5
|
import '../chunk-JE4A5S4F.js';
|
|
7
6
|
import '../chunk-27FISYK4.js';
|
|
8
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-UUWUAMUC.js';
|
|
9
8
|
import '../chunk-Q6E4OPGG.js';
|
|
9
|
+
import '../chunk-5ROTTMBL.js';
|
|
10
10
|
import '../chunk-C2FZBUSS.js';
|
|
11
11
|
import '../chunk-5SQK3D53.js';
|
|
12
12
|
import '../chunk-HW7B43E5.js';
|
|
13
13
|
import '../chunk-NJCTQH2P.js';
|
|
14
14
|
import '../chunk-S22FSH7C.js';
|
|
15
15
|
import '../chunk-L2V5PUFN.js';
|
|
16
|
+
import '../chunk-5TM3WPCI.js';
|
|
16
17
|
import '../chunk-GJWI74ZZ.js';
|
|
17
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-CAH4Y4PY.js';
|
|
18
19
|
import '../chunk-EKBEOXTH.js';
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
21
|
-
import '../chunk-
|
|
20
|
+
import '../chunk-3G7YABRA.js';
|
|
21
|
+
import '../chunk-56VDS2RP.js';
|
|
22
|
+
import '../chunk-ZLFGXKLG.js';
|
|
23
|
+
import '../chunk-5S2XDG5O.js';
|
|
22
24
|
import '../chunk-PKBMQBKP.js';
|
|
25
|
+
|
|
26
|
+
// src/chat/echo-config.ts
|
|
27
|
+
var SONOR_PUBLIC_ECHO_DEFAULTS = {
|
|
28
|
+
signalUrl: "https://signal.sonor.io",
|
|
29
|
+
welcomeMessage: "Hi! I'm Echo, Sonor's AI assistant. I can answer questions about our platform, help you understand pricing, or get you started with a demo. What would you like to know?",
|
|
30
|
+
suggestedQuestions: [
|
|
31
|
+
"What does Sonor do?",
|
|
32
|
+
"How does Signal AI work?",
|
|
33
|
+
"What are the pricing plans?",
|
|
34
|
+
"Can I migrate from HubSpot?",
|
|
35
|
+
"How does the SEO module work?"
|
|
36
|
+
],
|
|
37
|
+
brandColor: "#2563eb",
|
|
38
|
+
// blue-600 (~5.2:1 on white, AA); overridden by --sk-primary CSS var or API brand_primary
|
|
39
|
+
assistantName: "Echo"
|
|
40
|
+
};
|
|
41
|
+
function getEchoWidgetProps(config = SONOR_PUBLIC_ECHO_DEFAULTS) {
|
|
42
|
+
return {
|
|
43
|
+
signal_enabled: true,
|
|
44
|
+
signal_url: config.signalUrl || SONOR_PUBLIC_ECHO_DEFAULTS.signalUrl,
|
|
45
|
+
welcome_message: config.welcomeMessage || SONOR_PUBLIC_ECHO_DEFAULTS.welcomeMessage,
|
|
46
|
+
suggested_questions: config.suggestedQuestions || SONOR_PUBLIC_ECHO_DEFAULTS.suggestedQuestions,
|
|
47
|
+
brand_color: config.brandColor || SONOR_PUBLIC_ECHO_DEFAULTS.brandColor,
|
|
48
|
+
assistant_name: config.assistantName || SONOR_PUBLIC_ECHO_DEFAULTS.assistantName,
|
|
49
|
+
assistant_avatar: config.assistantAvatar
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { SONOR_PUBLIC_ECHO_DEFAULTS, getEchoWidgetProps };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// src/shared/clientApiConfig.ts
|
|
2
|
+
var DEFAULT_SONOR_API_URL = "https://api.sonor.io";
|
|
3
|
+
function trimSlash(url) {
|
|
4
|
+
return url.replace(/\/+$/, "");
|
|
5
|
+
}
|
|
6
|
+
function siteKitWindow() {
|
|
7
|
+
return typeof window === "undefined" ? void 0 : window;
|
|
8
|
+
}
|
|
9
|
+
function readPublishedApiConfig() {
|
|
10
|
+
const w = siteKitWindow();
|
|
11
|
+
const apiUrl = w?.__SITE_KIT_API_URL__ ? trimSlash(w.__SITE_KIT_API_URL__) : void 0;
|
|
12
|
+
return { apiUrl, apiKey: w?.__SITE_KIT_API_KEY__ || void 0 };
|
|
13
|
+
}
|
|
14
|
+
function getClientApiConfig(options = {}) {
|
|
15
|
+
if (typeof window === "undefined") {
|
|
16
|
+
return {
|
|
17
|
+
apiUrl: trimSlash(process.env.SONOR_API_URL || process.env.NEXT_PUBLIC_SONOR_API_URL || DEFAULT_SONOR_API_URL),
|
|
18
|
+
apiKey: options.serverKey ? process.env.SONOR_API_KEY || void 0 : void 0
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const published = readPublishedApiConfig();
|
|
22
|
+
return { apiUrl: published.apiUrl || DEFAULT_SONOR_API_URL, apiKey: published.apiKey };
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { DEFAULT_SONOR_API_URL, getClientApiConfig, readPublishedApiConfig };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SLOTS_CONTRACT_VERSION, verifySlotContent, canonicalJson } from './chunk-VCJYLYJV.js';
|
|
2
2
|
import { isValidSlotId, SLOT_CONTENT_MAX_LENGTH, parseSlotRichText, normalizeSlotValue } from './chunk-LPH5FANE.js';
|
|
3
|
-
import { SITE_CACHE_TAGS } from './chunk-
|
|
4
|
-
import { resolveServerApiConfig } from './chunk-
|
|
3
|
+
import { SITE_CACHE_TAGS } from './chunk-6KU7STM3.js';
|
|
4
|
+
import { resolveServerApiConfig } from './chunk-C7TLGL3R.js';
|
|
5
5
|
import 'server-only';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { cache } from 'react';
|
|
@@ -96,9 +96,12 @@ var CSS = `
|
|
|
96
96
|
}
|
|
97
97
|
.sk-stage__summary:hover,
|
|
98
98
|
.sk-stage__summary:focus-visible { background: color-mix(in srgb, currentColor 7%, transparent); }
|
|
99
|
+
/* The step number and a settled label stay dimmer than the label (.72) but
|
|
100
|
+
no lower than .62: at .5, near-black text on white measured 3.43:1 live,
|
|
101
|
+
under WCAG AA's 4.5:1. .62 gives ~5:1 on the same text. */
|
|
99
102
|
.sk-stage__summary-idx {
|
|
100
103
|
font-size: 11px; font-weight: 700; letter-spacing: .06em;
|
|
101
|
-
font-variant-numeric: tabular-nums; opacity: .
|
|
104
|
+
font-variant-numeric: tabular-nums; opacity: .62; flex-shrink: 0;
|
|
102
105
|
}
|
|
103
106
|
.sk-stage__summary-label {
|
|
104
107
|
font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
|
|
@@ -118,7 +121,7 @@ var CSS = `
|
|
|
118
121
|
}
|
|
119
122
|
}
|
|
120
123
|
.sk-stage__summary-value--skipped { font-weight: 400; font-style: italic; opacity: .6; }
|
|
121
|
-
.sk-stage__beat[data-sk-beat-filled="true"] .sk-stage__summary-label { opacity: .
|
|
124
|
+
.sk-stage__beat[data-sk-beat-filled="true"] .sk-stage__summary-label { opacity: .62; }
|
|
122
125
|
.sk-stage__summary-tick {
|
|
123
126
|
width: 15px; height: 15px; border-radius: 50%; flex-shrink: 0; align-self: center;
|
|
124
127
|
background: color-mix(in srgb, var(--sk-primary, #2563eb) 72%, currentColor);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isTokenMode, getFreshCredential, isSiteToken, refreshSiteToken, currentCredential, credentialBreakerId } from './chunk-
|
|
2
|
-
import { SITE_KIT_VERSION } from './chunk-
|
|
1
|
+
import { isTokenMode, getFreshCredential, isSiteToken, refreshSiteToken, currentCredential, credentialBreakerId } from './chunk-ZLFGXKLG.js';
|
|
2
|
+
import { SITE_KIT_VERSION } from './chunk-5S2XDG5O.js';
|
|
3
3
|
|
|
4
4
|
// src/shared/fetchWithRetry.ts
|
|
5
5
|
function backoffDelay(attempt, response) {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { memoryIdentity, VISITOR_ID_KEY, SESSION_ID_KEY } from './chunk-5TM3WPCI.js';
|
|
2
|
+
|
|
3
|
+
// src/shared/identity-reader.ts
|
|
4
|
+
function readKey(kind, key) {
|
|
5
|
+
try {
|
|
6
|
+
return window[kind].getItem(key) || null;
|
|
7
|
+
} catch {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function readAnalyticsIdentity() {
|
|
12
|
+
if (typeof window === "undefined") return { sessionId: null, visitorId: null };
|
|
13
|
+
return {
|
|
14
|
+
sessionId: readKey("sessionStorage", SESSION_ID_KEY) || memoryIdentity.sessionId || null,
|
|
15
|
+
visitorId: readKey("localStorage", VISITOR_ID_KEY) || memoryIdentity.visitorId || null
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { readAnalyticsIdentity };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// src/shared/identity-storage.ts
|
|
2
|
+
var VISITOR_ID_KEY = "_sk_vid";
|
|
3
|
+
var SESSION_ID_KEY = "_sk_sid";
|
|
4
|
+
var SESSION_TIME_KEY = "_sk_stime";
|
|
5
|
+
var memoryIdentity = { visitorId: "", sessionId: "" };
|
|
6
|
+
|
|
7
|
+
export { SESSION_ID_KEY, SESSION_TIME_KEY, VISITOR_ID_KEY, memoryIdentity };
|