sanity-plugin-seofields 1.5.4 → 1.6.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 (70) hide show
  1. package/README.md +4 -4
  2. package/dist/SeoHealthDashboard-7XMPVJRX.cjs +10 -0
  3. package/dist/{SeoHealthDashboard-KPBNXSL4.cjs.map → SeoHealthDashboard-7XMPVJRX.cjs.map} +1 -1
  4. package/dist/SeoHealthDashboard-UWPLB5DM.js +4 -0
  5. package/dist/{SeoHealthDashboard-QKVB5HK3.js.map → SeoHealthDashboard-UWPLB5DM.js.map} +1 -1
  6. package/dist/{SeoHealthTool-ON3SRXCF.cjs → SeoHealthTool-2H4XZR4I.cjs} +4 -4
  7. package/dist/{SeoHealthTool-ON3SRXCF.cjs.map → SeoHealthTool-2H4XZR4I.cjs.map} +1 -1
  8. package/dist/{SeoHealthTool-EPPOEDTW.js → SeoHealthTool-XCXINAQI.js} +3 -3
  9. package/dist/{SeoHealthTool-EPPOEDTW.js.map → SeoHealthTool-XCXINAQI.js.map} +1 -1
  10. package/dist/{SeoPreview-G3LPA7GV.js → SeoPreview-F6GGPZWI.js} +2 -2
  11. package/dist/SeoPreview-F6GGPZWI.js.map +1 -0
  12. package/dist/{SeoPreview-Y3CFDVBR.cjs → SeoPreview-JDROKZLP.cjs} +2 -2
  13. package/dist/SeoPreview-JDROKZLP.cjs.map +1 -0
  14. package/dist/chunk-6NIHHOVS.js +3918 -0
  15. package/dist/chunk-6NIHHOVS.js.map +1 -0
  16. package/dist/chunk-7HCP5O62.cjs +4027 -0
  17. package/dist/chunk-7HCP5O62.cjs.map +1 -0
  18. package/dist/{chunk-527WXITP.js → chunk-KWUITSHS.js} +218 -54
  19. package/dist/chunk-KWUITSHS.js.map +1 -0
  20. package/dist/{chunk-UCVSMPEJ.js → chunk-NHJBEV3A.js} +2 -2
  21. package/dist/{chunk-UCVSMPEJ.js.map → chunk-NHJBEV3A.js.map} +1 -1
  22. package/dist/chunk-WCLEWFAJ.cjs +669 -0
  23. package/dist/chunk-WCLEWFAJ.cjs.map +1 -0
  24. package/dist/{chunk-G2SVI2SP.cjs → chunk-Z74QPO75.cjs} +2 -2
  25. package/dist/{chunk-G2SVI2SP.cjs.map → chunk-Z74QPO75.cjs.map} +1 -1
  26. package/dist/cli.js +25 -25
  27. package/dist/component-7rqDvuy2.d.ts +534 -0
  28. package/dist/component-J2nEQkOw.d.cts +534 -0
  29. package/dist/index.cjs +159 -185
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +43 -51
  32. package/dist/index.d.ts +43 -51
  33. package/dist/index.js +159 -185
  34. package/dist/index.js.map +1 -1
  35. package/dist/next.cjs +155 -51
  36. package/dist/next.d.cts +3 -3
  37. package/dist/next.d.ts +3 -3
  38. package/dist/next.js +2 -2
  39. package/dist/schema/next.cjs +171 -52
  40. package/dist/schema/next.cjs.map +1 -1
  41. package/dist/schema/next.d.cts +12 -428
  42. package/dist/schema/next.d.ts +12 -428
  43. package/dist/schema/next.js +20 -2
  44. package/dist/schema/next.js.map +1 -1
  45. package/dist/schema.cjs +831 -156
  46. package/dist/schema.cjs.map +1 -1
  47. package/dist/schema.d.cts +318 -41
  48. package/dist/schema.d.ts +318 -41
  49. package/dist/schema.js +567 -86
  50. package/dist/schema.js.map +1 -1
  51. package/dist/types-BRn3hfQb.d.ts +24 -0
  52. package/dist/types-BSgolLj3.d.cts +24 -0
  53. package/dist/{types-R3n9Fu4w.d.cts → types-BtSRRG6C.d.cts} +1 -1
  54. package/dist/{types-R3n9Fu4w.d.ts → types-BtSRRG6C.d.ts} +1 -1
  55. package/dist/types-DnVvOp3o.d.ts +1215 -0
  56. package/dist/types-DoUYMRVf.d.cts +1215 -0
  57. package/package.json +2 -1
  58. package/dist/SeoHealthDashboard-KPBNXSL4.cjs +0 -10
  59. package/dist/SeoHealthDashboard-QKVB5HK3.js +0 -4
  60. package/dist/SeoPreview-G3LPA7GV.js.map +0 -1
  61. package/dist/SeoPreview-Y3CFDVBR.cjs.map +0 -1
  62. package/dist/chunk-527WXITP.js.map +0 -1
  63. package/dist/chunk-6CYMVS3O.js +0 -1245
  64. package/dist/chunk-6CYMVS3O.js.map +0 -1
  65. package/dist/chunk-D2GWRRK5.cjs +0 -1293
  66. package/dist/chunk-D2GWRRK5.cjs.map +0 -1
  67. package/dist/chunk-L3L3FSPJ.cjs +0 -478
  68. package/dist/chunk-L3L3FSPJ.cjs.map +0 -1
  69. package/dist/types-CVaAX7uy.d.cts +0 -589
  70. package/dist/types-Ci-ZZT7A.d.ts +0 -589
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as sanity from 'sanity';
2
2
  import { SchemaTypeDefinition } from 'sanity';
3
- import { D as DocumentWithSeoHealth, c as DeprecationWarning } from './types-R3n9Fu4w.cjs';
4
- export { d as SeoHealthMetrics, e as SeoHealthStatus } from './types-R3n9Fu4w.cjs';
5
- import { StructureBuilder, ComponentBuilder } from 'sanity/structure';
6
3
  import React from 'react';
4
+ import { D as DocumentWithSeoHealth, a as DeprecationWarning } from './types-BtSRRG6C.cjs';
5
+ export { S as SeoHealthMetrics, b as SeoHealthStatus } from './types-BtSRRG6C.cjs';
6
+ import { StructureBuilder, ComponentBuilder } from 'sanity/structure';
7
7
 
8
8
  interface SeoFieldConfig {
9
9
  title?: string;
@@ -13,6 +13,31 @@ type SeoFieldKeys = 'title' | 'description' | 'canonicalUrl' | 'metaImage' | 'ke
13
13
  type openGraphFieldKeys = 'openGraphUrl' | 'openGraphTitle' | 'openGraphDescription' | 'openGraphSiteName' | 'openGraphType' | 'openGraphImageType' | 'openGraphImage' | 'openGraphImageUrl';
14
14
  type twitterFieldKeys = 'twitterCard' | 'twitterSite' | 'twitterCreator' | 'twitterTitle' | 'twitterDescription' | 'twitterImageType' | 'twitterImage' | 'twitterImageUrl';
15
15
  type AllFieldKeys = SeoFieldKeys | openGraphFieldKeys | twitterFieldKeys;
16
+ /**
17
+ * Names of top-level fields inside the `seoFields` object type.
18
+ * Use these when assigning fields to groups in `fieldGroups`.
19
+ */
20
+ type SeoObjectFieldName = 'robots' | 'preview' | 'title' | 'description' | 'metaImage' | 'metaAttributes' | 'keywords' | 'canonicalUrl' | 'openGraph' | 'twitter';
21
+ /**
22
+ * Defines a single tab/group within the `seoFields` object.
23
+ */
24
+ interface SeoFieldGroup {
25
+ /** Unique key for this group (used internally by Sanity). */
26
+ name: string;
27
+ /** Human-readable label shown as the tab title. */
28
+ title: string;
29
+ /** Whether this tab is selected by default. Only one group should be `true`. */
30
+ default?: boolean;
31
+ /**
32
+ * Field names to include in this group.
33
+ * Use the top-level seoFields field names: `'title'`, `'description'`, `'metaImage'`,
34
+ * `'keywords'`, `'canonicalUrl'`, `'metaAttributes'`, `'robots'`, `'preview'`,
35
+ * `'openGraph'`, `'twitter'`.
36
+ */
37
+ fields: SeoObjectFieldName[];
38
+ /** Optional icon displayed next to the tab title. Must be a React component. */
39
+ icon?: React.ComponentType;
40
+ }
16
41
  type ValidHiddenFieldKeys = Exclude<AllFieldKeys, 'openGraphImageUrl' | 'twitterImageUrl' | 'openGraphImageType' | 'twitterImageType'>;
17
42
  interface FieldVisibilityConfig {
18
43
  hiddenFields?: ValidHiddenFieldKeys[];
@@ -51,6 +76,20 @@ interface SeoFieldsPluginConfig {
51
76
  * This can be overridden by specific document type settings in `fieldVisibility`.
52
77
  */
53
78
  defaultHiddenFields?: ValidHiddenFieldKeys[];
79
+ /**
80
+ * Group the SEO fields into tabbed sections inside the `seoFields` object.
81
+ * When configured, the Studio shows tabs (Sanity groups) so editors can
82
+ * switch between e.g. "Meta", "Open Graph", and "Twitter Card" panels.
83
+ *
84
+ * @example
85
+ * fieldGroups: [
86
+ * { name: 'meta', title: 'Meta', default: true,
87
+ * fields: ['title', 'description', 'metaImage', 'keywords', 'canonicalUrl', 'metaAttributes', 'robots', 'preview'] },
88
+ * { name: 'openGraph', title: 'Open Graph', fields: ['openGraph'] },
89
+ * { name: 'twitter', title: 'Twitter Card', fields: ['twitter'] },
90
+ * ]
91
+ */
92
+ fieldGroups?: SeoFieldGroup[];
54
93
  /**
55
94
  * The base URL of your website, used for generating full URLs in the SEO preview.
56
95
  * Defaults to 'https://www.example.com' if not provided.
@@ -101,25 +140,13 @@ interface SeoFieldsPluginConfig {
101
140
  /** Text shown when the query returns zero results. Defaults to "No documents found" */
102
141
  noDocuments?: string;
103
142
  };
104
- /**
105
- * @deprecated Use `showTypeColumn` instead. Will be removed in a future major version.
106
- * @see https://github.com/hardik-143/sanity-plugin-seofields/blob/main/CHANGELOG.md#132--2026-03-23
107
- */
108
- display?: {
109
- /** @deprecated Use top-level `showTypeColumn` instead. */
110
- typeColumn?: boolean;
111
- /** @deprecated Use top-level `showDocumentId` instead. */
112
- documentId?: boolean;
113
- };
114
143
  /**
115
144
  * Show or hide the document type column in the results table.
116
- * Replaces the deprecated `display.typeColumn`.
117
145
  * Defaults to `true`.
118
146
  */
119
147
  showTypeColumn?: boolean;
120
148
  /**
121
149
  * Show or hide the Sanity document `_id` under each title.
122
- * Replaces the deprecated `display.documentId`.
123
150
  * Defaults to `true`.
124
151
  */
125
152
  showDocumentId?: boolean;
@@ -156,19 +183,6 @@ interface SeoFieldsPluginConfig {
156
183
  * Used in both the Type column and the Type filter dropdown.
157
184
  * Any type without an entry falls back to the raw `_type` string.
158
185
  *
159
- * @deprecated Use `typeDisplayLabels` instead. Will be removed in a future major version.
160
- * @see https://github.com/hardik-143/sanity-plugin-seofields/blob/main/CHANGELOG.md#132--2026-03-23
161
- *
162
- * @example
163
- * typeLabels: { productDrug: 'Products', singleCondition: 'Condition' }
164
- */
165
- typeLabels?: Record<string, string>;
166
- /**
167
- * Map raw `_type` values to human-readable display labels.
168
- * Replaces the deprecated `typeLabels`.
169
- * Used in both the Type column and the Type filter dropdown.
170
- * Any type without an entry falls back to the raw `_type` string.
171
- *
172
186
  * @example
173
187
  * typeDisplayLabels: { productDrug: 'Products', singleCondition: 'Condition' }
174
188
  */
@@ -196,26 +210,6 @@ interface SeoFieldsPluginConfig {
196
210
  * Callback function to render a custom badge next to the document title.
197
211
  * Receives the full document and should return badge data or undefined.
198
212
  *
199
- * @deprecated Use `getDocumentBadge` instead. Will be removed in a future major version.
200
- * @see https://github.com/hardik-143/sanity-plugin-seofields/blob/main/CHANGELOG.md#132--2026-03-23
201
- *
202
- * @example
203
- * docBadge: (doc) => {
204
- * if (doc.services === 'NHS')
205
- * return { label: 'NHS', bgColor: '#e0f2fe', textColor: '#0369a1' }
206
- * }
207
- */
208
- docBadge?: (doc: DocumentWithSeoHealth & Record<string, unknown>) => {
209
- label: string;
210
- bgColor?: string;
211
- textColor?: string;
212
- fontSize?: string;
213
- } | undefined;
214
- /**
215
- * Callback function to render a custom badge next to the document title.
216
- * Replaces the deprecated `docBadge`.
217
- * Receives the full document and should return badge data or undefined.
218
- *
219
213
  * @example
220
214
  * getDocumentBadge: (doc) => {
221
215
  * if (doc.services === 'NHS')
@@ -340,7 +334,6 @@ interface SeoHealthDashboardProps {
340
334
  /**
341
335
  * Map raw `_type` values to human-readable display labels used in the
342
336
  * Type column and the Type filter dropdown.
343
- * Replaces the deprecated `typeLabels`.
344
337
  * Any type without an entry falls back to the raw `_type` string.
345
338
  *
346
339
  * @example
@@ -370,7 +363,6 @@ interface SeoHealthDashboardProps {
370
363
  titleField?: string | Record<string, string>;
371
364
  /**
372
365
  * Callback function to render a custom badge next to the document title.
373
- * Replaces the deprecated `docBadge`.
374
366
  * Receives the full document and should return badge data or undefined.
375
367
  *
376
368
  * @example
@@ -502,4 +494,4 @@ interface SeoHealthPaneOptions extends Omit<SeoHealthDashboardProps, 'customQuer
502
494
  */
503
495
  declare function createSeoHealthPane(optionsOrS: StructureBuilder, optionsWhenS: SeoHealthPaneOptions): ComponentBuilder;
504
496
 
505
- export { type AllFieldKeys, DocumentWithSeoHealth, type FieldVisibilityConfig, type SeoFieldConfig, type SeoFieldKeys, type SeoFieldsPluginConfig, type SeoHealthPaneOptions, type ValidHiddenFieldKeys, types as allSchemas, baseMeta as baseMetaSchema, createSeoHealthPane, seofields as default, _default$2 as metaAttributeSchema, _default$1 as metaTagSchema, type openGraphFieldKeys, openGraph as openGraphSchema, _default as robotsSchema, seoFieldsSchema, type twitterFieldKeys, twitter as twitterSchema };
497
+ export { type AllFieldKeys, DocumentWithSeoHealth, type FieldVisibilityConfig, type SeoFieldConfig, type SeoFieldGroup, type SeoFieldKeys, type SeoFieldsPluginConfig, type SeoHealthPaneOptions, type SeoObjectFieldName, type ValidHiddenFieldKeys, types as allSchemas, baseMeta as baseMetaSchema, createSeoHealthPane, seofields as default, _default$2 as metaAttributeSchema, _default$1 as metaTagSchema, type openGraphFieldKeys, openGraph as openGraphSchema, _default as robotsSchema, seoFieldsSchema, type twitterFieldKeys, twitter as twitterSchema };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as sanity from 'sanity';
2
2
  import { SchemaTypeDefinition } from 'sanity';
3
- import { D as DocumentWithSeoHealth, c as DeprecationWarning } from './types-R3n9Fu4w.js';
4
- export { d as SeoHealthMetrics, e as SeoHealthStatus } from './types-R3n9Fu4w.js';
5
- import { StructureBuilder, ComponentBuilder } from 'sanity/structure';
6
3
  import React from 'react';
4
+ import { D as DocumentWithSeoHealth, a as DeprecationWarning } from './types-BtSRRG6C.js';
5
+ export { S as SeoHealthMetrics, b as SeoHealthStatus } from './types-BtSRRG6C.js';
6
+ import { StructureBuilder, ComponentBuilder } from 'sanity/structure';
7
7
 
8
8
  interface SeoFieldConfig {
9
9
  title?: string;
@@ -13,6 +13,31 @@ type SeoFieldKeys = 'title' | 'description' | 'canonicalUrl' | 'metaImage' | 'ke
13
13
  type openGraphFieldKeys = 'openGraphUrl' | 'openGraphTitle' | 'openGraphDescription' | 'openGraphSiteName' | 'openGraphType' | 'openGraphImageType' | 'openGraphImage' | 'openGraphImageUrl';
14
14
  type twitterFieldKeys = 'twitterCard' | 'twitterSite' | 'twitterCreator' | 'twitterTitle' | 'twitterDescription' | 'twitterImageType' | 'twitterImage' | 'twitterImageUrl';
15
15
  type AllFieldKeys = SeoFieldKeys | openGraphFieldKeys | twitterFieldKeys;
16
+ /**
17
+ * Names of top-level fields inside the `seoFields` object type.
18
+ * Use these when assigning fields to groups in `fieldGroups`.
19
+ */
20
+ type SeoObjectFieldName = 'robots' | 'preview' | 'title' | 'description' | 'metaImage' | 'metaAttributes' | 'keywords' | 'canonicalUrl' | 'openGraph' | 'twitter';
21
+ /**
22
+ * Defines a single tab/group within the `seoFields` object.
23
+ */
24
+ interface SeoFieldGroup {
25
+ /** Unique key for this group (used internally by Sanity). */
26
+ name: string;
27
+ /** Human-readable label shown as the tab title. */
28
+ title: string;
29
+ /** Whether this tab is selected by default. Only one group should be `true`. */
30
+ default?: boolean;
31
+ /**
32
+ * Field names to include in this group.
33
+ * Use the top-level seoFields field names: `'title'`, `'description'`, `'metaImage'`,
34
+ * `'keywords'`, `'canonicalUrl'`, `'metaAttributes'`, `'robots'`, `'preview'`,
35
+ * `'openGraph'`, `'twitter'`.
36
+ */
37
+ fields: SeoObjectFieldName[];
38
+ /** Optional icon displayed next to the tab title. Must be a React component. */
39
+ icon?: React.ComponentType;
40
+ }
16
41
  type ValidHiddenFieldKeys = Exclude<AllFieldKeys, 'openGraphImageUrl' | 'twitterImageUrl' | 'openGraphImageType' | 'twitterImageType'>;
17
42
  interface FieldVisibilityConfig {
18
43
  hiddenFields?: ValidHiddenFieldKeys[];
@@ -51,6 +76,20 @@ interface SeoFieldsPluginConfig {
51
76
  * This can be overridden by specific document type settings in `fieldVisibility`.
52
77
  */
53
78
  defaultHiddenFields?: ValidHiddenFieldKeys[];
79
+ /**
80
+ * Group the SEO fields into tabbed sections inside the `seoFields` object.
81
+ * When configured, the Studio shows tabs (Sanity groups) so editors can
82
+ * switch between e.g. "Meta", "Open Graph", and "Twitter Card" panels.
83
+ *
84
+ * @example
85
+ * fieldGroups: [
86
+ * { name: 'meta', title: 'Meta', default: true,
87
+ * fields: ['title', 'description', 'metaImage', 'keywords', 'canonicalUrl', 'metaAttributes', 'robots', 'preview'] },
88
+ * { name: 'openGraph', title: 'Open Graph', fields: ['openGraph'] },
89
+ * { name: 'twitter', title: 'Twitter Card', fields: ['twitter'] },
90
+ * ]
91
+ */
92
+ fieldGroups?: SeoFieldGroup[];
54
93
  /**
55
94
  * The base URL of your website, used for generating full URLs in the SEO preview.
56
95
  * Defaults to 'https://www.example.com' if not provided.
@@ -101,25 +140,13 @@ interface SeoFieldsPluginConfig {
101
140
  /** Text shown when the query returns zero results. Defaults to "No documents found" */
102
141
  noDocuments?: string;
103
142
  };
104
- /**
105
- * @deprecated Use `showTypeColumn` instead. Will be removed in a future major version.
106
- * @see https://github.com/hardik-143/sanity-plugin-seofields/blob/main/CHANGELOG.md#132--2026-03-23
107
- */
108
- display?: {
109
- /** @deprecated Use top-level `showTypeColumn` instead. */
110
- typeColumn?: boolean;
111
- /** @deprecated Use top-level `showDocumentId` instead. */
112
- documentId?: boolean;
113
- };
114
143
  /**
115
144
  * Show or hide the document type column in the results table.
116
- * Replaces the deprecated `display.typeColumn`.
117
145
  * Defaults to `true`.
118
146
  */
119
147
  showTypeColumn?: boolean;
120
148
  /**
121
149
  * Show or hide the Sanity document `_id` under each title.
122
- * Replaces the deprecated `display.documentId`.
123
150
  * Defaults to `true`.
124
151
  */
125
152
  showDocumentId?: boolean;
@@ -156,19 +183,6 @@ interface SeoFieldsPluginConfig {
156
183
  * Used in both the Type column and the Type filter dropdown.
157
184
  * Any type without an entry falls back to the raw `_type` string.
158
185
  *
159
- * @deprecated Use `typeDisplayLabels` instead. Will be removed in a future major version.
160
- * @see https://github.com/hardik-143/sanity-plugin-seofields/blob/main/CHANGELOG.md#132--2026-03-23
161
- *
162
- * @example
163
- * typeLabels: { productDrug: 'Products', singleCondition: 'Condition' }
164
- */
165
- typeLabels?: Record<string, string>;
166
- /**
167
- * Map raw `_type` values to human-readable display labels.
168
- * Replaces the deprecated `typeLabels`.
169
- * Used in both the Type column and the Type filter dropdown.
170
- * Any type without an entry falls back to the raw `_type` string.
171
- *
172
186
  * @example
173
187
  * typeDisplayLabels: { productDrug: 'Products', singleCondition: 'Condition' }
174
188
  */
@@ -196,26 +210,6 @@ interface SeoFieldsPluginConfig {
196
210
  * Callback function to render a custom badge next to the document title.
197
211
  * Receives the full document and should return badge data or undefined.
198
212
  *
199
- * @deprecated Use `getDocumentBadge` instead. Will be removed in a future major version.
200
- * @see https://github.com/hardik-143/sanity-plugin-seofields/blob/main/CHANGELOG.md#132--2026-03-23
201
- *
202
- * @example
203
- * docBadge: (doc) => {
204
- * if (doc.services === 'NHS')
205
- * return { label: 'NHS', bgColor: '#e0f2fe', textColor: '#0369a1' }
206
- * }
207
- */
208
- docBadge?: (doc: DocumentWithSeoHealth & Record<string, unknown>) => {
209
- label: string;
210
- bgColor?: string;
211
- textColor?: string;
212
- fontSize?: string;
213
- } | undefined;
214
- /**
215
- * Callback function to render a custom badge next to the document title.
216
- * Replaces the deprecated `docBadge`.
217
- * Receives the full document and should return badge data or undefined.
218
- *
219
213
  * @example
220
214
  * getDocumentBadge: (doc) => {
221
215
  * if (doc.services === 'NHS')
@@ -340,7 +334,6 @@ interface SeoHealthDashboardProps {
340
334
  /**
341
335
  * Map raw `_type` values to human-readable display labels used in the
342
336
  * Type column and the Type filter dropdown.
343
- * Replaces the deprecated `typeLabels`.
344
337
  * Any type without an entry falls back to the raw `_type` string.
345
338
  *
346
339
  * @example
@@ -370,7 +363,6 @@ interface SeoHealthDashboardProps {
370
363
  titleField?: string | Record<string, string>;
371
364
  /**
372
365
  * Callback function to render a custom badge next to the document title.
373
- * Replaces the deprecated `docBadge`.
374
366
  * Receives the full document and should return badge data or undefined.
375
367
  *
376
368
  * @example
@@ -502,4 +494,4 @@ interface SeoHealthPaneOptions extends Omit<SeoHealthDashboardProps, 'customQuer
502
494
  */
503
495
  declare function createSeoHealthPane(optionsOrS: StructureBuilder, optionsWhenS: SeoHealthPaneOptions): ComponentBuilder;
504
496
 
505
- export { type AllFieldKeys, DocumentWithSeoHealth, type FieldVisibilityConfig, type SeoFieldConfig, type SeoFieldKeys, type SeoFieldsPluginConfig, type SeoHealthPaneOptions, type ValidHiddenFieldKeys, types as allSchemas, baseMeta as baseMetaSchema, createSeoHealthPane, seofields as default, _default$2 as metaAttributeSchema, _default$1 as metaTagSchema, type openGraphFieldKeys, openGraph as openGraphSchema, _default as robotsSchema, seoFieldsSchema, type twitterFieldKeys, twitter as twitterSchema };
497
+ export { type AllFieldKeys, DocumentWithSeoHealth, type FieldVisibilityConfig, type SeoFieldConfig, type SeoFieldGroup, type SeoFieldKeys, type SeoFieldsPluginConfig, type SeoHealthPaneOptions, type SeoObjectFieldName, type ValidHiddenFieldKeys, types as allSchemas, baseMeta as baseMetaSchema, createSeoHealthPane, seofields as default, _default$2 as metaAttributeSchema, _default$1 as metaTagSchema, type openGraphFieldKeys, openGraph as openGraphSchema, _default as robotsSchema, seoFieldsSchema, type twitterFieldKeys, twitter as twitterSchema };