@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/dist/seo/client.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SitemapSync } from '../chunk-
|
|
2
|
+
export { SitemapSync } from '../chunk-D2RGEWHS.js';
|
|
3
3
|
import '../chunk-YVKRYQRG.js';
|
|
4
4
|
import '../chunk-43OCZ3JA.js';
|
|
5
5
|
import '../chunk-EKBEOXTH.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-3E3PPSNR.js';
|
|
7
|
+
import '../chunk-GK7TV7EK.js';
|
|
8
|
+
import '../chunk-KHQ5GD6T.js';
|
|
9
9
|
import '../chunk-PKBMQBKP.js';
|
package/dist/seo/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { ManagedNoScripts, ManagedScripts } from '../chunk-MVLMXC44.js';
|
|
|
2
2
|
import { pickManagedLlmSchemaForJsonLd } from '../chunk-NZ4RXN3G.js';
|
|
3
3
|
import { safeJsonLd } from '../chunk-4KZ6W3ZH.js';
|
|
4
4
|
import { withoutSchemaPlaceholders } from '../chunk-VWWITFWM.js';
|
|
5
|
-
export { SitemapSync } from '../chunk-
|
|
5
|
+
export { SitemapSync } from '../chunk-D2RGEWHS.js';
|
|
6
6
|
import { getManagedMetadata } from '../chunk-4YTYGG2C.js';
|
|
7
7
|
export { generateSitemap, getABVariant, getManagedMetadata, getManagedMetadataWithAB, getRedirect, getRobotsDirective, isIndexable } from '../chunk-4YTYGG2C.js';
|
|
8
8
|
import { getContentBlock, getSchemaMarkups, getSEOPageData, getEntityEnhancedSchema, getFAQData, getInternalLinks, getEntities, pruneSchemaTypes } from '../chunk-662ILEZ6.js';
|
|
@@ -18,9 +18,9 @@ import '../chunk-FESKKJAS.js';
|
|
|
18
18
|
import '../chunk-A4CC4ZG3.js';
|
|
19
19
|
import '../chunk-43OCZ3JA.js';
|
|
20
20
|
import '../chunk-EKBEOXTH.js';
|
|
21
|
-
import '../chunk-
|
|
22
|
-
import '../chunk-
|
|
23
|
-
import '../chunk-
|
|
21
|
+
import '../chunk-3E3PPSNR.js';
|
|
22
|
+
import '../chunk-GK7TV7EK.js';
|
|
23
|
+
import '../chunk-KHQ5GD6T.js';
|
|
24
24
|
import '../chunk-PKBMQBKP.js';
|
|
25
25
|
import { Suspense } from 'react';
|
|
26
26
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
package/dist/seo/llms.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-
|
|
1
|
+
export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-5O62CER4.js';
|
|
2
2
|
export { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from '../chunk-PO2TRJPY.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-
|
|
4
|
+
export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-XA2BNW5M.js';
|
|
5
5
|
import '../chunk-XTRZGXB2.js';
|
|
6
6
|
export { AEOBlock, AEOCitedContent, AEOClaim, AEOComparison, AEODefinition, AEOEntity, AEOProvenanceList, AEOStep, AEOSteps, AEOSummary, DEFAULT_SPEAKABLE_SELECTORS, SpeakableSchema, createSpeakableSchema, getSpeakableSelectorsForPage } from '../chunk-PSAG45YF.js';
|
|
7
|
-
export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-
|
|
8
|
-
export { getBusinessInfo, getFAQItems, getLLMsData, getOptimizedLLMsTxt, getPageSummaries, getServices } from '../chunk-
|
|
7
|
+
export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-ZTLU3BSW.js';
|
|
8
|
+
export { getBusinessInfo, getFAQItems, getLLMsData, getOptimizedLLMsTxt, getPageSummaries, getServices } from '../chunk-4BHRA7TI.js';
|
|
9
9
|
import '../chunk-L5UOHS6E.js';
|
|
10
10
|
import '../chunk-WMVK77ND.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-UAYAJPEP.js';
|
|
12
12
|
export { LLMS_DISCLAIMER_MAX_LENGTH, LLMS_PUBLIC_SUMMARY_MAX_LENGTH, LLM_GEO_CONTRACT_VERSION, MANAGED_LLM_SCHEMA_KNOWN_KEYS, pickManagedLlmSchemaForJsonLd, sanitizeLlmsDisclaimerLine, sanitizeLlmsPublicSummary, sanitizePrimaryLanguageTag } from '../chunk-NZ4RXN3G.js';
|
|
13
13
|
import '../chunk-4KZ6W3ZH.js';
|
|
14
14
|
import '../chunk-MJP63SSS.js';
|
|
15
15
|
import '../chunk-YVKRYQRG.js';
|
|
16
16
|
import '../chunk-FESKKJAS.js';
|
|
17
17
|
import '../chunk-A4CC4ZG3.js';
|
|
18
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-KHQ5GD6T.js';
|
|
19
19
|
import '../chunk-PKBMQBKP.js';
|
|
@@ -458,7 +458,7 @@ async function registerLocalSitemap(options) {
|
|
|
458
458
|
}
|
|
459
459
|
if (options.writeLlms && result.success) {
|
|
460
460
|
try {
|
|
461
|
-
const { writeLLMsTxtToPublic } = await import('../writeLLMsTxt-
|
|
461
|
+
const { writeLLMsTxtToPublic } = await import('../writeLLMsTxt-OL4KQERZ.js');
|
|
462
462
|
const written = await writeLLMsTxtToPublic({
|
|
463
463
|
// Resolved here too: the sync's own `site` is scoped to the branch that
|
|
464
464
|
// posts, and this runs on the skip path as well.
|
package/dist/seo/sitemap.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-
|
|
1
|
+
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-4DJMJ4V5.js';
|
|
2
2
|
import '../chunk-Z22QVHT4.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-ZTLU3BSW.js';
|
|
4
|
+
import '../chunk-4BHRA7TI.js';
|
|
5
5
|
import '../chunk-L5UOHS6E.js';
|
|
6
6
|
import '../chunk-WMVK77ND.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-UAYAJPEP.js';
|
|
8
8
|
import '../chunk-NZ4RXN3G.js';
|
|
9
9
|
import '../chunk-MJP63SSS.js';
|
|
10
10
|
import '../chunk-ZEGVKVD5.js';
|
package/dist/server/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { resolveClientCredential } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { resolveClientCredential } from '../chunk-IE5SSOCN.js';
|
|
2
|
+
import '../chunk-UAYAJPEP.js';
|
|
3
3
|
export { requireServerApiConfig, resolveApiOrigin, resolveServerApiConfig, serverApiFetch } from '../chunk-X6F6SO4S.js';
|
|
4
4
|
import '../chunk-MH2DSGC6.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-KHQ5GD6T.js';
|
|
6
6
|
import '../chunk-PKBMQBKP.js';
|
|
@@ -39,8 +39,7 @@
|
|
|
39
39
|
* realistic redeploy gap; marketing sites routinely go many months untouched.
|
|
40
40
|
*/
|
|
41
41
|
import 'server-only';
|
|
42
|
-
|
|
43
|
-
export { resolveFetch };
|
|
42
|
+
export { resolveFetch } from '../shared/fresh-fetch';
|
|
44
43
|
/**
|
|
45
44
|
* Next signals "this render must go dynamic" by THROWING (DynamicServerError,
|
|
46
45
|
* static-gen bailout, redirect/notFound digests, React's postpone). Those are
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* @sonordev/site-kit shared - Fetch outside Next's Data Cache
|
|
3
3
|
*
|
|
4
4
|
* Single source of truth for requests that must not touch Next's Data Cache
|
|
5
|
-
* and must not change how the calling route renders. Used by
|
|
6
|
-
* writers
|
|
7
|
-
*
|
|
5
|
+
* and must not change how the calling route renders. Used by build-time
|
|
6
|
+
* writers and the site credential mint. The mint uses trackedFreshFetch so
|
|
7
|
+
* Cache Components can await it without an uncached prerender bailout.
|
|
8
8
|
*
|
|
9
9
|
* Next.js monkey-patches `globalThis.fetch` so every call joins its Data Cache
|
|
10
10
|
* and static-generation tracking. That's wrong for these requests, and the
|
|
@@ -38,6 +38,12 @@ export declare function resolveFetch(): {
|
|
|
38
38
|
unpatched: boolean;
|
|
39
39
|
};
|
|
40
40
|
export declare const FRESH_FETCH_NONCE_HEADER = "x-sitekit-build-nonce";
|
|
41
|
+
/**
|
|
42
|
+
* A fresh request that Next can await during a Cache Components prerender.
|
|
43
|
+
* A unique cache key per request prevents reuse after a credential expires or
|
|
44
|
+
* across deploys. The caller owns memoization and concurrent-request deduping.
|
|
45
|
+
*/
|
|
46
|
+
export declare function trackedFreshFetch(input: string | URL, init?: RequestInit): Promise<Response>;
|
|
41
47
|
/**
|
|
42
48
|
* Fetch that never reads a response cached by an earlier build.
|
|
43
49
|
*
|
package/dist/shared/version.d.ts
CHANGED
package/dist/signal/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useSignalExperiment, useSignalEvent } from '../chunk-
|
|
3
|
-
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-
|
|
2
|
+
import { useSignalExperiment, useSignalEvent } from '../chunk-AH4AXO4P.js';
|
|
3
|
+
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-AH4AXO4P.js';
|
|
4
4
|
import '../chunk-PKBMQBKP.js';
|
|
5
5
|
import React, { useEffect } from 'react';
|
|
6
6
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
package/dist/sitemap/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-
|
|
1
|
+
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-4DJMJ4V5.js';
|
|
2
2
|
import '../chunk-Z22QVHT4.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-ZTLU3BSW.js';
|
|
4
|
+
import '../chunk-4BHRA7TI.js';
|
|
5
5
|
import '../chunk-L5UOHS6E.js';
|
|
6
6
|
import '../chunk-WMVK77ND.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-UAYAJPEP.js';
|
|
8
8
|
import '../chunk-NZ4RXN3G.js';
|
|
9
9
|
import '../chunk-MJP63SSS.js';
|
|
10
10
|
import '../chunk-ZEGVKVD5.js';
|
package/dist/sync/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { BookingWidget } from '../chunk-
|
|
2
|
-
export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { BookingWidget } from '../chunk-AV4QAK5F.js';
|
|
2
|
+
export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-MHGAZ3LL.js';
|
|
3
|
+
import '../chunk-3E3PPSNR.js';
|
|
4
|
+
import '../chunk-GK7TV7EK.js';
|
|
5
|
+
import '../chunk-KHQ5GD6T.js';
|
|
6
6
|
import '../chunk-PKBMQBKP.js';
|
package/dist/website/images.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-
|
|
1
|
+
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-DA5XC7Y6.js';
|
|
2
2
|
export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-3E3PPSNR.js';
|
|
4
|
+
import '../chunk-GK7TV7EK.js';
|
|
5
|
+
import '../chunk-KHQ5GD6T.js';
|
|
6
6
|
import '../chunk-PKBMQBKP.js';
|
package/dist/website/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SiteDesignReporter } from '../chunk-
|
|
3
|
-
export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-
|
|
2
|
+
export { SiteDesignReporter } from '../chunk-PQDJNIHR.js';
|
|
3
|
+
export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-CG4ETW5Y.js';
|
|
4
4
|
export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-BF7TZYC3.js';
|
|
5
5
|
import '../chunk-IHG36STL.js';
|
|
6
6
|
import '../chunk-YC7ELZS3.js';
|
|
7
7
|
import '../chunk-S22FSH7C.js';
|
|
8
8
|
import '../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/website/popups.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-BF7TZYC3.js';
|
|
3
3
|
import '../chunk-IHG36STL.js';
|
|
4
|
-
export { SitePopups } from '../chunk-
|
|
4
|
+
export { SitePopups } from '../chunk-6LLTLLEJ.js';
|
|
5
5
|
import '../chunk-27FISYK4.js';
|
|
6
6
|
import '../chunk-S22FSH7C.js';
|
|
7
7
|
import '../chunk-24QZEO3Q.js';
|
|
8
8
|
import '../chunk-GJWI74ZZ.js';
|
|
9
9
|
import '../chunk-43OCZ3JA.js';
|
|
10
10
|
import '../chunk-EKBEOXTH.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';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { writeLLMsTxtToPublic } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { writeLLMsTxtToPublic } from './chunk-ZTLU3BSW.js';
|
|
2
|
+
import './chunk-4BHRA7TI.js';
|
|
3
3
|
import './chunk-L5UOHS6E.js';
|
|
4
4
|
import './chunk-WMVK77ND.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-UAYAJPEP.js';
|
|
6
6
|
import './chunk-NZ4RXN3G.js';
|
|
7
7
|
import './chunk-MJP63SSS.js';
|
|
8
8
|
import './chunk-YVKRYQRG.js';
|
package/package.json
CHANGED
package/src/reputation/README.md
CHANGED
|
@@ -27,6 +27,7 @@ interface TestimonialSectionProps {
|
|
|
27
27
|
autoplay?: boolean // Auto-rotate reviews
|
|
28
28
|
autoplayInterval?: number // ms between rotations
|
|
29
29
|
showRating?: boolean // Display star ratings
|
|
30
|
+
showPhoto?: boolean // Show attached business photo (default true)
|
|
30
31
|
maxReviews?: number // Limit displayed count
|
|
31
32
|
featuredOnly?: boolean // Show featured reviews only
|
|
32
33
|
service?: string // Filter by service tag
|
|
@@ -34,6 +35,29 @@ interface TestimonialSectionProps {
|
|
|
34
35
|
}
|
|
35
36
|
```
|
|
36
37
|
|
|
38
|
+
## Visual review cards
|
|
39
|
+
|
|
40
|
+
Render a photo and its original review together with a responsive, server-rendered gallery:
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
import { fetchReviews, VisualReviewGallery } from '@sonordev/site-kit/reputation/server'
|
|
44
|
+
|
|
45
|
+
export default async function ReviewsPage() {
|
|
46
|
+
const reviews = await fetchReviews({ limit: 12 })
|
|
47
|
+
return <VisualReviewGallery reviews={reviews} title="What Our Clients Say" />
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`VisualReviewCard` accepts one `review`, optional `showRating` and `className`.
|
|
52
|
+
`VisualReviewGallery` accepts `reviews`, optional `title`, `subtitle`, `showRating`
|
|
53
|
+
and `className`. Both use the site's `--sk-*` brand tokens and work in React
|
|
54
|
+
Server Components. Import `@sonordev/site-kit/brand.css` once for token defaults,
|
|
55
|
+
then override them in your site's CSS.
|
|
56
|
+
|
|
57
|
+
Text-only reviews stay visible while a photo is pending. Adding or removing a
|
|
58
|
+
photo in Sonor updates the public review feed; `image` continues to mean the
|
|
59
|
+
reviewer's avatar. Only HTTPS photo URLs are displayed.
|
|
60
|
+
|
|
37
61
|
## API Functions
|
|
38
62
|
|
|
39
63
|
```ts
|
|
@@ -50,6 +74,7 @@ interface Review {
|
|
|
50
74
|
id: string; quote: string; name: string; role?: string;
|
|
51
75
|
rating: number; image?: string; date?: string;
|
|
52
76
|
platform?: string; isFeatured?: boolean; serviceTags?: string[];
|
|
77
|
+
photo?: { fileId: string; url: string; altText: string; caption: string } | null;
|
|
53
78
|
}
|
|
54
79
|
|
|
55
80
|
interface ReviewStats {
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { SitemapSync } from './chunk-T4DLETKR.js';
|
|
2
|
-
import './chunk-YVKRYQRG.js';
|
|
3
|
-
import './chunk-43OCZ3JA.js';
|
|
4
|
-
import './chunk-EKBEOXTH.js';
|
|
5
|
-
import './chunk-BEBR4OJD.js';
|
|
6
|
-
import './chunk-WGG6GTKW.js';
|
|
7
|
-
import './chunk-56KNHB4U.js';
|
|
8
|
-
import './chunk-PKBMQBKP.js';
|