@sanity/document-internationalization 0.3.3 → 0.3.6

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.
@@ -1,5 +1,5 @@
1
1
  import { IResolverProps } from '../types';
2
2
  export declare const LanguageBadge: (props: IResolverProps) => {
3
- label: any;
3
+ label: string;
4
4
  color: string;
5
5
  } | null;
@@ -21,10 +21,6 @@ var defaultResolve__default = /*#__PURE__*/_interopDefaultLegacy(defaultResolve)
21
21
  var config__default = /*#__PURE__*/_interopDefaultLegacy(config);
22
22
  var schemas__default = /*#__PURE__*/_interopDefaultLegacy(schemas);
23
23
 
24
- var I18nPrefix = 'i18n';
25
-
26
- var I18nDelimiter = '__i18n_';
27
-
28
24
  var ReferenceBehavior;
29
25
 
30
26
  (function (ReferenceBehavior) {
@@ -83,26 +79,18 @@ function getConfig(type) {
83
79
  };
84
80
  }
85
81
 
86
- var getLanguageFromId = function getLanguageFromId(id) {
87
- // subpath
88
- var rx = new RegExp("".concat(I18nPrefix, "\\.[^.]+\\.([^.]+)"));
89
- var match = id.match(rx);
90
- if (match && match.length === 2) return match[1]; // delimiter
91
-
92
- var split = id.split(I18nDelimiter);
93
- if (split.length > 1) return split[1];
94
- return null;
95
- };
82
+ function getLanguageFromDocument(doc, config) {
83
+ return (doc === null || doc === void 0 ? void 0 : doc[config.fieldNames.lang]) || config.base || null;
84
+ }
96
85
 
97
86
  var LanguageBadge = function LanguageBadge(props) {
98
87
  var config = getConfig(props.type);
99
88
  var doc = props.draft || props.published;
100
- var idLang = getLanguageFromId(props.id);
101
- var fieldName = config.fieldNames.lang;
89
+ var lang = doc ? getLanguageFromDocument(doc, config) : null;
102
90
 
103
- if (doc && doc[fieldName] || idLang) {
91
+ if (lang) {
104
92
  return {
105
- label: doc && doc[fieldName] || idLang,
93
+ label: lang,
106
94
  color: 'success'
107
95
  };
108
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/constants/I18nPrefix.ts","../../src/constants/I18nDelimiter.ts","../../src/constants/ReferenceBehavior.ts","../../src/constants/IdStructure.ts","../../src/utils/getSchema.ts","../../src/utils/getConfig.ts","../../src/utils/getLanguageFromId.ts","../../src/badges/LanguageBadge.tsx","../../src/badges/index.ts"],"sourcesContent":["export const I18nPrefix = 'i18n'\n","export const I18nDelimiter = '__i18n_'\n","export enum ReferenceBehavior {\n STRONG = 'strong',\n WEAK = 'weak',\n DISABLED = 'disabled',\n}\n","export enum IdStructure {\n SUBPATH = 'subpath',\n DELIMITER = 'delimiter',\n}\n","import schemas from 'part:@sanity/base/schema'\nimport {TSchema} from '../types'\n\nexport const getSchema = <T = any>(name: string): TSchema<T> => {\n return schemas._original.types.find((s) => s.name === name)\n}\n","import config from 'config:@sanity/document-internationalization'\nimport {Ti18nSchema, Ti18nConfig} from '../types'\nimport {IdStructure, ReferenceBehavior} from '../constants'\nimport {getSchema} from './getSchema'\n\nconst getI18nConfigFromType = (type?: string | Ti18nSchema) => {\n let i18nconfig: Ti18nConfig = {}\n\n if (type) {\n if (typeof type === 'string') {\n const schema = getSchema<Ti18nSchema>(type)\n if (schema && typeof schema.i18n !== 'boolean') {\n i18nconfig = schema.i18n\n }\n } else if (typeof type.i18n !== 'boolean') {\n i18nconfig = type.i18n\n }\n }\n\n return i18nconfig\n}\n\nexport function getConfig(type?: string | Ti18nSchema): Required<{\n [K in keyof Ti18nConfig]: Required<Ti18nConfig[K]>\n}> & {\n withTranslationsMaintenance: boolean\n} {\n const schemaConfig = getI18nConfigFromType(type)\n const cfg = config\n\n return {\n base: schemaConfig?.base || cfg?.base || '',\n idStructure: cfg.idStructure || IdStructure.DELIMITER,\n referenceBehavior: cfg.referenceBehavior || ReferenceBehavior.STRONG,\n withTranslationsMaintenance: cfg?.withTranslationsMaintenance === true,\n fieldNames: {\n lang: schemaConfig?.fieldNames?.lang || cfg?.fieldNames?.lang || '__i18n_lang',\n references:\n schemaConfig?.fieldNames?.references || cfg?.fieldNames?.references || '__i18n_refs',\n baseReference:\n schemaConfig?.fieldNames?.baseReference || cfg?.fieldNames?.baseReference || '__i18n_base',\n },\n languages: schemaConfig?.languages || cfg?.languages || [],\n }\n}\n","import {I18nPrefix, I18nDelimiter} from '../constants'\n\nexport const getLanguageFromId = (id: string) => {\n // subpath\n const rx = new RegExp(`${I18nPrefix}\\\\.[^.]+\\\\.([^.]+)`)\n const match = id.match(rx)\n if (match && match.length === 2) return match[1]\n\n // delimiter\n const split = id.split(I18nDelimiter)\n if (split.length > 1) return split[1]\n return null\n}\n","import {IResolverProps} from '../types'\nimport {getLanguageFromId, getSchema, getConfig} from '../utils'\n\nexport const LanguageBadge = (props: IResolverProps) => {\n const config = getConfig(props.type)\n const doc = props.draft || props.published\n const idLang = getLanguageFromId(props.id)\n const fieldName = config.fieldNames.lang\n if ((doc && doc[fieldName]) || idLang) {\n return {\n label: (doc && doc[fieldName]) || idLang,\n color: 'success',\n }\n }\n\n return null\n}\n","import defaultResolve from 'part:@sanity/base/document-badges'\nimport {LanguageBadge} from './LanguageBadge'\nimport {IResolverProps} from '../types'\n\nconst resolver = (props: IResolverProps) => {\n return [...defaultResolve(props), LanguageBadge]\n}\n\nexport default resolver\nexport {LanguageBadge}\n"],"names":["I18nPrefix","I18nDelimiter","ReferenceBehavior","IdStructure","getSchema","name","schemas","_original","types","find","s","getI18nConfigFromType","type","i18nconfig","schema","i18n","getConfig","schemaConfig","cfg","config","base","idStructure","DELIMITER","referenceBehavior","STRONG","withTranslationsMaintenance","fieldNames","lang","references","baseReference","languages","getLanguageFromId","id","rx","RegExp","match","length","split","LanguageBadge","props","doc","draft","published","idLang","fieldName","label","color","resolver","_toConsumableArray","defaultResolve"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/constants/ReferenceBehavior.ts","../../src/constants/IdStructure.ts","../../src/utils/getSchema.ts","../../src/utils/getConfig.ts","../../src/utils/getLanguageFromDocument.ts","../../src/badges/LanguageBadge.tsx","../../src/badges/index.ts"],"sourcesContent":["export enum ReferenceBehavior {\n STRONG = 'strong',\n WEAK = 'weak',\n DISABLED = 'disabled',\n}\n","export enum IdStructure {\n SUBPATH = 'subpath',\n DELIMITER = 'delimiter',\n}\n","import schemas from 'part:@sanity/base/schema'\nimport {TSchema} from '../types'\n\nexport const getSchema = <T = any>(name: string): TSchema<T> => {\n return schemas._original.types.find((s) => s.name === name)\n}\n","import config from 'config:@sanity/document-internationalization'\nimport {Ti18nSchema, Ti18nConfig} from '../types'\nimport {IdStructure, ReferenceBehavior} from '../constants'\nimport {getSchema} from './getSchema'\n\nconst getI18nConfigFromType = (type?: string | Ti18nSchema) => {\n let i18nconfig: Ti18nConfig = {}\n\n if (type) {\n if (typeof type === 'string') {\n const schema = getSchema<Ti18nSchema>(type)\n if (schema && typeof schema.i18n !== 'boolean') {\n i18nconfig = schema.i18n\n }\n } else if (typeof type.i18n !== 'boolean') {\n i18nconfig = type.i18n\n }\n }\n\n return i18nconfig\n}\n\nexport function getConfig(type?: string | Ti18nSchema): Required<{\n [K in keyof Ti18nConfig]: Required<Ti18nConfig[K]>\n}> & {\n withTranslationsMaintenance: boolean\n} {\n const schemaConfig = getI18nConfigFromType(type)\n const cfg = config\n\n return {\n base: schemaConfig?.base || cfg?.base || '',\n idStructure: cfg.idStructure || IdStructure.DELIMITER,\n referenceBehavior: cfg.referenceBehavior || ReferenceBehavior.STRONG,\n withTranslationsMaintenance: cfg?.withTranslationsMaintenance === true,\n fieldNames: {\n lang: schemaConfig?.fieldNames?.lang || cfg?.fieldNames?.lang || '__i18n_lang',\n references:\n schemaConfig?.fieldNames?.references || cfg?.fieldNames?.references || '__i18n_refs',\n baseReference:\n schemaConfig?.fieldNames?.baseReference || cfg?.fieldNames?.baseReference || '__i18n_base',\n },\n languages: schemaConfig?.languages || cfg?.languages || [],\n }\n}\n","import type {SanityDocument} from '@sanity/client'\nimport type {getConfig} from './getConfig'\n\nexport function getLanguageFromDocument(\n doc: SanityDocument,\n config: ReturnType<typeof getConfig>\n): string | null {\n return doc?.[config.fieldNames.lang] || config.base || null\n}\n","import {IResolverProps} from '../types'\nimport {getConfig, getLanguageFromDocument} from '../utils'\n\nexport const LanguageBadge = (props: IResolverProps) => {\n const config = getConfig(props.type)\n const doc = props.draft || props.published\n const lang = doc ? getLanguageFromDocument(doc, config) : null\n if (lang) {\n return {\n label: lang,\n color: 'success',\n }\n }\n\n return null\n}\n","import defaultResolve from 'part:@sanity/base/document-badges'\nimport {LanguageBadge} from './LanguageBadge'\nimport {IResolverProps} from '../types'\n\nconst resolver = (props: IResolverProps) => {\n return [...defaultResolve(props), LanguageBadge]\n}\n\nexport default resolver\nexport {LanguageBadge}\n"],"names":["ReferenceBehavior","IdStructure","getSchema","name","schemas","_original","types","find","s","getI18nConfigFromType","type","i18nconfig","schema","i18n","getConfig","schemaConfig","cfg","config","base","idStructure","DELIMITER","referenceBehavior","STRONG","withTranslationsMaintenance","fieldNames","lang","references","baseReference","languages","getLanguageFromDocument","doc","LanguageBadge","props","draft","published","label","color","resolver","_toConsumableArray","defaultResolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAYA,iBAAZ,CAAA;;WAAYA;EAAAA;EAAAA;EAAAA;AAAAA,CAAAA,EAAAA,sBAAAA;;ACAZ,IAAYC,WAAZ,CAAA;;WAAYA;EAAAA;EAAAA;AAAAA,CAAAA,EAAAA,gBAAAA;;ACGL,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAUC,IAAV,EAAuC;EAC9D,OAAOC,2BAAO,CAACC,SAAR,CAAkBC,KAAlB,CAAwBC,IAAxB,CAA6B,UAACC,CAAD,EAAA;AAAA,IAAA,OAAOA,CAAC,CAACL,IAAF,KAAWA,IAAlB,CAAA;AAAA,GAA7B,CAAP,CAAA;AACD,CAFM;;ACEP,IAAMM,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,IAAD,EAAiC;EAC7D,IAAIC,UAAuB,GAAG,EAA9B,CAAA;;AAEA,EAAA,IAAID,IAAJ,EAAU;AACR,IAAA,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,MAAA,IAAME,MAAM,GAAGV,SAAS,CAAcQ,IAAd,CAAxB,CAAA;;MACA,IAAIE,MAAM,IAAI,OAAOA,MAAM,CAACC,IAAd,KAAuB,SAArC,EAAgD;QAC9CF,UAAU,GAAGC,MAAM,CAACC,IAApB,CAAA;AACD,OAAA;KAJH,MAKO,IAAI,OAAOH,IAAI,CAACG,IAAZ,KAAqB,SAAzB,EAAoC;MACzCF,UAAU,GAAGD,IAAI,CAACG,IAAlB,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,OAAOF,UAAP,CAAA;AACD,CAfD,CAAA;;AAiBO,SAASG,SAAT,CAAmBJ,IAAnB,EAIL;AAAA,EAAA,IAAA,qBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,gBAAA,CAAA;;AACA,EAAA,IAAMK,YAAY,GAAGN,qBAAqB,CAACC,IAAD,CAA1C,CAAA;EACA,IAAMM,GAAG,GAAGC,0BAAZ,CAAA;EAEA,OAAO;IACLC,IAAI,EAAE,CAAAH,YAAY,KAAA,IAAZ,IAAAA,YAAY,KAAA,KAAA,CAAZ,YAAAA,YAAY,CAAEG,IAAd,MAAsBF,GAAtB,aAAsBA,GAAtB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAsBA,GAAG,CAAEE,IAA3B,KAAmC,EADpC;AAELC,IAAAA,WAAW,EAAEH,GAAG,CAACG,WAAJ,IAAmBlB,WAAW,CAACmB,SAFvC;AAGLC,IAAAA,iBAAiB,EAAEL,GAAG,CAACK,iBAAJ,IAAyBrB,iBAAiB,CAACsB,MAHzD;AAILC,IAAAA,2BAA2B,EAAE,CAAAP,GAAG,KAAA,IAAH,IAAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,GAAG,CAAEO,2BAAL,MAAqC,IAJ7D;AAKLC,IAAAA,UAAU,EAAE;MACVC,IAAI,EAAE,CAAAV,YAAY,KAAZ,IAAA,IAAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,qBAAA,GAAAA,YAAY,CAAES,UAAd,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA0BC,IAA1B,MAAkCT,GAAlC,KAAkCA,IAAAA,IAAAA,GAAlC,KAAkCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,eAAAA,GAAAA,GAAG,CAAEQ,UAAvC,MAAkC,IAAA,IAAA,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAiBC,IAAnD,CAAA,IAA2D,aADvD;MAEVC,UAAU,EACR,CAAAX,YAAY,KAAZ,IAAA,IAAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,sBAAA,GAAAA,YAAY,CAAES,UAAd,MAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA0BE,UAA1B,MAAwCV,GAAxC,KAAwCA,IAAAA,IAAAA,GAAxC,KAAwCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAAA,GAAAA,GAAG,CAAEQ,UAA7C,MAAwC,IAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAiBE,UAAzD,CAAA,IAAuE,aAH/D;MAIVC,aAAa,EACX,CAAAZ,YAAY,KAAZ,IAAA,IAAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,sBAAA,GAAAA,YAAY,CAAES,UAAd,MAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA0BG,aAA1B,MAA2CX,GAA3C,KAA2CA,IAAAA,IAAAA,GAA3C,KAA2CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAAA,GAAAA,GAAG,CAAEQ,UAAhD,MAAA,IAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA2C,gBAAiBG,CAAAA,aAA5D,CAA6E,IAAA,aAAA;KAV5E;AAYLC,IAAAA,SAAS,EAAE,CAAAb,YAAY,SAAZ,IAAAA,YAAY,WAAZ,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEa,SAAd,MAA2BZ,GAA3B,KAA2BA,IAAAA,IAAAA,GAA3B,uBAA2BA,GAAG,CAAEY,SAAhC,CAA6C,IAAA,EAAA;GAZ1D,CAAA;AAcD;;ACzCM,SAASC,uBAAT,CACLC,GADK,EAELb,MAFK,EAGU;EACf,OAAO,CAAAa,GAAG,KAAH,IAAA,IAAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,GAAG,CAAGb,MAAM,CAACO,UAAP,CAAkBC,IAArB,CAAH,KAAiCR,MAAM,CAACC,IAAxC,IAAgD,IAAvD,CAAA;AACD;;ICLYa,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA2B;AACtD,EAAA,IAAMf,MAAM,GAAGH,SAAS,CAACkB,KAAK,CAACtB,IAAP,CAAxB,CAAA;EACA,IAAMoB,GAAG,GAAGE,KAAK,CAACC,KAAN,IAAeD,KAAK,CAACE,SAAjC,CAAA;EACA,IAAMT,IAAI,GAAGK,GAAG,GAAGD,uBAAuB,CAACC,GAAD,EAAMb,MAAN,CAA1B,GAA0C,IAA1D,CAAA;;AACA,EAAA,IAAIQ,IAAJ,EAAU;IACR,OAAO;AACLU,MAAAA,KAAK,EAAEV,IADF;AAELW,MAAAA,KAAK,EAAE,SAAA;KAFT,CAAA;AAID,GAAA;;AAED,EAAA,OAAO,IAAP,CAAA;AACD;;ACXD,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACL,KAAD,EAA2B;AAC1C,EAAA,OAAA,EAAA,CAAA,MAAA,CAAAM,sCAAA,CAAWC,kCAAc,CAACP,KAAD,CAAzB,IAAkCD,aAAlC,CAAA,CAAA,CAAA;AACD;;;;;"}
@@ -4945,17 +4945,6 @@ var getLanguagesFromOption = /*#__PURE__*/function () {
4945
4945
  };
4946
4946
  }();
4947
4947
 
4948
- var getLanguageFromId = function getLanguageFromId(id) {
4949
- // subpath
4950
- var rx = new RegExp("".concat(I18nPrefix, "\\.[^.]+\\.([^.]+)"));
4951
- var match = id.match(rx);
4952
- if (match && match.length === 2) return match[1]; // delimiter
4953
-
4954
- var split = id.split(I18nDelimiter);
4955
- if (split.length > 1) return split[1];
4956
- return null;
4957
- };
4958
-
4959
4948
  var getBaseIdFromId = function getBaseIdFromId(id) {
4960
4949
  var nonDraftId = id.replace(/^drafts\./, ''); // subpath
4961
4950
 
@@ -4968,6 +4957,10 @@ var getBaseIdFromId = function getBaseIdFromId(id) {
4968
4957
  return nonDraftId;
4969
4958
  };
4970
4959
 
4960
+ function getLanguageFromDocument(doc, config) {
4961
+ return (doc === null || doc === void 0 ? void 0 : doc[config.fieldNames.lang]) || config.base || null;
4962
+ }
4963
+
4971
4964
  function useLanguages(document) {
4972
4965
  var config = React.useMemo(function () {
4973
4966
  return getConfig(document._type);
@@ -5393,8 +5386,16 @@ var LanguageSelectListItem = function LanguageSelectListItem(_ref5) {
5393
5386
  _type: currentDocumentType
5394
5387
  }, baseDocument ? objectOmit(baseDocument, ["_id", "_type", referencesFieldName]) : {}), {}, _defineProperty__default["default"]({}, langFieldName, language.id), baseDocument !== null && baseDocument !== void 0 && baseDocument._id ? _defineProperty__default["default"]({}, baseFieldName, {
5395
5388
  _type: 'reference',
5396
- _ref: baseDocument._id.replace("drafts.*", ""),
5397
- _weak: referenceBehavior === 'weak'
5389
+ _ref: baseDocument._id.replace("drafts.", ""),
5390
+ _weak: true,
5391
+ _strengthenOnPublish: {
5392
+ type: currentDocumentType,
5393
+ weak: referenceBehavior === 'weak',
5394
+ template: {
5395
+ id: currentDocumentType,
5396
+ params: undefined
5397
+ }
5398
+ }
5398
5399
  }) : {}));
5399
5400
 
5400
5401
  case 9:
@@ -5551,8 +5552,8 @@ var LanguageSelect = function LanguageSelect(_ref) {
5551
5552
  return getBaseLanguage(languages, config.base);
5552
5553
  }, [languages, config.base]);
5553
5554
  var currentLanguageCode = React__default["default"].useMemo(function () {
5554
- return getLanguageFromId(document._id) || (baseLanguage ? baseLanguage.id : null);
5555
- }, [document._id, baseLanguage]);
5555
+ return getLanguageFromDocument(document, config) || (baseLanguage ? baseLanguage.id : null);
5556
+ }, [document, baseLanguage, config]);
5556
5557
  var currentLanguageObject = React__default["default"].useMemo(function () {
5557
5558
  return languages.find(function (lang) {
5558
5559
  return lang.id === currentLanguageCode;