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.cjs CHANGED
@@ -661,110 +661,154 @@ function twitter(config = {}) {
661
661
  }
662
662
 
663
663
  // src/schemas/index.ts
664
- var LazySeoPreview = React12__default.default.lazy(() => import('./SeoPreview-Y3CFDVBR.cjs'));
664
+ var LazySeoPreview = React12__default.default.lazy(() => import('./SeoPreview-JDROKZLP.cjs'));
665
665
  var SeoPreviewWrapper = (props) => React12__default.default.createElement(React12__default.default.Suspense, { fallback: null }, React12__default.default.createElement(LazySeoPreview, props));
666
+ function buildFieldGroupMap(groups) {
667
+ const map = /* @__PURE__ */ new Map();
668
+ for (const g of groups) {
669
+ for (const fieldName of g.fields) {
670
+ const existing = map.get(fieldName);
671
+ if (existing) {
672
+ existing.push(g.name);
673
+ } else {
674
+ map.set(fieldName, [g.name]);
675
+ }
676
+ }
677
+ }
678
+ return map;
679
+ }
680
+ function toSanityGroups(groups) {
681
+ return groups.map((g) => {
682
+ const def = {
683
+ name: g.name,
684
+ title: g.title,
685
+ default: g.default
686
+ };
687
+ if (g.icon && typeof g.icon !== "string") {
688
+ def.icon = g.icon;
689
+ }
690
+ return def;
691
+ });
692
+ }
693
+ function withGroup(field, fieldGroupMap) {
694
+ if (!fieldGroupMap) return field;
695
+ const groups = fieldGroupMap.get(field.name);
696
+ if (!groups || groups.length === 0) return field;
697
+ return chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({}, field), { group: groups.length === 1 ? groups[0] : groups });
698
+ }
666
699
  function seoFieldsSchema(config = {}) {
667
- return sanity.defineType({
700
+ const groupsCfg = config.fieldGroups;
701
+ const fieldGroupMap = (groupsCfg == null ? void 0 : groupsCfg.length) ? buildFieldGroupMap(groupsCfg) : void 0;
702
+ const sanityGroups = (groupsCfg == null ? void 0 : groupsCfg.length) ? toSanityGroups(groupsCfg) : void 0;
703
+ return sanity.defineType(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
668
704
  name: "seoFields",
669
705
  title: "SEO Fields",
670
- type: "object",
706
+ type: "object"
707
+ }, sanityGroups ? { groups: sanityGroups } : {}), {
671
708
  fields: [
672
- sanity.defineField({
673
- name: "robots",
674
- title: "Robots Settings",
675
- type: "robots",
676
- // Use the separate robots type here
677
- hidden: getFieldHiddenFunction("robots", config)
678
- }),
709
+ withGroup(
710
+ sanity.defineField({
711
+ name: "robots",
712
+ title: "Robots Settings",
713
+ type: "robots",
714
+ hidden: getFieldHiddenFunction("robots", config)
715
+ }),
716
+ fieldGroupMap
717
+ ),
679
718
  // 👇 conditionally spread preview field
680
719
  ...typeof config.seoPreview === "boolean" && config.seoPreview || typeof config.seoPreview === "object" && !isEmpty(config.seoPreview) ? [
681
- sanity.defineField({
682
- name: "preview",
683
- title: "SEO Preview",
684
- type: "string",
685
- components: { input: SeoPreviewWrapper },
686
- options: chunkS367Y35J_cjs.__spreadValues({
687
- baseUrl: config.baseUrl || "https://www.example.com"
688
- }, typeof config.seoPreview === "object" && config.seoPreview && config.seoPreview.prefix ? { prefix: config.seoPreview.prefix } : {}),
689
- // Use a readOnly field to prevent editing
690
- // This field is just for preview purposes
691
- initialValue: "",
692
- // Set an initial value
693
- readOnly: true
694
- })
720
+ withGroup(
721
+ sanity.defineField({
722
+ name: "preview",
723
+ title: "SEO Preview",
724
+ type: "string",
725
+ components: { input: SeoPreviewWrapper },
726
+ options: chunkS367Y35J_cjs.__spreadValues({
727
+ baseUrl: config.baseUrl || "https://www.example.com"
728
+ }, typeof config.seoPreview === "object" && config.seoPreview && config.seoPreview.prefix ? { prefix: config.seoPreview.prefix } : {}),
729
+ initialValue: "",
730
+ readOnly: true
731
+ }),
732
+ fieldGroupMap
733
+ )
695
734
  ] : [],
696
- sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
697
- name: "title"
698
- }, getFieldInfo("title", config.fieldOverrides)), {
699
- // title: 'Meta Title',
700
- type: "string",
701
- // description:
702
- // 'The meta title is displayed in search engine results as the clickable headline for a given result. It should be concise and accurately reflect the content of the page.',
703
- components: {
704
- input: MetaTitle_default
705
- },
706
- // validation: (Rule) => Rule.max(60).warning('Meta title should be under 60 characters.'),
707
- hidden: getFieldHiddenFunction("title", config)
708
- })),
709
- sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
710
- name: "description"
711
- }, getFieldInfo("description", config.fieldOverrides)), {
712
- // title: 'Meta Description',
713
- // description:
714
- // 'Provide a concise summary of the page content. This description may be used by search engines in search results.',
715
- type: "text",
716
- rows: 3,
717
- components: {
718
- input: MetaDescription_default
719
- },
720
- // validation: (Rule) => Rule.max(160).warning('Meta description should be under 160 characters.'),
721
- hidden: getFieldHiddenFunction("description", config)
722
- })),
723
- sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
724
- name: "metaImage"
725
- }, getFieldInfo("metaImage", config.fieldOverrides)), {
726
- // title: 'Meta Image',
727
- // description:
728
- // 'Upload an image that represents the content of the page. This image may be used in social media previews and search engine results.',
729
- type: "image",
730
- options: {
731
- hotspot: true
732
- },
733
- components: {
734
- input: MetaImage_default
735
- },
736
- hidden: getFieldHiddenFunction("metaImage", config)
737
- })),
738
- sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
739
- name: "metaAttributes"
740
- }, getFieldInfo("metaAttributes", config.fieldOverrides)), {
741
- type: "array",
742
- of: [{ type: "metaAttribute" }],
743
- // description:
744
- // 'Add custom meta attributes to the head of the document for additional SEO and social media integration.',
745
- hidden: getFieldHiddenFunction("metaAttributes", config)
746
- })),
747
- sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
748
- name: "keywords"
749
- }, getFieldInfo("keywords", config.fieldOverrides)), {
750
- title: "Keywords",
751
- type: "array",
752
- of: [{ type: "string" }],
753
- description: "Add relevant keywords for this page. These keywords will be used for SEO purposes.",
754
- hidden: getFieldHiddenFunction("keywords", config)
755
- })),
756
- sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
757
- name: "canonicalUrl"
758
- }, getFieldInfo("canonicalUrl", config.fieldOverrides)), {
759
- title: "Canonical URL",
760
- type: "url",
761
- description: "Specify the canonical URL for this page. This helps prevent duplicate content issues by indicating the preferred version of a page.",
762
- hidden: getFieldHiddenFunction("canonicalUrl", config)
763
- })),
764
- openGraph(config),
765
- twitter(config)
735
+ withGroup(
736
+ sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
737
+ name: "title"
738
+ }, getFieldInfo("title", config.fieldOverrides)), {
739
+ type: "string",
740
+ components: {
741
+ input: MetaTitle_default
742
+ },
743
+ hidden: getFieldHiddenFunction("title", config)
744
+ })),
745
+ fieldGroupMap
746
+ ),
747
+ withGroup(
748
+ sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
749
+ name: "description"
750
+ }, getFieldInfo("description", config.fieldOverrides)), {
751
+ type: "text",
752
+ rows: 3,
753
+ components: {
754
+ input: MetaDescription_default
755
+ },
756
+ hidden: getFieldHiddenFunction("description", config)
757
+ })),
758
+ fieldGroupMap
759
+ ),
760
+ withGroup(
761
+ sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
762
+ name: "metaImage"
763
+ }, getFieldInfo("metaImage", config.fieldOverrides)), {
764
+ type: "image",
765
+ options: {
766
+ hotspot: true
767
+ },
768
+ components: {
769
+ input: MetaImage_default
770
+ },
771
+ hidden: getFieldHiddenFunction("metaImage", config)
772
+ })),
773
+ fieldGroupMap
774
+ ),
775
+ withGroup(
776
+ sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
777
+ name: "metaAttributes"
778
+ }, getFieldInfo("metaAttributes", config.fieldOverrides)), {
779
+ type: "array",
780
+ of: [{ type: "metaAttribute" }],
781
+ hidden: getFieldHiddenFunction("metaAttributes", config)
782
+ })),
783
+ fieldGroupMap
784
+ ),
785
+ withGroup(
786
+ sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
787
+ name: "keywords"
788
+ }, getFieldInfo("keywords", config.fieldOverrides)), {
789
+ title: "Keywords",
790
+ type: "array",
791
+ of: [{ type: "string" }],
792
+ description: "Add relevant keywords for this page. These keywords will be used for SEO purposes.",
793
+ hidden: getFieldHiddenFunction("keywords", config)
794
+ })),
795
+ fieldGroupMap
796
+ ),
797
+ withGroup(
798
+ sanity.defineField(chunkS367Y35J_cjs.__spreadProps(chunkS367Y35J_cjs.__spreadValues({
799
+ name: "canonicalUrl"
800
+ }, getFieldInfo("canonicalUrl", config.fieldOverrides)), {
801
+ title: "Canonical URL",
802
+ type: "url",
803
+ description: "Specify the canonical URL for this page. This helps prevent duplicate content issues by indicating the preferred version of a page.",
804
+ hidden: getFieldHiddenFunction("canonicalUrl", config)
805
+ })),
806
+ fieldGroupMap
807
+ ),
808
+ withGroup(openGraph(config), fieldGroupMap),
809
+ withGroup(twitter(config), fieldGroupMap)
766
810
  ]
767
- });
811
+ }));
768
812
  }
769
813
  function baseMeta(config = {}) {
770
814
  return sanity.defineType({
@@ -943,100 +987,30 @@ function types(config = {}) {
943
987
  }
944
988
 
945
989
  // src/plugin.ts
946
- var V132 = "v1.3.2";
947
- var CHANGELOG_V132 = `https://github.com/hardik-143/sanity-plugin-seofields/blob/main/CHANGELOG.md#132--2026-03-23`;
948
990
  var resolveDashboardConfig = (healthDashboard) => {
949
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
991
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
950
992
  const cfg = typeof healthDashboard === "object" ? healthDashboard : void 0;
951
- const deprecationWarnings = [];
952
- if (((_a = cfg == null ? void 0 : cfg.display) == null ? void 0 : _a.typeColumn) !== void 0) {
953
- deprecationWarnings.push({
954
- key: "display.typeColumn \u2192 showTypeColumn",
955
- version: V132,
956
- changelogUrl: CHANGELOG_V132
957
- });
958
- if (cfg.showTypeColumn) {
959
- console.warn(
960
- `[sanity-plugin-seofields] Both "healthDashboard.display.typeColumn" and "healthDashboard.showTypeColumn" are set. "showTypeColumn" will take precedence. Please remove "healthDashboard.display.typeColumn". See ${CHANGELOG_V132}`
961
- );
962
- } else {
963
- console.warn(
964
- `[sanity-plugin-seofields] "healthDashboard.display.typeColumn" is deprecated. Use "healthDashboard.showTypeColumn" instead. See ${CHANGELOG_V132}`
965
- );
966
- }
967
- }
968
- if (((_b = cfg == null ? void 0 : cfg.display) == null ? void 0 : _b.documentId) !== void 0) {
969
- deprecationWarnings.push({
970
- key: "display.documentId \u2192 showDocumentId",
971
- version: V132,
972
- changelogUrl: CHANGELOG_V132
973
- });
974
- if (cfg.showDocumentId) {
975
- console.warn(
976
- `[sanity-plugin-seofields] Both "healthDashboard.display.documentId" and "healthDashboard.showDocumentId" are set. "showDocumentId" will take precedence. Please remove "healthDashboard.display.documentId". See ${CHANGELOG_V132}`
977
- );
978
- } else {
979
- console.warn(
980
- `[sanity-plugin-seofields] "healthDashboard.display.documentId" is deprecated. Use "healthDashboard.showDocumentId" instead. See ${CHANGELOG_V132}`
981
- );
982
- }
983
- }
984
- if (cfg == null ? void 0 : cfg.typeLabels) {
985
- deprecationWarnings.push({
986
- key: "typeLabels \u2192 typeDisplayLabels",
987
- version: V132,
988
- changelogUrl: CHANGELOG_V132
989
- });
990
- if (cfg.typeDisplayLabels) {
991
- console.warn(
992
- `[sanity-plugin-seofields] Both "healthDashboard.typeLabels" and "healthDashboard.typeDisplayLabels" are set. "typeDisplayLabels" will take precedence. Please remove "typeLabels". See ${CHANGELOG_V132}`
993
- );
994
- } else {
995
- console.warn(
996
- `[sanity-plugin-seofields] "healthDashboard.typeLabels" is deprecated. Use "healthDashboard.typeDisplayLabels" instead. See ${CHANGELOG_V132}`
997
- );
998
- }
999
- }
1000
- if (cfg == null ? void 0 : cfg.docBadge) {
1001
- deprecationWarnings.push({
1002
- key: "docBadge \u2192 getDocumentBadge",
1003
- version: V132,
1004
- changelogUrl: CHANGELOG_V132
1005
- });
1006
- if (cfg == null ? void 0 : cfg.getDocumentBadge) {
1007
- console.warn(
1008
- `[sanity-plugin-seofields] Both "healthDashboard.docBadge" and "healthDashboard.getDocumentBadge" are set. "getDocumentBadge" will take precedence. Please remove "docBadge". See ${CHANGELOG_V132}`
1009
- );
1010
- } else {
1011
- console.warn(
1012
- `[sanity-plugin-seofields] "healthDashboard.docBadge" is deprecated. Use "healthDashboard.getDocumentBadge" instead. See ${CHANGELOG_V132}`
1013
- );
1014
- }
1015
- }
1016
993
  return {
1017
994
  enabled: healthDashboard !== false,
1018
- toolTitle: (_d = (_c = cfg == null ? void 0 : cfg.tool) == null ? void 0 : _c.title) != null ? _d : "SEO Health",
1019
- toolName: (_f = (_e = cfg == null ? void 0 : cfg.tool) == null ? void 0 : _e.name) != null ? _f : "seo-health-dashboard",
1020
- icon: (_g = cfg == null ? void 0 : cfg.content) == null ? void 0 : _g.icon,
1021
- title: (_h = cfg == null ? void 0 : cfg.content) == null ? void 0 : _h.title,
1022
- description: (_i = cfg == null ? void 0 : cfg.content) == null ? void 0 : _i.description,
1023
- // New flat keys take precedence; fall back to deprecated display.* for backwards compat
1024
- showTypeColumn: (_k = cfg == null ? void 0 : cfg.showTypeColumn) != null ? _k : (_j = cfg == null ? void 0 : cfg.display) == null ? void 0 : _j.typeColumn,
1025
- showDocumentId: (_m = cfg == null ? void 0 : cfg.showDocumentId) != null ? _m : (_l = cfg == null ? void 0 : cfg.display) == null ? void 0 : _l.documentId,
1026
- queryTypes: (_n = cfg == null ? void 0 : cfg.query) == null ? void 0 : _n.types,
1027
- queryRequireSeo: (_o = cfg == null ? void 0 : cfg.query) == null ? void 0 : _o.requireSeo,
1028
- queryGroq: (_p = cfg == null ? void 0 : cfg.query) == null ? void 0 : _p.groq,
995
+ toolTitle: (_b = (_a = cfg == null ? void 0 : cfg.tool) == null ? void 0 : _a.title) != null ? _b : "SEO Health",
996
+ toolName: (_d = (_c = cfg == null ? void 0 : cfg.tool) == null ? void 0 : _c.name) != null ? _d : "seo-health-dashboard",
997
+ icon: (_e = cfg == null ? void 0 : cfg.content) == null ? void 0 : _e.icon,
998
+ title: (_f = cfg == null ? void 0 : cfg.content) == null ? void 0 : _f.title,
999
+ description: (_g = cfg == null ? void 0 : cfg.content) == null ? void 0 : _g.description,
1000
+ showTypeColumn: cfg == null ? void 0 : cfg.showTypeColumn,
1001
+ showDocumentId: cfg == null ? void 0 : cfg.showDocumentId,
1002
+ queryTypes: (_h = cfg == null ? void 0 : cfg.query) == null ? void 0 : _h.types,
1003
+ queryRequireSeo: (_i = cfg == null ? void 0 : cfg.query) == null ? void 0 : _i.requireSeo,
1004
+ queryGroq: (_j = cfg == null ? void 0 : cfg.query) == null ? void 0 : _j.groq,
1029
1005
  apiVersion: cfg == null ? void 0 : cfg.apiVersion,
1030
1006
  licenseKey: cfg == null ? void 0 : cfg.licenseKey,
1031
- // New key takes precedence; fall back to deprecated key for backwards compat
1032
- typeDisplayLabels: (_q = cfg == null ? void 0 : cfg.typeDisplayLabels) != null ? _q : cfg == null ? void 0 : cfg.typeLabels,
1007
+ typeDisplayLabels: cfg == null ? void 0 : cfg.typeDisplayLabels,
1033
1008
  typeColumnMode: cfg == null ? void 0 : cfg.typeColumnMode,
1034
1009
  titleField: cfg == null ? void 0 : cfg.titleField,
1035
- // New key takes precedence; fall back to deprecated key for backwards compat
1036
- getDocumentBadge: (_r = cfg == null ? void 0 : cfg.getDocumentBadge) != null ? _r : cfg == null ? void 0 : cfg.docBadge,
1037
- loadingLicense: (_s = cfg == null ? void 0 : cfg.content) == null ? void 0 : _s.loadingLicense,
1038
- loadingDocuments: (_t = cfg == null ? void 0 : cfg.content) == null ? void 0 : _t.loadingDocuments,
1039
- noDocuments: (_u = cfg == null ? void 0 : cfg.content) == null ? void 0 : _u.noDocuments,
1010
+ getDocumentBadge: cfg == null ? void 0 : cfg.getDocumentBadge,
1011
+ loadingLicense: (_k = cfg == null ? void 0 : cfg.content) == null ? void 0 : _k.loadingLicense,
1012
+ loadingDocuments: (_l = cfg == null ? void 0 : cfg.content) == null ? void 0 : _l.loadingDocuments,
1013
+ noDocuments: (_m = cfg == null ? void 0 : cfg.content) == null ? void 0 : _m.noDocuments,
1040
1014
  previewMode: cfg == null ? void 0 : cfg.previewMode,
1041
1015
  structureTool: cfg == null ? void 0 : cfg.structureTool,
1042
1016
  exportEnabled: (() => {
@@ -1051,14 +1025,14 @@ var resolveDashboardConfig = (healthDashboard) => {
1051
1025
  if (typeof exportCfg === "object" && exportCfg.formats) return exportCfg.formats;
1052
1026
  return ["csv", "json"];
1053
1027
  })(),
1054
- compactStats: (_v = cfg == null ? void 0 : cfg.compactStats) != null ? _v : false,
1055
- deprecationWarnings
1028
+ compactStats: (_n = cfg == null ? void 0 : cfg.compactStats) != null ? _n : false,
1029
+ deprecationWarnings: []
1056
1030
  };
1057
1031
  };
1058
1032
  var seofields = sanity.definePlugin((config = {}) => {
1059
1033
  const { healthDashboard = true } = config;
1060
1034
  const dash = resolveDashboardConfig(healthDashboard);
1061
- const LazySeoHealthTool = React12__default.default.lazy(() => import('./SeoHealthTool-ON3SRXCF.cjs'));
1035
+ const LazySeoHealthTool = React12__default.default.lazy(() => import('./SeoHealthTool-2H4XZR4I.cjs'));
1062
1036
  const BoundSeoHealthTool = () => React12__default.default.createElement(
1063
1037
  React12__default.default.Suspense,
1064
1038
  { fallback: null },
@@ -1105,7 +1079,7 @@ var seofields = sanity.definePlugin((config = {}) => {
1105
1079
  });
1106
1080
  });
1107
1081
  var plugin_default = seofields;
1108
- var LazySeoHealthDashboard = React12__default.default.lazy(() => import('./SeoHealthDashboard-KPBNXSL4.cjs'));
1082
+ var LazySeoHealthDashboard = React12__default.default.lazy(() => import('./SeoHealthDashboard-7XMPVJRX.cjs'));
1109
1083
  function createSeoHealthPane(optionsOrS, optionsWhenS) {
1110
1084
  const S = optionsOrS;
1111
1085
  const _a = optionsWhenS != null ? optionsWhenS : {}, { query, openInPane = true, title: paneTitle } = _a, rest = chunkS367Y35J_cjs.__objRest(_a, ["query", "openInPane", "title"]);