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.
@@ -0,0 +1,589 @@
1
+ import { S as SanityImage } from './types-R3n9Fu4w.cjs';
2
+
3
+ /** Schema.org AggregateRating — data shape from GROQ query */
4
+ interface SchemaOrgAggregateRatingData {
5
+ _type?: 'schemaOrgAggregateRating';
6
+ /** Average rating value, e.g. "4.5" */
7
+ ratingValue?: string;
8
+ /** Total number of reviews, e.g. "120" */
9
+ reviewCount?: string;
10
+ }
11
+ /** Configuration for `schemaOrgAggregateRating()` */
12
+ interface SchemaOrgAggregateRatingConfig {
13
+ validation?: {
14
+ /** Custom error message when rating value is missing */
15
+ ratingValueRequired?: string;
16
+ };
17
+ }
18
+
19
+ /** Schema.org Article — data shape returned from a Sanity GROQ query */
20
+ interface SchemaOrgArticleData {
21
+ _type?: 'schemaOrgArticle';
22
+ /** Headline of the article */
23
+ headline?: string;
24
+ /** Short summary of the article */
25
+ description?: string;
26
+ /** URL of the article image */
27
+ image?: string;
28
+ /** Author of the article */
29
+ author?: {
30
+ name?: string;
31
+ };
32
+ /** Publisher of the article */
33
+ publisher?: {
34
+ name?: string;
35
+ logo?: {
36
+ url?: string;
37
+ };
38
+ };
39
+ /** Date the article was published */
40
+ datePublished?: string;
41
+ }
42
+ /** Configuration for `schemaOrgArticle()` */
43
+ interface SchemaOrgArticleConfig {
44
+ /** Custom validation messages */
45
+ validation?: {
46
+ /** Custom error message when headline is missing */
47
+ headlineRequired?: string;
48
+ };
49
+ }
50
+
51
+ /** Schema.org BlogPosting — data shape returned from a Sanity GROQ query */
52
+ interface SchemaOrgBlogPostingData {
53
+ _type?: 'schemaOrgBlogPosting';
54
+ /** Headline of the blog post */
55
+ headline?: string;
56
+ /** Short summary of the blog post */
57
+ description?: string;
58
+ /** Author of the blog post */
59
+ author?: {
60
+ name?: string;
61
+ };
62
+ /** Date the blog post was published */
63
+ datePublished?: string;
64
+ /** Main entity of the page */
65
+ mainEntityOfPage?: {
66
+ id?: string;
67
+ };
68
+ }
69
+ /** Configuration for `schemaOrgBlogPosting()` */
70
+ interface SchemaOrgBlogPostingConfig {
71
+ /** Custom validation messages */
72
+ validation?: {
73
+ /** Custom error message when headline is missing */
74
+ headlineRequired?: string;
75
+ };
76
+ }
77
+
78
+ /** Schema.org Brand — data shape from GROQ query */
79
+ interface SchemaOrgBrandData {
80
+ _type?: 'schemaOrgBrand';
81
+ /** Brand name */
82
+ name?: string;
83
+ }
84
+ /** Configuration for `schemaOrgBrand()` */
85
+ interface SchemaOrgBrandConfig {
86
+ validation?: {
87
+ /** Custom error message when brand name is missing */
88
+ nameRequired?: string;
89
+ };
90
+ }
91
+
92
+ /** A single item in a BreadcrumbList */
93
+ interface BreadcrumbListItem {
94
+ /** Position of this item in the breadcrumb trail */
95
+ position?: number;
96
+ /** Display label for this breadcrumb */
97
+ name?: string;
98
+ /** URL for this breadcrumb */
99
+ item?: string;
100
+ }
101
+ /** Schema.org BreadcrumbList — data shape returned from a Sanity GROQ query */
102
+ interface SchemaOrgBreadcrumbListData {
103
+ _type?: 'schemaOrgBreadcrumbList';
104
+ /** Ordered list of breadcrumb items */
105
+ itemListElement?: BreadcrumbListItem[];
106
+ }
107
+ /** Configuration for `schemaOrgBreadcrumbList()` */
108
+ interface SchemaOrgBreadcrumbListConfig {
109
+ /** Custom validation messages */
110
+ validation?: {
111
+ /** Custom error message when position is missing */
112
+ positionRequired?: string;
113
+ /** Custom error message when name is missing */
114
+ nameRequired?: string;
115
+ };
116
+ }
117
+
118
+ /** Schema.org ContactPoint — data shape from GROQ query */
119
+ interface SchemaOrgContactPointData {
120
+ _type?: 'schemaOrgContactPoint';
121
+ /** Type of contact, e.g. "customer support", "sales" */
122
+ contactType?: string;
123
+ /** Contact email address */
124
+ email?: string;
125
+ /** Contact telephone number */
126
+ telephone?: string;
127
+ /** Languages supported, e.g. ["English"] */
128
+ availableLanguage?: string[];
129
+ }
130
+ /** Configuration for `schemaOrgContactPoint()` */
131
+ interface SchemaOrgContactPointConfig {
132
+ validation?: {
133
+ /** Custom error message when contact type is missing */
134
+ contactTypeRequired?: string;
135
+ };
136
+ }
137
+
138
+ /** Provider info nested within the Course schema */
139
+ interface CourseProvider {
140
+ /** Provider organization name */
141
+ name?: string;
142
+ /** Provider organization URL */
143
+ sameAs?: string;
144
+ }
145
+ /** Schema.org Course — data shape returned from a Sanity GROQ query */
146
+ interface SchemaOrgCourseData {
147
+ _type?: 'schemaOrgCourse';
148
+ /** Course name */
149
+ name?: string;
150
+ /** Short description of the course */
151
+ description?: string;
152
+ /** The organization that provides this course */
153
+ provider?: CourseProvider;
154
+ }
155
+ /** Configuration for `schemaOrgCourse()` */
156
+ interface SchemaOrgCourseConfig {
157
+ /** Custom validation messages */
158
+ validation?: {
159
+ /** Custom error message when course name is missing */
160
+ nameRequired?: string;
161
+ };
162
+ }
163
+
164
+ /** Schema.org Event — data shape returned from a Sanity GROQ query */
165
+ interface SchemaOrgEventData {
166
+ _type?: 'schemaOrgEvent';
167
+ /** Name of the event */
168
+ name?: string;
169
+ /** Start date of the event (ISO 8601) */
170
+ startDate?: string;
171
+ /** Location of the event */
172
+ location?: {
173
+ name?: string;
174
+ address?: string;
175
+ };
176
+ }
177
+ /** Configuration for `schemaOrgEvent()` */
178
+ interface SchemaOrgEventConfig {
179
+ /** Custom validation messages */
180
+ validation?: {
181
+ /** Custom error message when event name is missing */
182
+ nameRequired?: string;
183
+ };
184
+ }
185
+
186
+ /** A single FAQ question/answer pair */
187
+ interface FAQItem {
188
+ /** The question text */
189
+ name?: string;
190
+ /** The accepted answer */
191
+ acceptedAnswer?: {
192
+ text?: string;
193
+ };
194
+ }
195
+ /** Schema.org FAQPage — data shape returned from a Sanity GROQ query */
196
+ interface SchemaOrgFAQPageData {
197
+ _type?: 'schemaOrgFAQPage';
198
+ /** List of FAQ questions and answers */
199
+ mainEntity?: FAQItem[];
200
+ }
201
+ /** Configuration for `schemaOrgFAQPage()` */
202
+ interface SchemaOrgFAQPageConfig {
203
+ /** Custom validation messages */
204
+ validation?: {
205
+ /** Custom error message when question text is missing */
206
+ questionRequired?: string;
207
+ };
208
+ }
209
+
210
+ /** A single step in a HowTo guide */
211
+ interface HowToStepItem {
212
+ /** Name of the step */
213
+ name?: string;
214
+ /** Description of the step */
215
+ text?: string;
216
+ }
217
+ /** Schema.org HowTo — data shape returned from a Sanity GROQ query */
218
+ interface SchemaOrgHowToData {
219
+ _type?: 'schemaOrgHowTo';
220
+ /** Name of the how-to guide */
221
+ name?: string;
222
+ /** Short description of the how-to guide */
223
+ description?: string;
224
+ /** Steps in the how-to guide */
225
+ step?: HowToStepItem[];
226
+ }
227
+ /** Configuration for `schemaOrgHowTo()` */
228
+ interface SchemaOrgHowToConfig {
229
+ /** Custom validation messages */
230
+ validation?: {
231
+ /** Custom error message when name is missing */
232
+ nameRequired?: string;
233
+ /** Custom error message when step name is missing */
234
+ stepNameRequired?: string;
235
+ };
236
+ }
237
+
238
+ /** Schema.org ImageObject — data shape from GROQ query */
239
+ interface SchemaOrgImageObjectData {
240
+ _type?: 'schemaOrgImageObject';
241
+ /** URL of the image */
242
+ url?: string;
243
+ /** Image width in pixels */
244
+ width?: number;
245
+ /** Image height in pixels */
246
+ height?: number;
247
+ /** Caption or alt text for the image */
248
+ caption?: string;
249
+ }
250
+ /** Configuration for `schemaOrgImageObject()` */
251
+ interface SchemaOrgImageObjectConfig {
252
+ validation?: {
253
+ /** Custom error message when image URL is missing */
254
+ urlRequired?: string;
255
+ };
256
+ }
257
+
258
+ /** Schema.org LocalBusiness — data shape returned from a Sanity GROQ query */
259
+ interface SchemaOrgLocalBusinessData {
260
+ _type?: 'schemaOrgLocalBusiness';
261
+ /** Official name of the business */
262
+ name?: string;
263
+ /** URL to the business image */
264
+ image?: string;
265
+ /** Telephone number */
266
+ telephone?: string;
267
+ /** Physical address of the business */
268
+ address?: {
269
+ streetAddress?: string;
270
+ addressLocality?: string;
271
+ addressCountry?: string;
272
+ };
273
+ }
274
+ /** Configuration for `schemaOrgLocalBusiness()` */
275
+ interface SchemaOrgLocalBusinessConfig {
276
+ /** Custom validation messages */
277
+ validation?: {
278
+ /** Custom error message when business name is missing */
279
+ nameRequired?: string;
280
+ };
281
+ }
282
+
283
+ /** Schema.org Offer — data shape from GROQ query */
284
+ interface SchemaOrgOfferData {
285
+ _type?: 'schemaOrgOffer';
286
+ /** Price of the offer, e.g. "199.99" */
287
+ price?: string;
288
+ /** Currency code, e.g. "USD" */
289
+ priceCurrency?: string;
290
+ /** Schema.org availability URL, e.g. "https://schema.org/InStock" */
291
+ availability?: string;
292
+ /** URL of the offer page */
293
+ url?: string;
294
+ }
295
+ /** Configuration for `schemaOrgOffer()` */
296
+ interface SchemaOrgOfferConfig {
297
+ validation?: {
298
+ /** Custom error message when price is missing */
299
+ priceRequired?: string;
300
+ };
301
+ }
302
+
303
+ /** Contact point nested within the Organization schema */
304
+ interface OrganizationContactPoint {
305
+ /** e.g. "customer support", "sales", "technical support" */
306
+ contactType?: string;
307
+ /** Contact email address */
308
+ email?: string;
309
+ /** Languages supported, e.g. ["English", "Spanish"] */
310
+ availableLanguage?: string[];
311
+ }
312
+ /** Schema.org Organization — data shape returned from a Sanity GROQ query */
313
+ interface SchemaOrgOrganizationData {
314
+ _type?: 'schemaOrgOrganization';
315
+ /** Official name of the organization */
316
+ name?: string;
317
+ /** Full URL of the organization website */
318
+ url?: string;
319
+ /** Direct URL to the organization logo */
320
+ logoUrl?: string;
321
+ /** Sanity image upload for the logo (use imageUrlResolver to convert) */
322
+ logo?: SanityImage;
323
+ /** Short description of the organization */
324
+ description?: string;
325
+ /** Social media and external profile URLs */
326
+ sameAs?: string[];
327
+ /** Primary contact information */
328
+ contactPoint?: OrganizationContactPoint;
329
+ }
330
+ /** Configuration for `schemaOrgOrganization()` */
331
+ interface SchemaOrgOrganizationConfig {
332
+ /** Custom validation messages */
333
+ validation?: {
334
+ /** Custom error message when organization name is missing */
335
+ nameRequired?: string;
336
+ /** Custom error message when organization URL is missing */
337
+ urlRequired?: string;
338
+ };
339
+ }
340
+
341
+ /** Organization info nested within the Person schema (worksFor) */
342
+ interface PersonWorksFor {
343
+ /** Organization name */
344
+ name?: string;
345
+ }
346
+ /** Schema.org Person — data shape returned from a Sanity GROQ query */
347
+ interface SchemaOrgPersonData {
348
+ _type?: 'schemaOrgPerson';
349
+ /** Full name of the person */
350
+ name?: string;
351
+ /** Job title or role */
352
+ jobTitle?: string;
353
+ /** URL of the person's profile or website */
354
+ url?: string;
355
+ /** URL to a photo/image of this person (mapped to "image" in JSON-LD) */
356
+ imageUrl?: string;
357
+ /** Social media and external profile URLs */
358
+ sameAs?: string[];
359
+ /** The organization this person works for */
360
+ worksFor?: PersonWorksFor;
361
+ }
362
+ /** Configuration for `schemaOrgPerson()` */
363
+ interface SchemaOrgPersonConfig {
364
+ /** Custom validation messages */
365
+ validation?: {
366
+ /** Custom error message when person name is missing */
367
+ nameRequired?: string;
368
+ };
369
+ }
370
+
371
+ /** Schema.org Place — data shape returned from a Sanity GROQ query */
372
+ interface SchemaOrgPlaceData {
373
+ _type?: 'schemaOrgPlace';
374
+ /** Name of the place */
375
+ name?: string;
376
+ /** Physical address of the place */
377
+ address?: {
378
+ addressLocality?: string;
379
+ addressCountry?: string;
380
+ };
381
+ }
382
+ /** Configuration for `schemaOrgPlace()` */
383
+ interface SchemaOrgPlaceConfig {
384
+ /** Custom validation messages */
385
+ validation?: {
386
+ /** Custom error message when place name is missing */
387
+ nameRequired?: string;
388
+ };
389
+ }
390
+
391
+ /** Schema.org PostalAddress — data shape from GROQ query */
392
+ interface SchemaOrgPostalAddressData {
393
+ _type?: 'schemaOrgPostalAddress';
394
+ /** Street address, e.g. "123 Main St" */
395
+ streetAddress?: string;
396
+ /** City or locality, e.g. "New York" */
397
+ addressLocality?: string;
398
+ /** Postal or ZIP code, e.g. "10001" */
399
+ postalCode?: string;
400
+ /** Country code, e.g. "US" */
401
+ addressCountry?: string;
402
+ }
403
+ /** Configuration for `schemaOrgPostalAddress()` */
404
+ interface SchemaOrgPostalAddressConfig {
405
+ validation?: Record<string, string>;
406
+ }
407
+
408
+ /** Brand info nested within the Product schema */
409
+ interface ProductBrand {
410
+ /** Brand name */
411
+ name?: string;
412
+ }
413
+ /** Schema.org Product — data shape returned from a Sanity GROQ query */
414
+ interface SchemaOrgProductData {
415
+ _type?: 'schemaOrgProduct';
416
+ /** Product name */
417
+ name?: string;
418
+ /** URL to the product image (mapped to "image" in JSON-LD) */
419
+ imageUrl?: string;
420
+ /** Short description of the product */
421
+ description?: string;
422
+ /** The brand of the product */
423
+ brand?: ProductBrand;
424
+ }
425
+ /** Configuration for `schemaOrgProduct()` */
426
+ interface SchemaOrgProductConfig {
427
+ /** Custom validation messages */
428
+ validation?: {
429
+ /** Custom error message when product name is missing */
430
+ nameRequired?: string;
431
+ };
432
+ }
433
+
434
+ /** Schema.org Review — data shape returned from a Sanity GROQ query */
435
+ interface SchemaOrgReviewData {
436
+ _type?: 'schemaOrgReview';
437
+ /** Rating for the reviewed item */
438
+ reviewRating?: {
439
+ ratingValue?: string;
440
+ };
441
+ /** Author of the review */
442
+ author?: {
443
+ name?: string;
444
+ };
445
+ /** Full text of the review */
446
+ reviewBody?: string;
447
+ }
448
+ /** Configuration for `schemaOrgReview()` */
449
+ interface SchemaOrgReviewConfig {
450
+ /** Custom validation messages */
451
+ validation?: {
452
+ /** Custom error message when rating value is missing */
453
+ ratingValueRequired?: string;
454
+ /** Custom error message when author name is missing */
455
+ authorNameRequired?: string;
456
+ };
457
+ }
458
+
459
+ /** Schema.org SoftwareApplication — data shape returned from a Sanity GROQ query */
460
+ interface SchemaOrgSoftwareApplicationData {
461
+ _type?: 'schemaOrgSoftwareApplication';
462
+ /** Application name */
463
+ name?: string;
464
+ /** Category of the application */
465
+ applicationCategory?: string;
466
+ /** Supported operating systems */
467
+ operatingSystem?: string;
468
+ /** URL of the application */
469
+ url?: string;
470
+ }
471
+ /** Configuration for `schemaOrgSoftwareApplication()` */
472
+ interface SchemaOrgSoftwareApplicationConfig {
473
+ /** Custom validation messages */
474
+ validation?: {
475
+ /** Custom error message when application name is missing */
476
+ nameRequired?: string;
477
+ };
478
+ }
479
+
480
+ /** Schema.org VideoObject — data shape from GROQ query */
481
+ interface SchemaOrgVideoObjectData {
482
+ _type?: 'schemaOrgVideoObject';
483
+ /** Name of the video */
484
+ name?: string;
485
+ /** Description of the video */
486
+ description?: string;
487
+ /** URL of the video thumbnail image */
488
+ thumbnailUrl?: string;
489
+ /** Date the video was uploaded (ISO 8601) */
490
+ uploadDate?: string;
491
+ /** URL to the actual video file */
492
+ contentUrl?: string;
493
+ }
494
+ /** Configuration for `schemaOrgVideoObject()` */
495
+ interface SchemaOrgVideoObjectConfig {
496
+ validation?: {
497
+ /** Custom error message when video name is missing */
498
+ nameRequired?: string;
499
+ };
500
+ }
501
+
502
+ /** Schema.org WebApplication — data shape returned from a Sanity GROQ query */
503
+ interface SchemaOrgWebApplicationData {
504
+ _type?: 'schemaOrgWebApplication';
505
+ /** Application name */
506
+ name?: string;
507
+ /** URL of the web application */
508
+ url?: string;
509
+ /** Category of the application */
510
+ applicationCategory?: string;
511
+ /** Supported operating systems */
512
+ operatingSystem?: string;
513
+ }
514
+ /** Configuration for `schemaOrgWebApplication()` */
515
+ interface SchemaOrgWebApplicationConfig {
516
+ /** Custom validation messages */
517
+ validation?: {
518
+ /** Custom error message when application name is missing */
519
+ nameRequired?: string;
520
+ /** Custom error message when application URL is missing */
521
+ urlRequired?: string;
522
+ };
523
+ }
524
+
525
+ /** Website info nested within the WebPage schema (isPartOf) */
526
+ interface WebPageWebSite {
527
+ /** URL of the parent website */
528
+ url?: string;
529
+ }
530
+ /** Schema.org WebPage — data shape returned from a Sanity GROQ query */
531
+ interface SchemaOrgWebPageData {
532
+ _type?: 'schemaOrgWebPage';
533
+ /** Page title */
534
+ name?: string;
535
+ /** Full URL of the page */
536
+ url?: string;
537
+ /** Short description of the page */
538
+ description?: string;
539
+ /** Language code, e.g. "en" */
540
+ inLanguage?: string;
541
+ /** The website this page is part of */
542
+ isPartOf?: WebPageWebSite;
543
+ }
544
+ /** Configuration for `schemaOrgWebPage()` */
545
+ interface SchemaOrgWebPageConfig {
546
+ /** Custom validation messages */
547
+ validation?: {
548
+ /** Custom error message when page name is missing */
549
+ nameRequired?: string;
550
+ /** Custom error message when page URL is missing */
551
+ urlRequired?: string;
552
+ };
553
+ }
554
+
555
+ /** Publisher info nested within the WebSite schema */
556
+ interface WebsitePublisher {
557
+ /** Publisher organization name */
558
+ name?: string;
559
+ /** Publisher organization URL */
560
+ url?: string;
561
+ /** Direct URL to the publisher logo image */
562
+ logoUrl?: string;
563
+ }
564
+ /** Schema.org WebSite — data shape returned from a Sanity GROQ query */
565
+ interface SchemaOrgWebsiteData {
566
+ _type?: 'schemaOrgWebsite';
567
+ /** Website name, e.g. "My Website" */
568
+ name?: string;
569
+ /** Full URL of the website, e.g. "https://www.example.com" */
570
+ url?: string;
571
+ /** Short description of the website */
572
+ description?: string;
573
+ /** Language code, e.g. "en" */
574
+ inLanguage?: string;
575
+ /** The organization that publishes this website */
576
+ publisher?: WebsitePublisher;
577
+ }
578
+ /** Configuration for `schemaOrgWebsite()` */
579
+ interface SchemaOrgWebsiteConfig {
580
+ /** Custom validation messages */
581
+ validation?: {
582
+ /** Custom error message when website name is missing */
583
+ nameRequired?: string;
584
+ /** Custom error message when website URL is missing */
585
+ urlRequired?: string;
586
+ };
587
+ }
588
+
589
+ export type { SchemaOrgBrandData as A, SchemaOrgBreadcrumbListData as B, SchemaOrgContactPointData as C, SchemaOrgCourseData as D, SchemaOrgEventData as E, SchemaOrgFAQPageData as F, SchemaOrgHowToData as G, SchemaOrgImageObjectData as H, SchemaOrgLocalBusinessData as I, SchemaOrgOfferData as J, SchemaOrgOrganizationData as K, SchemaOrgPersonData as L, SchemaOrgPlaceData as M, SchemaOrgPostalAddressData as N, OrganizationContactPoint as O, SchemaOrgProductData as P, SchemaOrgReviewData as Q, SchemaOrgSoftwareApplicationData as R, SchemaOrgAggregateRatingConfig as S, SchemaOrgVideoObjectData as T, SchemaOrgWebApplicationData as U, SchemaOrgWebPageData as V, SchemaOrgWebsiteData as W, WebsitePublisher as X, SchemaOrgArticleConfig as a, SchemaOrgBlogPostingConfig as b, SchemaOrgBrandConfig as c, SchemaOrgBreadcrumbListConfig as d, SchemaOrgContactPointConfig as e, SchemaOrgCourseConfig as f, SchemaOrgEventConfig as g, SchemaOrgFAQPageConfig as h, SchemaOrgHowToConfig as i, SchemaOrgImageObjectConfig as j, SchemaOrgLocalBusinessConfig as k, SchemaOrgOfferConfig as l, SchemaOrgOrganizationConfig as m, SchemaOrgPersonConfig as n, SchemaOrgPlaceConfig as o, SchemaOrgPostalAddressConfig as p, SchemaOrgProductConfig as q, SchemaOrgReviewConfig as r, SchemaOrgSoftwareApplicationConfig as s, SchemaOrgVideoObjectConfig as t, SchemaOrgWebApplicationConfig as u, SchemaOrgWebPageConfig as v, SchemaOrgWebsiteConfig as w, SchemaOrgAggregateRatingData as x, SchemaOrgArticleData as y, SchemaOrgBlogPostingData as z };