@salesmind-ai/design-system 1.8.0 → 1.10.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/dist/ChangeEmail-BuUhjW0o.d.cts +226 -0
- package/dist/ChangeEmail-BuUhjW0o.d.ts +226 -0
- package/dist/{SectionShell-CrgrzWK6.d.cts → SectionShell-C_pxaLbf.d.cts} +8 -0
- package/dist/{SectionShell-CrgrzWK6.d.ts → SectionShell-C_pxaLbf.d.ts} +8 -0
- package/dist/{StatsSection-WaiVrRH0.d.cts → StatsSection-CKTgV4Z1.d.cts} +1 -1
- package/dist/{StatsSection-BvgUXtrd.d.ts → StatsSection-DjFHz0nM.d.ts} +1 -1
- package/dist/blog/index.cjs +9 -9
- package/dist/blog/index.d.cts +1 -1
- package/dist/blog/index.d.ts +1 -1
- package/dist/blog/index.js +2 -2
- package/dist/{chunk-CVLD5RQK.cjs → chunk-32B2EWHK.cjs} +8 -8
- package/dist/chunk-AI2YEYT4.js +1368 -0
- package/dist/chunk-AI2YEYT4.js.map +1 -0
- package/dist/{chunk-6QIQCUYC.cjs → chunk-HWEIKJCR.cjs} +12 -3
- package/dist/chunk-HWEIKJCR.cjs.map +1 -0
- package/dist/{chunk-CLXLQCNQ.js → chunk-ICELMF2C.js} +2 -2
- package/dist/{chunk-2TC5EVSJ.js → chunk-IQQSEYJP.js} +4 -4
- package/dist/{chunk-2TC5EVSJ.js.map → chunk-IQQSEYJP.js.map} +1 -1
- package/dist/{chunk-K7NQ7TQG.cjs → chunk-M4MLGT4B.cjs} +84 -27
- package/dist/chunk-M4MLGT4B.cjs.map +1 -0
- package/dist/{chunk-AMNY5TS3.js → chunk-MPOYZNAA.js} +12 -3
- package/dist/chunk-MPOYZNAA.js.map +1 -0
- package/dist/{chunk-25TUCNN6.js → chunk-QVGDMAZY.js} +84 -27
- package/dist/chunk-QVGDMAZY.js.map +1 -0
- package/dist/{chunk-4QQKREVH.cjs → chunk-S4367EZF.cjs} +22 -22
- package/dist/{chunk-4QQKREVH.cjs.map → chunk-S4367EZF.cjs.map} +1 -1
- package/dist/{chunk-PBYRTNQ5.js → chunk-VUCQTZ2W.js} +2 -2
- package/dist/{chunk-65DTHLVX.cjs → chunk-WUKUWW7U.cjs} +4 -4
- package/dist/chunk-YWJKSY5C.cjs +1381 -0
- package/dist/chunk-YWJKSY5C.cjs.map +1 -0
- package/dist/{index-CUkONzzC.d.ts → index-BsL1M4Mu.d.ts} +1 -1
- package/dist/{index-kMlM7caH.d.cts → index-C22gn6z6.d.cts} +1 -1
- package/dist/index.cjs +63 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +2372 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/marketing/index.cjs +28 -28
- package/dist/marketing/index.d.cts +2 -2
- package/dist/marketing/index.d.ts +2 -2
- package/dist/marketing/index.js +2 -2
- package/dist/onboarding/index.cjs +5870 -0
- package/dist/onboarding/index.cjs.map +1 -0
- package/dist/onboarding/index.css +557 -0
- package/dist/onboarding/index.css.map +1 -0
- package/dist/onboarding/index.d.cts +1589 -0
- package/dist/onboarding/index.d.ts +1589 -0
- package/dist/onboarding/index.js +5736 -0
- package/dist/onboarding/index.js.map +1 -0
- package/dist/sections/index.cjs +8 -8
- package/dist/sections/index.d.cts +2 -2
- package/dist/sections/index.d.ts +2 -2
- package/dist/sections/index.js +2 -2
- package/dist/styles/styles.css +2539 -0
- package/dist/v2-auth/index.cjs +59 -0
- package/dist/v2-auth/index.cjs.map +1 -0
- package/dist/v2-auth/index.css +3360 -0
- package/dist/v2-auth/index.css.map +1 -0
- package/dist/v2-auth/index.d.cts +76 -0
- package/dist/v2-auth/index.d.ts +76 -0
- package/dist/v2-auth/index.js +24 -0
- package/dist/v2-auth/index.js.map +1 -0
- package/dist/web/index.cjs +7 -7
- package/dist/web/index.d.cts +1 -1
- package/dist/web/index.d.ts +1 -1
- package/dist/web/index.js +1 -1
- package/dist/web/server/index.cjs +7 -7
- package/dist/web/server/index.d.cts +91 -27
- package/dist/web/server/index.d.ts +91 -27
- package/dist/web/server/index.js +1 -1
- package/package.json +14 -2
- package/dist/chunk-25TUCNN6.js.map +0 -1
- package/dist/chunk-6QIQCUYC.cjs.map +0 -1
- package/dist/chunk-AMNY5TS3.js.map +0 -1
- package/dist/chunk-K7NQ7TQG.cjs.map +0 -1
- /package/dist/{chunk-CVLD5RQK.cjs.map → chunk-32B2EWHK.cjs.map} +0 -0
- /package/dist/{chunk-65DTHLVX.cjs.map → chunk-ICELMF2C.js.map} +0 -0
- /package/dist/{chunk-PBYRTNQ5.js.map → chunk-VUCQTZ2W.js.map} +0 -0
- /package/dist/{chunk-CLXLQCNQ.js.map → chunk-WUKUWW7U.cjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/web/seo/schema-generators.ts","../src/web/seo/JsonLd.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Schema.org Generator System\n *\n * Pure functions that generate structured data objects for SEO.\n * Each generator accepts a `BrandConfig` and an optional `locale`. `inLanguage`\n * is emitted ONLY on schema types where schema.org permits it (CreativeWork\n * subtypes: WebPage, WebSite, Article, FAQPage, VideoObject, DefinedTermSet,\n * HowTo, SoftwareApplication). Types that forbid it (Organization, Person,\n * BreadcrumbList, Product, Service, JobPosting) accept `locale` for signature\n * stability but do not emit it.\n *\n * Architecture:\n * - Each generator returns an object with its own `@context` (standalone-safe).\n * - `buildPageGraph()` strips individual `@context` and wraps all schemas\n * in a single `{\"@context\": \"...\", \"@graph\": [...]}` for unified output.\n * - Use `JsonLd` React component to render the @graph into a single <script> tag.\n *\n * @example\n * ```ts\n * import { createSchemaGenerators, buildPageGraph } from '@salesmind-ai/design-system/web';\n *\n * const seo = createSchemaGenerators({\n * name: 'SalesMind AI',\n * url: 'https://sales-mind.ai',\n * description: 'AI sales automation',\n * tagline: 'AI-powered sales',\n * founder: 'Julien Gadea',\n * });\n *\n * const graph = buildPageGraph(\n * seo.organization(),\n * seo.website(),\n * seo.webPage('/pricing', 'Pricing', '...'),\n * );\n * ```\n */\n\nimport type {\n BrandConfig,\n ArticleMeta,\n BreadcrumbItem,\n CareerForSchema,\n CustomerOrganizationMeta,\n FAQItem,\n GlossaryTermForSchema,\n HowToMeta,\n HowToStep,\n ItemForList,\n PersonMeta,\n PricingPlan,\n ServiceMotion,\n SoftwareApplicationSchemaOptions,\n TestimonialForSchema,\n TranscriptForSchema,\n VideoObjectMeta,\n} from './types';\n\n// ─── Internal Helpers ────────────────────────────────────────────────────────\n\n/** Convert \"MM:SS\" or \"HH:MM:SS\" to ISO 8601 duration \"PT…\" */\nfunction toISO8601Duration(duration: string): string {\n if (duration.startsWith('PT')) return duration;\n const parts = duration.split(':').map(Number);\n if (parts.some(isNaN)) return duration;\n if (parts.length === 3) return `PT${parts[0]}H${parts[1]}M${parts[2]}S`;\n if (parts.length === 2) return `PT${parts[0]}M${parts[1]}S`;\n return `PT${parts[0]}S`;\n}\n\n/** Convert YouTube watch URL to embed URL */\nfunction toEmbedUrl(url: string): string | undefined {\n try {\n const parsed = new URL(url);\n if (parsed.hostname.includes('youtube.com') && parsed.searchParams.has('v')) {\n return `https://www.youtube.com/embed/${parsed.searchParams.get('v')}`;\n }\n if (parsed.hostname === 'youtu.be') {\n return `https://www.youtube.com/embed${parsed.pathname}`;\n }\n return url;\n } catch {\n return undefined;\n }\n}\n\n/** Map career type string to Schema.org employmentType */\nfunction mapEmploymentType(type?: string | null): string {\n if (!type) return 'FULL_TIME';\n const lower = type.toLowerCase();\n if (lower.includes('part')) return 'PART_TIME';\n if (lower.includes('contract')) return 'CONTRACTOR';\n if (lower.includes('intern')) return 'INTERN';\n if (lower.includes('temporary') || lower.includes('temp')) return 'TEMPORARY';\n return 'FULL_TIME';\n}\n\n// ─── Entity ID Factory ──────────────────────────────────────────────────────\n\n/**\n * Create stable entity ID anchors for @graph cross-referencing.\n * Every entity in the knowledge graph gets a permanent @id.\n * Google resolves @id references across the entire site.\n */\n// Returns either `pathOrUrl` as-is (when it is an absolute http(s) URL) or\n// concatenated to `brand.url`. Defensive against callers that pass an absolute\n// URL where a relative path is expected — prevents the doubled-prefix bug\n// `https://brand.aihttps://brand.ai/page#anchor`.\nfunction normalizeEntityPath(brandUrl: string, pathOrUrl: string): string {\n if (/^https?:\\/\\//i.test(pathOrUrl)) return pathOrUrl;\n return `${brandUrl}${pathOrUrl}`;\n}\n\nexport function createEntityIds(brand: BrandConfig) {\n return {\n organization: `${brand.url}/#organization`,\n website: `${brand.url}/#website`,\n software: `${brand.url}/#software`,\n product: `${brand.url}/pricing#product`,\n webpage: (path: string) => `${normalizeEntityPath(brand.url, path)}#webpage`,\n article: (path: string) => `${normalizeEntityPath(brand.url, path)}#article`,\n faq: (path: string) => `${normalizeEntityPath(brand.url, path)}#faq`,\n breadcrumb: (path: string) => `${normalizeEntityPath(brand.url, path)}#breadcrumb`,\n person: (slug: string) => `${brand.url}/company/team#person-${slug}`,\n video: (path: string) => `${normalizeEntityPath(brand.url, path)}#video`,\n review: (id: string) => `${brand.url}/#review-${id}`,\n service: (slug: string) => `${brand.url}/#service-${slug}`,\n customerOrganization: (slug: string) => `${brand.url}/#customer-org-${slug}`,\n customerPerson: (slug: string) => `${brand.url}/#customer-person-${slug}`,\n } as const;\n}\n\n// ─── Schema Generator Factory ───────────────────────────────────────────────\n\n/**\n * Create all schema generators bound to a specific brand configuration.\n * Returns an object with methods for each schema type.\n */\nexport function createSchemaGenerators(\n brand: BrandConfig,\n supportedLanguages: readonly string[] = ['en', 'fr', 'es'],\n) {\n const ENTITY_IDS = createEntityIds(brand);\n\n return {\n /**\n * Organization schema — Homepage + About page.\n *\n * Note: schema.org does NOT allow `inLanguage` or `availableLanguage` on\n * Organization. The multilingual signal is carried by `knowsLanguage`\n * (valid on Organization, BCP-47 codes). The `locale` param is retained\n * for call-site signature stability but no longer emitted here.\n */\n organization(_locale: string = 'en') {\n void _locale;\n return {\n '@context': 'https://schema.org',\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n url: brand.url,\n logo: {\n '@type': 'ImageObject',\n url: `${brand.url}/logo.svg`,\n },\n description: brand.description,\n knowsLanguage: [...supportedLanguages],\n founder: {\n '@type': 'Person',\n name: brand.founder,\n },\n ...(brand.sameAs && brand.sameAs.length > 0 ? { sameAs: brand.sameAs } : {}),\n contactPoint: [] as Record<string, unknown>[],\n areaServed: 'Worldwide',\n };\n },\n\n /** WebSite schema — Homepage only (with SearchAction). */\n website(locale: string = 'en') {\n return {\n '@context': 'https://schema.org',\n '@type': 'WebSite',\n '@id': ENTITY_IDS.website,\n name: brand.name,\n url: brand.url,\n description: brand.tagline,\n inLanguage: locale,\n publisher: {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n },\n potentialAction: [\n {\n '@type': 'SearchAction',\n target: {\n '@type': 'EntryPoint',\n urlTemplate: `${brand.url}/blog?q={search_term_string}`,\n },\n 'query-input': 'required name=search_term_string',\n },\n {\n '@type': 'ReadAction',\n target: brand.url,\n },\n ],\n };\n },\n\n /** WebPage schema — Every public page. Links to WebSite + Breadcrumb via @id. */\n webPage(path: string, title: string, description: string, locale: string = 'en', speakable?: Record<string, unknown>) {\n return {\n '@context': 'https://schema.org',\n '@type': 'WebPage',\n '@id': ENTITY_IDS.webpage(path),\n url: `${brand.url}${path}`,\n name: title,\n description,\n inLanguage: locale,\n // Reference stub to the site-wide WebSite node. `url`/`name` are\n // included (when the brand provides them) so the reference stands as a\n // complete WebSite on pages rendered independently of the WebSite node,\n // per schema.org @id-linking guidance. Guarded so a brand without\n // `url`/`name` never emits `undefined`.\n isPartOf: {\n '@type': 'WebSite',\n '@id': ENTITY_IDS.website,\n ...(brand.url ? { url: brand.url } : {}),\n ...(brand.name ? { name: brand.name } : {}),\n },\n breadcrumb: { '@id': ENTITY_IDS.breadcrumb(path) },\n potentialAction: {\n '@type': 'ReadAction',\n target: `${brand.url}${path}`,\n },\n ...(speakable ? { speakable } : {}),\n };\n },\n\n /** SoftwareApplication schema — Platform Hub, Platform Feature, Pricing. */\n softwareApplication(\n name?: string,\n description?: string,\n url?: string,\n locale: string = 'en',\n options: SoftwareApplicationSchemaOptions = {},\n ) {\n const aggregateRating = options.aggregateRating ?? brand.aggregateRating;\n const offers = options.offers ?? brand.softwareApplicationOffers;\n\n return {\n '@context': 'https://schema.org',\n '@type': 'SoftwareApplication',\n '@id': ENTITY_IDS.software,\n name: name || brand.name,\n description: description || brand.description,\n url: url || brand.url,\n applicationCategory: 'BusinessApplication',\n operatingSystem: 'Web',\n // `inLanguage` is valid — SoftwareApplication is a CreativeWork subtype.\n // `availableLanguage` is NOT valid on SoftwareApplication and is dropped.\n inLanguage: locale,\n // Google requires `offers` with a price. We expose only the price floor\n // via AggregateOffer so A/B-tested tier prices stay hidden.\n ...(offers\n ? {\n offers: {\n '@type': 'AggregateOffer',\n lowPrice: offers.lowPrice,\n priceCurrency: offers.priceCurrency,\n offerCount: offers.offerCount,\n url: offers.url ?? `${brand.url}/pricing`,\n availability: 'https://schema.org/InStock',\n },\n }\n : {}),\n ...(aggregateRating\n ? {\n aggregateRating: {\n '@type': 'AggregateRating',\n ratingValue: String(aggregateRating.ratingValue),\n ratingCount: String(aggregateRating.reviewCount),\n bestRating: String(aggregateRating.bestRating ?? 5),\n worstRating: String(aggregateRating.worstRating ?? 1),\n },\n }\n : {}),\n author: {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n },\n };\n },\n\n /** Article schema — Blog posts, Comparison pages. */\n article(meta: ArticleMeta, locale: string = 'en') {\n let path: string;\n try {\n path = new URL(meta.url).pathname;\n } catch {\n path = meta.url.startsWith('/') ? meta.url : `/${meta.url}`;\n }\n\n return {\n '@context': 'https://schema.org',\n '@type': 'Article',\n '@id': ENTITY_IDS.article(path),\n headline: meta.title,\n description: meta.description,\n url: meta.url.startsWith('http') ? meta.url : `${brand.url}${meta.url}`,\n image: meta.image || `${brand.url}/og-default.png`,\n datePublished: meta.publishedTime,\n dateModified: meta.modifiedTime,\n inLanguage: locale,\n author: meta.authorSlug\n ? { '@id': ENTITY_IDS.person(meta.authorSlug) }\n : {\n '@type': 'Person',\n name: meta.authorName,\n url: meta.authorUrl || `${brand.url}/company/team`,\n },\n publisher: {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n logo: {\n '@type': 'ImageObject',\n url: `${brand.url}/logo.svg`,\n },\n },\n isPartOf: { '@type': 'WebSite', '@id': ENTITY_IDS.website },\n mainEntityOfPage: { '@id': ENTITY_IDS.webpage(path) },\n articleSection: meta.section,\n keywords: meta.tags?.join(', '),\n speakable: {\n '@type': 'SpeakableSpecification',\n cssSelector: meta.speakableCssSelectors || ['article h1', 'article .summary', 'article .lead'],\n },\n ...(meta.about ? { about: meta.about } : {}),\n ...(meta.video ? { video: meta.video } : {}),\n };\n },\n\n /** FAQPage schema — FAQ hub, Solutions, Platform Features, Comparisons, Integrations. */\n faqPage(items: FAQItem[], pageUrl: string, locale: string = 'en') {\n return {\n '@context': 'https://schema.org',\n '@type': 'FAQPage',\n '@id': ENTITY_IDS.faq(pageUrl),\n inLanguage: locale,\n mainEntity: items.map((item) => ({\n '@type': 'Question',\n name: item.question,\n acceptedAnswer: {\n '@type': 'Answer',\n text: item.answer,\n inLanguage: locale,\n },\n })),\n };\n },\n\n /**\n * BreadcrumbList schema — Every public page.\n * `inLanguage` is NOT valid on BreadcrumbList and is not emitted. The\n * `locale` param is retained for call-site signature stability.\n */\n breadcrumb(items: BreadcrumbItem[], _locale: string = 'en') {\n void _locale;\n const lastUrl = items.length > 0 ? items[items.length - 1].url : '/';\n const path = lastUrl.startsWith('http') ? new URL(lastUrl).pathname : lastUrl;\n\n return {\n '@context': 'https://schema.org',\n '@type': 'BreadcrumbList',\n '@id': ENTITY_IDS.breadcrumb(path),\n itemListElement: items.map((item, index) => ({\n '@type': 'ListItem',\n position: index + 1,\n name: item.name,\n item: item.url.startsWith('http') ? item.url : `${brand.url}${item.url}`,\n })),\n };\n },\n\n /**\n * Person schema — Team page, Blog author, Comparison author.\n * `inLanguage` is NOT valid on Person (Person is not a CreativeWork) and is\n * not emitted. The `locale` param is retained for signature stability.\n */\n person(person: PersonMeta, _locale: string = 'en') {\n void _locale;\n const slug = person.slug || person.name.toLowerCase().replace(/\\s+/g, '-');\n\n return {\n '@context': 'https://schema.org',\n '@type': 'Person',\n '@id': person.entityIdOverride || ENTITY_IDS.person(slug),\n name: person.name,\n jobTitle: person.jobTitle,\n url: person.url,\n image: person.image,\n worksFor: person.worksFor || {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n },\n sameAs: person.sameAs || [],\n };\n },\n\n /** Review schema — Generated from testimonials. */\n review(testimonial: TestimonialForSchema) {\n return {\n '@context': 'https://schema.org',\n '@type': 'Review',\n '@id': ENTITY_IDS.review(testimonial.id),\n author: {\n '@type': 'Person',\n ...(testimonial.authorEntityId ? { '@id': testimonial.authorEntityId } : {}),\n name: testimonial.customer_name,\n ...(testimonial.occupation ? { jobTitle: testimonial.occupation } : {}),\n },\n reviewBody: testimonial.quote || '',\n ...(testimonial.star_rating\n ? {\n reviewRating: {\n '@type': 'Rating',\n ratingValue: String(testimonial.star_rating),\n bestRating: '5',\n worstRating: '1',\n },\n }\n : {}),\n ...(testimonial.review_date ? { datePublished: testimonial.review_date } : {}),\n itemReviewed: {\n '@type': 'SoftwareApplication',\n '@id': ENTITY_IDS.software,\n name: brand.name,\n },\n ...(testimonial.review_source\n ? {\n publisher: {\n '@type': 'Organization',\n name: testimonial.review_source,\n },\n }\n : {}),\n };\n },\n\n /**\n * Product + multiple Offers schema — Pricing page.\n * `inLanguage` is NOT valid on Product and is not emitted. The `locale`\n * param is retained for call-site signature stability.\n */\n productWithOffers(\n plans: PricingPlan[],\n testimonials: TestimonialForSchema[] = [],\n _locale: string = 'en',\n ) {\n void _locale;\n return {\n '@context': 'https://schema.org',\n '@type': 'Product',\n '@id': ENTITY_IDS.product,\n name: brand.name,\n description: brand.description,\n brand: {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n },\n ...(testimonials.length > 0\n ? { aggregateRating: aggregateRatingFromTestimonials(testimonials) }\n : {}),\n offers: plans.map((plan) => ({\n '@type': 'Offer',\n name: plan.name,\n description: plan.description,\n price: plan.price.replace(/[^0-9.]/g, '') || '0',\n priceCurrency: plan.priceCurrency || 'USD',\n availability: 'https://schema.org/InStock',\n url: `${brand.url}/pricing`,\n ...(plan.billingPeriod\n ? {\n priceSpecification: {\n '@type': 'UnitPriceSpecification',\n price: plan.price.replace(/[^0-9.]/g, '') || '0',\n priceCurrency: plan.priceCurrency || 'USD',\n billingDuration: plan.billingPeriod,\n },\n }\n : {}),\n })),\n };\n },\n\n /** VideoObject schema — Transcript detail pages. */\n videoObject(transcript: TranscriptForSchema, locale: string = 'en') {\n const path = transcript.path || `/resources/transcripts/${transcript.slug}`;\n\n return {\n '@context': 'https://schema.org',\n '@type': 'VideoObject',\n '@id': ENTITY_IDS.video(path),\n name: transcript.title,\n description: transcript.summary || transcript.title,\n ...(transcript.video_link ? { contentUrl: transcript.video_link } : {}),\n ...(transcript.video_link ? { embedUrl: toEmbedUrl(transcript.video_link) } : {}),\n ...(transcript.duration\n ? { duration: toISO8601Duration(transcript.duration) }\n : {}),\n ...(transcript.published_at ? { uploadDate: transcript.published_at } : {}),\n ...(transcript.thumbnailUrl ? { thumbnailUrl: transcript.thumbnailUrl } : {}),\n inLanguage: locale,\n publisher: {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n },\n ...(transcript.transcript_text ? { transcript: transcript.transcript_text } : {}),\n };\n },\n\n /**\n * CustomerOrganization schema — Customer's company for Success Story pages.\n * `industry` is NOT valid on Organization (schema.org allows only the coded\n * `naics` / `isicV4`, plus free-text `keywords`). The free-text industry\n * value is carried by `keywords`.\n */\n customerOrganization(meta: CustomerOrganizationMeta) {\n return {\n '@context': 'https://schema.org',\n '@type': 'Organization',\n '@id': ENTITY_IDS.customerOrganization(meta.slug),\n name: meta.name,\n ...(meta.url ? { url: meta.url } : {}),\n ...(meta.logo ? { logo: meta.logo } : {}),\n ...(meta.description ? { description: meta.description } : {}),\n ...(meta.industry ? { keywords: meta.industry } : {}),\n ...(meta.sameAs && meta.sameAs.length > 0 ? { sameAs: meta.sameAs } : {}),\n };\n },\n\n /** Generic VideoObject — Success story main video and shorts. */\n videoObjectGeneric(meta: VideoObjectMeta, locale: string = 'en') {\n const videoId = meta.fragment\n ? `${brand.url}${meta.path}#${meta.fragment}`\n : ENTITY_IDS.video(meta.path);\n return {\n '@context': 'https://schema.org',\n '@type': 'VideoObject',\n '@id': videoId,\n name: meta.title,\n ...(meta.description ? { description: meta.description } : {}),\n ...(meta.videoUrl ? { contentUrl: meta.videoUrl } : {}),\n ...(meta.embedUrl ? { embedUrl: meta.embedUrl } : {}),\n ...(meta.thumbnailUrl ? { thumbnailUrl: meta.thumbnailUrl } : {}),\n ...(meta.duration ? { duration: meta.duration } : {}),\n ...(meta.uploadDate ? { uploadDate: meta.uploadDate } : {}),\n ...(meta.transcript ? { transcript: meta.transcript } : {}),\n inLanguage: locale,\n publisher: { '@id': ENTITY_IDS.organization },\n };\n },\n\n /** HowTo schema — Solution pages, tutorial blog posts. */\n howTo(steps: HowToStep[], meta: HowToMeta, locale: string = 'en') {\n return {\n '@context': 'https://schema.org',\n '@type': 'HowTo',\n name: meta.name,\n description: meta.description,\n inLanguage: locale,\n ...(meta.totalTime ? { totalTime: meta.totalTime } : {}),\n ...(meta.image ? { image: meta.image } : {}),\n step: steps.map((step, index) => ({\n '@type': 'HowToStep',\n position: index + 1,\n name: step.name,\n text: step.text,\n ...(step.url ? { url: step.url } : {}),\n ...(step.image ? { image: step.image } : {}),\n })),\n };\n },\n\n /**\n * Service schema — Growth motion service offerings.\n * Neither `inLanguage` nor `availableLanguage` is valid on Service, so both\n * are dropped. The `locale` param is retained for signature stability.\n */\n service(motion: ServiceMotion, _locale: string = 'en') {\n void _locale;\n return {\n '@context': 'https://schema.org',\n '@type': 'Service',\n '@id': ENTITY_IDS.service(motion.slug),\n name: motion.name,\n description: motion.description,\n url: motion.url.startsWith('http') ? motion.url : `${brand.url}${motion.url}`,\n provider: {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n },\n areaServed: 'Worldwide',\n ...(motion.price\n ? {\n offers: {\n '@type': 'Offer',\n price: motion.price.replace(/[^0-9.]/g, '') || '0',\n priceCurrency: motion.priceCurrency || 'USD',\n availability: 'https://schema.org/InStock',\n },\n }\n : {}),\n termsOfService: `${brand.url}/legal/terms`,\n };\n },\n\n /**\n * JobPosting schema — Career detail pages.\n * `inLanguage` is NOT valid on JobPosting and is not emitted. The `locale`\n * param is retained for call-site signature stability.\n */\n jobPosting(job: CareerForSchema, _locale: string = 'en') {\n void _locale;\n return {\n '@context': 'https://schema.org',\n '@type': 'JobPosting',\n '@id': `${brand.url}/careers/${job.slug}#jobposting`,\n title: job.title,\n description: job.description || '',\n datePosted: job.published_at || job.created_at,\n employmentType: mapEmploymentType(job.type),\n hiringOrganization: {\n '@type': 'Organization',\n '@id': ENTITY_IDS.organization,\n name: brand.name,\n sameAs: brand.url,\n },\n ...(job.location\n ? {\n jobLocation: {\n '@type': 'Place',\n address: {\n '@type': 'PostalAddress',\n addressLocality: job.location,\n },\n },\n }\n : {\n jobLocationType: 'TELECOMMUTE',\n }),\n };\n },\n\n /** ItemList schema — Hub/listing pages. */\n itemList(items: ItemForList[], listName: string) {\n return {\n '@context': 'https://schema.org',\n '@type': 'ItemList',\n name: listName,\n numberOfItems: items.length,\n itemListElement: items.map((item, index) => ({\n '@type': 'ListItem',\n position: item.position ?? index + 1,\n name: item.name,\n url: item.url.startsWith('http') ? item.url : `${brand.url}${item.url}`,\n ...(item.description ? { description: item.description } : {}),\n ...(item.image ? { image: item.image } : {}),\n })),\n };\n },\n\n /** DefinedTermSet schema — Glossary page. */\n definedTermSet(terms: GlossaryTermForSchema[], locale: string = 'en') {\n return {\n '@context': 'https://schema.org',\n '@type': 'DefinedTermSet',\n '@id': `${brand.url}/resources/glossary#termset`,\n name: 'AI Sales Glossary',\n inLanguage: locale,\n hasDefinedTerm: terms.map((term) => ({\n '@type': 'DefinedTerm',\n name: term.term,\n description: term.definition,\n url: term.url || `${brand.url}/resources/glossary#${term.slug}`,\n })),\n };\n },\n\n /**\n * Speakable — marks content sections suitable for voice assistant reading.\n *\n * Includes its own `@context` so it is valid when rendered as a standalone\n * top-level JSON-LD node. When embedded inside another schema (e.g. as the\n * `speakable` value on WebPage/Article), the surrounding `buildPageGraph`\n * strips the redundant `@context`, so the nested case is unaffected.\n */\n speakable(cssSelectors: string[]): Record<string, unknown> {\n return {\n '@context': 'https://schema.org',\n '@type': 'SpeakableSpecification',\n cssSelector: cssSelectors,\n };\n },\n\n /** Access the entity IDs for cross-referencing */\n entityIds: ENTITY_IDS,\n };\n}\n\n// ─── Standalone Utilities ───────────────────────────────────────────────────\n\n/**\n * Compute AggregateRating from real testimonial data.\n * Falls back to hardcoded 4.7/150 when no rated testimonials exist.\n * Returns a fragment (no @context) — meant to be embedded in Product/SoftwareApp.\n */\nexport function aggregateRatingFromTestimonials(testimonials: TestimonialForSchema[]) {\n const rated = testimonials.filter((t) => t.star_rating != null && t.star_rating > 0);\n\n if (rated.length === 0) {\n return {\n '@type': 'AggregateRating',\n ratingValue: '4.7',\n ratingCount: '150',\n bestRating: '5',\n worstRating: '1',\n };\n }\n\n const sum = rated.reduce((acc, t) => acc + (t.star_rating || 0), 0);\n const avg = (sum / rated.length).toFixed(1);\n\n return {\n '@type': 'AggregateRating',\n ratingValue: avg,\n ratingCount: String(rated.length),\n bestRating: '5',\n worstRating: '1',\n };\n}\n\n/**\n * Assemble multiple schema entities into a single @graph array.\n * Strips individual `@context` from each schema — the wrapper provides it once.\n *\n * @example\n * ```ts\n * const graph = buildPageGraph(\n * seo.organization(),\n * seo.website(),\n * seo.webPage('/pricing', 'Pricing', '...'),\n * seo.breadcrumb(crumbs),\n * );\n * ```\n */\nexport function buildPageGraph(\n ...schemas: Record<string, unknown>[]\n): Record<string, unknown> {\n const graph = schemas.map((schema) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { '@context': _, ...rest } = schema;\n return rest;\n });\n\n return {\n '@context': 'https://schema.org',\n '@graph': graph,\n };\n}\n\n/**\n * Build canonical URL from pathname.\n * Removes trailing slash (except root) and query params.\n *\n * @param baseUrl - The site's base URL (e.g. \"https://sales-mind.ai\")\n * @param pathname - The route path (e.g. \"/pricing\", \"/blog/post/foo\")\n * @param locale - BCP-47 locale code. 'en' = no prefix (default). Others get /{locale}/ prefix.\n */\nexport function canonicalUrl(baseUrl: string, pathname: string, locale?: string): string {\n const clean = pathname === '/' ? '/' : pathname.replace(/\\/+$/, '');\n\n if (locale && locale !== 'en') {\n const stripped = clean.replace(new RegExp(`^/${locale}(/|$)`), '$1') || '/';\n const path = stripped === '/' ? '' : stripped;\n return `${baseUrl}/${locale}${path}`;\n }\n\n return `${baseUrl}${clean}`;\n}\n","/**\n * JsonLd — Renders structured data as a `<script type=\"application/ld+json\">` tag.\n *\n * Framework-agnostic: works with any React-based framework (Next.js, Vite, Remix, etc.).\n * Safely serializes the data object and escapes `</script>` sequences.\n *\n * @example\n * ```tsx\n * import { JsonLd, buildPageGraph } from '@salesmind-ai/design-system/web';\n *\n * <JsonLd data={buildPageGraph(seo.organization(), seo.website())} />\n * ```\n */\nexport interface JsonLdProps {\n /** The structured data object (schema.org format) */\n data: Record<string, unknown>;\n /** Optional nonce for CSP headers */\n nonce?: string;\n}\n\nexport function JsonLd({ data, nonce }: JsonLdProps) {\n const json = JSON.stringify(data).replace(/<\\/script>/gi, '<\\\\/script>');\n\n return (\n <script\n type=\"application/ld+json\"\n nonce={nonce}\n dangerouslySetInnerHTML={{ __html: json }}\n />\n );\n}\n"]}
|
|
@@ -6,7 +6,7 @@ var chunkDP74LUXG_cjs = require('./chunk-DP74LUXG.cjs');
|
|
|
6
6
|
var chunkQXUA5PQ3_cjs = require('./chunk-QXUA5PQ3.cjs');
|
|
7
7
|
var chunkVC5LMUVQ_cjs = require('./chunk-VC5LMUVQ.cjs');
|
|
8
8
|
var chunkGPHQGLR5_cjs = require('./chunk-GPHQGLR5.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkHWEIKJCR_cjs = require('./chunk-HWEIKJCR.cjs');
|
|
10
10
|
var chunkLJADZITX_cjs = require('./chunk-LJADZITX.cjs');
|
|
11
11
|
var React24 = require('react');
|
|
12
12
|
var clsx17 = require('clsx');
|
|
@@ -494,13 +494,13 @@ var BeforeAfterBlock = React24.forwardRef(
|
|
|
494
494
|
i
|
|
495
495
|
));
|
|
496
496
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
497
|
-
|
|
497
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
498
498
|
{
|
|
499
499
|
ref,
|
|
500
500
|
className: clsx17__default.default("ds-before-after", className),
|
|
501
501
|
...props,
|
|
502
502
|
children: [
|
|
503
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
503
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title }),
|
|
504
504
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx17__default.default("ds-before-after__layout", `ds-before-after__layout--${variant}`), children: [
|
|
505
505
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-before-after__column ds-before-after__column--before", children: [
|
|
506
506
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "ds-before-after__label", children: before.label }),
|
|
@@ -534,13 +534,13 @@ var CompetitorDiff = React24.forwardRef(
|
|
|
534
534
|
...props
|
|
535
535
|
}, ref) => {
|
|
536
536
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
537
|
-
|
|
537
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
538
538
|
{
|
|
539
539
|
ref,
|
|
540
540
|
className: clsx17__default.default("ds-competitor-diff", className),
|
|
541
541
|
...props,
|
|
542
542
|
children: [
|
|
543
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
543
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
544
544
|
variant === "table" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-competitor-diff__table", role: "table", "aria-label": "Feature comparison", children: [
|
|
545
545
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-competitor-diff__thead", role: "row", children: [
|
|
546
546
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-competitor-diff__th", role: "columnheader" }),
|
|
@@ -617,13 +617,13 @@ var ComplianceGrid = React24.forwardRef(
|
|
|
617
617
|
...props
|
|
618
618
|
}, ref) => {
|
|
619
619
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
620
|
-
|
|
620
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
621
621
|
{
|
|
622
622
|
ref,
|
|
623
623
|
className: clsx17__default.default("ds-compliance-grid", className),
|
|
624
624
|
...props,
|
|
625
625
|
children: [
|
|
626
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
626
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
627
627
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-compliance-grid__items", children: items.map((item, i) => {
|
|
628
628
|
const inner = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
629
629
|
"div",
|
|
@@ -846,13 +846,13 @@ var EvolutionTimeline = React24.forwardRef(
|
|
|
846
846
|
...props
|
|
847
847
|
}, ref) => {
|
|
848
848
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
849
|
-
|
|
849
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
850
850
|
{
|
|
851
851
|
ref,
|
|
852
852
|
className: clsx17__default.default("ds-evolution-timeline", className),
|
|
853
853
|
...props,
|
|
854
854
|
children: [
|
|
855
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
855
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
856
856
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-evolution-timeline__track", children: [
|
|
857
857
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-evolution-timeline__line", "aria-hidden": "true" }),
|
|
858
858
|
eras.map((era, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -901,13 +901,13 @@ var EcosystemDiagram = React24.forwardRef(
|
|
|
901
901
|
...props
|
|
902
902
|
}, ref) => {
|
|
903
903
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
904
|
-
|
|
904
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
905
905
|
{
|
|
906
906
|
ref,
|
|
907
907
|
className: clsx17__default.default("ds-ecosystem", `ds-ecosystem--${variant}`, className),
|
|
908
908
|
...props,
|
|
909
909
|
children: [
|
|
910
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
910
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
911
911
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-ecosystem__diagram", role: "img", "aria-label": "Ecosystem diagram", children: [
|
|
912
912
|
centerLabel && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-ecosystem__center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-ecosystem__center-label", children: centerLabel }) }),
|
|
913
913
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-ecosystem__layers", children: layers.map((layer, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-ecosystem__layer", children: [
|
|
@@ -917,7 +917,7 @@ var EcosystemDiagram = React24.forwardRef(
|
|
|
917
917
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ds-ecosystem__capabilities", children: layer.capabilities.map((cap, j) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "ds-ecosystem__capability", children: cap }, j)) })
|
|
918
918
|
] }, i)) }),
|
|
919
919
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-ecosystem__connections", "aria-hidden": "true", children: connections.map((conn, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-ecosystem__connection", children: [
|
|
920
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-ecosystem__connection-arrow", children: "
|
|
920
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-ecosystem__connection-arrow", children: "\u2192" }),
|
|
921
921
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-ecosystem__connection-label", children: conn.label })
|
|
922
922
|
] }, i)) })
|
|
923
923
|
] })
|
|
@@ -955,13 +955,13 @@ var ValueAnchor = React24.forwardRef(
|
|
|
955
955
|
}, []);
|
|
956
956
|
const output = React24.useMemo(() => calculate(values), [values, calculate]);
|
|
957
957
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
958
|
-
|
|
958
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
959
959
|
{
|
|
960
960
|
ref,
|
|
961
961
|
className: clsx17__default.default("ds-value-anchor", className),
|
|
962
962
|
...props,
|
|
963
963
|
children: [
|
|
964
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
964
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
965
965
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-value-anchor__layout", children: [
|
|
966
966
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-value-anchor__inputs", children: inputs.map((input) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-value-anchor__input-group", children: [
|
|
967
967
|
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: "ds-value-anchor__input-label", children: [
|
|
@@ -1050,13 +1050,13 @@ var EnterpriseSignaling = React24.forwardRef(
|
|
|
1050
1050
|
);
|
|
1051
1051
|
}
|
|
1052
1052
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1053
|
-
|
|
1053
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
1054
1054
|
{
|
|
1055
1055
|
ref,
|
|
1056
1056
|
className: clsx17__default.default("ds-enterprise-signaling", `ds-enterprise-signaling--${variant}`, className),
|
|
1057
1057
|
...props,
|
|
1058
1058
|
children: [
|
|
1059
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1059
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
1060
1060
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-enterprise-signaling__categories", children: categories.map((cat, ci) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-enterprise-signaling__category", children: [
|
|
1061
1061
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-enterprise-signaling__category-header", children: [
|
|
1062
1062
|
cat.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-enterprise-signaling__category-icon", children: cat.icon }),
|
|
@@ -1142,7 +1142,7 @@ var IntelligenceBlock = React24.forwardRef(
|
|
|
1142
1142
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-intelligence__compound-label", children: "Before" }),
|
|
1143
1143
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-intelligence__compound-text", children: cap.compoundingExample.before })
|
|
1144
1144
|
] }),
|
|
1145
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-intelligence__compound-arrow", "aria-hidden": "true", children: "
|
|
1145
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-intelligence__compound-arrow", "aria-hidden": "true", children: "\u2192" }),
|
|
1146
1146
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-intelligence__compound-after", children: [
|
|
1147
1147
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-intelligence__compound-label", children: cap.compoundingExample.timeframe }),
|
|
1148
1148
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ds-intelligence__compound-text", children: cap.compoundingExample.after })
|
|
@@ -1151,13 +1151,13 @@ var IntelligenceBlock = React24.forwardRef(
|
|
|
1151
1151
|
] })
|
|
1152
1152
|
] }, i)) });
|
|
1153
1153
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1154
|
-
|
|
1154
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
1155
1155
|
{
|
|
1156
1156
|
ref,
|
|
1157
1157
|
className: clsx17__default.default("ds-intelligence", `ds-intelligence--${variant}`, className),
|
|
1158
1158
|
...props,
|
|
1159
1159
|
children: [
|
|
1160
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1160
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
1161
1161
|
variant === "capabilities-first" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1162
1162
|
capabilitiesBlock,
|
|
1163
1163
|
metricsBlock
|
|
@@ -1206,13 +1206,13 @@ var PartnerValueProp = React24.forwardRef(
|
|
|
1206
1206
|
return calculator.calculate(values);
|
|
1207
1207
|
}, [values, calculator]);
|
|
1208
1208
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1209
|
-
|
|
1209
|
+
chunkHWEIKJCR_cjs.SectionShell,
|
|
1210
1210
|
{
|
|
1211
1211
|
ref,
|
|
1212
1212
|
className: clsx17__default.default("ds-partner-vp", className),
|
|
1213
1213
|
...props,
|
|
1214
1214
|
children: [
|
|
1215
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1215
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { eyebrow, title, subtitle }),
|
|
1216
1216
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-partner-vp__layout", children: [
|
|
1217
1217
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-partner-vp__benefits", children: benefits.map((b, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-partner-vp__benefit", children: [
|
|
1218
1218
|
b.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-partner-vp__benefit-icon", "aria-hidden": "true", children: b.icon }),
|
|
@@ -1916,4 +1916,4 @@ exports.StickyActionBar = StickyActionBar;
|
|
|
1916
1916
|
exports.ValueAnchor = ValueAnchor;
|
|
1917
1917
|
exports.Vignette = Vignette;
|
|
1918
1918
|
//# sourceMappingURL=out.js.map
|
|
1919
|
-
//# sourceMappingURL=chunk-
|
|
1919
|
+
//# sourceMappingURL=chunk-S4367EZF.cjs.map
|