sanity-plugin-seofields 1.6.5 → 1.8.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.
Files changed (82) hide show
  1. package/README.md +355 -79
  2. package/dist/SchemaOrgJsonLdPreview-DJLkIPq4.d.cts +78 -0
  3. package/dist/SchemaOrgJsonLdPreview-DJLkIPq4.d.ts +78 -0
  4. package/dist/SeoHealthDashboard-AEKVVMUR-7NWV3C3Y.js +4 -0
  5. package/dist/SeoHealthDashboard-AEKVVMUR-7NWV3C3Y.js.map +1 -0
  6. package/dist/SeoHealthDashboard-AEKVVMUR-XWKJUH24.cjs +10 -0
  7. package/dist/SeoHealthDashboard-AEKVVMUR-XWKJUH24.cjs.map +1 -0
  8. package/dist/SeoHealthTool-2KKQJLJL.cjs +11 -0
  9. package/dist/{SeoHealthDashboard-BEZVLLFG.js.map → SeoHealthTool-2KKQJLJL.cjs.map} +1 -1
  10. package/dist/SeoHealthTool-3CUKGADZ.js +5 -0
  11. package/dist/{SeoHealthDashboard-D3XU3CUB.cjs.map → SeoHealthTool-3CUKGADZ.js.map} +1 -1
  12. package/dist/{SeoPreview-WYH7NYNM.cjs → SeoPreview-3EXR6FD4.cjs} +3 -3
  13. package/dist/{SeoPreview-WYH7NYNM.cjs.map → SeoPreview-3EXR6FD4.cjs.map} +1 -1
  14. package/dist/{SeoPreview-KEGGQSPJ.js → SeoPreview-4PPAF4NO.js} +3 -3
  15. package/dist/{SeoPreview-KEGGQSPJ.js.map → SeoPreview-4PPAF4NO.js.map} +1 -1
  16. package/dist/{chunk-S367Y35J.cjs → chunk-254YHUN3.cjs} +2 -15
  17. package/dist/{chunk-S367Y35J.cjs.map → chunk-254YHUN3.cjs.map} +1 -1
  18. package/dist/{chunk-HQTYQMP5.js → chunk-27XSYENH.js} +80 -29
  19. package/dist/chunk-27XSYENH.js.map +1 -0
  20. package/dist/{chunk-YHXUWGNA.cjs → chunk-B5IVI5LP.cjs} +918 -157
  21. package/dist/chunk-B5IVI5LP.cjs.map +1 -0
  22. package/dist/chunk-BNXMFD3T.cjs +431 -0
  23. package/dist/chunk-BNXMFD3T.cjs.map +1 -0
  24. package/dist/{chunk-2NMEKWO5.js → chunk-DDAAVRWG.js} +3 -15
  25. package/dist/{chunk-2NMEKWO5.js.map → chunk-DDAAVRWG.js.map} +1 -1
  26. package/dist/chunk-P6IOWIO2.cjs +480 -0
  27. package/dist/chunk-P6IOWIO2.cjs.map +1 -0
  28. package/dist/{chunk-XXA6WCWS.js → chunk-UOCZFYYP.js} +18 -203
  29. package/dist/chunk-UOCZFYYP.js.map +1 -0
  30. package/dist/{chunk-KTL6NYNG.js → chunk-VR44E62I.js} +897 -148
  31. package/dist/chunk-VR44E62I.js.map +1 -0
  32. package/dist/chunk-WKXHX3GO.js +424 -0
  33. package/dist/chunk-WKXHX3GO.js.map +1 -0
  34. package/dist/{chunk-BHIZQLY7.cjs → chunk-XZDLJ2N6.cjs} +84 -30
  35. package/dist/chunk-XZDLJ2N6.cjs.map +1 -0
  36. package/dist/cli.js +18 -18
  37. package/dist/{component-H52blyfc.d.ts → component-BzI-LHPw.d.cts} +9 -27
  38. package/dist/{component-CIE6Sy4F.d.cts → component-DEXwtemT.d.ts} +9 -27
  39. package/dist/define-cli.cjs +1 -1
  40. package/dist/define-cli.js +1 -1
  41. package/dist/index.cjs +1050 -94
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.d.cts +75 -202
  44. package/dist/index.d.ts +75 -202
  45. package/dist/index.js +1009 -63
  46. package/dist/index.js.map +1 -1
  47. package/dist/next.cjs +138 -116
  48. package/dist/next.cjs.map +1 -1
  49. package/dist/next.d.cts +9 -3
  50. package/dist/next.d.ts +9 -3
  51. package/dist/next.js +38 -32
  52. package/dist/next.js.map +1 -1
  53. package/dist/schema/next.cjs +105 -89
  54. package/dist/schema/next.d.cts +4 -4
  55. package/dist/schema/next.d.ts +4 -4
  56. package/dist/schema/next.js +4 -4
  57. package/dist/schema.cjs +219 -157
  58. package/dist/schema.cjs.map +1 -1
  59. package/dist/schema.d.cts +30 -16
  60. package/dist/schema.d.ts +30 -16
  61. package/dist/schema.js +41 -8
  62. package/dist/schema.js.map +1 -1
  63. package/dist/{types-Dp9Pfnt9.d.ts → types-BXSCbl6p.d.cts} +47 -2
  64. package/dist/{types-CyRdIF-3.d.cts → types-B_vjMPtM.d.cts} +1 -1
  65. package/dist/{types-BxcJinOf.d.cts → types-C19cQx5D.d.ts} +47 -2
  66. package/dist/{types-CbYb4MsN.d.ts → types-CW8qFdAn.d.ts} +1 -1
  67. package/dist/{types-BtSRRG6C.d.cts → types-yVmQfby9.d.cts} +8 -16
  68. package/dist/{types-BtSRRG6C.d.ts → types-yVmQfby9.d.ts} +8 -16
  69. package/package.json +2 -1
  70. package/dist/SeoHealthDashboard-BEZVLLFG.js +0 -4
  71. package/dist/SeoHealthDashboard-D3XU3CUB.cjs +0 -10
  72. package/dist/SeoHealthTool-4VZMD4TR.cjs +0 -14
  73. package/dist/SeoHealthTool-4VZMD4TR.cjs.map +0 -1
  74. package/dist/SeoHealthTool-BSTYAKQS.js +0 -12
  75. package/dist/SeoHealthTool-BSTYAKQS.js.map +0 -1
  76. package/dist/chunk-BCTPOWXA.cjs +0 -669
  77. package/dist/chunk-BCTPOWXA.cjs.map +0 -1
  78. package/dist/chunk-BHIZQLY7.cjs.map +0 -1
  79. package/dist/chunk-HQTYQMP5.js.map +0 -1
  80. package/dist/chunk-KTL6NYNG.js.map +0 -1
  81. package/dist/chunk-XXA6WCWS.js.map +0 -1
  82. package/dist/chunk-YHXUWGNA.cjs.map +0 -1
package/dist/schema.d.ts CHANGED
@@ -1,11 +1,24 @@
1
- import { S as SchemaOrgAggregateRatingConfig, a as SchemaOrgArticleConfig, b as SchemaOrgBlogPostingConfig, c as SchemaOrgBookConfig, d as SchemaOrgBrandConfig, e as SchemaOrgBreadcrumbListConfig, f as SchemaOrgContactPointConfig, g as SchemaOrgCountryConfig, h as SchemaOrgCourseConfig, i as SchemaOrgEventConfig, j as SchemaOrgFAQPageConfig, k as SchemaOrgHowToConfig, l as SchemaOrgImageObjectConfig, m as SchemaOrgItemListConfig, n as SchemaOrgJobPostingConfig, o as SchemaOrgLegalServiceConfig, p as SchemaOrgLocalBusinessConfig, q as SchemaOrgMovieConfig, r as SchemaOrgMusicAlbumConfig, s as SchemaOrgMusicRecordingConfig, t as SchemaOrgNewsArticleConfig, u as SchemaOrgOfferConfig, v as SchemaOrgOrganizationConfig, w as SchemaOrgPersonConfig, x as SchemaOrgPlaceConfig, y as SchemaOrgPostalAddressConfig, z as SchemaOrgProductConfig, A as SchemaOrgProfilePageConfig, B as SchemaOrgRecipeConfig, C as SchemaOrgRestaurantConfig, D as SchemaOrgReviewConfig, E as SchemaOrgServiceConfig, F as SchemaOrgSoftwareApplicationConfig, G as SchemaOrgVideoObjectConfig, H as SchemaOrgWebApplicationConfig, I as SchemaOrgWebPageConfig, J as SchemaOrgWebsiteConfig } from './types-Dp9Pfnt9.js';
2
- export { O as OrganizationContactPoint, K as SchemaOrgAggregateRating, L as SchemaOrgAggregateRatingData, M as SchemaOrgArchivedAt, N as SchemaOrgArticleData, P as SchemaOrgBlogPostingData, Q as SchemaOrgBookData, R as SchemaOrgBrandData, T as SchemaOrgBreadcrumbListData, U as SchemaOrgContactPointData, V as SchemaOrgContentRating, W as SchemaOrgCopyrightYear, X as SchemaOrgCountryData, Y as SchemaOrgCourseData, Z as SchemaOrgCreativeWorkData, _ as SchemaOrgEventData, $ as SchemaOrgFAQPageData, a0 as SchemaOrgHowToData, a1 as SchemaOrgImageInput, a2 as SchemaOrgImageObjectData, a3 as SchemaOrgItemListData, a4 as SchemaOrgJobPostingData, a5 as SchemaOrgLegalServiceData, a6 as SchemaOrgLocalBusinessData, a7 as SchemaOrgMovieData, a8 as SchemaOrgMusicAlbumData, a9 as SchemaOrgMusicRecordingData, aa as SchemaOrgNewsArticleData, ab as SchemaOrgOfferData, ac as SchemaOrgOrganizationData, ad as SchemaOrgOrganizationInput, ae as SchemaOrgPersonData, af as SchemaOrgPersonOrOrganization, ag as SchemaOrgPlaceData, ah as SchemaOrgPostalAddressData, ai as SchemaOrgProductData, aj as SchemaOrgProfilePageData, ak as SchemaOrgRecipeData, al as SchemaOrgRestaurantData, am as SchemaOrgReviewData, an as SchemaOrgServiceData, ao as SchemaOrgSoftwareApplicationData, ap as SchemaOrgTextOrUrl, aq as SchemaOrgThingData, ar as SchemaOrgVideoObjectData, as as SchemaOrgWebApplicationData, at as SchemaOrgWebPageData, au as SchemaOrgWebsiteData } from './types-Dp9Pfnt9.js';
1
+ import { d as SchemaOrgAggregateRatingConfig, e as SchemaOrgArticleConfig, f as SchemaOrgBlogPostingConfig, g as SchemaOrgBookConfig, h as SchemaOrgBrandConfig, i as SchemaOrgBreadcrumbListConfig, j as SchemaOrgContactPointConfig, k as SchemaOrgCountryConfig, l as SchemaOrgCourseConfig, m as SchemaOrgEventConfig, n as SchemaOrgFAQPageConfig, o as SchemaOrgHowToConfig, p as SchemaOrgImageObjectConfig, q as SchemaOrgItemListConfig, r as SchemaOrgJobPostingConfig, s as SchemaOrgLegalServiceConfig, t as SchemaOrgLocalBusinessConfig, u as SchemaOrgMovieConfig, v as SchemaOrgMusicAlbumConfig, w as SchemaOrgMusicRecordingConfig, x as SchemaOrgNewsArticleConfig, y as SchemaOrgOfferConfig, z as SchemaOrgOpinionNewsArticleConfig, A as SchemaOrgOrganizationConfig, B as SchemaOrgPersonConfig, C as SchemaOrgPlaceConfig, D as SchemaOrgPostalAddressConfig, E as SchemaOrgProductConfig, F as SchemaOrgProfilePageConfig, G as SchemaOrgRecipeConfig, H as SchemaOrgRestaurantConfig, I as SchemaOrgReviewConfig, J as SchemaOrgServiceConfig, K as SchemaOrgSoftwareApplicationConfig, L as SchemaOrgVideoObjectConfig, M as SchemaOrgWebApplicationConfig, N as SchemaOrgWebPageConfig, O as SchemaOrgWebsiteConfig } from './types-C19cQx5D.js';
2
+ export { P as OrganizationContactPoint, Q as SchemaOrgAggregateRating, R as SchemaOrgAggregateRatingData, T as SchemaOrgArchivedAt, U as SchemaOrgArticleData, V as SchemaOrgBlogPostingData, W as SchemaOrgBookData, X as SchemaOrgBrandData, Y as SchemaOrgBreadcrumbListData, Z as SchemaOrgContactPointData, _ as SchemaOrgContentRating, $ as SchemaOrgCopyrightYear, a0 as SchemaOrgCountryData, a1 as SchemaOrgCourseData, a2 as SchemaOrgCreativeWorkData, a3 as SchemaOrgEventData, a4 as SchemaOrgFAQPageData, a5 as SchemaOrgHowToData, a6 as SchemaOrgImageInput, a7 as SchemaOrgImageObjectData, a8 as SchemaOrgItemListData, a9 as SchemaOrgJobPostingData, aa as SchemaOrgLegalServiceData, ab as SchemaOrgLocalBusinessData, ac as SchemaOrgMovieData, ad as SchemaOrgMusicAlbumData, ae as SchemaOrgMusicRecordingData, af as SchemaOrgNewsArticleData, ag as SchemaOrgOfferData, ah as SchemaOrgOpinionNewsArticleData, ai as SchemaOrgOrganizationData, aj as SchemaOrgOrganizationInput, ak as SchemaOrgPersonData, al as SchemaOrgPersonOrOrganization, am as SchemaOrgPlaceData, an as SchemaOrgPostalAddressData, ao as SchemaOrgProductData, ap as SchemaOrgProfilePageData, aq as SchemaOrgRecipeData, ar as SchemaOrgRestaurantData, as as SchemaOrgReviewData, S as SchemaOrgScripts, a as SchemaOrgScriptsProps, at as SchemaOrgServiceData, au as SchemaOrgSoftwareApplicationData, av as SchemaOrgTextOrUrl, aw as SchemaOrgThingData, ax as SchemaOrgVideoObjectData, ay as SchemaOrgWebApplicationData, az as SchemaOrgWebPageData, aA as SchemaOrgWebsiteData, b as buildSchemaOrgJsonLd, c as buildSchemaOrgJsonLds } from './types-C19cQx5D.js';
3
3
  import { ComponentType, JSX } from 'react';
4
4
  import * as sanity from 'sanity';
5
5
  import { SchemaTypeDefinition, InputProps } from 'sanity';
6
- import { S as SchemaOrgSocialMediaPostingConfig } from './types-CbYb4MsN.js';
7
- export { a as SchemaOrgSocialMediaPostingData } from './types-CbYb4MsN.js';
8
- import './types-BtSRRG6C.js';
6
+ import { a as SchemaOrgJsonLdPreviewOptions } from './SchemaOrgJsonLdPreview-DJLkIPq4.js';
7
+ export { S as SchemaOrgDocumentJsonLdPreview, S as SchemaOrgJsonLdPreview, c as SchemaOrgJsonLdPreviewInput, b as SchemaOrgJsonLdPreviewProps } from './SchemaOrgJsonLdPreview-DJLkIPq4.js';
8
+ import { S as SchemaOrgSocialMediaPostingConfig } from './types-CW8qFdAn.js';
9
+ export { a as SchemaOrgSocialMediaPostingData } from './types-CW8qFdAn.js';
10
+ import './types-yVmQfby9.js';
11
+
12
+ /**
13
+ * Builds a complete Schema.org JSON-LD object from Sanity data using field defs.
14
+ * Returns `null` if any of the `requiredFields` are missing.
15
+ *
16
+ * @param schemaType The Schema.org `@type` (e.g. "Person", "Article")
17
+ * @param data Raw data from a Sanity GROQ query
18
+ * @param fieldDefs The field definitions for this schema type
19
+ * @param requiredFields Field names that must be present (returns null if missing)
20
+ */
21
+ declare function buildGenericJsonLd(schemaType: string, data: Record<string, unknown> | null | undefined, fieldDefs: SchemaFieldDef[], requiredFields?: string[]): Record<string, unknown> | null;
9
22
 
10
23
  /**
11
24
  * Dynamic Sanity schema generator for Schema.org types.
@@ -96,22 +109,17 @@ interface SchemaTypeDef {
96
109
  interface SchemaOrgConfig {
97
110
  /** Custom validation error messages keyed by field config key */
98
111
  validation?: Record<string, string>;
112
+ /**
113
+ * Show a live Studio JSON-LD preview below Schema.org object inputs.
114
+ * Set to `false` to disable, or pass options to customize document URL/slug handling.
115
+ */
116
+ jsonLdPreview?: boolean | SchemaOrgJsonLdPreviewOptions;
99
117
  }
100
118
  /**
101
119
  * Generates a complete Sanity `SchemaTypeDefinition` from a declarative
102
120
  * `SchemaTypeDef` and optional user config.
103
121
  */
104
122
  declare function generateSchemaType(def: SchemaTypeDef, config?: SchemaOrgConfig): SchemaTypeDefinition;
105
- /**
106
- * Builds a complete Schema.org JSON-LD object from Sanity data using field defs.
107
- * Returns `null` if any of the `requiredFields` are missing.
108
- *
109
- * @param schemaType The Schema.org `@type` (e.g. "Person", "Article")
110
- * @param data Raw data from a Sanity GROQ query
111
- * @param fieldDefs The field definitions for this schema type
112
- * @param requiredFields Field names that must be present (returns null if missing)
113
- */
114
- declare function buildGenericJsonLd(schemaType: string, data: Record<string, unknown> | null | undefined, fieldDefs: SchemaFieldDef[], requiredFields?: string[]): Record<string, unknown> | null;
115
123
 
116
124
  /**
117
125
  * Shared field collections reused across multiple Schema.org types.
@@ -323,6 +331,8 @@ declare function TypePickerInput(props: InputProps): JSX.Element;
323
331
 
324
332
  /** Per-type validation overrides for the combined `schemaOrg()` plugin. */
325
333
  interface SchemaOrgCombinedConfig {
334
+ /** Configure the live JSON-LD preview shown below the combined `schemaOrg` array field. */
335
+ jsonLdPreview?: SchemaOrgConfig['jsonLdPreview'];
326
336
  website?: SchemaOrgConfig;
327
337
  organization?: SchemaOrgConfig;
328
338
  webPage?: SchemaOrgConfig;
@@ -357,6 +367,7 @@ interface SchemaOrgCombinedConfig {
357
367
  movie?: SchemaOrgConfig;
358
368
  book?: SchemaOrgConfig;
359
369
  newsArticle?: SchemaOrgConfig;
370
+ opinionNewsArticle?: SchemaOrgConfig;
360
371
  itemList?: SchemaOrgConfig;
361
372
  profilePage?: SchemaOrgConfig;
362
373
  musicRecording?: SchemaOrgConfig;
@@ -396,6 +407,7 @@ declare const schemaOrgRestaurantPlugin: sanity.Plugin<void | SchemaOrgConfig>;
396
407
  declare const schemaOrgMoviePlugin: sanity.Plugin<void | SchemaOrgConfig>;
397
408
  declare const schemaOrgBookPlugin: sanity.Plugin<void | SchemaOrgConfig>;
398
409
  declare const schemaOrgNewsArticlePlugin: sanity.Plugin<void | SchemaOrgConfig>;
410
+ declare const schemaOrgOpinionNewsArticlePlugin: sanity.Plugin<void | SchemaOrgConfig>;
399
411
  declare const schemaOrgItemListPlugin: sanity.Plugin<void | SchemaOrgConfig>;
400
412
  declare const schemaOrgProfilePagePlugin: sanity.Plugin<void | SchemaOrgConfig>;
401
413
  declare const schemaOrgMusicRecordingPlugin: sanity.Plugin<void | SchemaOrgConfig>;
@@ -495,6 +507,8 @@ declare function schemaOrgNewsArticle(config?: SchemaOrgNewsArticleConfig): Sche
495
507
 
496
508
  declare function schemaOrgOffer(config?: SchemaOrgOfferConfig): SchemaTypeDefinition;
497
509
 
510
+ declare function schemaOrgOpinionNewsArticle(config?: SchemaOrgOpinionNewsArticleConfig): SchemaTypeDefinition;
511
+
498
512
  /**
499
513
  * Schema.org Organization — Sanity object type.
500
514
  *
@@ -661,4 +675,4 @@ declare function schemaOrgWebPage(config?: SchemaOrgWebPageConfig): SchemaTypeDe
661
675
  */
662
676
  declare function schemaOrgWebsite(config?: SchemaOrgWebsiteConfig): SchemaTypeDefinition;
663
677
 
664
- export { CATEGORY_LABELS, CATEGORY_ORDER, type DatePublishedFieldOptions, IETF_LANGUAGE_OPTIONS, type InLanguageFieldOptions, type PolymorphicOptions, SCHEMA_TYPE_METADATA, type SchemaFieldDef, type SchemaFieldOption, SchemaOrgAggregateRatingConfig, SchemaOrgArticleConfig, SchemaOrgBlogPostingConfig, SchemaOrgBookConfig, SchemaOrgBrandConfig, SchemaOrgBreadcrumbListConfig, type SchemaOrgCombinedConfig, type SchemaOrgConfig, SchemaOrgContactPointConfig, SchemaOrgCountryConfig, SchemaOrgCourseConfig, SchemaOrgEventConfig, SchemaOrgFAQPageConfig, SchemaOrgHowToConfig, SchemaOrgImageObjectConfig, SchemaOrgItemListConfig, SchemaOrgJobPostingConfig, SchemaOrgLegalServiceConfig, SchemaOrgLocalBusinessConfig, SchemaOrgMovieConfig, SchemaOrgMusicAlbumConfig, SchemaOrgMusicRecordingConfig, SchemaOrgNewsArticleConfig, SchemaOrgOfferConfig, SchemaOrgOrganizationConfig, SchemaOrgPersonConfig, SchemaOrgPlaceConfig, SchemaOrgPostalAddressConfig, SchemaOrgProductConfig, SchemaOrgProfilePageConfig, SchemaOrgRecipeConfig, SchemaOrgRestaurantConfig, SchemaOrgReviewConfig, SchemaOrgServiceConfig, SchemaOrgSocialMediaPostingConfig, SchemaOrgSoftwareApplicationConfig, SchemaOrgVideoObjectConfig, SchemaOrgWebApplicationConfig, SchemaOrgWebPageConfig, SchemaOrgWebsiteConfig, type SchemaTypeCategory, type SchemaTypeDef, type SchemaTypeInfo, type SimpleFieldOptions, TypePickerInput, buildGenericJsonLd, datePublishedField, descriptionField, generateSchemaType, headlineField, inLanguageField, nameField, polymorphicAdditionalType, polymorphicArchivedAt, polymorphicAuthor, polymorphicCitation, polymorphicContentRating, polymorphicContributor, polymorphicCopyrightHolder, polymorphicCreator, polymorphicFunder, polymorphicGenre, polymorphicIdentifier, polymorphicImage, polymorphicIsBasedOn, polymorphicIsPartOf, polymorphicKeywords, polymorphicLicense, polymorphicLocationCreated, polymorphicMaintainer, polymorphicMaterial, polymorphicOwner, polymorphicPublisher, schemaOrg, schemaOrgAggregateRating, schemaOrgAggregateRatingPlugin, schemaOrgArticle, schemaOrgArticlePlugin, schemaOrgBlogPosting, schemaOrgBlogPostingPlugin, schemaOrgBook, schemaOrgBookPlugin, schemaOrgBrand, schemaOrgBrandPlugin, schemaOrgBreadcrumbList, schemaOrgBreadcrumbListPlugin, schemaOrgContactPoint, schemaOrgContactPointPlugin, schemaOrgCountry, schemaOrgCountryPlugin, schemaOrgCourse, schemaOrgCoursePlugin, schemaOrgEvent, schemaOrgEventPlugin, schemaOrgFAQPage, schemaOrgFAQPagePlugin, schemaOrgHowTo, schemaOrgHowToPlugin, schemaOrgImageObject, schemaOrgImageObjectPlugin, schemaOrgItemList, schemaOrgItemListPlugin, schemaOrgJobPosting, schemaOrgJobPostingPlugin, schemaOrgLegalService, schemaOrgLegalServicePlugin, schemaOrgLocalBusiness, schemaOrgLocalBusinessPlugin, schemaOrgMovie, schemaOrgMoviePlugin, schemaOrgMusicAlbum, schemaOrgMusicAlbumPlugin, schemaOrgMusicRecording, schemaOrgMusicRecordingPlugin, schemaOrgNewsArticle, schemaOrgNewsArticlePlugin, schemaOrgOffer, schemaOrgOfferPlugin, schemaOrgOrganization, schemaOrgOrganizationPlugin, schemaOrgPerson, schemaOrgPersonPlugin, schemaOrgPlace, schemaOrgPlacePlugin, schemaOrgPostalAddress, schemaOrgPostalAddressPlugin, schemaOrgProduct, schemaOrgProductPlugin, schemaOrgProfilePage, schemaOrgProfilePagePlugin, schemaOrgRecipe, schemaOrgRecipePlugin, schemaOrgRestaurant, schemaOrgRestaurantPlugin, schemaOrgReview, schemaOrgReviewPlugin, schemaOrgService, schemaOrgServicePlugin, schemaOrgSocialMediaPosting, schemaOrgSocialMediaPostingPlugin, schemaOrgSoftwareApplication, schemaOrgSoftwareApplicationPlugin, schemaOrgVideoObject, schemaOrgVideoObjectPlugin, schemaOrgWebApplication, schemaOrgWebApplicationPlugin, schemaOrgWebPage, schemaOrgWebPagePlugin, schemaOrgWebsite, schemaOrgWebsitePlugin, urlField, withCreativeWorkCommons, withThingCommons };
678
+ export { CATEGORY_LABELS, CATEGORY_ORDER, type DatePublishedFieldOptions, IETF_LANGUAGE_OPTIONS, type InLanguageFieldOptions, type PolymorphicOptions, SCHEMA_TYPE_METADATA, type SchemaFieldDef, type SchemaFieldOption, SchemaOrgAggregateRatingConfig, SchemaOrgArticleConfig, SchemaOrgBlogPostingConfig, SchemaOrgBookConfig, SchemaOrgBrandConfig, SchemaOrgBreadcrumbListConfig, type SchemaOrgCombinedConfig, type SchemaOrgConfig, SchemaOrgContactPointConfig, SchemaOrgCountryConfig, SchemaOrgCourseConfig, SchemaOrgEventConfig, SchemaOrgFAQPageConfig, SchemaOrgHowToConfig, SchemaOrgImageObjectConfig, SchemaOrgItemListConfig, SchemaOrgJobPostingConfig, SchemaOrgJsonLdPreviewOptions, SchemaOrgLegalServiceConfig, SchemaOrgLocalBusinessConfig, SchemaOrgMovieConfig, SchemaOrgMusicAlbumConfig, SchemaOrgMusicRecordingConfig, SchemaOrgNewsArticleConfig, SchemaOrgOfferConfig, SchemaOrgOpinionNewsArticleConfig, SchemaOrgOrganizationConfig, SchemaOrgPersonConfig, SchemaOrgPlaceConfig, SchemaOrgPostalAddressConfig, SchemaOrgProductConfig, SchemaOrgProfilePageConfig, SchemaOrgRecipeConfig, SchemaOrgRestaurantConfig, SchemaOrgReviewConfig, SchemaOrgServiceConfig, SchemaOrgSocialMediaPostingConfig, SchemaOrgSoftwareApplicationConfig, SchemaOrgVideoObjectConfig, SchemaOrgWebApplicationConfig, SchemaOrgWebPageConfig, SchemaOrgWebsiteConfig, type SchemaTypeCategory, type SchemaTypeDef, type SchemaTypeInfo, type SimpleFieldOptions, TypePickerInput, buildGenericJsonLd, datePublishedField, descriptionField, generateSchemaType, headlineField, inLanguageField, nameField, polymorphicAdditionalType, polymorphicArchivedAt, polymorphicAuthor, polymorphicCitation, polymorphicContentRating, polymorphicContributor, polymorphicCopyrightHolder, polymorphicCreator, polymorphicFunder, polymorphicGenre, polymorphicIdentifier, polymorphicImage, polymorphicIsBasedOn, polymorphicIsPartOf, polymorphicKeywords, polymorphicLicense, polymorphicLocationCreated, polymorphicMaintainer, polymorphicMaterial, polymorphicOwner, polymorphicPublisher, schemaOrg, schemaOrgAggregateRating, schemaOrgAggregateRatingPlugin, schemaOrgArticle, schemaOrgArticlePlugin, schemaOrgBlogPosting, schemaOrgBlogPostingPlugin, schemaOrgBook, schemaOrgBookPlugin, schemaOrgBrand, schemaOrgBrandPlugin, schemaOrgBreadcrumbList, schemaOrgBreadcrumbListPlugin, schemaOrgContactPoint, schemaOrgContactPointPlugin, schemaOrgCountry, schemaOrgCountryPlugin, schemaOrgCourse, schemaOrgCoursePlugin, schemaOrgEvent, schemaOrgEventPlugin, schemaOrgFAQPage, schemaOrgFAQPagePlugin, schemaOrgHowTo, schemaOrgHowToPlugin, schemaOrgImageObject, schemaOrgImageObjectPlugin, schemaOrgItemList, schemaOrgItemListPlugin, schemaOrgJobPosting, schemaOrgJobPostingPlugin, schemaOrgLegalService, schemaOrgLegalServicePlugin, schemaOrgLocalBusiness, schemaOrgLocalBusinessPlugin, schemaOrgMovie, schemaOrgMoviePlugin, schemaOrgMusicAlbum, schemaOrgMusicAlbumPlugin, schemaOrgMusicRecording, schemaOrgMusicRecordingPlugin, schemaOrgNewsArticle, schemaOrgNewsArticlePlugin, schemaOrgOffer, schemaOrgOfferPlugin, schemaOrgOpinionNewsArticle, schemaOrgOpinionNewsArticlePlugin, schemaOrgOrganization, schemaOrgOrganizationPlugin, schemaOrgPerson, schemaOrgPersonPlugin, schemaOrgPlace, schemaOrgPlacePlugin, schemaOrgPostalAddress, schemaOrgPostalAddressPlugin, schemaOrgProduct, schemaOrgProductPlugin, schemaOrgProfilePage, schemaOrgProfilePagePlugin, schemaOrgRecipe, schemaOrgRecipePlugin, schemaOrgRestaurant, schemaOrgRestaurantPlugin, schemaOrgReview, schemaOrgReviewPlugin, schemaOrgService, schemaOrgServicePlugin, schemaOrgSocialMediaPosting, schemaOrgSocialMediaPostingPlugin, schemaOrgSoftwareApplication, schemaOrgSoftwareApplicationPlugin, schemaOrgVideoObject, schemaOrgVideoObjectPlugin, schemaOrgWebApplication, schemaOrgWebApplicationPlugin, schemaOrgWebPage, schemaOrgWebPagePlugin, schemaOrgWebsite, schemaOrgWebsitePlugin, urlField, withCreativeWorkCommons, withThingCommons };
package/dist/schema.js CHANGED
@@ -1,11 +1,11 @@
1
- import { nameField, urlField, descriptionField, inLanguageField, polymorphicPublisher, potentialActionSearch, issnField, schemaOrgWebPage, schemaOrgPerson, schemaOrgBreadcrumbList, schemaOrgImageObject, schemaOrgArticle, schemaOrgBlogPosting, schemaOrgFAQPage, schemaOrgHowTo, schemaOrgProduct, schemaOrgOffer, schemaOrgAggregateRating, schemaOrgReview, schemaOrgBrand, schemaOrgLocalBusiness, schemaOrgPostalAddress, schemaOrgContactPoint, schemaOrgSoftwareApplication, schemaOrgWebApplication, schemaOrgEvent, schemaOrgPlace, schemaOrgVideoObject, schemaOrgCourse, schemaOrgRecipe, schemaOrgService, schemaOrgSocialMediaPosting, schemaOrgLegalService, schemaOrgCountry, schemaOrgJobPosting, schemaOrgRestaurant, schemaOrgMovie, schemaOrgBook, schemaOrgNewsArticle, schemaOrgItemList, schemaOrgProfilePage, schemaOrgMusicRecording, schemaOrgMusicAlbum, generateSchemaType, SchemaOrgIcons } from './chunk-KTL6NYNG.js';
2
- export { IETF_LANGUAGE_OPTIONS, buildGenericJsonLd, datePublishedField, descriptionField, generateSchemaType, headlineField, inLanguageField, nameField, polymorphicAdditionalType, polymorphicArchivedAt, polymorphicAuthor, polymorphicCitation, polymorphicContentRating, polymorphicContributor, polymorphicCopyrightHolder, polymorphicCreator, polymorphicFunder, polymorphicGenre, polymorphicIdentifier, polymorphicImage, polymorphicIsBasedOn, polymorphicIsPartOf, polymorphicKeywords, polymorphicLicense, polymorphicLocationCreated, polymorphicMaintainer, polymorphicMaterial, polymorphicOwner, polymorphicPublisher, schemaOrgAggregateRating, schemaOrgArticle, schemaOrgBlogPosting, schemaOrgBook, schemaOrgBrand, schemaOrgBreadcrumbList, schemaOrgContactPoint, schemaOrgCountry, schemaOrgCourse, schemaOrgEvent, schemaOrgFAQPage, schemaOrgHowTo, schemaOrgImageObject, schemaOrgItemList, schemaOrgJobPosting, schemaOrgLegalService, schemaOrgLocalBusiness, schemaOrgMovie, schemaOrgMusicAlbum, schemaOrgMusicRecording, schemaOrgNewsArticle, schemaOrgOffer, schemaOrgPerson, schemaOrgPlace, schemaOrgPostalAddress, schemaOrgProduct, schemaOrgProfilePage, schemaOrgRecipe, schemaOrgRestaurant, schemaOrgReview, schemaOrgService, schemaOrgSocialMediaPosting, schemaOrgSoftwareApplication, schemaOrgVideoObject, schemaOrgWebApplication, schemaOrgWebPage, urlField, withCreativeWorkCommons, withThingCommons } from './chunk-KTL6NYNG.js';
3
- import { __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
1
+ import { nameField, urlField, descriptionField, inLanguageField, polymorphicPublisher, potentialActionSearch, issnField, schemaOrgWebPage, schemaOrgPerson, schemaOrgBreadcrumbList, schemaOrgImageObject, schemaOrgArticle, schemaOrgBlogPosting, schemaOrgFAQPage, schemaOrgHowTo, schemaOrgProduct, schemaOrgOffer, schemaOrgAggregateRating, schemaOrgReview, schemaOrgBrand, schemaOrgLocalBusiness, schemaOrgPostalAddress, schemaOrgContactPoint, schemaOrgSoftwareApplication, schemaOrgWebApplication, schemaOrgEvent, schemaOrgPlace, schemaOrgVideoObject, schemaOrgCourse, schemaOrgRecipe, schemaOrgService, schemaOrgSocialMediaPosting, schemaOrgLegalService, schemaOrgCountry, schemaOrgJobPosting, schemaOrgRestaurant, schemaOrgMovie, schemaOrgBook, schemaOrgNewsArticle, schemaOrgOpinionNewsArticle, schemaOrgItemList, schemaOrgProfilePage, schemaOrgMusicRecording, schemaOrgMusicAlbum, generateSchemaType, SchemaOrgIcons, SchemaOrgJsonLdPreview } from './chunk-VR44E62I.js';
2
+ export { IETF_LANGUAGE_OPTIONS, SchemaOrgJsonLdPreview as SchemaOrgDocumentJsonLdPreview, SchemaOrgJsonLdPreview, SchemaOrgJsonLdPreviewInput, SchemaOrgScripts, buildGenericJsonLd, buildSchemaOrgJsonLd, buildSchemaOrgJsonLds, datePublishedField, descriptionField, generateSchemaType, headlineField, inLanguageField, nameField, polymorphicAdditionalType, polymorphicArchivedAt, polymorphicAuthor, polymorphicCitation, polymorphicContentRating, polymorphicContributor, polymorphicCopyrightHolder, polymorphicCreator, polymorphicFunder, polymorphicGenre, polymorphicIdentifier, polymorphicImage, polymorphicIsBasedOn, polymorphicIsPartOf, polymorphicKeywords, polymorphicLicense, polymorphicLocationCreated, polymorphicMaintainer, polymorphicMaterial, polymorphicOwner, polymorphicPublisher, schemaOrgAggregateRating, schemaOrgArticle, schemaOrgBlogPosting, schemaOrgBook, schemaOrgBrand, schemaOrgBreadcrumbList, schemaOrgContactPoint, schemaOrgCountry, schemaOrgCourse, schemaOrgEvent, schemaOrgFAQPage, schemaOrgHowTo, schemaOrgImageObject, schemaOrgItemList, schemaOrgJobPosting, schemaOrgLegalService, schemaOrgLocalBusiness, schemaOrgMovie, schemaOrgMusicAlbum, schemaOrgMusicRecording, schemaOrgNewsArticle, schemaOrgOffer, schemaOrgOpinionNewsArticle, schemaOrgPerson, schemaOrgPlace, schemaOrgPostalAddress, schemaOrgProduct, schemaOrgProfilePage, schemaOrgRecipe, schemaOrgRestaurant, schemaOrgReview, schemaOrgService, schemaOrgSocialMediaPosting, schemaOrgSoftwareApplication, schemaOrgVideoObject, schemaOrgWebApplication, schemaOrgWebPage, urlField, withCreativeWorkCommons, withThingCommons } from './chunk-VR44E62I.js';
3
+ import { __spreadProps, __spreadValues } from './chunk-DDAAVRWG.js';
4
4
  import { AddIcon, SearchIcon } from '@sanity/icons';
5
5
  import { Stack, Button, Dialog, Box, TextInput, Card, Flex, Text, Heading, Grid } from '@sanity/ui';
6
6
  import { useState, useCallback, useMemo } from 'react';
7
- import { jsx, jsxs } from 'react/jsx-runtime';
8
- import { definePlugin, defineType } from 'sanity';
7
+ import { definePlugin, defineType, useFormValue } from 'sanity';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
9
 
10
10
  // src/schema/components/schemaTypeMetadata.ts
11
11
  var CATEGORY_LABELS = {
@@ -276,6 +276,13 @@ var SCHEMA_TYPE_METADATA = [
276
276
  category: "content",
277
277
  keywords: ["news", "journalism", "press", "story", "report"]
278
278
  },
279
+ {
280
+ type: "schemaOrgOpinionNewsArticle",
281
+ title: "Opinion News Article",
282
+ description: "Opinion/editorial piece \u2014 a NewsArticle subtype that strengthens E-E-A-T.",
283
+ category: "content",
284
+ keywords: ["opinion", "editorial", "column", "commentary", "op-ed"]
285
+ },
279
286
  {
280
287
  type: "schemaOrgItemList",
281
288
  title: "Item List",
@@ -411,8 +418,23 @@ function TypeArrayFunctions(props) {
411
418
  ] });
412
419
  }
413
420
  function TypePickerInput(props) {
414
- const { renderDefault } = props;
415
- return /* @__PURE__ */ jsx(Stack, { space: 3, children: renderDefault(__spreadProps(__spreadValues({}, props), { arrayFunctions: TypeArrayFunctions })) });
421
+ var _a, _b;
422
+ const { renderDefault, schemaType } = props;
423
+ const rootDocument = (_a = useFormValue([])) != null ? _a : {};
424
+ const previewConfig = (_b = schemaType.options) == null ? void 0 : _b.schemaOrgJsonLdPreview;
425
+ const options = typeof previewConfig === "object" ? previewConfig : void 0;
426
+ const value = props.value;
427
+ return /* @__PURE__ */ jsxs(Stack, { space: 3, children: [
428
+ renderDefault(__spreadProps(__spreadValues({}, props), { arrayFunctions: TypeArrayFunctions })),
429
+ previewConfig !== false && /* @__PURE__ */ jsx(
430
+ SchemaOrgJsonLdPreview,
431
+ __spreadProps(__spreadValues({}, options), {
432
+ value: value != null ? value : null,
433
+ document: rootDocument,
434
+ fieldPreview: true
435
+ })
436
+ )
437
+ ] });
416
438
  }
417
439
 
418
440
  // src/schema/organization/schema.ts
@@ -606,6 +628,7 @@ var ALL_SCHEMA_ORG_TYPES = [
606
628
  "schemaOrgMovie",
607
629
  "schemaOrgBook",
608
630
  "schemaOrgNewsArticle",
631
+ "schemaOrgOpinionNewsArticle",
609
632
  "schemaOrgItemList",
610
633
  "schemaOrgProfilePage",
611
634
  "schemaOrgMusicRecording",
@@ -757,6 +780,12 @@ var schemaOrgNewsArticlePlugin = definePlugin((config = {}) => ({
757
780
  name: "sanity-plugin-seofields/schema-org-newsarticle",
758
781
  schema: { types: [schemaOrgNewsArticle(config)] }
759
782
  }));
783
+ var schemaOrgOpinionNewsArticlePlugin = definePlugin(
784
+ (config = {}) => ({
785
+ name: "sanity-plugin-seofields/schema-org-opinionnewsarticle",
786
+ schema: { types: [schemaOrgOpinionNewsArticle(config)] }
787
+ })
788
+ );
760
789
  var schemaOrgItemListPlugin = definePlugin((config = {}) => ({
761
790
  name: "sanity-plugin-seofields/schema-org-itemlist",
762
791
  schema: { types: [schemaOrgItemList(config)] }
@@ -815,6 +844,7 @@ var schemaOrg = definePlugin((config = {}) => {
815
844
  schemaOrgMovie(c.movie),
816
845
  schemaOrgBook(c.book),
817
846
  schemaOrgNewsArticle(c.newsArticle),
847
+ schemaOrgOpinionNewsArticle(c.opinionNewsArticle),
818
848
  schemaOrgItemList(c.itemList),
819
849
  schemaOrgProfilePage(c.profilePage),
820
850
  schemaOrgMusicRecording(c.musicRecording),
@@ -827,6 +857,9 @@ var schemaOrg = definePlugin((config = {}) => {
827
857
  of: ALL_SCHEMA_ORG_TYPES.map((type) => ({ type })),
828
858
  components: {
829
859
  input: TypePickerInput
860
+ },
861
+ options: {
862
+ schemaOrgJsonLdPreview: c.jsonLdPreview
830
863
  }
831
864
  })
832
865
  ]
@@ -834,6 +867,6 @@ var schemaOrg = definePlugin((config = {}) => {
834
867
  };
835
868
  });
836
869
 
837
- export { CATEGORY_LABELS, CATEGORY_ORDER, SCHEMA_TYPE_METADATA, TypePickerInput, schemaOrg, schemaOrgAggregateRatingPlugin, schemaOrgArticlePlugin, schemaOrgBlogPostingPlugin, schemaOrgBookPlugin, schemaOrgBrandPlugin, schemaOrgBreadcrumbListPlugin, schemaOrgContactPointPlugin, schemaOrgCountryPlugin, schemaOrgCoursePlugin, schemaOrgEventPlugin, schemaOrgFAQPagePlugin, schemaOrgHowToPlugin, schemaOrgImageObjectPlugin, schemaOrgItemListPlugin, schemaOrgJobPostingPlugin, schemaOrgLegalServicePlugin, schemaOrgLocalBusinessPlugin, schemaOrgMoviePlugin, schemaOrgMusicAlbumPlugin, schemaOrgMusicRecordingPlugin, schemaOrgNewsArticlePlugin, schemaOrgOfferPlugin, schemaOrgOrganization, schemaOrgOrganizationPlugin, schemaOrgPersonPlugin, schemaOrgPlacePlugin, schemaOrgPostalAddressPlugin, schemaOrgProductPlugin, schemaOrgProfilePagePlugin, schemaOrgRecipePlugin, schemaOrgRestaurantPlugin, schemaOrgReviewPlugin, schemaOrgServicePlugin, schemaOrgSocialMediaPostingPlugin, schemaOrgSoftwareApplicationPlugin, schemaOrgVideoObjectPlugin, schemaOrgWebApplicationPlugin, schemaOrgWebPagePlugin, schemaOrgWebsite, schemaOrgWebsitePlugin };
870
+ export { CATEGORY_LABELS, CATEGORY_ORDER, SCHEMA_TYPE_METADATA, TypePickerInput, schemaOrg, schemaOrgAggregateRatingPlugin, schemaOrgArticlePlugin, schemaOrgBlogPostingPlugin, schemaOrgBookPlugin, schemaOrgBrandPlugin, schemaOrgBreadcrumbListPlugin, schemaOrgContactPointPlugin, schemaOrgCountryPlugin, schemaOrgCoursePlugin, schemaOrgEventPlugin, schemaOrgFAQPagePlugin, schemaOrgHowToPlugin, schemaOrgImageObjectPlugin, schemaOrgItemListPlugin, schemaOrgJobPostingPlugin, schemaOrgLegalServicePlugin, schemaOrgLocalBusinessPlugin, schemaOrgMoviePlugin, schemaOrgMusicAlbumPlugin, schemaOrgMusicRecordingPlugin, schemaOrgNewsArticlePlugin, schemaOrgOfferPlugin, schemaOrgOpinionNewsArticlePlugin, schemaOrgOrganization, schemaOrgOrganizationPlugin, schemaOrgPersonPlugin, schemaOrgPlacePlugin, schemaOrgPostalAddressPlugin, schemaOrgProductPlugin, schemaOrgProfilePagePlugin, schemaOrgRecipePlugin, schemaOrgRestaurantPlugin, schemaOrgReviewPlugin, schemaOrgServicePlugin, schemaOrgSocialMediaPostingPlugin, schemaOrgSoftwareApplicationPlugin, schemaOrgVideoObjectPlugin, schemaOrgWebApplicationPlugin, schemaOrgWebPagePlugin, schemaOrgWebsite, schemaOrgWebsitePlugin };
838
871
  //# sourceMappingURL=schema.js.map
839
872
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema/components/schemaTypeMetadata.ts","../src/schema/components/TypePickerInput.tsx","../src/schema/organization/schema.ts","../src/schema/website/schema.ts","../src/schema/schemaOrg.ts"],"names":[],"mappings":";;;;;;;;;;AA4BO,IAAM,eAAA,GAAsD;AAAA,EACjE,OAAA,EAAS,iBAAA;AAAA,EACT,QAAA,EAAU,oBAAA;AAAA,EACV,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,wBAAA;AAAA,EACR,UAAA,EAAY,YAAA;AAAA,EACZ,QAAA,EAAU,mBAAA;AAAA,EACV,QAAA,EAAU,UAAA;AAAA,EACV,SAAA,EAAW;AACb;AAEO,IAAM,cAAA,GAAuC;AAAA,EAClD,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF;AAEO,IAAM,oBAAA,GAAyC;AAAA;AAAA,EAEpD;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,0DAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,QAAA,EAAU,CAAC,MAAA,EAAQ,UAAA,EAAY,eAAe;AAAA,GAChD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,KAAA,EAAO,UAAA;AAAA,IACP,WAAA,EAAa,qDAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,WAAW,SAAS;AAAA,GAClD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,mDAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,UAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,aAAa,OAAO;AAAA,GACzD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,WAAA,EAAa,oDAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,SAAS;AAAA,GACtC;AAAA,EACA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,KAAA,EAAO,UAAA;AAAA,IACP,WAAA,EAAa,sDAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,QAAA,EAAU,CAAC,KAAA,EAAO,WAAA,EAAa,WAAW,MAAM;AAAA,GAClD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,gBAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,4DAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,UAAU,CAAC,UAAA,EAAY,OAAA,EAAS,OAAA,EAAS,gBAAgB,KAAK;AAAA,GAChE;AAAA,EACA;AAAA,IACE,IAAA,EAAM,iBAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,yDAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,UAAU,CAAC,SAAA,EAAW,MAAA,EAAQ,aAAA,EAAe,aAAa,MAAM;AAAA,GAClE;AAAA,EACA;AAAA,IACE,IAAA,EAAM,6BAAA;AAAA,IACN,KAAA,EAAO,sBAAA;AAAA,IACP,WAAA,EAAa,wDAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,UAAU,CAAC,QAAA,EAAU,MAAA,EAAQ,OAAA,EAAS,WAAW,UAAU;AAAA,GAC7D;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,mDAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,UAAU,CAAC,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,SAAS,OAAO;AAAA,GACzD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,gBAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,oDAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,OAAA,EAAS,MAAA,EAAQ,YAAY,cAAc;AAAA,GACxD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,kBAAA;AAAA,IACP,WAAA,EAAa,uCAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,OAAA,EAAS,QAAA,EAAU,SAAS,SAAS;AAAA,GAClD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,iBAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,2CAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,UAAA,EAAY,aAAA,EAAe,UAAU,UAAU;AAAA,GAC5D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,gBAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,iCAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,OAAA,EAAS,OAAA,EAAS,cAAc;AAAA,GAC7C;AAAA,EACA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,kDAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,YAAA,EAAc,cAAA,EAAgB,YAAY,SAAS;AAAA,GAChE;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,iBAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,wDAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,QAAA,EAAU,CAAC,QAAA,EAAU,SAAA,EAAW,YAAY,SAAS;AAAA,GACvD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,uBAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,WAAA,EAAa,wDAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,QAAA,EAAU,CAAC,SAAA,EAAW,UAAA,EAAY,eAAe,KAAK;AAAA,GACxD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,wBAAA;AAAA,IACN,KAAA,EAAO,gBAAA;AAAA,IACP,WAAA,EAAa,mDAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,UAAU,CAAC,OAAA,EAAS,YAAA,EAAc,MAAA,EAAQ,SAAS,MAAM;AAAA,GAC3D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,uBAAA;AAAA,IACN,KAAA,EAAO,eAAA;AAAA,IACP,WAAA,EAAa,qDAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,QAAA,EAAU,CAAC,OAAA,EAAS,OAAA,EAAS,WAAW,UAAU;AAAA,GACpD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,wBAAA;AAAA,IACN,KAAA,EAAO,gBAAA;AAAA,IACP,WAAA,EAAa,2BAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,UAAU,CAAC,SAAA,EAAW,QAAA,EAAU,KAAA,EAAO,QAAQ,SAAS;AAAA,GAC1D;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,WAAA,EAAa,4CAAA;AAAA,IACb,QAAA,EAAU,OAAA;AAAA,IACV,QAAA,EAAU,CAAC,OAAA,EAAS,SAAA,EAAW,WAAW,cAAc;AAAA,GAC1D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,WAAA,EAAa,oDAAA;AAAA,IACb,QAAA,EAAU,OAAA;AAAA,IACV,UAAU,CAAC,OAAA,EAAS,SAAA,EAAW,OAAA,EAAS,QAAQ,MAAM;AAAA,GACxD;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,yBAAA;AAAA,IACN,KAAA,EAAO,iBAAA;AAAA,IACP,WAAA,EAAa,iDAAA;AAAA,IACb,QAAA,EAAU,YAAA;AAAA,IACV,QAAA,EAAU,CAAC,YAAA,EAAc,MAAA,EAAQ,aAAa,OAAO;AAAA,GACvD;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,gBAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,6CAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,YAAA,EAAc,QAAA,EAAU,WAAW,SAAS;AAAA,GACzD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,gBAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,mCAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,OAAA,EAAS,UAAA,EAAY,YAAY,MAAM;AAAA,GACpD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,kBAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,WAAA,EAAa,mEAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,SAAA,EAAW,QAAA,EAAU,aAAa,QAAQ;AAAA,GACvD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,uBAAA;AAAA,IACN,KAAA,EAAO,eAAA;AAAA,IACP,WAAA,EAAa,qDAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,UAAU,CAAC,KAAA,EAAO,QAAA,EAAU,UAAA,EAAY,QAAQ,OAAO;AAAA,GACzD;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,8BAAA;AAAA,IACN,KAAA,EAAO,sBAAA;AAAA,IACP,WAAA,EAAa,gCAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,UAAU,CAAC,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,WAAW,QAAQ;AAAA,GAC1D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,yBAAA;AAAA,IACN,KAAA,EAAO,iBAAA;AAAA,IACP,WAAA,EAAa,qCAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,CAAC,QAAA,EAAU,MAAA,EAAQ,UAAU,OAAO;AAAA,GAChD;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,iBAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,wCAAA;AAAA,IACb,QAAA,EAAU,WAAA;AAAA,IACV,UAAU,CAAC,UAAA,EAAY,OAAA,EAAS,UAAA,EAAY,YAAY,UAAU;AAAA,GACpE;AAAA;AAAA,EAGA;AAAA,IACE,IAAA,EAAM,qBAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,WAAA,EAAa,wDAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,UAAU,CAAC,KAAA,EAAO,UAAU,QAAA,EAAU,YAAA,EAAc,WAAW,MAAM;AAAA,GACvE;AAAA,EACA;AAAA,IACE,IAAA,EAAM,qBAAA;AAAA,IACN,KAAA,EAAO,YAAA;AAAA,IACP,WAAA,EAAa,uCAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,UAAU,CAAC,YAAA,EAAc,QAAA,EAAU,MAAA,EAAQ,WAAW,QAAQ;AAAA,GAChE;AAAA,EACA;AAAA,IACE,IAAA,EAAM,gBAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,WAAA,EAAa,6CAAA;AAAA,IACb,QAAA,EAAU,OAAA;AAAA,IACV,QAAA,EAAU,CAAC,OAAA,EAAS,MAAA,EAAQ,UAAU,gBAAgB;AAAA,GACxD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,eAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,WAAA,EAAa,2CAAA;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,UAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,aAAA,EAAe,SAAS,MAAM;AAAA,GAC5D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,WAAA,EAAa,wEAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,UAAU,CAAC,MAAA,EAAQ,YAAA,EAAc,OAAA,EAAS,SAAS,QAAQ;AAAA,GAC7D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,mBAAA;AAAA,IACN,KAAA,EAAO,WAAA;AAAA,IACP,WAAA,EAAa,mDAAA;AAAA,IACb,QAAA,EAAU,YAAA;AAAA,IACV,QAAA,EAAU,CAAC,MAAA,EAAQ,UAAA,EAAY,SAAS,YAAY;AAAA,GACtD;AAAA,EACA;AAAA,IACE,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,WAAA,EAAa,8CAAA;AAAA,IACb,QAAA,EAAU,SAAA;AAAA,IACV,UAAU,CAAC,SAAA,EAAW,OAAA,EAAS,KAAA,EAAO,UAAU,SAAS;AAAA,GAC3D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,yBAAA;AAAA,IACN,KAAA,EAAO,iBAAA;AAAA,IACP,WAAA,EAAa,oCAAA;AAAA,IACb,QAAA,EAAU,OAAA;AAAA,IACV,UAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,OAAA,EAAS,aAAa,QAAQ;AAAA,GAC5D;AAAA,EACA;AAAA,IACE,IAAA,EAAM,qBAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,WAAA,EAAa,wCAAA;AAAA,IACb,QAAA,EAAU,OAAA;AAAA,IACV,UAAU,CAAC,OAAA,EAAS,SAAS,QAAA,EAAU,IAAA,EAAM,MAAM,SAAS;AAAA;AAEhE;ACvTA,SAAS,aAAA,CAAc,MAAsB,KAAA,EAAwB;AACnE,EAAA,MAAM,CAAA,GAAI,MAAM,WAAA,EAAY;AAC5B,EAAA,OACE,IAAA,CAAK,KAAA,CAAM,WAAA,EAAY,CAAE,QAAA,CAAS,CAAC,CAAA,IACnC,IAAA,CAAK,WAAA,CAAY,WAAA,EAAY,CAAE,QAAA,CAAS,CAAC,CAAA,IACzC,IAAA,CAAK,QAAA,CAAS,IAAA,CAAK,CAAC,EAAA,KAAO,GAAG,WAAA,EAAY,CAAE,QAAA,CAAS,CAAC,CAAC,CAAA;AAE3D;AAEA,SAAS,gBAAgB,KAAA,EAAoE;AAC3F,EAAA,MAAM,GAAA,uBAAU,GAAA,EAA0C;AAC1D,EAAA,KAAA,MAAW,OAAO,cAAA,EAAgB;AAChC,IAAA,MAAM,UAAU,KAAA,CAAM,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,GAAG,CAAA;AACtD,IAAA,IAAI,OAAA,CAAQ,MAAA,EAAQ,GAAA,CAAI,GAAA,CAAI,KAAK,OAAO,CAAA;AAAA,EAC1C;AACA,EAAA,OAAO,GAAA;AACT;AAKA,SAAS,mBAAmB,KAAA,EAA4D;AACtF,EAAA,MAAM,EAAC,aAAA,EAAe,UAAA,EAAY,YAAA,EAAY,GAAI,KAAA;AAClD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAS,KAAK,CAAA;AACtC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,EAAE,CAAA;AAEvC,EAAA,MAAM,OAAA,GAAU,YAAY,MAAM;AAChC,IAAA,OAAA,CAAQ,KAAK,CAAA;AACb,IAAA,SAAA,CAAU,EAAE,CAAA;AAAA,EACd,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,SAAS,WAAA,CAAY,MAAM,QAAQ,IAAI,CAAA,EAAG,EAAE,CAAA;AAClD,EAAA,MAAM,kBAAA,GAAqB,WAAA,CAAY,CAAC,CAAA,KAAqC;AAC3E,IAAA,SAAA,CAAU,CAAA,CAAE,cAAc,KAAK,CAAA;AAAA,EACjC,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,MAAM,cAAA,GAAiB,QAAQ,MAAM;AACnC,IAAA,MAAM,SAAA,GAAY,IAAI,GAAA,CAAI,UAAA,CAAW,EAAA,CAAG,IAAI,CAAC,CAAA,KAAM,CAAA,CAAE,IAAI,CAAC,CAAA;AAC1D,IAAA,OAAO,oBAAA,CAAqB,OAAO,CAAC,CAAA,KAAM,UAAU,GAAA,CAAI,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACjE,CAAA,EAAG,CAAC,UAAA,CAAW,EAAE,CAAC,CAAA;AAGlB,EAAA,MAAM,QAAA,GAAW,OAAA;AAAA,IACf,MAAO,MAAA,GAAS,cAAA,CAAe,MAAA,CAAO,CAAC,MAAM,aAAA,CAAc,CAAA,EAAG,MAAM,CAAC,CAAA,GAAI,cAAA;AAAA,IACzE,CAAC,gBAAgB,MAAM;AAAA,GACzB;AAEA,EAAA,MAAM,OAAA,GAAU,QAAQ,MAAM,eAAA,CAAgB,QAAQ,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEnE,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,QAAA,KAAqB;AACpB,MAAA,MAAM,UAAA,GAAa,WAAW,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,SAAS,QAAQ,CAAA;AAChE,MAAA,IAAI,UAAA,EAAY;AAEd,QAAA,MAAM,KAAA,GAAQ,cAAc,UAAiB,CAAA;AAC7C,QAAA,YAAA,CAAa,KAAK,CAAA;AAAA,MACpB;AACA,MAAA,OAAA,EAAQ;AAAA,IACV,CAAA;AAAA,IACA,CAAC,UAAA,CAAW,EAAA,EAAI,aAAA,EAAe,cAAc,OAAO;AAAA,GACtD;AAEA,EAAA,MAAM,eAAA,GAAkB,YAAY,CAAC,QAAA,KAAqB,aAAa,QAAQ,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEhG,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAO,CAAA,EACZ,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,MAAM,OAAA,EAAS,IAAA,EAAK,mBAAkB,IAAA,EAAK,OAAA,EAAQ,SAAS,MAAA,EAAQ,CAAA;AAAA,IAE3E,IAAA,oBACC,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAO,qBAAA;AAAA,QACP,EAAA,EAAG,oBAAA;AAAA,QACH,OAAA;AAAA,QACA,OAAA,EAAS,GAAA;AAAA,QACT,KAAA,EAAO,CAAA;AAAA,QAEP,8BAAC,GAAA,EAAA,EAAI,OAAA,EAAS,GACZ,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAM,OAAO,CAAA,EAEZ,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAM,UAAA;AAAA,cACN,WAAA,EAAY,2BAAA;AAAA,cACZ,KAAA,EAAO,MAAA;AAAA,cACP,QAAA,EAAU,kBAAA;AAAA,cACV,SAAA,EAAS;AAAA;AAAA,WACX;AAAA,UAGC,OAAA,CAAQ,SAAS,CAAA,mBAChB,GAAA,CAAC,QAAK,OAAA,EAAS,CAAA,EAAG,MAAK,aAAA,EACrB,QAAA,kBAAA,GAAA,CAAC,QAAK,KAAA,EAAM,QAAA,EAAS,SAAQ,QAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,QAAK,KAAA,EAAK,IAAA,EAAC,MAAM,CAAA,EAAG,QAAA,EAAA,iCAAA,EAErB,GACF,CAAA,EACF,CAAA,uBAEC,KAAA,EAAA,EAAM,KAAA,EAAO,GACX,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,QAAQ,OAAA,EAAS,EAAE,GAAA,CAAI,CAAC,CAAC,QAAA,EAAU,KAAK,sBAClD,IAAA,CAAC,KAAA,EAAA,EAAqB,OAAO,CAAA,EAC3B,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,OAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAM,CAAA;AAAA,gBACN,KAAA,EAAO,EAAC,aAAA,EAAe,WAAA,EAAa,eAAe,QAAA,EAAQ;AAAA,gBAE1D,0BAAgB,QAAQ;AAAA;AAAA,aAC3B;AAAA,4BACA,GAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAS,CAAC,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,EAAG,GAAA,EAAK,CAAA,EAC5B,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS;AACnB,cAAA,MAAM,UAAA,GAAa,WAAW,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,KAAS,IAAA,CAAK,IAAI,CAAA;AACjE,cAAA,MAAM,OAAO,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,IAAA;AACzB,cAAA,uBACE,GAAA;AAAA,gBAAC,IAAA;AAAA,gBAAA;AAAA,kBAEC,EAAA,EAAG,QAAA;AAAA,kBACH,OAAA,EAAS,CAAA;AAAA,kBACT,MAAA,EAAQ,CAAA;AAAA,kBACR,MAAA,EAAQ,CAAA;AAAA,kBACR,IAAA,EAAK,SAAA;AAAA,kBACL,OAAA,EAAS,MAAM,eAAA,CAAgB,IAAA,CAAK,IAAI,CAAA;AAAA,kBACxC,KAAA,EAAO,EAAC,MAAA,EAAQ,SAAA,EAAW,WAAW,MAAA,EAAM;AAAA,kBAE5C,QAAA,kBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAK,CAAA,EAAG,OAAM,YAAA,EACjB,QAAA,EAAA;AAAA,oBAAA,IAAA,wBACE,GAAA,EAAA,EAAI,KAAA,EAAO,EAAC,UAAA,EAAY,GAAG,SAAA,EAAW,CAAA,EAAC,EACtC,QAAA,kBAAA,GAAA,CAAC,QAAK,IAAA,EAAM,CAAA,EACV,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,GACR,CAAA,EACF,CAAA;AAAA,oCAEF,IAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAO,CAAA,EACZ,QAAA,EAAA;AAAA,sCAAA,GAAA,CAAC,QAAK,MAAA,EAAO,UAAA,EAAW,IAAA,EAAM,CAAA,EAC3B,eAAK,KAAA,EACR,CAAA;AAAA,0CACC,IAAA,EAAA,EAAK,KAAA,EAAK,MAAC,IAAA,EAAM,CAAA,EACf,eAAK,WAAA,EACR;AAAA,qBAAA,EACF;AAAA,mBAAA,EACF;AAAA,iBAAA;AAAA,gBAzBK,IAAA,CAAK;AAAA,eA0BZ;AAAA,YAEJ,CAAC,CAAA,EACH;AAAA,WAAA,EAAA,EA1CU,QA2CZ,CACD,CAAA,EACH;AAAA,SAAA,EAEJ,CAAA,EACF;AAAA;AAAA;AACF,GAAA,EAEJ,CAAA;AAEJ;AAoBe,SAAR,gBAAiC,KAAA,EAAgC;AACtE,EAAA,MAAM,EAAC,eAAa,GAAI,KAAA;AACxB,EAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAO,CAAA,EAAI,QAAA,EAAA,aAAA,CAAc,aAAA,CAAA,cAAA,CAAA,EAAA,EAAI,KAAA,CAAA,EAAJ,EAAW,cAAA,EAAgB,kBAAA,EAAkB,CAAC,CAAA,EAAE,CAAA;AACzF;;;AC7LO,IAAM,kBAAA,GAAuC;AAAA,EAClD,SAAA,CAAU;AAAA,IACR,KAAA,EAAO,mBAAA;AAAA,IACP,WAAA,EAAa,wCAAA;AAAA,IACb,QAAA,EAAU,EAAC,GAAA,EAAK,cAAA,EAAgB,SAAS,+CAAA;AAA+C,GACzF,CAAA;AAAA,EACD;AAAA,IACE,IAAA,EAAM,KAAA;AAAA,IACN,KAAA,EAAO,kBAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,WAAA,EAAa,2CAAA;AAAA,IACb,QAAA,EAAU,EAAC,GAAA,EAAK,aAAA,EAAe,SAAS,8CAAA;AAA8C,GACxF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,IAAA,EAAM,aAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,CAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,IAAA,EAAM,eAAA;AAAA,IACN,KAAA,EAAO,gBAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,WAAA,EACE,gGAAA;AAAA,IACF,eAAe,EAAC,OAAA,EAAS,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAC,GAC5C;AAAA,EACA;AAAA,IACE,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,eAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa,mDAAA;AAAA,IACb,MAAA,EAAQ;AAAA,MACN;AAAA,QACE,IAAA,EAAM,aAAA;AAAA,QACN,KAAA,EAAO,cAAA;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa,wDAAA;AAAA,QACb,YAAA,EAAc,kBAAA;AAAA,QACd,OAAA,EAAS;AAAA,UACP,EAAC,KAAA,EAAO,kBAAA,EAAoB,KAAA,EAAO,kBAAA,EAAkB;AAAA,UACrD,EAAC,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAO;AAAA,UAC/B,EAAC,KAAA,EAAO,mBAAA,EAAqB,KAAA,EAAO,mBAAA,EAAmB;AAAA,UACvD,EAAC,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,SAAA,EAAS;AAAA,UACnC,EAAC,KAAA,EAAO,iBAAA,EAAmB,KAAA,EAAO,iBAAA;AAAiB;AACrD,OACF;AAAA,MACA;AAAA,QACE,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,OAAA;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA;AAAA,QACE,IAAA,EAAM,mBAAA;AAAA,QACN,KAAA,EAAO,qBAAA;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,EAAA,EAAI,CAAC,EAAC,IAAA,EAAM,UAAS,CAAA;AAAA,QACrB,WAAA,EAAa,uEAAA;AAAA,QACb,YAAA,EAAc,CAAC,SAAS;AAAA;AAC1B;AACF,GACF;AAAA,EACA;AAAA,IACE,IAAA,EAAM,YAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,WAAA,EAAa,sCAAA;AAAA,IACb,UAAA,EAAY,cAAA;AAAA,IACZ,MAAA,EAAQ;AAAA,MACN;AAAA,QACE,IAAA,EAAM,MAAA;AAAA,QACN,KAAA,EAAO,iBAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA;AAAA,QACE,IAAA,EAAM,KAAA;AAAA,QACN,KAAA,EAAO,gBAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA;AAAA,QACE,IAAA,EAAM,WAAA;AAAA,QACN,KAAA,EAAO,kBAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR;AACF;AAEJ,CAAA;AAoBe,SAAR,qBAAA,CACL,MAAA,GAAsC,EAAC,EACjB;AACtB,EAAA,OAAO,kBAAA;AAAA,IACL;AAAA,MACE,IAAA,EAAM,uBAAA;AAAA,MACN,KAAA,EAAO,cAAA;AAAA,MACP,MAAM,cAAA,CAAe,YAAA;AAAA,MACrB,MAAA,EAAQ,kBAAA;AAAA,MACR,uBAAuB,CAAC,QAAA,KACtB,QAAA,CAAS,IAAA,GACL,GAAG,QAAA,CAAS,IAAI,CAAA,EAAG,QAAA,CAAS,MAAM,CAAA,MAAA,EAAM,QAAA,CAAS,GAAG,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,GAC3D;AAAA,KACR;AAAA,IACA;AAAA,GACF;AACF;;;AChIO,IAAM,aAAA,GAAkC;AAAA,EAC7C,SAAA,CAAU;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,WAAA,EAAa,0BAAA;AAAA,IACb,QAAA,EAAU,EAAC,GAAA,EAAK,cAAA,EAAgB,SAAS,0CAAA;AAA0C,GACpF,CAAA;AAAA,EACD,QAAA,CAAS;AAAA,IACP,KAAA,EAAO,aAAA;AAAA,IACP,WAAA,EAAa,8DAAA;AAAA,IACb,QAAA,EAAU,EAAC,GAAA,EAAK,aAAA,EAAe,SAAS,yCAAA;AAAyC,GAClF,CAAA;AAAA,EACD,gBAAA,CAAiB;AAAA,IACf,WAAA,EAAa;AAAA,GACd,CAAA;AAAA,EACD,eAAA,CAAgB,EAAC,WAAA,EAAa,iDAAA,EAAkD,CAAA;AAAA,EAChF,oBAAA,CAAqB,EAAC,WAAA,EAAa,yDAAA,EAA0D,CAAA;AAAA,EAC7F,qBAAA,CAAsB;AAAA,IACpB,WAAA,EAAa;AAAA,GACd,CAAA;AAAA,EACD,SAAA,CAAU;AAAA,IACR,WAAA,EAAa;AAAA,GACd;AACH,CAAA;AAoBe,SAAR,gBAAA,CACL,MAAA,GAAiC,EAAC,EACZ;AACtB,EAAA,OAAO,kBAAA;AAAA,IACL;AAAA,MACE,IAAA,EAAM,kBAAA;AAAA,MACN,KAAA,EAAO,SAAA;AAAA,MACP,MAAM,cAAA,CAAe,OAAA;AAAA,MACrB,MAAA,EAAQ,aAAA;AAAA,MACR,qBAAA,EAAuB,CAAC,QAAA,KAAmC;AACzD,QAAA,MAAM,OAAO,QAAA,CAAS,IAAA,GAAO,CAAA,EAAG,QAAA,CAAS,IAAI,CAAA,CAAA,GAAK,kBAAA;AAClD,QAAA,MAAM,MAAM,QAAA,CAAS,GAAA,GAAM,CAAA,MAAA,EAAM,QAAA,CAAS,GAAG,CAAA,CAAA,GAAK,EAAA;AAClD,QAAA,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,GAAG,CAAA,CAAA;AAAA,MACtB;AAAA,KACF;AAAA,IACA;AAAA,GACF;AACF;;;ACyCA,IAAM,oBAAA,GAAuB;AAAA,EAC3B,kBAAA;AAAA,EACA,uBAAA;AAAA,EACA,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA,kBAAA;AAAA,EACA,sBAAA;AAAA,EACA,yBAAA;AAAA,EACA,kBAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA,gBAAA;AAAA,EACA,0BAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,wBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,8BAAA;AAAA,EACA,yBAAA;AAAA,EACA,sBAAA;AAAA,EACA,iBAAA;AAAA,EACA,sBAAA;AAAA,EACA,wBAAA;AAAA,EACA,uBAAA;AAAA,EACA,iBAAA;AAAA,EACA,kBAAA;AAAA,EACA,6BAAA;AAAA,EACA,uBAAA;AAAA,EACA,kBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,mBAAA;AAAA,EACA,sBAAA;AAAA,EACA,yBAAA;AAAA,EACA;AACF,CAAA;AAIO,IAAM,sBAAA,GAAyB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC3F,IAAA,EAAM,4CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,gBAAA,CAAuB,MAAyB,CAAC,CAAA;AACpE,CAAA,CAAE;AAEK,IAAM,2BAAA,GAA8B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAChG,IAAA,EAAM,iDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,qBAAA,CAA4B,MAAyB,CAAC,CAAA;AACzE,CAAA,CAAE;AAEK,IAAM,sBAAA,GAAyB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC3F,IAAA,EAAM,4CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,gBAAA,CAAuB,MAAyB,CAAC,CAAA;AACpE,CAAA,CAAE;AAEK,IAAM,qBAAA,GAAwB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC1F,IAAA,EAAM,2CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,eAAA,CAAsB,MAAyB,CAAC,CAAA;AACnE,CAAA,CAAE;AAEK,IAAM,6BAAA,GAAgC,YAAA;AAAA,EAC3C,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,IAChB,IAAA,EAAM,mDAAA;AAAA,IACN,QAAQ,EAAC,KAAA,EAAO,CAAC,uBAAA,CAA8B,MAAyB,CAAC,CAAA;AAAC,GAC5E;AACF;AAEO,IAAM,0BAAA,GAA6B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC/F,IAAA,EAAM,gDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,oBAAA,CAA2B,MAAyB,CAAC,CAAA;AACxE,CAAA,CAAE;AAEK,IAAM,sBAAA,GAAyB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC3F,IAAA,EAAM,4CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,gBAAA,CAAuB,MAAyB,CAAC,CAAA;AACpE,CAAA,CAAE;AAEK,IAAM,0BAAA,GAA6B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC/F,IAAA,EAAM,gDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,oBAAA,CAA2B,MAAyB,CAAC,CAAA;AACxE,CAAA,CAAE;AAEK,IAAM,sBAAA,GAAyB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC3F,IAAA,EAAM,4CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,gBAAA,CAAuB,MAAyB,CAAC,CAAA;AACpE,CAAA,CAAE;AAEK,IAAM,oBAAA,GAAuB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACzF,IAAA,EAAM,0CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,cAAA,CAAqB,MAAyB,CAAC,CAAA;AAClE,CAAA,CAAE;AAEK,IAAM,sBAAA,GAAyB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC3F,IAAA,EAAM,4CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,gBAAA,CAAuB,MAAyB,CAAC,CAAA;AACpE,CAAA,CAAE;AAEK,IAAM,oBAAA,GAAuB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACzF,IAAA,EAAM,0CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,cAAA,CAAqB,MAAyB,CAAC,CAAA;AAClE,CAAA,CAAE;AAEK,IAAM,8BAAA,GAAiC,YAAA;AAAA,EAC5C,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,IAChB,IAAA,EAAM,oDAAA;AAAA,IACN,QAAQ,EAAC,KAAA,EAAO,CAAC,wBAAA,CAA+B,MAAyB,CAAC,CAAA;AAAC,GAC7E;AACF;AAEO,IAAM,qBAAA,GAAwB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC1F,IAAA,EAAM,2CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,eAAA,CAAsB,MAAyB,CAAC,CAAA;AACnE,CAAA,CAAE;AAEK,IAAM,oBAAA,GAAuB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACzF,IAAA,EAAM,0CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,cAAA,CAAqB,MAAyB,CAAC,CAAA;AAClE,CAAA,CAAE;AAEK,IAAM,4BAAA,GAA+B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACjG,IAAA,EAAM,kDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,sBAAA,CAA6B,MAAyB,CAAC,CAAA;AAC1E,CAAA,CAAE;AAEK,IAAM,4BAAA,GAA+B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACjG,IAAA,EAAM,kDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,sBAAA,CAA6B,MAAyB,CAAC,CAAA;AAC1E,CAAA,CAAE;AAEK,IAAM,2BAAA,GAA8B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAChG,IAAA,EAAM,iDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,qBAAA,CAA4B,MAAyB,CAAC,CAAA;AACzE,CAAA,CAAE;AAEK,IAAM,kCAAA,GAAqC,YAAA;AAAA,EAChD,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,IAChB,IAAA,EAAM,wDAAA;AAAA,IACN,QAAQ,EAAC,KAAA,EAAO,CAAC,4BAAA,CAAmC,MAAyB,CAAC,CAAA;AAAC,GACjF;AACF;AAEO,IAAM,6BAAA,GAAgC,YAAA;AAAA,EAC3C,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,IAChB,IAAA,EAAM,mDAAA;AAAA,IACN,QAAQ,EAAC,KAAA,EAAO,CAAC,uBAAA,CAA8B,MAAyB,CAAC,CAAA;AAAC,GAC5E;AACF;AAEO,IAAM,oBAAA,GAAuB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACzF,IAAA,EAAM,0CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,cAAA,CAAqB,MAAyB,CAAC,CAAA;AAClE,CAAA,CAAE;AAEK,IAAM,oBAAA,GAAuB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACzF,IAAA,EAAM,0CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,cAAA,CAAqB,MAAyB,CAAC,CAAA;AAClE,CAAA,CAAE;AAEK,IAAM,0BAAA,GAA6B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC/F,IAAA,EAAM,gDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,oBAAA,CAA2B,MAAyB,CAAC,CAAA;AACxE,CAAA,CAAE;AAEK,IAAM,qBAAA,GAAwB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC1F,IAAA,EAAM,2CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,eAAA,CAAsB,MAAyB,CAAC,CAAA;AACnE,CAAA,CAAE;AAEK,IAAM,qBAAA,GAAwB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC1F,IAAA,EAAM,2CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,eAAA,CAAsB,MAAyB,CAAC,CAAA;AACnE,CAAA,CAAE;AAEK,IAAM,sBAAA,GAAyB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC3F,IAAA,EAAM,4CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,gBAAA,CAAuB,MAAyB,CAAC,CAAA;AACpE,CAAA,CAAE;AAEK,IAAM,iCAAA,GAAoC,YAAA;AAAA,EAC/C,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,IAChB,IAAA,EAAM,uDAAA;AAAA,IACN,QAAQ,EAAC,KAAA,EAAO,CAAC,2BAAA,CAAkC,MAAyB,CAAC,CAAA;AAAC,GAChF;AACF;AAEO,IAAM,2BAAA,GAA8B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAChG,IAAA,EAAM,iDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,qBAAA,CAA4B,MAAyB,CAAC,CAAA;AACzE,CAAA,CAAE;AAEK,IAAM,sBAAA,GAAyB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC3F,IAAA,EAAM,4CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,gBAAA,CAAuB,MAAyB,CAAC,CAAA;AACpE,CAAA,CAAE;AAEK,IAAM,yBAAA,GAA4B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC9F,IAAA,EAAM,+CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,mBAAA,CAA0B,MAAyB,CAAC,CAAA;AACvE,CAAA,CAAE;AAEK,IAAM,yBAAA,GAA4B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC9F,IAAA,EAAM,+CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,mBAAA,CAA0B,MAAyB,CAAC,CAAA;AACvE,CAAA,CAAE;AAEK,IAAM,oBAAA,GAAuB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACzF,IAAA,EAAM,0CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,cAAA,CAAqB,MAAyB,CAAC,CAAA;AAClE,CAAA,CAAE;AAEK,IAAM,mBAAA,GAAsB,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EACxF,IAAA,EAAM,yCAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,aAAA,CAAoB,MAAyB,CAAC,CAAA;AACjE,CAAA,CAAE;AAEK,IAAM,0BAAA,GAA6B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC/F,IAAA,EAAM,gDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,oBAAA,CAA2B,MAAyB,CAAC,CAAA;AACxE,CAAA,CAAE;AAEK,IAAM,uBAAA,GAA0B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC5F,IAAA,EAAM,6CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,iBAAA,CAAwB,MAAyB,CAAC,CAAA;AACrE,CAAA,CAAE;AAEK,IAAM,0BAAA,GAA6B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC/F,IAAA,EAAM,gDAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,oBAAA,CAA2B,MAAyB,CAAC,CAAA;AACxE,CAAA,CAAE;AAEK,IAAM,6BAAA,GAAgC,YAAA;AAAA,EAC3C,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,IAChB,IAAA,EAAM,mDAAA;AAAA,IACN,QAAQ,EAAC,KAAA,EAAO,CAAC,uBAAA,CAA8B,MAAyB,CAAC,CAAA;AAAC,GAC5E;AACF;AAEO,IAAM,yBAAA,GAA4B,YAAA,CAAqC,CAAC,MAAA,GAAS,EAAC,MAAO;AAAA,EAC9F,IAAA,EAAM,+CAAA;AAAA,EACN,QAAQ,EAAC,KAAA,EAAO,CAAC,mBAAA,CAA0B,MAAyB,CAAC,CAAA;AACvE,CAAA,CAAE;AAiBK,IAAM,SAAA,GAAY,YAAA,CAA6C,CAAC,MAAA,GAAS,EAAC,KAAM;AACrF,EAAA,MAAM,CAAA,GAAI,MAAA;AACV,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,oCAAA;AAAA,IACN,MAAA,EAAQ;AAAA,MACN,KAAA,EAAO;AAAA,QACL,gBAAA,CAAuB,EAAE,OAAO,CAAA;AAAA,QAChC,qBAAA,CAA4B,EAAE,YAAY,CAAA;AAAA,QAC1C,gBAAA,CAAuB,EAAE,OAAO,CAAA;AAAA,QAChC,eAAA,CAAsB,EAAE,MAAM,CAAA;AAAA,QAC9B,uBAAA,CAA8B,EAAE,cAAc,CAAA;AAAA,QAC9C,oBAAA,CAA2B,EAAE,WAAW,CAAA;AAAA,QACxC,gBAAA,CAAuB,EAAE,OAAO,CAAA;AAAA,QAChC,oBAAA,CAA2B,EAAE,WAAW,CAAA;AAAA,QACxC,gBAAA,CAAuB,EAAE,OAAO,CAAA;AAAA,QAChC,cAAA,CAAqB,EAAE,KAAK,CAAA;AAAA,QAC5B,gBAAA,CAAuB,EAAE,OAAO,CAAA;AAAA,QAChC,cAAA,CAAqB,EAAE,KAAK,CAAA;AAAA,QAC5B,wBAAA,CAA+B,EAAE,eAAe,CAAA;AAAA,QAChD,eAAA,CAAsB,EAAE,MAAM,CAAA;AAAA,QAC9B,cAAA,CAAqB,EAAE,KAAK,CAAA;AAAA,QAC5B,sBAAA,CAA6B,EAAE,aAAa,CAAA;AAAA,QAC5C,sBAAA,CAA6B,EAAE,aAAa,CAAA;AAAA,QAC5C,qBAAA,CAA4B,EAAE,YAAY,CAAA;AAAA,QAC1C,4BAAA,CAAmC,EAAE,mBAAmB,CAAA;AAAA,QACxD,uBAAA,CAA8B,EAAE,cAAc,CAAA;AAAA,QAC9C,cAAA,CAAqB,EAAE,KAAK,CAAA;AAAA,QAC5B,cAAA,CAAqB,EAAE,KAAK,CAAA;AAAA,QAC5B,oBAAA,CAA2B,EAAE,WAAW,CAAA;AAAA,QACxC,eAAA,CAAsB,EAAE,MAAM,CAAA;AAAA,QAC9B,eAAA,CAAsB,EAAE,MAAM,CAAA;AAAA,QAC9B,gBAAA,CAAuB,EAAE,OAAO,CAAA;AAAA,QAChC,2BAAA,CAAkC,EAAE,kBAAkB,CAAA;AAAA,QACtD,qBAAA,CAA4B,EAAE,YAAY,CAAA;AAAA,QAC1C,gBAAA,CAAuB,EAAE,OAAO,CAAA;AAAA,QAChC,mBAAA,CAA0B,EAAE,UAAU,CAAA;AAAA,QACtC,mBAAA,CAA0B,EAAE,UAAU,CAAA;AAAA,QACtC,cAAA,CAAqB,EAAE,KAAK,CAAA;AAAA,QAC5B,aAAA,CAAoB,EAAE,IAAI,CAAA;AAAA,QAC1B,oBAAA,CAA2B,EAAE,WAAW,CAAA;AAAA,QACxC,iBAAA,CAAwB,EAAE,QAAQ,CAAA;AAAA,QAClC,oBAAA,CAA2B,EAAE,WAAW,CAAA;AAAA,QACxC,uBAAA,CAA8B,EAAE,cAAc,CAAA;AAAA,QAC9C,mBAAA,CAA0B,EAAE,UAAU,CAAA;AAAA;AAAA,QAEtC,UAAA,CAAW;AAAA,UACT,IAAA,EAAM,WAAA;AAAA,UACN,KAAA,EAAO,4BAAA;AAAA,UACP,IAAA,EAAM,OAAA;AAAA,UACN,IAAI,oBAAA,CAAqB,GAAA,CAAI,CAAC,IAAA,MAAU,EAAC,MAAI,CAAE,CAAA;AAAA,UAC/C,UAAA,EAAY;AAAA,YACV,KAAA,EAAO;AAAA;AACT,SACD;AAAA;AACH;AACF,GACF;AACF,CAAC","file":"schema.js","sourcesContent":["/**\n * Metadata for Schema.org types — used by the TypePickerInput.\n * Each entry describes a type for the visual picker UI.\n */\n\nexport type SchemaTypeCategory =\n | 'content'\n | 'commerce'\n | 'media'\n | 'people'\n | 'navigation'\n | 'location'\n | 'software'\n | 'education'\n\nexport interface SchemaTypeInfo {\n /** Internal Sanity type name, e.g. \"schemaOrgArticle\" */\n type: string\n /** Display title */\n title: string\n /** Short description shown in the picker */\n description: string\n /** Category for grouping */\n category: SchemaTypeCategory\n /** Search keywords (matched in addition to title) */\n keywords: string[]\n}\n\nexport const CATEGORY_LABELS: Record<SchemaTypeCategory, string> = {\n content: 'Content & Pages',\n commerce: 'Commerce & Reviews',\n media: 'Media',\n people: 'People & Organizations',\n navigation: 'Navigation',\n location: 'Location & Events',\n software: 'Software',\n education: 'Education',\n}\n\nexport const CATEGORY_ORDER: SchemaTypeCategory[] = [\n 'content',\n 'commerce',\n 'people',\n 'media',\n 'navigation',\n 'location',\n 'software',\n 'education',\n]\n\nexport const SCHEMA_TYPE_METADATA: SchemaTypeInfo[] = [\n // ─── Content & Pages ──────────────────────────────────────────────\n {\n type: 'schemaOrgWebsite',\n title: 'Website',\n description: 'Represents an entire website with search action support.',\n category: 'content',\n keywords: ['site', 'homepage', 'search action'],\n },\n {\n type: 'schemaOrgWebPage',\n title: 'Web Page',\n description: 'A single web page with metadata and publisher info.',\n category: 'content',\n keywords: ['page', 'about', 'contact', 'landing'],\n },\n {\n type: 'schemaOrgArticle',\n title: 'Article',\n description: 'News articles, blog posts, and editorial content.',\n category: 'content',\n keywords: ['news', 'blog', 'post', 'editorial', 'story'],\n },\n {\n type: 'schemaOrgBlogPosting',\n title: 'Blog Posting',\n description: 'Blog post with author, date, and content metadata.',\n category: 'content',\n keywords: ['blog', 'post', 'writing'],\n },\n {\n type: 'schemaOrgFAQPage',\n title: 'FAQ Page',\n description: 'Frequently asked questions with rich result support.',\n category: 'content',\n keywords: ['faq', 'questions', 'answers', 'help'],\n },\n {\n type: 'schemaOrgHowTo',\n title: 'How-To',\n description: 'Step-by-step instructions with supplies, tools, and costs.',\n category: 'content',\n keywords: ['tutorial', 'guide', 'steps', 'instructions', 'diy'],\n },\n {\n type: 'schemaOrgRecipe',\n title: 'Recipe',\n description: 'Cooking recipes with ingredients, nutrition, and times.',\n category: 'content',\n keywords: ['cooking', 'food', 'ingredients', 'nutrition', 'meal'],\n },\n {\n type: 'schemaOrgSocialMediaPosting',\n title: 'Social Media Posting',\n description: 'Social media content with shared links and engagement.',\n category: 'content',\n keywords: ['social', 'post', 'share', 'twitter', 'facebook'],\n },\n\n // ─── Commerce & Reviews ───────────────────────────────────────────\n {\n type: 'schemaOrgProduct',\n title: 'Product',\n description: 'Products with pricing, ratings, and availability.',\n category: 'commerce',\n keywords: ['ecommerce', 'shop', 'buy', 'price', 'store'],\n },\n {\n type: 'schemaOrgOffer',\n title: 'Offer',\n description: 'Pricing and availability for products or services.',\n category: 'commerce',\n keywords: ['price', 'deal', 'discount', 'availability'],\n },\n {\n type: 'schemaOrgAggregateRating',\n title: 'Aggregate Rating',\n description: 'Overall rating from multiple reviews.',\n category: 'commerce',\n keywords: ['stars', 'rating', 'score', 'average'],\n },\n {\n type: 'schemaOrgReview',\n title: 'Review',\n description: 'Individual review with rating and author.',\n category: 'commerce',\n keywords: ['feedback', 'testimonial', 'rating', 'critique'],\n },\n {\n type: 'schemaOrgBrand',\n title: 'Brand',\n description: 'Brand identity and recognition.',\n category: 'commerce',\n keywords: ['brand', 'label', 'manufacturer'],\n },\n {\n type: 'schemaOrgService',\n title: 'Service',\n description: 'Professional services with provider and catalog.',\n category: 'commerce',\n keywords: ['consulting', 'professional', 'provider', 'catalog'],\n },\n\n // ─── People & Organizations ───────────────────────────────────────\n {\n type: 'schemaOrgPerson',\n title: 'Person',\n description: 'Individual profile with contact info and social links.',\n category: 'people',\n keywords: ['author', 'profile', 'employee', 'contact'],\n },\n {\n type: 'schemaOrgOrganization',\n title: 'Organization',\n description: 'Company or organization with departments and contacts.',\n category: 'people',\n keywords: ['company', 'business', 'corporation', 'ngo'],\n },\n {\n type: 'schemaOrgLocalBusiness',\n title: 'Local Business',\n description: 'Local business with hours, location, and reviews.',\n category: 'people',\n keywords: ['store', 'restaurant', 'shop', 'local', 'maps'],\n },\n {\n type: 'schemaOrgContactPoint',\n title: 'Contact Point',\n description: 'Contact information — phone, email, languages.',\n category: 'people',\n keywords: ['phone', 'email', 'support', 'helpdesk'],\n },\n {\n type: 'schemaOrgPostalAddress',\n title: 'Postal Address',\n description: 'Physical mailing address.',\n category: 'people',\n keywords: ['address', 'street', 'zip', 'city', 'mailing'],\n },\n\n // ─── Media ────────────────────────────────────────────────────────\n {\n type: 'schemaOrgImageObject',\n title: 'Image Object',\n description: 'Image with metadata, author, and location.',\n category: 'media',\n keywords: ['photo', 'picture', 'graphic', 'illustration'],\n },\n {\n type: 'schemaOrgVideoObject',\n title: 'Video Object',\n description: 'Video with thumbnails, duration, and seek actions.',\n category: 'media',\n keywords: ['video', 'youtube', 'vimeo', 'clip', 'film'],\n },\n\n // ─── Navigation ───────────────────────────────────────────────────\n {\n type: 'schemaOrgBreadcrumbList',\n title: 'Breadcrumb List',\n description: 'Page hierarchy breadcrumb trail for navigation.',\n category: 'navigation',\n keywords: ['breadcrumb', 'path', 'hierarchy', 'trail'],\n },\n\n // ─── Location & Events ────────────────────────────────────────────\n {\n type: 'schemaOrgEvent',\n title: 'Event',\n description: 'Events with dates, location, and organizer.',\n category: 'location',\n keywords: ['conference', 'meetup', 'webinar', 'concert'],\n },\n {\n type: 'schemaOrgPlace',\n title: 'Place',\n description: 'A physical location with address.',\n category: 'location',\n keywords: ['venue', 'location', 'landmark', 'spot'],\n },\n {\n type: 'schemaOrgCountry',\n title: 'Country',\n description: 'A country (extends Place) — useful for geographic targeting.',\n category: 'location',\n keywords: ['country', 'nation', 'geography', 'region'],\n },\n {\n type: 'schemaOrgLegalService',\n title: 'Legal Service',\n description: 'Law firm or legal practice (extends LocalBusiness).',\n category: 'people',\n keywords: ['law', 'lawyer', 'attorney', 'firm', 'legal'],\n },\n\n // ─── Software ─────────────────────────────────────────────────────\n {\n type: 'schemaOrgSoftwareApplication',\n title: 'Software Application',\n description: 'Desktop or mobile application.',\n category: 'software',\n keywords: ['app', 'tool', 'program', 'desktop', 'mobile'],\n },\n {\n type: 'schemaOrgWebApplication',\n title: 'Web Application',\n description: 'Web-based application or SaaS tool.',\n category: 'software',\n keywords: ['webapp', 'saas', 'online', 'cloud'],\n },\n\n // ─── Education ────────────────────────────────────────────────────\n {\n type: 'schemaOrgCourse',\n title: 'Course',\n description: 'Educational course with provider info.',\n category: 'education',\n keywords: ['learning', 'class', 'training', 'workshop', 'tutorial'],\n },\n\n // ─── New Schema Types ──────────────────────────────────────────────\n {\n type: 'schemaOrgJobPosting',\n title: 'Job Posting',\n description: 'A job listing with salary, location, and requirements.',\n category: 'people',\n keywords: ['job', 'career', 'hiring', 'employment', 'vacancy', 'work'],\n },\n {\n type: 'schemaOrgRestaurant',\n title: 'Restaurant',\n description: 'A restaurant or dining establishment.',\n category: 'commerce',\n keywords: ['restaurant', 'dining', 'food', 'cuisine', 'eatery'],\n },\n {\n type: 'schemaOrgMovie',\n title: 'Movie',\n description: 'A movie or film with cast and crew details.',\n category: 'media',\n keywords: ['movie', 'film', 'cinema', 'motion picture'],\n },\n {\n type: 'schemaOrgBook',\n title: 'Book',\n description: 'A book, e-book, or audiobook publication.',\n category: 'commerce',\n keywords: ['book', 'ebook', 'publication', 'novel', 'isbn'],\n },\n {\n type: 'schemaOrgNewsArticle',\n title: 'News Article',\n description: 'A news story — distinct from generic Article for news publishers.',\n category: 'content',\n keywords: ['news', 'journalism', 'press', 'story', 'report'],\n },\n {\n type: 'schemaOrgItemList',\n title: 'Item List',\n description: 'An ordered or unordered list of items (carousel).',\n category: 'navigation',\n keywords: ['list', 'carousel', 'items', 'collection'],\n },\n {\n type: 'schemaOrgProfilePage',\n title: 'Profile Page',\n description: 'A profile page for a person or organization.',\n category: 'content',\n keywords: ['profile', 'about', 'bio', 'author', 'creator'],\n },\n {\n type: 'schemaOrgMusicRecording',\n title: 'Music Recording',\n description: 'An individual song or music track.',\n category: 'media',\n keywords: ['song', 'track', 'music', 'recording', 'single'],\n },\n {\n type: 'schemaOrgMusicAlbum',\n title: 'Music Album',\n description: 'A music album or collection of tracks.',\n category: 'media',\n keywords: ['album', 'music', 'record', 'lp', 'ep', 'release'],\n },\n]\n","/* eslint-disable react/jsx-no-bind */\n/**\n * TypePickerInput — a modern command-palette style selector for Sanity array types.\n *\n * Replaces the default Sanity array \"Add\" button with a searchable, categorized\n * type picker dialog. Used by the `schemaOrg` combined array type.\n */\nimport {AddIcon, SearchIcon} from '@sanity/icons'\nimport {Box, Button, Card, Dialog, Flex, Grid, Heading, Stack, Text, TextInput} from '@sanity/ui'\nimport {type ChangeEvent, type ComponentType, JSX, useCallback, useMemo, useState} from 'react'\nimport type {ArrayInputFunctionsProps, ArraySchemaType} from 'sanity'\nimport type {InputProps} from 'sanity'\n\nimport {\n CATEGORY_LABELS,\n CATEGORY_ORDER,\n SCHEMA_TYPE_METADATA,\n type SchemaTypeCategory,\n type SchemaTypeInfo,\n} from './schemaTypeMetadata'\n\n// ─── Search Helpers ───────────────────────────────────────────────────────────\n\nfunction matchesSearch(info: SchemaTypeInfo, query: string): boolean {\n const q = query.toLowerCase()\n return (\n info.title.toLowerCase().includes(q) ||\n info.description.toLowerCase().includes(q) ||\n info.keywords.some((kw) => kw.toLowerCase().includes(q))\n )\n}\n\nfunction groupByCategory(items: SchemaTypeInfo[]): Map<SchemaTypeCategory, SchemaTypeInfo[]> {\n const map = new Map<SchemaTypeCategory, SchemaTypeInfo[]>()\n for (const cat of CATEGORY_ORDER) {\n const matches = items.filter((i) => i.category === cat)\n if (matches.length) map.set(cat, matches)\n }\n return map\n}\n\n// ─── Inner ArrayFunctions Component ───────────────────────────────────────────\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction TypeArrayFunctions(props: ArrayInputFunctionsProps<any, ArraySchemaType<any>>) {\n const {onValueCreate, schemaType, onItemAppend} = props\n const [open, setOpen] = useState(false)\n const [search, setSearch] = useState('')\n\n const onClose = useCallback(() => {\n setOpen(false)\n setSearch('')\n }, [])\n const onOpen = useCallback(() => setOpen(true), [])\n const handleSearchChange = useCallback((e: ChangeEvent<HTMLInputElement>) => {\n setSearch(e.currentTarget.value)\n }, [])\n\n // Map available schema types to their metadata\n const availableTypes = useMemo(() => {\n const typeNames = new Set(schemaType.of.map((t) => t.name))\n return SCHEMA_TYPE_METADATA.filter((m) => typeNames.has(m.type))\n }, [schemaType.of])\n\n // Filter by search query\n const filtered = useMemo(\n () => (search ? availableTypes.filter((t) => matchesSearch(t, search)) : availableTypes),\n [availableTypes, search],\n )\n\n const grouped = useMemo(() => groupByCategory(filtered), [filtered])\n\n const handleSelect = useCallback(\n (typeName: string) => {\n const schemaItem = schemaType.of.find((t) => t.name === typeName)\n if (schemaItem) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const value = onValueCreate(schemaItem as any)\n onItemAppend(value)\n }\n onClose()\n },\n [schemaType.of, onValueCreate, onItemAppend, onClose],\n )\n\n const handleCardClick = useCallback((typeName: string) => handleSelect(typeName), [handleSelect])\n\n return (\n <Stack space={4}>\n <Button icon={AddIcon} text=\"Add Schema Type\" mode=\"ghost\" onClick={onOpen} />\n\n {open && (\n <Dialog\n header=\"Add Schema.org Type\"\n id=\"schema-type-picker\"\n onClose={onClose}\n zOffset={1000}\n width={1}\n >\n <Box padding={4}>\n <Stack space={4}>\n {/* Search Input */}\n <TextInput\n icon={SearchIcon}\n placeholder=\"Search schema types…\"\n value={search}\n onChange={handleSearchChange}\n autoFocus\n />\n\n {/* Type Grid by Category */}\n {grouped.size === 0 ? (\n <Card padding={4} tone=\"transparent\">\n <Flex align=\"center\" justify=\"center\">\n <Text muted size={1}>\n No matching schema types found.\n </Text>\n </Flex>\n </Card>\n ) : (\n <Stack space={5}>\n {Array.from(grouped.entries()).map(([category, types]) => (\n <Stack key={category} space={3}>\n <Heading\n size={0}\n style={{textTransform: 'uppercase', letterSpacing: '0.05em'}}\n >\n {CATEGORY_LABELS[category]}\n </Heading>\n <Grid columns={[1, 1, 2]} gap={2}>\n {types.map((info) => {\n const schemaItem = schemaType.of.find((t) => t.name === info.type)\n const Icon = schemaItem?.icon as ComponentType | undefined\n return (\n <Card\n key={info.type}\n as=\"button\"\n padding={3}\n radius={2}\n shadow={1}\n tone=\"default\"\n onClick={() => handleCardClick(info.type)}\n style={{cursor: 'pointer', textAlign: 'left'}}\n >\n <Flex gap={3} align=\"flex-start\">\n {Icon && (\n <Box style={{flexShrink: 0, marginTop: 2}}>\n <Text size={2}>\n <Icon />\n </Text>\n </Box>\n )}\n <Stack space={2}>\n <Text weight=\"semibold\" size={1}>\n {info.title}\n </Text>\n <Text muted size={0}>\n {info.description}\n </Text>\n </Stack>\n </Flex>\n </Card>\n )\n })}\n </Grid>\n </Stack>\n ))}\n </Stack>\n )}\n </Stack>\n </Box>\n </Dialog>\n )}\n </Stack>\n )\n}\n\n// ─── Public Wrapper ───────────────────────────────────────────────────────────\n\n/**\n * Custom input component for the `schemaOrg` array type.\n *\n * Wraps the default array input and injects the `TypeArrayFunctions`\n * component for a categorized, searchable type picker experience.\n *\n * @example Usage in `schemaOrg.ts`:\n * ```ts\n * defineType({\n * name: 'schemaOrg',\n * type: 'array',\n * components: { input: TypePickerInput },\n * // ...\n * })\n * ```\n */\nexport default function TypePickerInput(props: InputProps): JSX.Element {\n const {renderDefault} = props\n return <Stack space={3}>{renderDefault({...props, arrayFunctions: TypeArrayFunctions})}</Stack>\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {nameField} from '../_shared'\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgOrganizationConfig, SchemaOrgOrganizationData} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const organizationFields: SchemaFieldDef[] = [\n nameField({\n title: 'Organization Name',\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: 'alternateName',\n title: 'Alternate Name',\n type: 'string',\n description: 'An alias or alternate name for the organization.',\n },\n {\n name: 'sameAs',\n title: 'Same As URL',\n type: 'url',\n description:\n 'URLs of social media profiles and other authoritative pages (Twitter, LinkedIn, GitHub, etc.).',\n urlValidation: {schemes: ['http', 'https']},\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 name: 'department',\n title: 'Departments',\n type: 'array',\n description: 'Departments within the organization.',\n jsonLdType: 'Organization',\n fields: [\n {\n name: 'name',\n title: 'Department Name',\n type: 'string',\n },\n {\n name: 'url',\n title: 'Department URL',\n type: 'url',\n },\n {\n name: 'telephone',\n title: 'Department Phone',\n type: 'string',\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: 'Organization',\n icon: SchemaOrgIcons.organization,\n fields: organizationFields,\n customPrepareSubtitle: (document: SchemaOrgOrganizationData) =>\n document.name\n ? `${document.name}${document.url ? ` · ${document.url}` : ''}`\n : 'Untitled organization',\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {\n descriptionField,\n inLanguageField,\n issnField,\n nameField,\n polymorphicPublisher,\n potentialActionSearch,\n urlField,\n // withCreativeWorkCommons,\n} from '../_shared'\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgWebsiteConfig, SchemaOrgWebsiteData} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const websiteFields: SchemaFieldDef[] = [\n nameField({\n title: 'Website Name',\n description: 'The name of the website.',\n required: {key: 'nameRequired', message: 'Website name is required for Schema.org.'},\n }),\n urlField({\n title: 'Website 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 descriptionField({\n description: 'A short description of the website.',\n }),\n inLanguageField({description: 'The language of the website content, e.g. \"en\".'}),\n polymorphicPublisher({description: 'The organization or person that publishes this website.'}),\n potentialActionSearch({\n description: 'Enables the sitelinks search box in Google. Configure the search URL template.',\n }),\n issnField({\n description: 'The ISSN (International Standard Serial Number) of the website, if applicable.',\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: 'Website',\n icon: SchemaOrgIcons.website,\n fields: websiteFields,\n customPrepareSubtitle: (document: SchemaOrgWebsiteData) => {\n const name = document.name ? `${document.name}` : 'Untitled website'\n const url = document.url ? ` · ${document.url}` : ''\n return `${name}${url}`\n },\n },\n config as SchemaOrgConfig,\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 schemaOrgBookSchema from './book/schema'\nimport schemaOrgBrandSchema from './brand/schema'\nimport schemaOrgBreadcrumbListSchema from './breadcrumbList/schema'\nimport TypePickerInput from './components/TypePickerInput'\nimport schemaOrgContactPointSchema from './contactPoint/schema'\nimport schemaOrgCountrySchema from './country/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 schemaOrgItemListSchema from './itemList/schema'\nimport schemaOrgJobPostingSchema from './jobPosting/schema'\nimport schemaOrgLegalServiceSchema from './legalService/schema'\nimport schemaOrgLocalBusinessSchema from './localBusiness/schema'\nimport schemaOrgMovieSchema from './movie/schema'\nimport schemaOrgMusicAlbumSchema from './musicAlbum/schema'\nimport schemaOrgMusicRecordingSchema from './musicRecording/schema'\nimport schemaOrgNewsArticleSchema from './newsArticle/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 schemaOrgProfilePageSchema from './profilePage/schema'\nimport schemaOrgRecipeSchema from './recipe/schema'\nimport schemaOrgRestaurantSchema from './restaurant/schema'\nimport schemaOrgReviewSchema from './review/schema'\nimport schemaOrgServiceSchema from './service/schema'\nimport schemaOrgSocialMediaPostingSchema from './socialMediaPosting/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 recipe?: SchemaOrgConfig\n service?: SchemaOrgConfig\n socialMediaPosting?: SchemaOrgConfig\n legalService?: SchemaOrgConfig\n country?: SchemaOrgConfig\n jobPosting?: SchemaOrgConfig\n restaurant?: SchemaOrgConfig\n movie?: SchemaOrgConfig\n book?: SchemaOrgConfig\n newsArticle?: SchemaOrgConfig\n itemList?: SchemaOrgConfig\n profilePage?: SchemaOrgConfig\n musicRecording?: SchemaOrgConfig\n musicAlbum?: 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 'schemaOrgRecipe',\n 'schemaOrgService',\n 'schemaOrgSocialMediaPosting',\n 'schemaOrgLegalService',\n 'schemaOrgCountry',\n 'schemaOrgJobPosting',\n 'schemaOrgRestaurant',\n 'schemaOrgMovie',\n 'schemaOrgBook',\n 'schemaOrgNewsArticle',\n 'schemaOrgItemList',\n 'schemaOrgProfilePage',\n 'schemaOrgMusicRecording',\n 'schemaOrgMusicAlbum',\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\nexport const schemaOrgRecipePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-recipe',\n schema: {types: [schemaOrgRecipeSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgServicePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-service',\n schema: {types: [schemaOrgServiceSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgSocialMediaPostingPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-socialmediaposting',\n schema: {types: [schemaOrgSocialMediaPostingSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgLegalServicePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-legalservice',\n schema: {types: [schemaOrgLegalServiceSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgCountryPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-country',\n schema: {types: [schemaOrgCountrySchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgJobPostingPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-jobposting',\n schema: {types: [schemaOrgJobPostingSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgRestaurantPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-restaurant',\n schema: {types: [schemaOrgRestaurantSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgMoviePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-movie',\n schema: {types: [schemaOrgMovieSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgBookPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-book',\n schema: {types: [schemaOrgBookSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgNewsArticlePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-newsarticle',\n schema: {types: [schemaOrgNewsArticleSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgItemListPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-itemlist',\n schema: {types: [schemaOrgItemListSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgProfilePagePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-profilepage',\n schema: {types: [schemaOrgProfilePageSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgMusicRecordingPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-musicrecording',\n schema: {types: [schemaOrgMusicRecordingSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgMusicAlbumPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-musicalbum',\n schema: {types: [schemaOrgMusicAlbumSchema(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 schemaOrgRecipeSchema(c.recipe),\n schemaOrgServiceSchema(c.service),\n schemaOrgSocialMediaPostingSchema(c.socialMediaPosting),\n schemaOrgLegalServiceSchema(c.legalService),\n schemaOrgCountrySchema(c.country),\n schemaOrgJobPostingSchema(c.jobPosting),\n schemaOrgRestaurantSchema(c.restaurant),\n schemaOrgMovieSchema(c.movie),\n schemaOrgBookSchema(c.book),\n schemaOrgNewsArticleSchema(c.newsArticle),\n schemaOrgItemListSchema(c.itemList),\n schemaOrgProfilePageSchema(c.profilePage),\n schemaOrgMusicRecordingSchema(c.musicRecording),\n schemaOrgMusicAlbumSchema(c.musicAlbum),\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 components: {\n input: TypePickerInput,\n },\n }),\n ],\n },\n }\n})\n"]}
1
+ {"version":3,"sources":["../src/schema/components/schemaTypeMetadata.ts","../src/schema/components/TypePickerInput.tsx","../src/schema/organization/schema.ts","../src/schema/website/schema.ts","../src/schema/schemaOrg.ts"],"names":[],"mappings":"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","file":"schema.js","sourcesContent":["/**\n * Metadata for Schema.org types — used by the TypePickerInput.\n * Each entry describes a type for the visual picker UI.\n */\n\nexport type SchemaTypeCategory =\n | 'content'\n | 'commerce'\n | 'media'\n | 'people'\n | 'navigation'\n | 'location'\n | 'software'\n | 'education'\n\nexport interface SchemaTypeInfo {\n /** Internal Sanity type name, e.g. \"schemaOrgArticle\" */\n type: string\n /** Display title */\n title: string\n /** Short description shown in the picker */\n description: string\n /** Category for grouping */\n category: SchemaTypeCategory\n /** Search keywords (matched in addition to title) */\n keywords: string[]\n}\n\nexport const CATEGORY_LABELS: Record<SchemaTypeCategory, string> = {\n content: 'Content & Pages',\n commerce: 'Commerce & Reviews',\n media: 'Media',\n people: 'People & Organizations',\n navigation: 'Navigation',\n location: 'Location & Events',\n software: 'Software',\n education: 'Education',\n}\n\nexport const CATEGORY_ORDER: SchemaTypeCategory[] = [\n 'content',\n 'commerce',\n 'people',\n 'media',\n 'navigation',\n 'location',\n 'software',\n 'education',\n]\n\nexport const SCHEMA_TYPE_METADATA: SchemaTypeInfo[] = [\n // ─── Content & Pages ──────────────────────────────────────────────\n {\n type: 'schemaOrgWebsite',\n title: 'Website',\n description: 'Represents an entire website with search action support.',\n category: 'content',\n keywords: ['site', 'homepage', 'search action'],\n },\n {\n type: 'schemaOrgWebPage',\n title: 'Web Page',\n description: 'A single web page with metadata and publisher info.',\n category: 'content',\n keywords: ['page', 'about', 'contact', 'landing'],\n },\n {\n type: 'schemaOrgArticle',\n title: 'Article',\n description: 'News articles, blog posts, and editorial content.',\n category: 'content',\n keywords: ['news', 'blog', 'post', 'editorial', 'story'],\n },\n {\n type: 'schemaOrgBlogPosting',\n title: 'Blog Posting',\n description: 'Blog post with author, date, and content metadata.',\n category: 'content',\n keywords: ['blog', 'post', 'writing'],\n },\n {\n type: 'schemaOrgFAQPage',\n title: 'FAQ Page',\n description: 'Frequently asked questions with rich result support.',\n category: 'content',\n keywords: ['faq', 'questions', 'answers', 'help'],\n },\n {\n type: 'schemaOrgHowTo',\n title: 'How-To',\n description: 'Step-by-step instructions with supplies, tools, and costs.',\n category: 'content',\n keywords: ['tutorial', 'guide', 'steps', 'instructions', 'diy'],\n },\n {\n type: 'schemaOrgRecipe',\n title: 'Recipe',\n description: 'Cooking recipes with ingredients, nutrition, and times.',\n category: 'content',\n keywords: ['cooking', 'food', 'ingredients', 'nutrition', 'meal'],\n },\n {\n type: 'schemaOrgSocialMediaPosting',\n title: 'Social Media Posting',\n description: 'Social media content with shared links and engagement.',\n category: 'content',\n keywords: ['social', 'post', 'share', 'twitter', 'facebook'],\n },\n\n // ─── Commerce & Reviews ───────────────────────────────────────────\n {\n type: 'schemaOrgProduct',\n title: 'Product',\n description: 'Products with pricing, ratings, and availability.',\n category: 'commerce',\n keywords: ['ecommerce', 'shop', 'buy', 'price', 'store'],\n },\n {\n type: 'schemaOrgOffer',\n title: 'Offer',\n description: 'Pricing and availability for products or services.',\n category: 'commerce',\n keywords: ['price', 'deal', 'discount', 'availability'],\n },\n {\n type: 'schemaOrgAggregateRating',\n title: 'Aggregate Rating',\n description: 'Overall rating from multiple reviews.',\n category: 'commerce',\n keywords: ['stars', 'rating', 'score', 'average'],\n },\n {\n type: 'schemaOrgReview',\n title: 'Review',\n description: 'Individual review with rating and author.',\n category: 'commerce',\n keywords: ['feedback', 'testimonial', 'rating', 'critique'],\n },\n {\n type: 'schemaOrgBrand',\n title: 'Brand',\n description: 'Brand identity and recognition.',\n category: 'commerce',\n keywords: ['brand', 'label', 'manufacturer'],\n },\n {\n type: 'schemaOrgService',\n title: 'Service',\n description: 'Professional services with provider and catalog.',\n category: 'commerce',\n keywords: ['consulting', 'professional', 'provider', 'catalog'],\n },\n\n // ─── People & Organizations ───────────────────────────────────────\n {\n type: 'schemaOrgPerson',\n title: 'Person',\n description: 'Individual profile with contact info and social links.',\n category: 'people',\n keywords: ['author', 'profile', 'employee', 'contact'],\n },\n {\n type: 'schemaOrgOrganization',\n title: 'Organization',\n description: 'Company or organization with departments and contacts.',\n category: 'people',\n keywords: ['company', 'business', 'corporation', 'ngo'],\n },\n {\n type: 'schemaOrgLocalBusiness',\n title: 'Local Business',\n description: 'Local business with hours, location, and reviews.',\n category: 'people',\n keywords: ['store', 'restaurant', 'shop', 'local', 'maps'],\n },\n {\n type: 'schemaOrgContactPoint',\n title: 'Contact Point',\n description: 'Contact information — phone, email, languages.',\n category: 'people',\n keywords: ['phone', 'email', 'support', 'helpdesk'],\n },\n {\n type: 'schemaOrgPostalAddress',\n title: 'Postal Address',\n description: 'Physical mailing address.',\n category: 'people',\n keywords: ['address', 'street', 'zip', 'city', 'mailing'],\n },\n\n // ─── Media ────────────────────────────────────────────────────────\n {\n type: 'schemaOrgImageObject',\n title: 'Image Object',\n description: 'Image with metadata, author, and location.',\n category: 'media',\n keywords: ['photo', 'picture', 'graphic', 'illustration'],\n },\n {\n type: 'schemaOrgVideoObject',\n title: 'Video Object',\n description: 'Video with thumbnails, duration, and seek actions.',\n category: 'media',\n keywords: ['video', 'youtube', 'vimeo', 'clip', 'film'],\n },\n\n // ─── Navigation ───────────────────────────────────────────────────\n {\n type: 'schemaOrgBreadcrumbList',\n title: 'Breadcrumb List',\n description: 'Page hierarchy breadcrumb trail for navigation.',\n category: 'navigation',\n keywords: ['breadcrumb', 'path', 'hierarchy', 'trail'],\n },\n\n // ─── Location & Events ────────────────────────────────────────────\n {\n type: 'schemaOrgEvent',\n title: 'Event',\n description: 'Events with dates, location, and organizer.',\n category: 'location',\n keywords: ['conference', 'meetup', 'webinar', 'concert'],\n },\n {\n type: 'schemaOrgPlace',\n title: 'Place',\n description: 'A physical location with address.',\n category: 'location',\n keywords: ['venue', 'location', 'landmark', 'spot'],\n },\n {\n type: 'schemaOrgCountry',\n title: 'Country',\n description: 'A country (extends Place) — useful for geographic targeting.',\n category: 'location',\n keywords: ['country', 'nation', 'geography', 'region'],\n },\n {\n type: 'schemaOrgLegalService',\n title: 'Legal Service',\n description: 'Law firm or legal practice (extends LocalBusiness).',\n category: 'people',\n keywords: ['law', 'lawyer', 'attorney', 'firm', 'legal'],\n },\n\n // ─── Software ─────────────────────────────────────────────────────\n {\n type: 'schemaOrgSoftwareApplication',\n title: 'Software Application',\n description: 'Desktop or mobile application.',\n category: 'software',\n keywords: ['app', 'tool', 'program', 'desktop', 'mobile'],\n },\n {\n type: 'schemaOrgWebApplication',\n title: 'Web Application',\n description: 'Web-based application or SaaS tool.',\n category: 'software',\n keywords: ['webapp', 'saas', 'online', 'cloud'],\n },\n\n // ─── Education ────────────────────────────────────────────────────\n {\n type: 'schemaOrgCourse',\n title: 'Course',\n description: 'Educational course with provider info.',\n category: 'education',\n keywords: ['learning', 'class', 'training', 'workshop', 'tutorial'],\n },\n\n // ─── New Schema Types ──────────────────────────────────────────────\n {\n type: 'schemaOrgJobPosting',\n title: 'Job Posting',\n description: 'A job listing with salary, location, and requirements.',\n category: 'people',\n keywords: ['job', 'career', 'hiring', 'employment', 'vacancy', 'work'],\n },\n {\n type: 'schemaOrgRestaurant',\n title: 'Restaurant',\n description: 'A restaurant or dining establishment.',\n category: 'commerce',\n keywords: ['restaurant', 'dining', 'food', 'cuisine', 'eatery'],\n },\n {\n type: 'schemaOrgMovie',\n title: 'Movie',\n description: 'A movie or film with cast and crew details.',\n category: 'media',\n keywords: ['movie', 'film', 'cinema', 'motion picture'],\n },\n {\n type: 'schemaOrgBook',\n title: 'Book',\n description: 'A book, e-book, or audiobook publication.',\n category: 'commerce',\n keywords: ['book', 'ebook', 'publication', 'novel', 'isbn'],\n },\n {\n type: 'schemaOrgNewsArticle',\n title: 'News Article',\n description: 'A news story — distinct from generic Article for news publishers.',\n category: 'content',\n keywords: ['news', 'journalism', 'press', 'story', 'report'],\n },\n {\n type: 'schemaOrgOpinionNewsArticle',\n title: 'Opinion News Article',\n description: 'Opinion/editorial piece — a NewsArticle subtype that strengthens E-E-A-T.',\n category: 'content',\n keywords: ['opinion', 'editorial', 'column', 'commentary', 'op-ed'],\n },\n {\n type: 'schemaOrgItemList',\n title: 'Item List',\n description: 'An ordered or unordered list of items (carousel).',\n category: 'navigation',\n keywords: ['list', 'carousel', 'items', 'collection'],\n },\n {\n type: 'schemaOrgProfilePage',\n title: 'Profile Page',\n description: 'A profile page for a person or organization.',\n category: 'content',\n keywords: ['profile', 'about', 'bio', 'author', 'creator'],\n },\n {\n type: 'schemaOrgMusicRecording',\n title: 'Music Recording',\n description: 'An individual song or music track.',\n category: 'media',\n keywords: ['song', 'track', 'music', 'recording', 'single'],\n },\n {\n type: 'schemaOrgMusicAlbum',\n title: 'Music Album',\n description: 'A music album or collection of tracks.',\n category: 'media',\n keywords: ['album', 'music', 'record', 'lp', 'ep', 'release'],\n },\n]\n","/* eslint-disable react/jsx-no-bind */\n/**\n * TypePickerInput — a modern command-palette style selector for Sanity array types.\n *\n * Replaces the default Sanity array \"Add\" button with a searchable, categorized\n * type picker dialog. Used by the `schemaOrg` combined array type.\n */\nimport {AddIcon, SearchIcon} from '@sanity/icons'\nimport {Box, Button, Card, Dialog, Flex, Grid, Heading, Stack, Text, TextInput} from '@sanity/ui'\nimport {type ChangeEvent, type ComponentType, JSX, useCallback, useMemo, useState} from 'react'\nimport type {ArrayInputFunctionsProps, ArraySchemaType} from 'sanity'\nimport type {InputProps} from 'sanity'\nimport {useFormValue} from 'sanity'\n\nimport {SchemaOrgJsonLdPreview, type SchemaOrgJsonLdPreviewOptions} from './SchemaOrgJsonLdPreview'\nimport {\n CATEGORY_LABELS,\n CATEGORY_ORDER,\n SCHEMA_TYPE_METADATA,\n type SchemaTypeCategory,\n type SchemaTypeInfo,\n} from './schemaTypeMetadata'\n\n// ─── Search Helpers ───────────────────────────────────────────────────────────\n\nfunction matchesSearch(info: SchemaTypeInfo, query: string): boolean {\n const q = query.toLowerCase()\n return (\n info.title.toLowerCase().includes(q) ||\n info.description.toLowerCase().includes(q) ||\n info.keywords.some((kw) => kw.toLowerCase().includes(q))\n )\n}\n\nfunction groupByCategory(items: SchemaTypeInfo[]): Map<SchemaTypeCategory, SchemaTypeInfo[]> {\n const map = new Map<SchemaTypeCategory, SchemaTypeInfo[]>()\n for (const cat of CATEGORY_ORDER) {\n const matches = items.filter((i) => i.category === cat)\n if (matches.length) map.set(cat, matches)\n }\n return map\n}\n\n// ─── Inner ArrayFunctions Component ───────────────────────────────────────────\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction TypeArrayFunctions(props: ArrayInputFunctionsProps<any, ArraySchemaType<any>>) {\n const {onValueCreate, schemaType, onItemAppend} = props\n const [open, setOpen] = useState(false)\n const [search, setSearch] = useState('')\n\n const onClose = useCallback(() => {\n setOpen(false)\n setSearch('')\n }, [])\n const onOpen = useCallback(() => setOpen(true), [])\n const handleSearchChange = useCallback((e: ChangeEvent<HTMLInputElement>) => {\n setSearch(e.currentTarget.value)\n }, [])\n\n // Map available schema types to their metadata\n const availableTypes = useMemo(() => {\n const typeNames = new Set(schemaType.of.map((t) => t.name))\n return SCHEMA_TYPE_METADATA.filter((m) => typeNames.has(m.type))\n }, [schemaType.of])\n\n // Filter by search query\n const filtered = useMemo(\n () => (search ? availableTypes.filter((t) => matchesSearch(t, search)) : availableTypes),\n [availableTypes, search],\n )\n\n const grouped = useMemo(() => groupByCategory(filtered), [filtered])\n\n const handleSelect = useCallback(\n (typeName: string) => {\n const schemaItem = schemaType.of.find((t) => t.name === typeName)\n if (schemaItem) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const value = onValueCreate(schemaItem as any)\n onItemAppend(value)\n }\n onClose()\n },\n [schemaType.of, onValueCreate, onItemAppend, onClose],\n )\n\n const handleCardClick = useCallback((typeName: string) => handleSelect(typeName), [handleSelect])\n\n return (\n <Stack space={4}>\n <Button icon={AddIcon} text=\"Add Schema Type\" mode=\"ghost\" onClick={onOpen} />\n\n {open && (\n <Dialog\n header=\"Add Schema.org Type\"\n id=\"schema-type-picker\"\n onClose={onClose}\n zOffset={1000}\n width={1}\n >\n <Box padding={4}>\n <Stack space={4}>\n {/* Search Input */}\n <TextInput\n icon={SearchIcon}\n placeholder=\"Search schema types…\"\n value={search}\n onChange={handleSearchChange}\n autoFocus\n />\n\n {/* Type Grid by Category */}\n {grouped.size === 0 ? (\n <Card padding={4} tone=\"transparent\">\n <Flex align=\"center\" justify=\"center\">\n <Text muted size={1}>\n No matching schema types found.\n </Text>\n </Flex>\n </Card>\n ) : (\n <Stack space={5}>\n {Array.from(grouped.entries()).map(([category, types]) => (\n <Stack key={category} space={3}>\n <Heading\n size={0}\n style={{textTransform: 'uppercase', letterSpacing: '0.05em'}}\n >\n {CATEGORY_LABELS[category]}\n </Heading>\n <Grid columns={[1, 1, 2]} gap={2}>\n {types.map((info) => {\n const schemaItem = schemaType.of.find((t) => t.name === info.type)\n const Icon = schemaItem?.icon as ComponentType | undefined\n return (\n <Card\n key={info.type}\n as=\"button\"\n padding={3}\n radius={2}\n shadow={1}\n tone=\"default\"\n onClick={() => handleCardClick(info.type)}\n style={{cursor: 'pointer', textAlign: 'left'}}\n >\n <Flex gap={3} align=\"flex-start\">\n {Icon && (\n <Box style={{flexShrink: 0, marginTop: 2}}>\n <Text size={2}>\n <Icon />\n </Text>\n </Box>\n )}\n <Stack space={2}>\n <Text weight=\"semibold\" size={1}>\n {info.title}\n </Text>\n <Text muted size={0}>\n {info.description}\n </Text>\n </Stack>\n </Flex>\n </Card>\n )\n })}\n </Grid>\n </Stack>\n ))}\n </Stack>\n )}\n </Stack>\n </Box>\n </Dialog>\n )}\n </Stack>\n )\n}\n\n// ─── Public Wrapper ───────────────────────────────────────────────────────────\n\n/**\n * Custom input component for the `schemaOrg` array type.\n *\n * Wraps the default array input and injects the `TypeArrayFunctions`\n * component for a categorized, searchable type picker experience.\n *\n * @example Usage in `schemaOrg.ts`:\n * ```ts\n * defineType({\n * name: 'schemaOrg',\n * type: 'array',\n * components: { input: TypePickerInput },\n * // ...\n * })\n * ```\n */\nexport default function TypePickerInput(props: InputProps): JSX.Element {\n const {renderDefault, schemaType} = props\n const rootDocument =\n (useFormValue([]) as ({_type?: string; _id?: string} & Record<string, unknown>) | null) ?? {}\n const previewConfig = (\n schemaType as {options?: {schemaOrgJsonLdPreview?: boolean | SchemaOrgJsonLdPreviewOptions}}\n ).options?.schemaOrgJsonLdPreview\n const options = typeof previewConfig === 'object' ? previewConfig : undefined\n const value = (props as {value?: Array<Record<string, unknown>>}).value\n\n return (\n <Stack space={3}>\n {renderDefault({...props, arrayFunctions: TypeArrayFunctions})}\n {previewConfig !== false && (\n <SchemaOrgJsonLdPreview\n {...options}\n value={value ?? null}\n document={rootDocument}\n fieldPreview\n />\n )}\n </Stack>\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {nameField} from '../_shared'\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgOrganizationConfig, SchemaOrgOrganizationData} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const organizationFields: SchemaFieldDef[] = [\n nameField({\n title: 'Organization Name',\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: 'alternateName',\n title: 'Alternate Name',\n type: 'string',\n description: 'An alias or alternate name for the organization.',\n },\n {\n name: 'sameAs',\n title: 'Same As URL',\n type: 'url',\n description:\n 'URLs of social media profiles and other authoritative pages (Twitter, LinkedIn, GitHub, etc.).',\n urlValidation: {schemes: ['http', 'https']},\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 name: 'department',\n title: 'Departments',\n type: 'array',\n description: 'Departments within the organization.',\n jsonLdType: 'Organization',\n fields: [\n {\n name: 'name',\n title: 'Department Name',\n type: 'string',\n },\n {\n name: 'url',\n title: 'Department URL',\n type: 'url',\n },\n {\n name: 'telephone',\n title: 'Department Phone',\n type: 'string',\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: 'Organization',\n icon: SchemaOrgIcons.organization,\n fields: organizationFields,\n customPrepareSubtitle: (document: SchemaOrgOrganizationData) =>\n document.name\n ? `${document.name}${document.url ? ` · ${document.url}` : ''}`\n : 'Untitled organization',\n },\n config as SchemaOrgConfig,\n )\n}\n","import type {SchemaTypeDefinition} from 'sanity'\n\nimport {\n descriptionField,\n inLanguageField,\n issnField,\n nameField,\n polymorphicPublisher,\n potentialActionSearch,\n urlField,\n // withCreativeWorkCommons,\n} from '../_shared'\nimport {generateSchemaType, SchemaFieldDef, SchemaOrgConfig} from '../generator'\nimport {SchemaOrgIcons} from '../icons'\nimport type {SchemaOrgWebsiteConfig, SchemaOrgWebsiteData} from './types'\n\n// ─── Field Definitions ────────────────────────────────────────────────────────\n\nexport const websiteFields: SchemaFieldDef[] = [\n nameField({\n title: 'Website Name',\n description: 'The name of the website.',\n required: {key: 'nameRequired', message: 'Website name is required for Schema.org.'},\n }),\n urlField({\n title: 'Website 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 descriptionField({\n description: 'A short description of the website.',\n }),\n inLanguageField({description: 'The language of the website content, e.g. \"en\".'}),\n polymorphicPublisher({description: 'The organization or person that publishes this website.'}),\n potentialActionSearch({\n description: 'Enables the sitelinks search box in Google. Configure the search URL template.',\n }),\n issnField({\n description: 'The ISSN (International Standard Serial Number) of the website, if applicable.',\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: 'Website',\n icon: SchemaOrgIcons.website,\n fields: websiteFields,\n customPrepareSubtitle: (document: SchemaOrgWebsiteData) => {\n const name = document.name ? `${document.name}` : 'Untitled website'\n const url = document.url ? ` · ${document.url}` : ''\n return `${name}${url}`\n },\n },\n config as SchemaOrgConfig,\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 schemaOrgBookSchema from './book/schema'\nimport schemaOrgBrandSchema from './brand/schema'\nimport schemaOrgBreadcrumbListSchema from './breadcrumbList/schema'\nimport TypePickerInput from './components/TypePickerInput'\nimport schemaOrgContactPointSchema from './contactPoint/schema'\nimport schemaOrgCountrySchema from './country/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 schemaOrgItemListSchema from './itemList/schema'\nimport schemaOrgJobPostingSchema from './jobPosting/schema'\nimport schemaOrgLegalServiceSchema from './legalService/schema'\nimport schemaOrgLocalBusinessSchema from './localBusiness/schema'\nimport schemaOrgMovieSchema from './movie/schema'\nimport schemaOrgMusicAlbumSchema from './musicAlbum/schema'\nimport schemaOrgMusicRecordingSchema from './musicRecording/schema'\nimport schemaOrgNewsArticleSchema from './newsArticle/schema'\nimport schemaOrgOfferSchema from './offer/schema'\nimport schemaOrgOpinionNewsArticleSchema from './opinionNewsArticle/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 schemaOrgProfilePageSchema from './profilePage/schema'\nimport schemaOrgRecipeSchema from './recipe/schema'\nimport schemaOrgRestaurantSchema from './restaurant/schema'\nimport schemaOrgReviewSchema from './review/schema'\nimport schemaOrgServiceSchema from './service/schema'\nimport schemaOrgSocialMediaPostingSchema from './socialMediaPosting/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 /** Configure the live JSON-LD preview shown below the combined `schemaOrg` array field. */\n jsonLdPreview?: SchemaOrgConfig['jsonLdPreview']\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 recipe?: SchemaOrgConfig\n service?: SchemaOrgConfig\n socialMediaPosting?: SchemaOrgConfig\n legalService?: SchemaOrgConfig\n country?: SchemaOrgConfig\n jobPosting?: SchemaOrgConfig\n restaurant?: SchemaOrgConfig\n movie?: SchemaOrgConfig\n book?: SchemaOrgConfig\n newsArticle?: SchemaOrgConfig\n opinionNewsArticle?: SchemaOrgConfig\n itemList?: SchemaOrgConfig\n profilePage?: SchemaOrgConfig\n musicRecording?: SchemaOrgConfig\n musicAlbum?: 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 'schemaOrgRecipe',\n 'schemaOrgService',\n 'schemaOrgSocialMediaPosting',\n 'schemaOrgLegalService',\n 'schemaOrgCountry',\n 'schemaOrgJobPosting',\n 'schemaOrgRestaurant',\n 'schemaOrgMovie',\n 'schemaOrgBook',\n 'schemaOrgNewsArticle',\n 'schemaOrgOpinionNewsArticle',\n 'schemaOrgItemList',\n 'schemaOrgProfilePage',\n 'schemaOrgMusicRecording',\n 'schemaOrgMusicAlbum',\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\nexport const schemaOrgRecipePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-recipe',\n schema: {types: [schemaOrgRecipeSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgServicePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-service',\n schema: {types: [schemaOrgServiceSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgSocialMediaPostingPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-socialmediaposting',\n schema: {types: [schemaOrgSocialMediaPostingSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgLegalServicePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-legalservice',\n schema: {types: [schemaOrgLegalServiceSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgCountryPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-country',\n schema: {types: [schemaOrgCountrySchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgJobPostingPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-jobposting',\n schema: {types: [schemaOrgJobPostingSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgRestaurantPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-restaurant',\n schema: {types: [schemaOrgRestaurantSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgMoviePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-movie',\n schema: {types: [schemaOrgMovieSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgBookPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-book',\n schema: {types: [schemaOrgBookSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgNewsArticlePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-newsarticle',\n schema: {types: [schemaOrgNewsArticleSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgOpinionNewsArticlePlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-opinionnewsarticle',\n schema: {types: [schemaOrgOpinionNewsArticleSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgItemListPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-itemlist',\n schema: {types: [schemaOrgItemListSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgProfilePagePlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-profilepage',\n schema: {types: [schemaOrgProfilePageSchema(config as SchemaOrgConfig)]},\n}))\n\nexport const schemaOrgMusicRecordingPlugin = definePlugin<SchemaOrgConfig | void>(\n (config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-musicrecording',\n schema: {types: [schemaOrgMusicRecordingSchema(config as SchemaOrgConfig)]},\n }),\n)\n\nexport const schemaOrgMusicAlbumPlugin = definePlugin<SchemaOrgConfig | void>((config = {}) => ({\n name: 'sanity-plugin-seofields/schema-org-musicalbum',\n schema: {types: [schemaOrgMusicAlbumSchema(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 schemaOrgRecipeSchema(c.recipe),\n schemaOrgServiceSchema(c.service),\n schemaOrgSocialMediaPostingSchema(c.socialMediaPosting),\n schemaOrgLegalServiceSchema(c.legalService),\n schemaOrgCountrySchema(c.country),\n schemaOrgJobPostingSchema(c.jobPosting),\n schemaOrgRestaurantSchema(c.restaurant),\n schemaOrgMovieSchema(c.movie),\n schemaOrgBookSchema(c.book),\n schemaOrgNewsArticleSchema(c.newsArticle),\n schemaOrgOpinionNewsArticleSchema(c.opinionNewsArticle),\n schemaOrgItemListSchema(c.itemList),\n schemaOrgProfilePageSchema(c.profilePage),\n schemaOrgMusicRecordingSchema(c.musicRecording),\n schemaOrgMusicAlbumSchema(c.musicAlbum),\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 components: {\n input: TypePickerInput,\n },\n options: {\n schemaOrgJsonLdPreview: c.jsonLdPreview,\n } as never,\n }),\n ],\n },\n }\n})\n"]}