@sonordev/site-kit 7.3.0 → 7.4.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/CHANGELOG.md +6 -0
- package/agent-manifest.json +1 -1
- package/dist/{AnalyticsProvider-DJQA66AG.js → AnalyticsProvider-BQXV3ZF3.js} +4 -4
- package/dist/{ArticleViewTracker-GFOAXFV7.js → ArticleViewTracker-3DH53RSB.js} +3 -3
- package/dist/{BlocksPopup-AHDU34TL.js → BlocksPopup-FGWYVHCH.js} +4 -4
- package/dist/{ChatWidget-FHBAHFZX.js → ChatWidget-CDQZCLVH.js} +5 -5
- package/dist/{FileField-J5W5MIAZ.js → FileField-IPJ7L2W6.js} +3 -3
- package/dist/{FormSpotlight-PE5YZBFZ.js → FormSpotlight-CQI2DBWI.js} +1 -1
- package/dist/{FormStage-OOPQC27J.js → FormStage-4WHD6ED4.js} +1 -1
- package/dist/{ManagedForm-JRZAJ7SZ.js → ManagedForm-7FZNH4L2.js} +6 -6
- package/dist/{ManagedNewsletterForm-TC5542ZG.js → ManagedNewsletterForm-3D2BK3KQ.js} +4 -4
- package/dist/{SignalCore-2YP5FCAS.js → SignalCore-HEQYITTM.js} +3 -3
- package/dist/{SiteChat-EGEZJJVV.js → SiteChat-DMPDXY3W.js} +1 -1
- package/dist/{SiteDesignReporter-YEEWJKWN.js → SiteDesignReporter-Y2IOJE52.js} +5 -5
- package/dist/{SitePopups-LQBIXIFV.js → SitePopups-HD2LDKVU.js} +4 -4
- package/dist/SitemapSync-OKPZHRX6.js +8 -0
- package/dist/_client/booking-widget.js +5 -5
- package/dist/_client/testimonial-section.d.ts +1 -1
- package/dist/_client/testimonial-section.js +2 -1
- package/dist/affiliates/index.js +3 -3
- package/dist/analytics/index.js +4 -4
- package/dist/articles/index.js +1 -1
- package/dist/articles/server-ui.js +1 -1
- package/dist/chat/index.js +6 -6
- package/dist/{chunk-BEBR4OJD.js → chunk-3E3PPSNR.js} +2 -2
- package/dist/{chunk-6U3VLV2C.js → chunk-4BHRA7TI.js} +1 -1
- package/dist/{chunk-Y6LP36UW.js → chunk-4DJMJ4V5.js} +2 -2
- package/dist/{chunk-WDQB4OXY.js → chunk-5O62CER4.js} +1 -1
- package/dist/{chunk-YJLS6JBI.js → chunk-6LLTLLEJ.js} +2 -2
- package/dist/{chunk-BR4ZKUHH.js → chunk-7HPZSWS4.js} +17 -1
- package/dist/{chunk-CYUFBKJQ.js → chunk-AH4AXO4P.js} +1 -1
- package/dist/{chunk-ZKHI4E2B.js → chunk-ATE6IFVK.js} +1 -1
- package/dist/{chunk-L7U23XI2.js → chunk-AV4QAK5F.js} +1 -1
- package/dist/chunk-CAT235HY.js +13 -0
- package/dist/{chunk-I2YX3HVD.js → chunk-CG4ETW5Y.js} +2 -2
- package/dist/{chunk-MKMD2HJW.js → chunk-CKW4HFJG.js} +1 -1
- package/dist/{chunk-EPT6FJUY.js → chunk-CSN45MHO.js} +1 -1
- package/dist/{chunk-T4DLETKR.js → chunk-D2RGEWHS.js} +1 -1
- package/dist/{chunk-ZHS2XFLV.js → chunk-DA5XC7Y6.js} +1 -1
- package/dist/{chunk-UPRSH6Q4.js → chunk-EHR4NIMX.js} +2 -2
- package/dist/{chunk-XLSQTTUE.js → chunk-FUQTV5O6.js} +1 -1
- package/dist/{chunk-WGG6GTKW.js → chunk-GK7TV7EK.js} +1 -1
- package/dist/{chunk-DNPNYWVL.js → chunk-IE5SSOCN.js} +3 -10
- package/dist/{chunk-VF4F5WXZ.js → chunk-JRCNUUNG.js} +1 -1
- package/dist/{chunk-56KNHB4U.js → chunk-KHQ5GD6T.js} +1 -1
- package/dist/{chunk-WGIDC6QP.js → chunk-MDP7EB4J.js} +3 -3
- package/dist/{chunk-2ECWEUHP.js → chunk-MHGAZ3LL.js} +1 -1
- package/dist/chunk-OD2ULW5Z.js +57 -0
- package/dist/{chunk-O5RGXTWU.js → chunk-OOD6GMT4.js} +2 -2
- package/dist/{chunk-MVR4FY5R.js → chunk-PF64OEXC.js} +1 -1
- package/dist/{chunk-MRQ2U4LZ.js → chunk-PQDJNIHR.js} +1 -1
- package/dist/{chunk-VX5CMNMM.js → chunk-UAYAJPEP.js} +7 -1
- package/dist/{chunk-NI2XNEMR.js → chunk-XA2BNW5M.js} +1 -1
- package/dist/{chunk-2AD3CDRR.js → chunk-XEMHGJEG.js} +8 -8
- package/dist/{chunk-RDPW4D33.js → chunk-YCFW2OQO.js} +1 -1
- package/dist/{chunk-Z65DHMTW.js → chunk-ZTLU3BSW.js} +2 -2
- package/dist/client/index.js +3 -3
- package/dist/commerce/index.js +4 -4
- package/dist/engage/index.js +7 -7
- package/dist/fleet/index.js +4 -4
- package/dist/forms/index.js +7 -7
- package/dist/forms/server.js +2 -2
- package/dist/images/index.js +4 -4
- package/dist/index.js +1 -1
- package/dist/layout/client.js +7 -7
- package/dist/layout/index.js +9 -9
- package/dist/llms/index.js +6 -6
- package/dist/maps/index.js +3 -3
- package/dist/mcp/sonor.js +8 -8
- package/dist/reputation/TestimonialSection.d.ts +1 -1
- package/dist/reputation/VisualReviewCard.d.ts +6 -0
- package/dist/reputation/index.d.ts +2 -1
- package/dist/reputation/index.js +3 -1
- package/dist/reputation/review-photo.d.ts +2 -0
- package/dist/reputation/server.d.ts +3 -2
- package/dist/reputation/server.js +2 -0
- package/dist/reputation/types.d.ts +22 -0
- package/dist/revalidate/index.js +2 -2
- package/dist/seo/client.js +4 -4
- package/dist/seo/index.js +4 -4
- package/dist/seo/llms.js +6 -6
- package/dist/seo/register-sitemap-cli.js +1 -1
- package/dist/seo/sitemap.js +4 -4
- package/dist/server/index.js +3 -3
- package/dist/server/mint-site-token.d.ts +1 -2
- package/dist/shared/fresh-fetch.d.ts +9 -3
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +2 -2
- package/dist/sitemap/index.js +4 -4
- package/dist/sync/index.js +5 -5
- package/dist/website/images.js +4 -4
- package/dist/website/index.js +5 -5
- package/dist/website/popups.js +4 -4
- package/dist/{writeLLMsTxt-2NQVDGYI.js → writeLLMsTxt-OL4KQERZ.js} +3 -3
- package/package.json +1 -1
- package/src/reputation/README.md +25 -0
- package/dist/SitemapSync-LSZ2EYOF.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @sonordev/site-kit Changelog
|
|
2
2
|
|
|
3
|
+
## 7.4.0
|
|
4
|
+
|
|
5
|
+
- Reviews can include a project-managed photo, caption, and alternative text. Text-only reviews remain visible while imagery is pending for Broadcast.
|
|
6
|
+
- `VisualReviewCard` and `VisualReviewGallery` are available from the server-safe reputation entry point. `TestimonialSection` also displays attached review photos.
|
|
7
|
+
- Token minting supports a cold Next.js Cache Components prerender, including the default 404 page. Each mint stays fresh across deploys and token expiry, without changing form initialization or putting a raw API key into successful token responses.
|
|
8
|
+
|
|
3
9
|
## 7.3.0
|
|
4
10
|
|
|
5
11
|
AI assistants can discover a site's existing MCP tools through more of the surfaces they read.
|
package/agent-manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"package": "@sonordev/site-kit",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.4.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,11 +1,11 @@
|
|
|
1
|
-
export { AnalyticsProvider, useAnalytics, useAnalyticsOptional, useTrackEvent } from './chunk-
|
|
1
|
+
export { AnalyticsProvider, useAnalytics, useAnalyticsOptional, useTrackEvent } from './chunk-CKW4HFJG.js';
|
|
2
2
|
import './chunk-LCDVPAMR.js';
|
|
3
3
|
import './chunk-24QZEO3Q.js';
|
|
4
4
|
import './chunk-L2V5PUFN.js';
|
|
5
5
|
import './chunk-GJWI74ZZ.js';
|
|
6
6
|
import './chunk-43OCZ3JA.js';
|
|
7
7
|
import './chunk-EKBEOXTH.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-3E3PPSNR.js';
|
|
9
|
+
import './chunk-GK7TV7EK.js';
|
|
10
|
+
import './chunk-KHQ5GD6T.js';
|
|
11
11
|
import './chunk-PKBMQBKP.js';
|
|
@@ -3,9 +3,9 @@ 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 { sonorFetch } from './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
6
|
+
import { sonorFetch } from './chunk-3E3PPSNR.js';
|
|
7
|
+
import './chunk-GK7TV7EK.js';
|
|
8
|
+
import './chunk-KHQ5GD6T.js';
|
|
9
9
|
import './chunk-PKBMQBKP.js';
|
|
10
10
|
import { useEffect } from 'react';
|
|
11
11
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { getSiteDesignTokens } from './chunk-
|
|
2
|
+
import { getSiteDesignTokens } from './chunk-CG4ETW5Y.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-43OCZ3JA.js';
|
|
7
7
|
import './chunk-EKBEOXTH.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-3E3PPSNR.js';
|
|
9
|
+
import './chunk-GK7TV7EK.js';
|
|
10
|
+
import './chunk-KHQ5GD6T.js';
|
|
11
11
|
import './chunk-PKBMQBKP.js';
|
|
12
12
|
import { useState } from 'react';
|
|
13
13
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { ChatWidget, EchoChat, isChatEnabled } from './chunk-
|
|
1
|
+
export { ChatWidget, EchoChat, isChatEnabled } from './chunk-OOD6GMT4.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-CSN45MHO.js';
|
|
6
6
|
import './chunk-Q6E4OPGG.js';
|
|
7
7
|
import './chunk-C2FZBUSS.js';
|
|
8
8
|
import './chunk-5SQK3D53.js';
|
|
@@ -11,7 +11,7 @@ import './chunk-NJCTQH2P.js';
|
|
|
11
11
|
import './chunk-S22FSH7C.js';
|
|
12
12
|
import './chunk-L2V5PUFN.js';
|
|
13
13
|
import './chunk-GJWI74ZZ.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
14
|
+
import './chunk-3E3PPSNR.js';
|
|
15
|
+
import './chunk-GK7TV7EK.js';
|
|
16
|
+
import './chunk-KHQ5GD6T.js';
|
|
17
17
|
import './chunk-PKBMQBKP.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { sonorFetch } from './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
2
|
+
import { sonorFetch } from './chunk-3E3PPSNR.js';
|
|
3
|
+
import './chunk-GK7TV7EK.js';
|
|
4
|
+
import './chunk-KHQ5GD6T.js';
|
|
5
5
|
import './chunk-PKBMQBKP.js';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { StageStyles, SummaryTick } from './chunk-J4FSB4OG.js';
|
|
3
|
-
import { stageFirstName, useFieldControls, stageViews, stageEstimate, AUTO_ADVANCE_TYPES } from './chunk-
|
|
3
|
+
import { stageFirstName, useFieldControls, stageViews, stageEstimate, AUTO_ADVANCE_TYPES } from './chunk-ATE6IFVK.js';
|
|
4
4
|
import { FormField } from './chunk-4NTBQNHA.js';
|
|
5
5
|
import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
|
|
6
6
|
import { isEmptyValue, unseenControlValues, isDisplayOnly } from './chunk-C2FZBUSS.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { StageStyles, SummaryTick } from './chunk-J4FSB4OG.js';
|
|
3
|
-
import { useFieldControls, stageViews, stageFirstName, stageEstimate, formatAnswer, AUTO_ADVANCE_TYPES } from './chunk-
|
|
3
|
+
import { useFieldControls, stageViews, stageFirstName, stageEstimate, formatAnswer, AUTO_ADVANCE_TYPES } from './chunk-ATE6IFVK.js';
|
|
4
4
|
import { FormField } from './chunk-4NTBQNHA.js';
|
|
5
5
|
import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
|
|
6
6
|
import { isEmptyValue, unseenControlValues } from './chunk-C2FZBUSS.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { ManagedForm } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { ManagedForm } from './chunk-MDP7EB4J.js';
|
|
2
|
+
import './chunk-ATE6IFVK.js';
|
|
3
3
|
import './chunk-DXO6SBMD.js';
|
|
4
4
|
import './chunk-4NTBQNHA.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-CSN45MHO.js';
|
|
6
6
|
import './chunk-Q6E4OPGG.js';
|
|
7
7
|
import './chunk-C2FZBUSS.js';
|
|
8
8
|
import './chunk-5SQK3D53.js';
|
|
@@ -10,7 +10,7 @@ import './chunk-HW7B43E5.js';
|
|
|
10
10
|
import './chunk-NJCTQH2P.js';
|
|
11
11
|
import './chunk-L2V5PUFN.js';
|
|
12
12
|
import './chunk-GJWI74ZZ.js';
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
13
|
+
import './chunk-3E3PPSNR.js';
|
|
14
|
+
import './chunk-GK7TV7EK.js';
|
|
15
|
+
import './chunk-KHQ5GD6T.js';
|
|
16
16
|
import './chunk-PKBMQBKP.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NewsletterShell } from './chunk-SC4MZGWZ.js';
|
|
2
2
|
import './chunk-GYF2ULVO.js';
|
|
3
|
-
import { useForm } from './chunk-
|
|
3
|
+
import { useForm } from './chunk-CSN45MHO.js';
|
|
4
4
|
import './chunk-Q6E4OPGG.js';
|
|
5
5
|
import './chunk-C2FZBUSS.js';
|
|
6
6
|
import './chunk-5SQK3D53.js';
|
|
@@ -8,9 +8,9 @@ import './chunk-HW7B43E5.js';
|
|
|
8
8
|
import './chunk-NJCTQH2P.js';
|
|
9
9
|
import './chunk-L2V5PUFN.js';
|
|
10
10
|
import './chunk-GJWI74ZZ.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
11
|
+
import './chunk-3E3PPSNR.js';
|
|
12
|
+
import './chunk-GK7TV7EK.js';
|
|
13
|
+
import './chunk-KHQ5GD6T.js';
|
|
14
14
|
import './chunk-PKBMQBKP.js';
|
|
15
15
|
import { jsx } from 'react/jsx-runtime';
|
|
16
16
|
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-24QZEO3Q.js';
|
|
3
3
|
import { onPageLeave } from './chunk-L2V5PUFN.js';
|
|
4
4
|
import './chunk-GJWI74ZZ.js';
|
|
5
|
-
import { sonorFetch } from './chunk-
|
|
6
|
-
import { getFreshCredential, isSiteToken } from './chunk-
|
|
7
|
-
import './chunk-
|
|
5
|
+
import { sonorFetch } from './chunk-3E3PPSNR.js';
|
|
6
|
+
import { getFreshCredential, isSiteToken } from './chunk-GK7TV7EK.js';
|
|
7
|
+
import './chunk-KHQ5GD6T.js';
|
|
8
8
|
import './chunk-PKBMQBKP.js';
|
|
9
9
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
10
10
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { SiteDesignReporter } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { SiteDesignReporter } from './chunk-PQDJNIHR.js';
|
|
2
|
+
import './chunk-CG4ETW5Y.js';
|
|
3
3
|
import './chunk-IHG36STL.js';
|
|
4
4
|
import './chunk-YC7ELZS3.js';
|
|
5
5
|
import './chunk-S22FSH7C.js';
|
|
6
6
|
import './chunk-43OCZ3JA.js';
|
|
7
7
|
import './chunk-EKBEOXTH.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-3E3PPSNR.js';
|
|
9
|
+
import './chunk-GK7TV7EK.js';
|
|
10
|
+
import './chunk-KHQ5GD6T.js';
|
|
11
11
|
import './chunk-PKBMQBKP.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { SitePopups } from './chunk-
|
|
1
|
+
export { SitePopups } from './chunk-6LLTLLEJ.js';
|
|
2
2
|
import './chunk-27FISYK4.js';
|
|
3
3
|
import './chunk-24QZEO3Q.js';
|
|
4
4
|
import './chunk-GJWI74ZZ.js';
|
|
5
5
|
import './chunk-43OCZ3JA.js';
|
|
6
6
|
import './chunk-EKBEOXTH.js';
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
7
|
+
import './chunk-3E3PPSNR.js';
|
|
8
|
+
import './chunk-GK7TV7EK.js';
|
|
9
|
+
import './chunk-KHQ5GD6T.js';
|
|
10
10
|
import './chunk-PKBMQBKP.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { SitemapSync } from './chunk-D2RGEWHS.js';
|
|
2
|
+
import './chunk-YVKRYQRG.js';
|
|
3
|
+
import './chunk-43OCZ3JA.js';
|
|
4
|
+
import './chunk-EKBEOXTH.js';
|
|
5
|
+
import './chunk-3E3PPSNR.js';
|
|
6
|
+
import './chunk-GK7TV7EK.js';
|
|
7
|
+
import './chunk-KHQ5GD6T.js';
|
|
8
|
+
import './chunk-PKBMQBKP.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
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-AV4QAK5F.js';
|
|
3
|
+
import '../chunk-MHGAZ3LL.js';
|
|
4
|
+
import '../chunk-3E3PPSNR.js';
|
|
5
|
+
import '../chunk-GK7TV7EK.js';
|
|
6
|
+
import '../chunk-KHQ5GD6T.js';
|
|
7
7
|
import '../chunk-PKBMQBKP.js';
|
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import type { TestimonialSectionProps } from '../reputation/types';
|
|
11
|
-
export declare function TestimonialSection({ title, subtitle, autoplay, autoplayInterval, showRating, maxReviews, featuredOnly, service, className, }: TestimonialSectionProps): React.JSX.Element | null;
|
|
11
|
+
export declare function TestimonialSection({ title, subtitle, autoplay, autoplayInterval, showRating, showPhoto, maxReviews, featuredOnly, service, className, }: TestimonialSectionProps): React.JSX.Element | null;
|
package/dist/affiliates/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { sonorFetch } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
2
|
+
import { sonorFetch } from '../chunk-3E3PPSNR.js';
|
|
3
|
+
import '../chunk-GK7TV7EK.js';
|
|
4
|
+
import '../chunk-KHQ5GD6T.js';
|
|
5
5
|
import '../chunk-PKBMQBKP.js';
|
|
6
6
|
import { useState, useEffect } from 'react';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
package/dist/analytics/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
export { ContactTracking, useContactTracking } from '../chunk-P5GB6NEO.js';
|
|
3
|
-
export { AnalyticsProvider, WebVitals, useAnalytics, useAnalyticsOptional, useTrackEvent } from '../chunk-
|
|
3
|
+
export { AnalyticsProvider, WebVitals, useAnalytics, useAnalyticsOptional, useTrackEvent } from '../chunk-CKW4HFJG.js';
|
|
4
4
|
export { trackConversion, trackEvent } from '../chunk-LCDVPAMR.js';
|
|
5
5
|
import '../chunk-24QZEO3Q.js';
|
|
6
6
|
import '../chunk-L2V5PUFN.js';
|
|
7
7
|
import '../chunk-GJWI74ZZ.js';
|
|
8
8
|
export { isCrossOriginFrame, isFramed, isTopFrameSameOrigin } from '../chunk-43OCZ3JA.js';
|
|
9
9
|
import '../chunk-EKBEOXTH.js';
|
|
10
|
-
import '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-3E3PPSNR.js';
|
|
11
|
+
import '../chunk-GK7TV7EK.js';
|
|
12
|
+
import '../chunk-KHQ5GD6T.js';
|
|
13
13
|
import '../chunk-PKBMQBKP.js';
|
package/dist/articles/index.js
CHANGED
|
@@ -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-3D2BK3KQ.js'));
|
|
19
19
|
function NewsletterWidget({
|
|
20
20
|
title = "Subscribe to Our Newsletter",
|
|
21
21
|
description = "Get the latest posts delivered straight to your inbox.",
|
|
@@ -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-3DH53RSB.js');
|
|
137
137
|
if (children) {
|
|
138
138
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
139
139
|
/* @__PURE__ */ jsx(ArticleViewTracker, { slug: post.slug, site }),
|
package/dist/chat/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
export { SONOR_PUBLIC_ECHO_DEFAULTS, getEchoWidgetProps } from '../chunk-HODO5BX5.js';
|
|
3
|
-
export { ChatWidget, DEFAULT_LAUNCHER_OFFSET_BOTTOM, EchoChat, chatLauncherStyles, isChatEnabled } from '../chunk-
|
|
4
|
-
export { SiteChat } from '../chunk-
|
|
3
|
+
export { ChatWidget, DEFAULT_LAUNCHER_OFFSET_BOTTOM, EchoChat, chatLauncherStyles, isChatEnabled } from '../chunk-OOD6GMT4.js';
|
|
4
|
+
export { SiteChat } from '../chunk-YCFW2OQO.js';
|
|
5
5
|
import '../chunk-6T6CQVNL.js';
|
|
6
6
|
import '../chunk-JE4A5S4F.js';
|
|
7
7
|
import '../chunk-27FISYK4.js';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-CSN45MHO.js';
|
|
9
9
|
import '../chunk-Q6E4OPGG.js';
|
|
10
10
|
import '../chunk-C2FZBUSS.js';
|
|
11
11
|
import '../chunk-5SQK3D53.js';
|
|
@@ -16,7 +16,7 @@ import '../chunk-L2V5PUFN.js';
|
|
|
16
16
|
import '../chunk-GJWI74ZZ.js';
|
|
17
17
|
import '../chunk-43OCZ3JA.js';
|
|
18
18
|
import '../chunk-EKBEOXTH.js';
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
21
|
-
import '../chunk-
|
|
19
|
+
import '../chunk-3E3PPSNR.js';
|
|
20
|
+
import '../chunk-GK7TV7EK.js';
|
|
21
|
+
import '../chunk-KHQ5GD6T.js';
|
|
22
22
|
import '../chunk-PKBMQBKP.js';
|
|
@@ -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-GK7TV7EK.js';
|
|
2
|
+
import { SITE_KIT_VERSION } from './chunk-KHQ5GD6T.js';
|
|
3
3
|
|
|
4
4
|
// src/shared/fetchWithRetry.ts
|
|
5
5
|
function backoffDelay(attempt, response) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getSiteConfig } from './chunk-Z22QVHT4.js';
|
|
2
|
-
import { writeLLMsTxtToPublic } from './chunk-
|
|
3
|
-
import { buildFetch } from './chunk-
|
|
2
|
+
import { writeLLMsTxtToPublic } from './chunk-ZTLU3BSW.js';
|
|
3
|
+
import { buildFetch } from './chunk-UAYAJPEP.js';
|
|
4
4
|
import { findAppDirForDiscovery } from './chunk-ZEGVKVD5.js';
|
|
5
5
|
import { stripEmbeddedDomain, locToPath, inferPageType, isMalformedSitemapPath, resolveTrailingSlash, stripTrailingSlash, llmsWriteTimeoutMs, applyTrailingSlash } from './chunk-YVKRYQRG.js';
|
|
6
6
|
import { postRegisterSitemap } from './chunk-DIKNRN34.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateLLMsTxt, generateLLMsFullTxt, appendAgentAccessSection } from './chunk-
|
|
1
|
+
import { generateLLMsTxt, generateLLMsFullTxt, appendAgentAccessSection } from './chunk-ZTLU3BSW.js';
|
|
2
2
|
import { createHash } from 'crypto';
|
|
3
3
|
import { existsSync, readFileSync } from 'fs';
|
|
4
4
|
import { join } from 'path';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { DEFAULT_WIDGET_Z_INDEX } from './chunk-27FISYK4.js';
|
|
3
3
|
import { getOrCreateVisitorId } from './chunk-24QZEO3Q.js';
|
|
4
4
|
import { resolveAnalyticsTarget } from './chunk-43OCZ3JA.js';
|
|
5
|
-
import { sonorFetch } from './chunk-
|
|
5
|
+
import { sonorFetch } from './chunk-3E3PPSNR.js';
|
|
6
6
|
import { useState, useEffect, useCallback, useRef } from 'react';
|
|
7
7
|
import ReactDOM from 'react-dom';
|
|
8
8
|
import dynamic from 'next/dynamic';
|
|
@@ -160,7 +160,7 @@ function activatePopup(active, id, popups) {
|
|
|
160
160
|
return [...active, id];
|
|
161
161
|
}
|
|
162
162
|
var LazyBlocksPopup = dynamic(
|
|
163
|
-
() => import('./BlocksPopup-
|
|
163
|
+
() => import('./BlocksPopup-FGWYVHCH.js').then((m) => ({ default: m.BlocksPopup })),
|
|
164
164
|
{ ssr: false }
|
|
165
165
|
);
|
|
166
166
|
function SitePopups(props) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { reviewPhotoUrl } from './chunk-CAT235HY.js';
|
|
2
3
|
import { fetchReviews } from './chunk-EDYHROQ7.js';
|
|
3
4
|
import { useState, useEffect, useCallback } from 'react';
|
|
4
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -9,6 +10,7 @@ function TestimonialSection({
|
|
|
9
10
|
autoplay = true,
|
|
10
11
|
autoplayInterval = 5e3,
|
|
11
12
|
showRating = true,
|
|
13
|
+
showPhoto = true,
|
|
12
14
|
maxReviews,
|
|
13
15
|
featuredOnly = false,
|
|
14
16
|
service,
|
|
@@ -19,6 +21,7 @@ function TestimonialSection({
|
|
|
19
21
|
const [isLoading, setIsLoading] = useState(true);
|
|
20
22
|
const [direction, setDirection] = useState("next");
|
|
21
23
|
useEffect(() => {
|
|
24
|
+
let active = true;
|
|
22
25
|
async function loadReviews() {
|
|
23
26
|
setIsLoading(true);
|
|
24
27
|
const data = await fetchReviews({
|
|
@@ -26,10 +29,15 @@ function TestimonialSection({
|
|
|
26
29
|
limit: maxReviews,
|
|
27
30
|
featured: featuredOnly
|
|
28
31
|
});
|
|
32
|
+
if (!active) return;
|
|
29
33
|
setReviews(data);
|
|
34
|
+
setCurrentIndex(0);
|
|
30
35
|
setIsLoading(false);
|
|
31
36
|
}
|
|
32
37
|
loadReviews();
|
|
38
|
+
return () => {
|
|
39
|
+
active = false;
|
|
40
|
+
};
|
|
33
41
|
}, [service, maxReviews, featuredOnly]);
|
|
34
42
|
useEffect(() => {
|
|
35
43
|
if (!autoplay || reviews.length <= 1) return;
|
|
@@ -58,6 +66,7 @@ function TestimonialSection({
|
|
|
58
66
|
return null;
|
|
59
67
|
}
|
|
60
68
|
const currentReview = reviews[currentIndex];
|
|
69
|
+
const photoUrl = showPhoto ? reviewPhotoUrl(currentReview.photo?.url) : void 0;
|
|
61
70
|
return /* @__PURE__ */ jsxs("section", { className: `testimonial-section ${className}`, "data-site-kit-testimonials": true, children: [
|
|
62
71
|
/* @__PURE__ */ jsx("style", { children: `
|
|
63
72
|
.testimonial-section {
|
|
@@ -69,6 +78,9 @@ function TestimonialSection({
|
|
|
69
78
|
position: relative;
|
|
70
79
|
overflow: hidden;
|
|
71
80
|
}
|
|
81
|
+
.sk-testimonial-photo { margin:0 auto 1.5rem;max-width:42rem;overflow:hidden;border-radius:var(--sk-radius-lg,.75rem);background:var(--sk-surface); }
|
|
82
|
+
.sk-testimonial-photo img { display:block;width:100%;aspect-ratio:4/3;object-fit:cover; }
|
|
83
|
+
.sk-testimonial-photo figcaption { padding:.75rem 1rem;color:var(--sk-text-secondary);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere; }
|
|
72
84
|
|
|
73
85
|
.testimonial-slide {
|
|
74
86
|
animation: ${direction === "next" ? "slideInRight" : "slideInLeft"} 0.6s cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -175,8 +187,12 @@ function TestimonialSection({
|
|
|
175
187
|
title && /* @__PURE__ */ jsx("h2", { className: "testimonial-title", children: title }),
|
|
176
188
|
subtitle && /* @__PURE__ */ jsx("p", { className: "testimonial-subtitle", children: subtitle }),
|
|
177
189
|
/* @__PURE__ */ jsx("div", { className: "testimonial-content", children: /* @__PURE__ */ jsxs("div", { className: "testimonial-slide", children: [
|
|
190
|
+
photoUrl && /* @__PURE__ */ jsxs("figure", { className: "sk-testimonial-photo", children: [
|
|
191
|
+
/* @__PURE__ */ jsx("img", { src: photoUrl, alt: currentReview.photo?.altText || `Photo accompanying ${currentReview.name}'s review`, loading: "lazy", decoding: "async" }),
|
|
192
|
+
currentReview.photo?.caption && /* @__PURE__ */ jsx("figcaption", { children: currentReview.photo.caption })
|
|
193
|
+
] }),
|
|
178
194
|
/* @__PURE__ */ jsx("div", { className: "testimonial-quote-icon", children: "\u201C" }),
|
|
179
|
-
showRating && /* @__PURE__ */ jsx("div", { className: "testimonial-stars", children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx(
|
|
195
|
+
showRating && /* @__PURE__ */ jsx("div", { className: "testimonial-stars", role: "img", "aria-label": `${currentReview.rating} out of 5 stars`, children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx(
|
|
180
196
|
"span",
|
|
181
197
|
{
|
|
182
198
|
className: `star ${i < currentReview.rating ? "star-filled" : "star-empty"}`,
|
|
@@ -54,7 +54,7 @@ function useSignal() {
|
|
|
54
54
|
return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
55
55
|
}
|
|
56
56
|
var LazySignalCore = dynamic(
|
|
57
|
-
() => import('./SignalCore-
|
|
57
|
+
() => import('./SignalCore-HEQYITTM.js').then((m) => ({ default: m.SignalCore })),
|
|
58
58
|
{ ssr: false }
|
|
59
59
|
);
|
|
60
60
|
function SignalBridge({
|
|
@@ -26,7 +26,7 @@ function useFieldControls(fields) {
|
|
|
26
26
|
}
|
|
27
27
|
if (needsFile && !requested.current.file) {
|
|
28
28
|
requested.current.file = true;
|
|
29
|
-
import('./FileField-
|
|
29
|
+
import('./FileField-IPJ7L2W6.js').then((m) => {
|
|
30
30
|
if (!cancelled) setControls((prev) => ({ ...prev, File: m.FileField }));
|
|
31
31
|
}).catch(() => {
|
|
32
32
|
requested.current.file = false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { detectTimezone, releaseSlotHold, fetchBookingTypeDetails, fetchBookingTypes, fetchAvailability, createSlotHold, createBooking, formatDuration, formatDate, formatTime, prepareMeeting } from './chunk-
|
|
2
|
+
import { detectTimezone, releaseSlotHold, fetchBookingTypeDetails, fetchBookingTypes, fetchAvailability, createSlotHold, createBooking, formatDuration, formatDate, formatTime, prepareMeeting } from './chunk-MHGAZ3LL.js';
|
|
3
3
|
import { useState, useRef, useMemo, useCallback, useEffect, useId } from 'react';
|
|
4
4
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// src/reputation/review-photo.ts
|
|
2
|
+
function reviewPhotoUrl(value) {
|
|
3
|
+
if (typeof value !== "string" || value.length > 2048) return void 0;
|
|
4
|
+
try {
|
|
5
|
+
const url = new URL(value);
|
|
6
|
+
if (url.protocol !== "https:" || url.username || url.password) return void 0;
|
|
7
|
+
return url.href;
|
|
8
|
+
} catch {
|
|
9
|
+
return void 0;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { reviewPhotoUrl };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { toHexColor, normalizeDesignTokens, designTokensHash } from './chunk-IHG36STL.js';
|
|
2
2
|
import { contrastRatio, parseColor, relativeLuminance } from './chunk-S22FSH7C.js';
|
|
3
3
|
import { resolveAnalyticsTarget } from './chunk-43OCZ3JA.js';
|
|
4
|
-
import { sonorFetch } from './chunk-
|
|
5
|
-
import { SITE_KIT_VERSION } from './chunk-
|
|
4
|
+
import { sonorFetch } from './chunk-3E3PPSNR.js';
|
|
5
|
+
import { SITE_KIT_VERSION } from './chunk-KHQ5GD6T.js';
|
|
6
6
|
|
|
7
7
|
// src/website/design.ts
|
|
8
8
|
var SITE_DESIGN_PATH = "/api/public/site/design";
|
|
@@ -3,7 +3,7 @@ import { registerAnalyticsDispatcher } from './chunk-LCDVPAMR.js';
|
|
|
3
3
|
import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-24QZEO3Q.js';
|
|
4
4
|
import { onPageLeave } from './chunk-L2V5PUFN.js';
|
|
5
5
|
import { resolveAnalyticsTarget } from './chunk-43OCZ3JA.js';
|
|
6
|
-
import { sonorFetch, sonorBeacon } from './chunk-
|
|
6
|
+
import { sonorFetch, sonorBeacon } from './chunk-3E3PPSNR.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';
|
|
@@ -5,7 +5,7 @@ import { normalizeFormConfig, DEFAULT_FORM_SUCCESS_MESSAGE } from './chunk-5SQK3
|
|
|
5
5
|
import { DEFAULT_HONEYPOT_FIELD } from './chunk-NJCTQH2P.js';
|
|
6
6
|
import { onPageLeave } from './chunk-L2V5PUFN.js';
|
|
7
7
|
import { uuid } from './chunk-GJWI74ZZ.js';
|
|
8
|
-
import { sonorFetch, sonorBeacon } from './chunk-
|
|
8
|
+
import { sonorFetch, sonorBeacon } from './chunk-3E3PPSNR.js';
|
|
9
9
|
import { useRef, useCallback, useEffect, useState, useMemo } from 'react';
|
|
10
10
|
|
|
11
11
|
// src/forms/field-interactions.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { locToPath, isMalformedSitemapPath, inferPageType } from './chunk-YVKRYQRG.js';
|
|
3
3
|
import { resolveAnalyticsTarget } from './chunk-43OCZ3JA.js';
|
|
4
|
-
import { sonorFetch } from './chunk-
|
|
4
|
+
import { sonorFetch } from './chunk-3E3PPSNR.js';
|
|
5
5
|
import { useRef, useEffect } from 'react';
|
|
6
6
|
|
|
7
7
|
var SYNC_STAMP_KEY = "_sk_sitemap_synced_at";
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { sanitizeFleetVersion, buildFleetHeartbeatPayload } from './chunk-ZTZQPYP6.js';
|
|
3
3
|
import { useDeferredActivation } from './chunk-YC7ELZS3.js';
|
|
4
4
|
import { resolveAnalyticsTarget } from './chunk-43OCZ3JA.js';
|
|
5
|
-
import { sonorFetch } from './chunk-
|
|
6
|
-
import { SITE_KIT_VERSION } from './chunk-
|
|
5
|
+
import { sonorFetch } from './chunk-3E3PPSNR.js';
|
|
6
|
+
import { SITE_KIT_VERSION } from './chunk-KHQ5GD6T.js';
|
|
7
7
|
import { useRef, useEffect } from 'react';
|
|
8
8
|
|
|
9
9
|
// src/fleet/heartbeat.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { trackedFreshFetch } from './chunk-UAYAJPEP.js';
|
|
2
2
|
import { monotonicMs } from './chunk-MH2DSGC6.js';
|
|
3
|
-
import { SITE_KIT_VERSION } from './chunk-
|
|
3
|
+
import { SITE_KIT_VERSION } from './chunk-KHQ5GD6T.js';
|
|
4
4
|
import 'server-only';
|
|
5
5
|
|
|
6
6
|
var MINT_PATH = "/api/public/site-token";
|
|
@@ -67,20 +67,13 @@ async function mintWithRetry(rawKey, apiUrl) {
|
|
|
67
67
|
for (let attempt = 0; attempt < MINT_MAX_ATTEMPTS; attempt++) {
|
|
68
68
|
let res = null;
|
|
69
69
|
try {
|
|
70
|
-
|
|
71
|
-
res = await fetchFn(`${base}${MINT_PATH}`, {
|
|
70
|
+
res = await trackedFreshFetch(`${base}${MINT_PATH}`, {
|
|
72
71
|
method: "POST",
|
|
73
72
|
headers: {
|
|
74
73
|
"content-type": "application/json",
|
|
75
74
|
"x-api-key": rawKey,
|
|
76
75
|
"x-sitekit-version": SITE_KIT_VERSION
|
|
77
76
|
},
|
|
78
|
-
// Only meaningful on the fallback path, where a future Next stopped
|
|
79
|
-
// exposing `_nextOriginalFetch` and we're back on the patched fetch.
|
|
80
|
-
// `revalidate: false` is the one setting that neither bails out of static
|
|
81
|
-
// generation nor downgrades the route to ISR; a Data Cache entry is the
|
|
82
|
-
// lesser evil versus shipping the raw key again.
|
|
83
|
-
...unpatched ? {} : { next: { revalidate: false } },
|
|
84
77
|
signal: typeof AbortSignal !== "undefined" && AbortSignal.timeout ? AbortSignal.timeout(MINT_TIMEOUT_MS) : void 0
|
|
85
78
|
});
|
|
86
79
|
} catch (err) {
|