sanity-plugin-seofields 1.3.1 → 1.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/README.md +69 -40
- package/dist/index.cjs +1924 -1618
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +68 -17
- package/dist/index.d.ts +68 -17
- package/dist/index.js +1879 -1563
- package/dist/index.js.map +1 -1
- package/dist/next.cjs +1506 -0
- package/dist/next.cjs.map +1 -1
- package/dist/next.d.cts +4 -1
- package/dist/next.d.ts +4 -1
- package/dist/next.js +1457 -0
- package/dist/next.js.map +1 -1
- package/dist/schema/next.cjs +1548 -0
- package/dist/schema/next.cjs.map +1 -0
- package/dist/schema/next.d.cts +438 -0
- package/dist/schema/next.d.ts +438 -0
- package/dist/schema/next.js +1476 -0
- package/dist/schema/next.js.map +1 -0
- package/dist/schema.cjs +1743 -0
- package/dist/schema.cjs.map +1 -0
- package/dist/schema.d.cts +387 -0
- package/dist/schema.d.ts +387 -0
- package/dist/schema.js +1691 -0
- package/dist/schema.js.map +1 -0
- package/dist/types-CVaAX7uy.d.cts +589 -0
- package/dist/types-Ci-ZZT7A.d.ts +589 -0
- package/dist/{types-B91ena4g.d.cts → types-R3n9Fu4w.d.cts} +16 -1
- package/dist/{types-B91ena4g.d.ts → types-R3n9Fu4w.d.ts} +16 -1
- package/package.json +18 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/schema/generator.ts","../src/schema/schemaOrg.ts","../src/schema/icons.ts","../src/schema/aggregateRating/schema.ts","../src/schema/article/schema.ts","../src/schema/blogPosting/schema.ts","../src/schema/brand/schema.ts","../src/schema/breadcrumbList/schema.ts","../src/schema/contactPoint/schema.ts","../src/schema/course/schema.ts","../src/schema/event/schema.ts","../src/schema/faqPage/schema.ts","../src/schema/howTo/schema.ts","../src/schema/imageObject/schema.ts","../src/schema/localBusiness/schema.ts","../src/schema/offer/schema.ts","../src/schema/organization/schema.ts","../src/schema/person/schema.ts","../src/schema/place/schema.ts","../src/schema/postalAddress/schema.ts","../src/schema/product/schema.ts","../src/schema/review/schema.ts","../src/schema/softwareApplication/schema.ts","../src/schema/videoObject/schema.ts","../src/schema/webApplication/schema.ts","../src/schema/webPage/schema.ts","../src/schema/website/schema.ts"],"sourcesContent":["/**\n * Dynamic Sanity schema generator for Schema.org types.\n *\n * Each Schema.org type declares its fields as a plain `SchemaFieldDef[]` array.\n * The generator converts them into Sanity `defineType` / `defineField` calls,\n * wiring up validation, initial values, options, and nested objects/arrays\n * automatically.\n *\n * It also provides a generic JSON-LD builder and React component factory so\n * adding a new Schema.org type requires only a field definition array.\n */\nimport React from 'react'\nimport {defineField, defineType, FieldDefinition, SchemaTypeDefinition} from 'sanity'\n\n// ─── Field Definition Types ───────────────────────────────────────────────────\n\nexport interface SchemaFieldOption {\n title: string\n value: string\n}\n\nexport interface SchemaFieldDef {\n /** Sanity field name */\n name: string\n /** Human-readable title shown in Studio */\n title: string\n /** Sanity field type */\n type: 'string' | 'url' | 'text' | 'array' | 'object' | 'image' | 'number' | 'date' | 'datetime'\n /** Help text shown below the field */\n description?: string\n /** If set, field is required — key is the validation config key, message is the default */\n required?: {key: string; message: string}\n /** Initial value for the field */\n initialValue?: unknown\n /** Dropdown / radio options for string fields */\n options?: SchemaFieldOption[]\n /** Number of rows for text fields */\n rows?: number\n /** Array member types, e.g. [{type: 'string'}] */\n of?: {type: string}[]\n /** Nested fields for object type */\n fields?: SchemaFieldDef[]\n /** Schema.org @type for this nested object or array items in JSON-LD output */\n jsonLdType?: string\n /** JSON-LD key if different from the Sanity field name */\n jsonLdKey?: string\n}\n\n// ─── Schema Type Definition ───────────────────────────────────────────────────\n\nexport interface SchemaTypeDef {\n /** Sanity type name, e.g. \"schemaOrgWebsite\" */\n name: string\n /** Title shown in Studio, e.g. \"Schema.org — Website\" */\n title: string\n /** Icon component shown in Studio and the array grid picker */\n icon?: React.ComponentType\n /** Field definitions */\n fields: SchemaFieldDef[]\n}\n\n// ─── Shared Config Shape ──────────────────────────────────────────────────────\n\nexport interface SchemaOrgConfig {\n /** Custom validation error messages keyed by field config key */\n validation?: Record<string, string>\n}\n\n// ─── Sanity Schema Generator ─────────────────────────────────────────────────\n\n/** Recursively converts a `SchemaFieldDef` into a Sanity `FieldDefinition`. */\nfunction buildField(\n fieldDef: SchemaFieldDef,\n validation?: Record<string, string>,\n): FieldDefinition {\n const base: Record<string, unknown> = {\n name: fieldDef.name,\n title: fieldDef.title,\n type: fieldDef.type,\n }\n\n if (fieldDef.description) base.description = fieldDef.description\n if (fieldDef.initialValue !== undefined) base.initialValue = fieldDef.initialValue\n if (fieldDef.rows) base.rows = fieldDef.rows\n\n if (fieldDef.options) {\n base.options = {list: fieldDef.options}\n }\n\n // Array of objects: auto-generate `of: [{ type: 'object', fields }]`\n if (fieldDef.type === 'array' && fieldDef.fields?.length && !fieldDef.of) {\n base.of = [\n {\n type: 'object',\n fields: fieldDef.fields.map((child) => buildField(child, validation)),\n },\n ]\n } else if (fieldDef.of) {\n base.of = fieldDef.of\n }\n\n // Nested object fields — recurse (only for non-array types)\n if (fieldDef.type !== 'array' && fieldDef.fields?.length) {\n base.fields = fieldDef.fields.map((child) => buildField(child, validation))\n }\n\n // Required validation with configurable message\n if (fieldDef.required) {\n const msg = validation?.[fieldDef.required.key] ?? fieldDef.required.message\n base.validation = (Rule: {required: () => {error: (m: string) => unknown}}) =>\n Rule.required().error(msg)\n }\n\n return defineField(base as unknown as FieldDefinition)\n}\n\n/**\n * Generates a complete Sanity `SchemaTypeDefinition` from a declarative\n * `SchemaTypeDef` and optional user config.\n */\nexport function generateSchemaType(\n def: SchemaTypeDef,\n config: SchemaOrgConfig = {},\n): SchemaTypeDefinition {\n return defineType({\n name: def.name,\n title: def.title,\n type: 'object',\n ...(def.icon && {icon: def.icon}),\n fields: def.fields.map((f) => buildField(f, config.validation)),\n preview: {\n select: {\n title: 'name',\n },\n prepare(selection) {\n return {\n title: selection.title || def.title,\n subtitle: `@type: ${def.title.split('—')[1]?.trim() || def.title}`,\n ...(def.icon && {media: def.icon}),\n }\n },\n },\n })\n}\n\n// ─── Generic JSON-LD Builder ──────────────────────────────────────────────────\n\n/** Sanity-internal keys that should never appear in JSON-LD output. */\nconst SANITY_INTERNAL_KEYS = new Set([\n '_key',\n '_type',\n '_ref',\n '_id',\n '_rev',\n '_createdAt',\n '_updatedAt',\n])\n\n/**\n * Recursively builds a JSON-LD fragment from Sanity data using field defs.\n * Handles nested objects with `@type` and arrays of typed objects.\n */\nfunction buildNestedJsonLd(\n data: Record<string, unknown>,\n fieldDefs: SchemaFieldDef[],\n jsonLdType?: string,\n): Record<string, unknown> {\n const result: Record<string, unknown> = jsonLdType ? {'@type': jsonLdType} : {}\n\n for (const field of fieldDefs) {\n const value = data[field.name]\n if (value === undefined || value === null || value === '') continue\n\n const key = field.jsonLdKey ?? field.name\n\n if (\n field.type === 'object' &&\n field.fields &&\n typeof value === 'object' &&\n !Array.isArray(value)\n ) {\n const nested = buildNestedJsonLd(\n value as Record<string, unknown>,\n field.fields,\n field.jsonLdType,\n )\n const minKeys = field.jsonLdType ? 1 : 0\n if (Object.keys(nested).length > minKeys) {\n result[key] = nested\n }\n } else if (field.type === 'array' && Array.isArray(value)) {\n if (field.fields && field.jsonLdType) {\n // Array of typed objects\n const items = value\n .filter(\n (item): item is Record<string, unknown> => typeof item === 'object' && item !== null,\n )\n .map((item) => buildNestedJsonLd(item, field.fields!, field.jsonLdType))\n if (items.length) result[key] = items\n } else if (value.length) {\n // Simple array (strings, urls, etc.)\n result[key] = value.filter((v) => v !== undefined && v !== null && v !== '')\n }\n } else if (!SANITY_INTERNAL_KEYS.has(field.name)) {\n result[key] = value\n }\n }\n\n return result\n}\n\n/**\n * Builds a complete Schema.org JSON-LD object from Sanity data using field defs.\n * Returns `null` if any of the `requiredFields` are missing.\n *\n * @param schemaType The Schema.org `@type` (e.g. \"Person\", \"Article\")\n * @param data Raw data from a Sanity GROQ query\n * @param fieldDefs The field definitions for this schema type\n * @param requiredFields Field names that must be present (returns null if missing)\n */\nexport function buildGenericJsonLd(\n schemaType: string,\n data: Record<string, unknown> | null | undefined,\n fieldDefs: SchemaFieldDef[],\n requiredFields: string[] = [],\n): Record<string, unknown> | null {\n if (!data) return null\n for (const req of requiredFields) {\n if (!data[req]) return null\n }\n\n const body = buildNestedJsonLd(data, fieldDefs)\n return {\n '@context': 'https://schema.org',\n '@type': schemaType,\n ...body,\n }\n}\n","/**\n * Schema.org plugins for sanity-plugin-seofields.\n *\n * Use as Sanity plugins (in `plugins` array) rather than raw schema types.\n *\n * @example Combined — all types at once\n * ```ts\n * import { schemaOrg } from 'sanity-plugin-seofields/schema'\n *\n * export default defineConfig({\n * plugins: [schemaOrg()],\n * })\n * ```\n *\n * @example Individual — only the types you need\n * ```ts\n * import { schemaOrgArticlePlugin, schemaOrgFAQPagePlugin } from 'sanity-plugin-seofields/schema'\n *\n * export default defineConfig({\n * plugins: [schemaOrgArticlePlugin(), schemaOrgFAQPagePlugin()],\n * })\n * ```\n *\n * @example Then use in any document schema\n * ```ts\n * defineField({ name: 'structuredData', type: 'schemaOrg' })\n * defineField({ name: 'article', type: 'schemaOrgArticle' })\n * ```\n */\nimport {definePlugin, defineType} from 'sanity'\n\nimport schemaOrgAggregateRatingSchema from './aggregateRating/schema'\nimport schemaOrgArticleSchema from './article/schema'\nimport schemaOrgBlogPostingSchema from './blogPosting/schema'\nimport schemaOrgBrandSchema from './brand/schema'\nimport schemaOrgBreadcrumbListSchema from './breadcrumbList/schema'\nimport schemaOrgContactPointSchema from './contactPoint/schema'\nimport schemaOrgCourseSchema from './course/schema'\nimport schemaOrgEventSchema from './event/schema'\nimport schemaOrgFAQPageSchema from './faqPage/schema'\nimport type {SchemaOrgConfig} from './generator'\nimport schemaOrgHowToSchema from './howTo/schema'\nimport schemaOrgImageObjectSchema from './imageObject/schema'\nimport schemaOrgLocalBusinessSchema from './localBusiness/schema'\nimport schemaOrgOfferSchema from './offer/schema'\nimport schemaOrgOrganizationSchema from './organization/schema'\nimport schemaOrgPersonSchema from './person/schema'\nimport schemaOrgPlaceSchema from './place/schema'\nimport schemaOrgPostalAddressSchema from './postalAddress/schema'\nimport schemaOrgProductSchema from './product/schema'\nimport schemaOrgReviewSchema from './review/schema'\nimport schemaOrgSoftwareApplicationSchema from './softwareApplication/schema'\nimport schemaOrgVideoObjectSchema from './videoObject/schema'\nimport schemaOrgWebApplicationSchema from './webApplication/schema'\nimport schemaOrgWebPageSchema from './webPage/schema'\nimport schemaOrgWebsiteSchema from './website/schema'\n\n// ─── Combined Config ──────────────────────────────────────────────────────────\n\n/** Per-type validation overrides for the combined `schemaOrg()` plugin. */\nexport interface SchemaOrgCombinedConfig {\n website?: SchemaOrgConfig\n organization?: SchemaOrgConfig\n webPage?: SchemaOrgConfig\n person?: SchemaOrgConfig\n breadcrumbList?: SchemaOrgConfig\n imageObject?: SchemaOrgConfig\n article?: SchemaOrgConfig\n blogPosting?: SchemaOrgConfig\n faqPage?: SchemaOrgConfig\n howTo?: SchemaOrgConfig\n product?: SchemaOrgConfig\n offer?: SchemaOrgConfig\n aggregateRating?: SchemaOrgConfig\n review?: SchemaOrgConfig\n brand?: SchemaOrgConfig\n localBusiness?: SchemaOrgConfig\n postalAddress?: SchemaOrgConfig\n contactPoint?: SchemaOrgConfig\n softwareApplication?: SchemaOrgConfig\n webApplication?: SchemaOrgConfig\n event?: SchemaOrgConfig\n place?: SchemaOrgConfig\n videoObject?: SchemaOrgConfig\n course?: SchemaOrgConfig\n}\n\n// ─── Array type member list ───────────────────────────────────────────────────\n\nconst ALL_SCHEMA_ORG_TYPES = [\n 'schemaOrgWebsite',\n 'schemaOrgOrganization',\n 'schemaOrgWebPage',\n 'schemaOrgPerson',\n 'schemaOrgArticle',\n 'schemaOrgBlogPosting',\n 'schemaOrgBreadcrumbList',\n 'schemaOrgFAQPage',\n 'schemaOrgHowTo',\n 'schemaOrgProduct',\n 'schemaOrgOffer',\n 'schemaOrgAggregateRating',\n 'schemaOrgReview',\n 'schemaOrgBrand',\n 'schemaOrgLocalBusiness',\n 'schemaOrgEvent',\n 'schemaOrgPlace',\n 'schemaOrgSoftwareApplication',\n 'schemaOrgWebApplication',\n 'schemaOrgVideoObject',\n 'schemaOrgCourse',\n 'schemaOrgImageObject',\n 'schemaOrgPostalAddress',\n 'schemaOrgContactPoint',\n] as const\n\n// ─── Individual Plugins ───────────────────────────────────────────────────────\n\nexport const schemaOrgWebsitePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-website',\n schema: {types: [schemaOrgWebsiteSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgOrganizationPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-organization',\n schema: {types: [schemaOrgOrganizationSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgWebPagePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-webpage',\n schema: {types: [schemaOrgWebPageSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgPersonPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-person',\n schema: {types: [schemaOrgPersonSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgBreadcrumbListPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-breadcrumblist',\n schema: {types: [schemaOrgBreadcrumbListSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgImageObjectPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-imageobject',\n schema: {types: [schemaOrgImageObjectSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgArticlePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-article',\n schema: {types: [schemaOrgArticleSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgBlogPostingPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-blogposting',\n schema: {types: [schemaOrgBlogPostingSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgFAQPagePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-faqpage',\n schema: {types: [schemaOrgFAQPageSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgHowToPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-howto',\n schema: {types: [schemaOrgHowToSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgProductPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-product',\n schema: {types: [schemaOrgProductSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgOfferPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-offer',\n schema: {types: [schemaOrgOfferSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgAggregateRatingPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-aggregaterating',\n schema: {types: [schemaOrgAggregateRatingSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgReviewPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-review',\n schema: {types: [schemaOrgReviewSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgBrandPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-brand',\n schema: {types: [schemaOrgBrandSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgLocalBusinessPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-localbusiness',\n schema: {types: [schemaOrgLocalBusinessSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgPostalAddressPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-postaladdress',\n schema: {types: [schemaOrgPostalAddressSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgContactPointPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-contactpoint',\n schema: {types: [schemaOrgContactPointSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgSoftwareApplicationPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-softwareapplication',\n schema: {types: [schemaOrgSoftwareApplicationSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgWebApplicationPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-webapplication',\n schema: {types: [schemaOrgWebApplicationSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgEventPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-event',\n schema: {types: [schemaOrgEventSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgPlacePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-place',\n schema: {types: [schemaOrgPlaceSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgVideoObjectPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-videoobject',\n schema: {types: [schemaOrgVideoObjectSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgCoursePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-course',\n schema: {types: [schemaOrgCourseSchema(config as SchemaOrgConfig)]},\n}))\n\n// ─── Combined Plugin ──────────────────────────────────────────────────────────\n\n/**\n * Registers **all** Schema.org types as a single Sanity plugin.\n * Includes a combined `schemaOrg` array type for multi-type fields.\n *\n * @example\n * ```ts\n * import { schemaOrg } from 'sanity-plugin-seofields/schema'\n *\n * export default defineConfig({\n * plugins: [schemaOrg()],\n * })\n * ```\n */\nexport const schemaOrg = definePlugin<SchemaOrgCombinedConfig | void>((config = {}) => {\n const c = config as SchemaOrgCombinedConfig\n return {\n name: 'sanity-plugin-seofields/schema-org',\n schema: {\n types: [\n schemaOrgWebsiteSchema(c.website),\n schemaOrgOrganizationSchema(c.organization),\n schemaOrgWebPageSchema(c.webPage),\n schemaOrgPersonSchema(c.person),\n schemaOrgBreadcrumbListSchema(c.breadcrumbList),\n schemaOrgImageObjectSchema(c.imageObject),\n schemaOrgArticleSchema(c.article),\n schemaOrgBlogPostingSchema(c.blogPosting),\n schemaOrgFAQPageSchema(c.faqPage),\n schemaOrgHowToSchema(c.howTo),\n schemaOrgProductSchema(c.product),\n schemaOrgOfferSchema(c.offer),\n schemaOrgAggregateRatingSchema(c.aggregateRating),\n schemaOrgReviewSchema(c.review),\n schemaOrgBrandSchema(c.brand),\n schemaOrgLocalBusinessSchema(c.localBusiness),\n schemaOrgPostalAddressSchema(c.postalAddress),\n schemaOrgContactPointSchema(c.contactPoint),\n schemaOrgSoftwareApplicationSchema(c.softwareApplication),\n schemaOrgWebApplicationSchema(c.webApplication),\n schemaOrgEventSchema(c.event),\n schemaOrgPlaceSchema(c.place),\n schemaOrgVideoObjectSchema(c.videoObject),\n schemaOrgCourseSchema(c.course),\n // Combined array type — lets editors add multiple schemas\n defineType({\n name: 'schemaOrg',\n title: 'Schema.org Structured Data',\n type: 'array',\n of: ALL_SCHEMA_ORG_TYPES.map((type) => ({type})),\n options: {\n insertMenu: {\n views: [\n {\n name: 'grid',\n },\n ],\n },\n },\n }),\n ],\n },\n }\n})\n","/**\n * Icons for Schema.org types — sourced from @sanity/icons.\n * Each icon is a React component compatible with Sanity's `icon` field.\n */\nimport {\n ApiIcon,\n BarChartIcon,\n BookIcon,\n CalendarIcon,\n CodeBlockIcon,\n ComponentIcon,\n DesktopIcon,\n DocumentTextIcon,\n EarthGlobeIcon,\n HeartFilledIcon,\n HelpCircleIcon,\n HomeIcon,\n ImageIcon,\n LinkIcon,\n ListIcon,\n MarkerIcon,\n PackageIcon,\n SparkleIcon,\n TagIcon,\n UserIcon,\n VideoIcon,\n} from '@sanity/icons'\n\nexport const SchemaOrgIcons = {\n // Website & WebPage\n website: EarthGlobeIcon,\n webPage: DocumentTextIcon,\n\n // Organization & Business\n organization: ComponentIcon,\n localBusiness: HomeIcon,\n\n brand: SparkleIcon,\n\n // People\n person: UserIcon,\n\n // Navigation\n breadcrumbList: LinkIcon,\n\n // Media\n imageObject: ImageIcon,\n videoObject: VideoIcon,\n\n // Content\n article: DocumentTextIcon,\n blogPosting: BookIcon,\n faqPage: HelpCircleIcon,\n howTo: ListIcon,\n\n // Commerce\n product: PackageIcon,\n offer: TagIcon,\n aggregateRating: BarChartIcon,\n review: HeartFilledIcon,\n\n // Location\n postalAddress: MarkerIcon,\n place: MarkerIcon,\n event: CalendarIcon,\n\n // Contact\n contactPoint: ApiIcon,\n\n // Software\n softwareApplication: CodeBlockIcon,\n webApplication: DesktopIcon,\n\n // Education\n course: BookIcon,\n} as const\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgAggregateRatingConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const aggregateRatingFields: SchemaFieldDef[] = [\n {\n name: 'ratingValue',\n title: 'Rating Value',\n type: 'string',\n description: 'The average rating value, e.g. \"4.5\".',\n required: {\n key: 'ratingValueRequired',\n message: 'Rating value is required for Schema.org.',\n },\n },\n {\n name: 'reviewCount',\n title: 'Review Count',\n type: 'string',\n description: 'The total number of reviews, e.g. \"120\".',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgAggregateRating(\n config: SchemaOrgAggregateRatingConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgAggregateRating',\n title: 'Schema.org — AggregateRating',\n icon: SchemaOrgIcons.aggregateRating,\n fields: aggregateRatingFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgArticleConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const articleFields: SchemaFieldDef[] = [\n {\n name: 'headline',\n title: 'Headline',\n type: 'string',\n required: {key: 'headlineRequired', message: 'Headline is required for Schema.org Article.'},\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n },\n {\n name: 'image',\n title: 'Image',\n type: 'url',\n description: 'URL of the article image.',\n },\n {\n name: 'author',\n title: 'Author',\n type: 'object',\n jsonLdType: 'Person',\n fields: [\n {\n name: 'name',\n title: 'Author Name',\n type: 'string',\n },\n ],\n },\n {\n name: 'publisher',\n title: 'Publisher',\n type: 'object',\n jsonLdType: 'Organization',\n fields: [\n {\n name: 'name',\n title: 'Publisher Name',\n type: 'string',\n },\n {\n name: 'logo',\n title: 'Publisher Logo',\n type: 'object',\n jsonLdType: 'ImageObject',\n fields: [\n {\n name: 'url',\n title: 'Logo URL',\n type: 'url',\n },\n ],\n },\n ],\n },\n {\n name: 'datePublished',\n title: 'Date Published',\n type: 'date',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org Article — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgArticle } from 'sanity-plugin-seofields/schema/article'\n *\n * schemaOrgArticle()\n * ```\n */\nexport default function schemaOrgArticle(\n config: SchemaOrgArticleConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgArticle',\n title: 'Schema.org — Article',\n icon: SchemaOrgIcons.article,\n fields: articleFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgBlogPostingConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const blogPostingFields: SchemaFieldDef[] = [\n {\n name: 'headline',\n title: 'Headline',\n type: 'string',\n required: {\n key: 'headlineRequired',\n message: 'Headline is required for Schema.org BlogPosting.',\n },\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n },\n {\n name: 'author',\n title: 'Author',\n type: 'object',\n jsonLdType: 'Person',\n fields: [\n {\n name: 'name',\n title: 'Author Name',\n type: 'string',\n },\n ],\n },\n {\n name: 'datePublished',\n title: 'Date Published',\n type: 'date',\n },\n {\n name: 'mainEntityOfPage',\n title: 'Main Entity of Page',\n type: 'object',\n jsonLdType: 'WebPage',\n fields: [\n {\n name: 'id',\n title: 'Page URL',\n type: 'url',\n jsonLdKey: '@id',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org BlogPosting — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgBlogPosting } from 'sanity-plugin-seofields/schema/blogPosting'\n *\n * schemaOrgBlogPosting()\n * ```\n */\nexport default function schemaOrgBlogPosting(\n config: SchemaOrgBlogPostingConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgBlogPosting',\n title: 'Schema.org — BlogPosting',\n icon: SchemaOrgIcons.blogPosting,\n fields: blogPostingFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgBrandConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const brandFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Brand Name',\n type: 'string',\n description: 'The name of the brand.',\n required: {key: 'nameRequired', message: 'Brand name is required for Schema.org.'},\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgBrand(config: SchemaOrgBrandConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgBrand',\n title: 'Schema.org — Brand',\n icon: SchemaOrgIcons.brand,\n fields: brandFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgBreadcrumbListConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const breadcrumbListFields: SchemaFieldDef[] = [\n {\n name: 'itemListElement',\n title: 'Breadcrumb Items',\n type: 'array',\n jsonLdType: 'ListItem',\n fields: [\n {\n name: 'position',\n title: 'Position',\n type: 'number',\n required: {key: 'positionRequired', message: 'Position is required.'},\n },\n {\n name: 'name',\n title: 'Label',\n type: 'string',\n required: {key: 'nameRequired', message: 'Label is required.'},\n },\n {\n name: 'item',\n title: 'URL',\n type: 'url',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org BreadcrumbList — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgBreadcrumbList } from 'sanity-plugin-seofields/schema/breadcrumbList'\n *\n * schemaOrgBreadcrumbList()\n * ```\n */\nexport default function schemaOrgBreadcrumbList(\n config: SchemaOrgBreadcrumbListConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgBreadcrumbList',\n title: 'Schema.org — BreadcrumbList',\n icon: SchemaOrgIcons.breadcrumbList,\n fields: breadcrumbListFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgContactPointConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const contactPointFields: SchemaFieldDef[] = [\n {\n name: 'contactType',\n title: 'Contact Type',\n type: 'string',\n description: 'The type of contact, e.g. \"customer support\", \"sales\".',\n required: {key: 'contactTypeRequired', message: 'Contact type is required for Schema.org.'},\n initialValue: 'customer support',\n options: [\n {title: 'Customer Support', value: 'customer support'},\n {title: 'Sales', value: 'sales'},\n {title: 'Technical Support', value: 'technical support'},\n {title: 'Billing', value: 'billing'},\n {title: 'General Inquiry', value: 'general inquiry'},\n ],\n },\n {\n name: 'email',\n title: 'Email',\n type: 'string',\n description: 'Contact email address.',\n },\n {\n name: 'telephone',\n title: 'Telephone',\n type: 'string',\n description: 'Contact telephone number.',\n },\n {\n name: 'availableLanguage',\n title: 'Available Languages',\n type: 'array',\n of: [{type: 'string'}],\n description: 'Languages supported by this contact point, e.g. \"English\", \"Spanish\".',\n initialValue: ['English'],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgContactPoint(\n config: SchemaOrgContactPointConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgContactPoint',\n title: 'Schema.org — ContactPoint',\n icon: SchemaOrgIcons.contactPoint,\n fields: contactPointFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgCourseConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const courseFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Course Name',\n type: 'string',\n description: 'The name of the course.',\n required: {key: 'nameRequired', message: 'Course name is required for Schema.org.'},\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n description: 'A short description of the course.',\n },\n {\n name: 'provider',\n title: 'Provider',\n type: 'object',\n description: 'The organization that provides this course.',\n jsonLdType: 'Organization',\n fields: [\n {\n name: 'name',\n title: 'Provider Name',\n type: 'string',\n description: 'Name of the providing organization.',\n },\n {\n name: 'sameAs',\n title: 'Provider URL',\n type: 'url',\n description: 'URL of the providing organization.',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org Course — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgCourse } from 'sanity-plugin-seofields/schema/course'\n *\n * // Default\n * schemaOrgCourse()\n *\n * // Custom validation messages\n * schemaOrgCourse({\n * validation: { nameRequired: 'Please enter the course name.' },\n * })\n * ```\n */\nexport default function schemaOrgCourse(config: SchemaOrgCourseConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgCourse',\n title: 'Schema.org — Course',\n icon: SchemaOrgIcons.course,\n fields: courseFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgEventConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const eventFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Event Name',\n type: 'string',\n description: 'The name of the event.',\n required: {key: 'nameRequired', message: 'Event name is required for Schema.org.'},\n },\n {\n name: 'startDate',\n title: 'Start Date',\n type: 'date',\n description: 'The start date of the event.',\n },\n {\n name: 'location',\n title: 'Location',\n type: 'object',\n description: 'The location where the event takes place.',\n jsonLdType: 'Place',\n fields: [\n {\n name: 'name',\n title: 'Venue Name',\n type: 'string',\n description: 'Name of the venue or location.',\n },\n {\n name: 'address',\n title: 'Address',\n type: 'string',\n description: 'Full address as a single string.',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgEvent(config: SchemaOrgEventConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgEvent',\n title: 'Schema.org — Event',\n icon: SchemaOrgIcons.event,\n fields: eventFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgFAQPageConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const faqPageFields: SchemaFieldDef[] = [\n {\n name: 'mainEntity',\n title: 'FAQ Items',\n type: 'array',\n jsonLdType: 'Question',\n fields: [\n {\n name: 'name',\n title: 'Question',\n type: 'string',\n required: {key: 'questionRequired', message: 'Question text is required.'},\n },\n {\n name: 'acceptedAnswer',\n title: 'Accepted Answer',\n type: 'object',\n jsonLdType: 'Answer',\n fields: [\n {\n name: 'text',\n title: 'Answer Text',\n type: 'text',\n rows: 3,\n },\n ],\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org FAQPage — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgFAQPage } from 'sanity-plugin-seofields/schema/faqPage'\n *\n * schemaOrgFAQPage()\n * ```\n */\nexport default function schemaOrgFAQPage(\n config: SchemaOrgFAQPageConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgFAQPage',\n title: 'Schema.org — FAQPage',\n icon: SchemaOrgIcons.faqPage,\n fields: faqPageFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgHowToConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const howToFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Name',\n type: 'string',\n required: {key: 'nameRequired', message: 'Name is required for Schema.org HowTo.'},\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n },\n {\n name: 'step',\n title: 'Steps',\n type: 'array',\n jsonLdType: 'HowToStep',\n fields: [\n {\n name: 'name',\n title: 'Step Name',\n type: 'string',\n required: {key: 'stepNameRequired', message: 'Step name is required.'},\n },\n {\n name: 'text',\n title: 'Step Description',\n type: 'text',\n rows: 2,\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org HowTo — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgHowTo } from 'sanity-plugin-seofields/schema/howTo'\n *\n * schemaOrgHowTo()\n * ```\n */\nexport default function schemaOrgHowTo(config: SchemaOrgHowToConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgHowTo',\n title: 'Schema.org — HowTo',\n icon: SchemaOrgIcons.howTo,\n fields: howToFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgImageObjectConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const imageObjectFields: SchemaFieldDef[] = [\n {\n name: 'url',\n title: 'Image URL',\n type: 'url',\n description: 'The URL of the image.',\n required: {key: 'urlRequired', message: 'Image URL is required for Schema.org.'},\n },\n {\n name: 'width',\n title: 'Width',\n type: 'number',\n description: 'Image width in pixels.',\n },\n {\n name: 'height',\n title: 'Height',\n type: 'number',\n description: 'Image height in pixels.',\n },\n {\n name: 'caption',\n title: 'Caption',\n type: 'string',\n description: 'Caption or alt text for the image.',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgImageObject(\n config: SchemaOrgImageObjectConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgImageObject',\n title: 'Schema.org — ImageObject',\n icon: SchemaOrgIcons.imageObject,\n fields: imageObjectFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgLocalBusinessConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const localBusinessFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Business Name',\n type: 'string',\n description: 'The official name of the business.',\n required: {key: 'nameRequired', message: 'Business name is required for Schema.org.'},\n },\n {\n name: 'image',\n title: 'Image URL',\n type: 'url',\n description: 'URL to the business image.',\n },\n {\n name: 'telephone',\n title: 'Telephone',\n type: 'string',\n description: 'The telephone number of the business.',\n },\n {\n name: 'address',\n title: 'Address',\n type: 'object',\n description: 'The physical address of the business.',\n jsonLdType: 'PostalAddress',\n fields: [\n {\n name: 'streetAddress',\n title: 'Street Address',\n type: 'string',\n },\n {\n name: 'addressLocality',\n title: 'Locality',\n type: 'string',\n description: 'City or town.',\n },\n {\n name: 'addressCountry',\n title: 'Country',\n type: 'string',\n description: 'Country code, e.g. \"US\".',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgLocalBusiness(\n config: SchemaOrgLocalBusinessConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgLocalBusiness',\n title: 'Schema.org — LocalBusiness',\n icon: SchemaOrgIcons.localBusiness,\n fields: localBusinessFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgOfferConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const offerFields: SchemaFieldDef[] = [\n {\n name: 'price',\n title: 'Price',\n type: 'string',\n description: 'The price of the offer, e.g. \"199.99\".',\n required: {key: 'priceRequired', message: 'Price is required for Schema.org.'},\n },\n {\n name: 'priceCurrency',\n title: 'Currency',\n type: 'string',\n description: 'The currency of the price, e.g. \"USD\".',\n initialValue: 'USD',\n options: [\n {title: 'USD', value: 'USD'},\n {title: 'EUR', value: 'EUR'},\n {title: 'GBP', value: 'GBP'},\n {title: 'INR', value: 'INR'},\n {title: 'JPY', value: 'JPY'},\n {title: 'CAD', value: 'CAD'},\n {title: 'AUD', value: 'AUD'},\n ],\n },\n {\n name: 'availability',\n title: 'Availability',\n type: 'url',\n description: 'Schema.org availability URL, e.g. \"https://schema.org/InStock\".',\n },\n {\n name: 'url',\n title: 'Offer URL',\n type: 'url',\n description: 'URL of the offer page.',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgOffer(config: SchemaOrgOfferConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgOffer',\n title: 'Schema.org — Offer',\n icon: SchemaOrgIcons.offer,\n fields: offerFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgOrganizationConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const organizationFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Organization Name',\n type: 'string',\n description: 'The official name of the organization.',\n required: {key: 'nameRequired', message: 'Organization name is required for Schema.org.'},\n },\n {\n name: 'url',\n title: 'Organization URL',\n type: 'url',\n description: 'The full URL of the organization website.',\n required: {key: 'urlRequired', message: 'Organization URL is required for Schema.org.'},\n },\n {\n name: 'logoUrl',\n title: 'Logo URL',\n type: 'url',\n description:\n 'Direct URL to the organization logo image. Used in search results and knowledge panels.',\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n description: 'A short description of the organization.',\n },\n {\n name: 'sameAs',\n title: 'Social / External Profiles',\n type: 'array',\n of: [{type: 'url'}],\n description:\n 'URLs of social media profiles and other authoritative pages (Twitter, LinkedIn, GitHub, etc.).',\n },\n {\n name: 'contactPoint',\n title: 'Contact Point',\n type: 'object',\n description: 'Primary contact information for the organization.',\n fields: [\n {\n name: 'contactType',\n title: 'Contact Type',\n type: 'string',\n description: 'e.g. \"customer support\", \"sales\", \"technical support\".',\n initialValue: 'customer support',\n options: [\n {title: 'Customer Support', value: 'customer support'},\n {title: 'Sales', value: 'sales'},\n {title: 'Technical Support', value: 'technical support'},\n {title: 'Billing', value: 'billing'},\n {title: 'General Inquiry', value: 'general inquiry'},\n ],\n },\n {\n name: 'email',\n title: 'Email',\n type: 'string',\n description: 'Contact email address.',\n },\n {\n name: 'availableLanguage',\n title: 'Available Languages',\n type: 'array',\n of: [{type: 'string'}],\n description: 'Languages supported by this contact point, e.g. \"English\", \"Spanish\".',\n initialValue: ['English'],\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org Organization — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgOrganization } from 'sanity-plugin-seofields/schema/organization'\n *\n * // Default\n * schemaOrgOrganization()\n *\n * // Custom validation messages\n * schemaOrgOrganization({\n * validation: { nameRequired: 'Company name is required.' },\n * })\n * ```\n */\nexport default function schemaOrgOrganization(\n config: SchemaOrgOrganizationConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgOrganization',\n title: 'Schema.org — Organization',\n icon: SchemaOrgIcons.organization,\n fields: organizationFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgPersonConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const personFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Full Name',\n type: 'string',\n description: 'The full name of the person.',\n required: {key: 'nameRequired', message: 'Person name is required for Schema.org.'},\n },\n {\n name: 'jobTitle',\n title: 'Job Title',\n type: 'string',\n description: 'The job title or role of the person.',\n },\n {\n name: 'url',\n title: 'Profile URL',\n type: 'url',\n description: \"URL of the person's profile or personal website.\",\n },\n {\n name: 'imageUrl',\n title: 'Image URL',\n type: 'url',\n description: 'URL to a photo/image of this person.',\n jsonLdKey: 'image',\n },\n {\n name: 'sameAs',\n title: 'Social / External Profiles',\n type: 'array',\n of: [{type: 'url'}],\n description:\n 'URLs of social media profiles and other authoritative pages (LinkedIn, GitHub, etc.).',\n },\n {\n name: 'worksFor',\n title: 'Works For',\n type: 'object',\n description: 'The organization this person works for.',\n jsonLdType: 'Organization',\n fields: [\n {\n name: 'name',\n title: 'Organization Name',\n type: 'string',\n description: 'Name of the organization.',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org Person — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgPerson } from 'sanity-plugin-seofields/schema/person'\n *\n * // Default\n * schemaOrgPerson()\n *\n * // Custom validation messages\n * schemaOrgPerson({\n * validation: { nameRequired: 'Please enter the person\\'s name.' },\n * })\n * ```\n */\nexport default function schemaOrgPerson(config: SchemaOrgPersonConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgPerson',\n title: 'Schema.org — Person',\n icon: SchemaOrgIcons.person,\n fields: personFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgPlaceConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const placeFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Place Name',\n type: 'string',\n description: 'The name of the place.',\n required: {key: 'nameRequired', message: 'Place name is required for Schema.org.'},\n },\n {\n name: 'address',\n title: 'Address',\n type: 'object',\n description: 'The physical address of the place.',\n jsonLdType: 'PostalAddress',\n fields: [\n {\n name: 'addressLocality',\n title: 'Locality',\n type: 'string',\n description: 'City or town.',\n },\n {\n name: 'addressCountry',\n title: 'Country',\n type: 'string',\n description: 'Country code, e.g. \"US\".',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgPlace(config: SchemaOrgPlaceConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgPlace',\n title: 'Schema.org — Place',\n icon: SchemaOrgIcons.place,\n fields: placeFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgPostalAddressConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const postalAddressFields: SchemaFieldDef[] = [\n {\n name: 'streetAddress',\n title: 'Street Address',\n type: 'string',\n description: 'The street address, e.g. \"123 Main St\".',\n },\n {\n name: 'addressLocality',\n title: 'City / Locality',\n type: 'string',\n description: 'The city or locality, e.g. \"New York\".',\n },\n {\n name: 'postalCode',\n title: 'Postal Code',\n type: 'string',\n description: 'The postal or ZIP code, e.g. \"10001\".',\n },\n {\n name: 'addressCountry',\n title: 'Country',\n type: 'string',\n description: 'The country code, e.g. \"US\".',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgPostalAddress(\n config: SchemaOrgPostalAddressConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgPostalAddress',\n title: 'Schema.org — PostalAddress',\n icon: SchemaOrgIcons.postalAddress,\n fields: postalAddressFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgProductConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const productFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Product Name',\n type: 'string',\n description: 'The name of the product.',\n required: {key: 'nameRequired', message: 'Product name is required for Schema.org.'},\n },\n {\n name: 'imageUrl',\n title: 'Image URL',\n type: 'url',\n description: 'URL to the product image.',\n jsonLdKey: 'image',\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n description: 'A short description of the product.',\n },\n {\n name: 'brand',\n title: 'Brand',\n type: 'object',\n description: 'The brand of the product.',\n jsonLdType: 'Brand',\n fields: [\n {\n name: 'name',\n title: 'Brand Name',\n type: 'string',\n description: 'Name of the brand.',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org Product — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgProduct } from 'sanity-plugin-seofields/schema/product'\n *\n * // Default\n * schemaOrgProduct()\n *\n * // Custom validation messages\n * schemaOrgProduct({\n * validation: { nameRequired: 'Please enter the product name.' },\n * })\n * ```\n */\nexport default function schemaOrgProduct(\n config: SchemaOrgProductConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgProduct',\n title: 'Schema.org — Product',\n icon: SchemaOrgIcons.product,\n fields: productFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgReviewConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const reviewFields: SchemaFieldDef[] = [\n {\n name: 'reviewRating',\n title: 'Review Rating',\n type: 'object',\n jsonLdType: 'Rating',\n fields: [\n {\n name: 'ratingValue',\n title: 'Rating Value',\n type: 'string',\n required: {\n key: 'ratingValueRequired',\n message: 'Rating value is required for Schema.org Review.',\n },\n },\n ],\n },\n {\n name: 'author',\n title: 'Author',\n type: 'object',\n jsonLdType: 'Person',\n fields: [\n {\n name: 'name',\n title: 'Author Name',\n type: 'string',\n required: {\n key: 'authorNameRequired',\n message: 'Author name is required for Schema.org Review.',\n },\n },\n ],\n },\n {\n name: 'reviewBody',\n title: 'Review Body',\n type: 'text',\n rows: 3,\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org Review — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgReview } from 'sanity-plugin-seofields/schema/review'\n *\n * schemaOrgReview()\n * ```\n */\nexport default function schemaOrgReview(config: SchemaOrgReviewConfig = {}): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgReview',\n title: 'Schema.org — Review',\n icon: SchemaOrgIcons.review,\n fields: reviewFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgSoftwareApplicationConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const softwareApplicationFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Application Name',\n type: 'string',\n description: 'The name of the software application.',\n required: {\n key: 'nameRequired',\n message: 'Application name is required for Schema.org.',\n },\n },\n {\n name: 'applicationCategory',\n title: 'Application Category',\n type: 'string',\n description: 'The category of the application.',\n options: [\n {title: 'Developer Application', value: 'DeveloperApplication'},\n {title: 'Business Application', value: 'BusinessApplication'},\n {title: 'Game Application', value: 'GameApplication'},\n {title: 'Educational Application', value: 'EducationalApplication'},\n {title: 'Utilities Application', value: 'UtilitiesApplication'},\n {title: 'Social Networking Application', value: 'SocialNetworkingApplication'},\n ],\n },\n {\n name: 'operatingSystem',\n title: 'Operating System',\n type: 'string',\n description: 'The supported operating systems, e.g. \"Windows, macOS\".',\n },\n {\n name: 'url',\n title: 'Application URL',\n type: 'url',\n description: 'URL of the software application.',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org SoftwareApplication — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgSoftwareApplication } from 'sanity-plugin-seofields/schema/softwareApplication'\n *\n * // Default\n * schemaOrgSoftwareApplication()\n *\n * // Custom validation messages\n * schemaOrgSoftwareApplication({\n * validation: { nameRequired: 'Please enter the application name.' },\n * })\n * ```\n */\nexport default function schemaOrgSoftwareApplication(\n config: SchemaOrgSoftwareApplicationConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgSoftwareApplication',\n title: 'Schema.org — SoftwareApplication',\n icon: SchemaOrgIcons.softwareApplication,\n fields: softwareApplicationFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgVideoObjectConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const videoObjectFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Video Name',\n type: 'string',\n description: 'The name of the video.',\n required: {key: 'nameRequired', message: 'Video name is required for Schema.org.'},\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n description: 'A description of the video.',\n },\n {\n name: 'thumbnailUrl',\n title: 'Thumbnail URL',\n type: 'url',\n description: 'URL of the video thumbnail image.',\n },\n {\n name: 'uploadDate',\n title: 'Upload Date',\n type: 'date',\n description: 'The date the video was uploaded.',\n },\n {\n name: 'contentUrl',\n title: 'Content URL',\n type: 'url',\n description: 'URL to the actual video file.',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\nexport default function schemaOrgVideoObject(\n config: SchemaOrgVideoObjectConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgVideoObject',\n title: 'Schema.org — VideoObject',\n icon: SchemaOrgIcons.videoObject,\n fields: videoObjectFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgWebApplicationConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const webApplicationFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Application Name',\n type: 'string',\n description: 'The name of the web application.',\n required: {\n key: 'nameRequired',\n message: 'Application name is required for Schema.org.',\n },\n },\n {\n name: 'url',\n title: 'Application URL',\n type: 'url',\n description: 'URL of the web application.',\n required: {key: 'urlRequired', message: 'Application URL is required for Schema.org.'},\n },\n {\n name: 'applicationCategory',\n title: 'Application Category',\n type: 'string',\n description: 'The category of the application.',\n options: [\n {title: 'Developer Application', value: 'DeveloperApplication'},\n {title: 'Business Application', value: 'BusinessApplication'},\n {title: 'Game Application', value: 'GameApplication'},\n {title: 'Educational Application', value: 'EducationalApplication'},\n {title: 'Utilities Application', value: 'UtilitiesApplication'},\n {title: 'Social Networking Application', value: 'SocialNetworkingApplication'},\n ],\n },\n {\n name: 'operatingSystem',\n title: 'Operating System',\n type: 'string',\n description: 'The supported operating systems.',\n initialValue: 'All',\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org WebApplication — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgWebApplication } from 'sanity-plugin-seofields/schema/webApplication'\n *\n * // Default\n * schemaOrgWebApplication()\n *\n * // Custom validation messages\n * schemaOrgWebApplication({\n * validation: { nameRequired: 'Please enter the application name.' },\n * })\n * ```\n */\nexport default function schemaOrgWebApplication(\n config: SchemaOrgWebApplicationConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgWebApplication',\n title: 'Schema.org — WebApplication',\n icon: SchemaOrgIcons.webApplication,\n fields: webApplicationFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgWebPageConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const webPageFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Page Name',\n type: 'string',\n description: 'The title of the page.',\n required: {key: 'nameRequired', message: 'Page name is required for Schema.org.'},\n },\n {\n name: 'url',\n title: 'Page URL',\n type: 'url',\n description: 'The full URL of the page.',\n required: {key: 'urlRequired', message: 'Page URL is required for Schema.org.'},\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n description: 'A short description of the page.',\n },\n {\n name: 'inLanguage',\n title: 'Language',\n type: 'string',\n description: 'The language of the page content, e.g. \"en\".',\n initialValue: 'en',\n options: [\n {title: 'English', value: 'en'},\n {title: 'Spanish', value: 'es'},\n {title: 'French', value: 'fr'},\n {title: 'German', value: 'de'},\n {title: 'Portuguese', value: 'pt'},\n {title: 'Italian', value: 'it'},\n {title: 'Dutch', value: 'nl'},\n {title: 'Japanese', value: 'ja'},\n {title: 'Chinese', value: 'zh'},\n {title: 'Korean', value: 'ko'},\n {title: 'Hindi', value: 'hi'},\n {title: 'Arabic', value: 'ar'},\n ],\n },\n {\n name: 'isPartOf',\n title: 'Part Of (Website)',\n type: 'object',\n description: 'The website this page belongs to.',\n jsonLdType: 'WebSite',\n fields: [\n {\n name: 'url',\n title: 'Website URL',\n type: 'url',\n description: 'URL of the parent website.',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org WebPage — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgWebPage } from 'sanity-plugin-seofields/schema/webPage'\n *\n * // Default\n * schemaOrgWebPage()\n *\n * // Custom validation messages\n * schemaOrgWebPage({\n * validation: { nameRequired: 'Please enter a page name.' },\n * })\n * ```\n */\nexport default function schemaOrgWebPage(\n config: SchemaOrgWebPageConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgWebPage',\n title: 'Schema.org — WebPage',\n icon: SchemaOrgIcons.webPage,\n fields: webPageFields,\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgWebsiteConfig} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const websiteFields: SchemaFieldDef[] = [\n {\n name: 'name',\n title: 'Website Name',\n type: 'string',\n description: 'The name of the website.',\n required: {key: 'nameRequired', message: 'Website name is required for Schema.org.'},\n },\n {\n name: 'url',\n title: 'Website URL',\n type: 'url',\n description: 'The full URL of the website, e.g. \"https://www.example.com\".',\n required: {key: 'urlRequired', message: 'Website URL is required for Schema.org.'},\n },\n {\n name: 'description',\n title: 'Description',\n type: 'text',\n rows: 3,\n description: 'A short description of the website.',\n },\n {\n name: 'inLanguage',\n title: 'Language',\n type: 'string',\n description: 'The language of the website content, e.g. \"en\".',\n initialValue: 'en',\n options: [\n {title: 'English', value: 'en'},\n {title: 'Spanish', value: 'es'},\n {title: 'French', value: 'fr'},\n {title: 'German', value: 'de'},\n {title: 'Portuguese', value: 'pt'},\n {title: 'Italian', value: 'it'},\n {title: 'Dutch', value: 'nl'},\n {title: 'Japanese', value: 'ja'},\n {title: 'Chinese', value: 'zh'},\n {title: 'Korean', value: 'ko'},\n {title: 'Hindi', value: 'hi'},\n {title: 'Arabic', value: 'ar'},\n ],\n },\n {\n name: 'publisher',\n title: 'Publisher',\n type: 'object',\n description: 'The organization that publishes this website.',\n fields: [\n {\n name: 'name',\n title: 'Publisher Name',\n type: 'string',\n description: 'Name of the publishing organization.',\n },\n {\n name: 'url',\n title: 'Publisher URL',\n type: 'url',\n description: 'URL of the publishing organization.',\n },\n {\n name: 'logoUrl',\n title: 'Publisher Logo URL',\n type: 'url',\n description: 'URL to the publisher logo image.',\n },\n ],\n },\n]\n\n// ─── Schema Factory ───────────────────────────────────────────────────────────\n\n/**\n * Schema.org WebSite — Sanity object type.\n *\n * @example\n * ```ts\n * import { schemaOrgWebsite } from 'sanity-plugin-seofields/schema/website'\n *\n * // Default\n * schemaOrgWebsite()\n *\n * // Custom validation messages\n * schemaOrgWebsite({\n * validation: { nameRequired: 'Please enter a website name.' },\n * })\n * ```\n */\nexport default function schemaOrgWebsite(\n config: SchemaOrgWebsiteConfig = {},\n): SchemaTypeDefinition {\n return generateSchemaType(\n {\n name: 'schemaOrgWebsite',\n title: 'Schema.org — Website',\n icon: SchemaOrgIcons.website,\n fields: websiteFields,\n },\n config as SchemaOrgConfig,\n )\n}\n"],"mappings":"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","names":["defineType","defineType"]}
|