@sanity/document-internationalization 1.0.2 → 1.0.4

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.
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const e=["config"];var t,a,n,i,l,r,s,u,o,c,d;function h(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function f(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function g(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function m(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?g(Object(a),!0).forEach((function(t){p(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):g(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}Object.defineProperty(exports,"__esModule",{value:!0});var v=require("sanity"),b=require("just-safe-get"),S=require("lodash/compact"),y=require("react"),x=require("@sanity/ui"),C=require("@sanity/icons"),_=require("react/jsx-runtime"),j=require("sanity/desk"),I=require("@sanity/uuid"),M=require("styled-components"),w=require("just-split"),E=require("lodash/chunk"),T=require("twemoji"),A=require("html-react-parser"),k=require("@cprecioso/country-flag-emoji"),B=require("rxjs/operators"),L=require("react-fast-compare"),D=require("just-omit"),N=require("@sanity/color"),R=require("sanity/router");function O(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function P(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var G=O(b),F=O(S),K=P(y),z=O(y),U=O(M),H=O(w),q=O(E),W=O(T),Z=O(A),V=O(L),Y=O(D);const J=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],$=[{value:"af",title:"Afrikaans"},{value:"af-ZA",title:"Afrikaans (South Africa)"},{value:"ar",title:"Arabic"},{value:"ar-AE",title:"Arabic (U.A.E.)"},{value:"ar-BH",title:"Arabic (Bahrain)"},{value:"ar-DZ",title:"Arabic (Algeria)"},{value:"ar-EG",title:"Arabic (Egypt)"},{value:"ar-IQ",title:"Arabic (Iraq)"},{value:"ar-JO",title:"Arabic (Jordan)"},{value:"ar-KW",title:"Arabic (Kuwait)"},{value:"ar-LB",title:"Arabic (Lebanon)"},{value:"ar-LY",title:"Arabic (Libya)"},{value:"ar-MA",title:"Arabic (Morocco)"},{value:"ar-OM",title:"Arabic (Oman)"},{value:"ar-QA",title:"Arabic (Qatar)"},{value:"ar-SA",title:"Arabic (Saudi Arabia)"},{value:"ar-SY",title:"Arabic (Syria)"},{value:"ar-TN",title:"Arabic (Tunisia)"},{value:"ar-YE",title:"Arabic (Yemen)"},{value:"az",title:"Azeri"},{value:"az-Cyrl-AZ",title:"Azeri (Cyrillic, Azerbaijan)"},{value:"az-Latn-AZ",title:"Azeri (Latin, Azerbaijan)"},{value:"be",title:"Belarusian"},{value:"be-BY",title:"Belarusian (Belarus)"},{value:"bg",title:"Bulgarian"},{value:"bg-BG",title:"Bulgarian (Bulgaria)"},{value:"bs-Latn-BA",title:"Bosnian (Bosnia and Herzegovina)"},{value:"ca",title:"Catalan"},{value:"ca-ES",title:"Catalan (Catalan)"},{value:"cs",title:"Czech"},{value:"cs-CZ",title:"Czech (Czech Republic)"},{value:"cy-GB",title:"Welsh (United Kingdom)"},{value:"da",title:"Danish"},{value:"da-DK",title:"Danish (Denmark)"},{value:"de",title:"German"},{value:"de-AT",title:"German (Austria)"},{value:"de-DE",title:"German (Germany)"},{value:"de-CH",title:"German (Switzerland)"},{value:"de-LI",title:"German (Liechtenstein)"},{value:"de-LU",title:"German (Luxembourg)"},{value:"dv",title:"Divehi"},{value:"dv-MV",title:"Divehi (Maldives)"},{value:"el",title:"Greek"},{value:"el-GR",title:"Greek (Greece)"},{value:"en",title:"English"},{value:"en-029",title:"English (Caribbean)"},{value:"en-AU",title:"English (Australia)"},{value:"en-BZ",title:"English (Belize)"},{value:"en-CA",title:"English (Canada)"},{value:"en-GB",title:"English (United Kingdom)"},{value:"en-IE",title:"English (Ireland)"},{value:"en-JM",title:"English (Jamaica)"},{value:"en-NZ",title:"English (New Zealand)"},{value:"en-PH",title:"English (Republic of the Philippines)"},{value:"en-TT",title:"English (Trinidad and Tobago)"},{value:"en-US",title:"English (United States)"},{value:"en-ZA",title:"English (South Africa)"},{value:"en-ZW",title:"English (Zimbabwe)"},{value:"es",title:"Spanish"},{value:"es-AR",title:"Spanish (Argentina)"},{value:"es-BO",title:"Spanish (Bolivia)"},{value:"es-CL",title:"Spanish (Chile)"},{value:"es-CO",title:"Spanish (Colombia)"},{value:"es-CR",title:"Spanish (Costa Rica)"},{value:"es-DO",title:"Spanish (Dominican Republic)"},{value:"es-EC",title:"Spanish (Ecuador)"},{value:"es-ES",title:"Spanish (Spain)"},{value:"es-GT",title:"Spanish (Guatemala)"},{value:"es-HN",title:"Spanish (Honduras)"},{value:"es-MX",title:"Spanish (Mexico)"},{value:"es-NI",title:"Spanish (Nicaragua)"},{value:"es-PA",title:"Spanish (Panama)"},{value:"es-PE",title:"Spanish (Peru)"},{value:"es-PR",title:"Spanish (Puerto Rico)"},{value:"es-PY",title:"Spanish (Paraguay)"},{value:"es-SV",title:"Spanish (El Salvador)"},{value:"es-UY",title:"Spanish (Uruguay)"},{value:"es-VE",title:"Spanish (Venezuela)"},{value:"et",title:"Estonian"},{value:"et-EE",title:"Estonian (Estonia)"},{value:"eu",title:"Basque"},{value:"eu-ES",title:"Basque (Basque)"},{value:"fa",title:"Persian"},{value:"fa-IR",title:"Persian (Iran)"},{value:"fi",title:"Finnish"},{value:"fi-FI",title:"Finnish (Finland)"},{value:"fo",title:"Faroese"},{value:"fo-FO",title:"Faroese (Faroe Islands)"},{value:"fr",title:"French"},{value:"fr-BE",title:"French (Belgium)"},{value:"fr-CA",title:"French (Canada)"},{value:"fr-FR",title:"French (France)"},{value:"fr-CH",title:"French (Switzerland)"},{value:"fr-LU",title:"French (Luxembourg)"},{value:"fr-MC",title:"French (Principality of Monaco)"},{value:"gl",title:"Galician"},{value:"gl-ES",title:"Galician (Galician)"},{value:"gu",title:"Gujarati"},{value:"gu-IN",title:"Gujarati (India)"},{value:"he",title:"Hebrew"},{value:"he-IL",title:"Hebrew (Israel)"},{value:"hi",title:"Hindi"},{value:"hi-IN",title:"Hindi (India)"},{value:"hr",title:"Croatian"},{value:"hr-BA",title:"Croatian (Bosnia and Herzegovina)"},{value:"hr-HR",title:"Croatian (Croatia)"},{value:"hu",title:"Hungarian"},{value:"hu-HU",title:"Hungarian (Hungary)"},{value:"hy",title:"Armenian"},{value:"hy-AM",title:"Armenian (Armenia)"},{value:"id",title:"Indonesian"},{value:"id-ID",title:"Indonesian (Indonesia)"},{value:"is",title:"Icelandic"},{value:"is-IS",title:"Icelandic (Iceland)"},{value:"it",title:"Italian"},{value:"it-CH",title:"Italian (Switzerland)"},{value:"it-IT",title:"Italian (Italy)"},{value:"ja",title:"Japanese"},{value:"ja-JP",title:"Japanese (Japan)"},{value:"ka",title:"Georgian"},{value:"ka-GE",title:"Georgian (Georgia)"},{value:"kk",title:"Kazakh"},{value:"kk-KZ",title:"Kazakh (Kazakhstan)"},{value:"kn",title:"Kannada"},{value:"kn-IN",title:"Kannada (India)"},{value:"ko",title:"Korean"},{value:"kok",title:"Konkani"},{value:"kok-IN",title:"Konkani (India)"},{value:"ko-KR",title:"Korean (Korea)"},{value:"ky",title:"Kyrgyz"},{value:"ky-KG",title:"Kyrgyz (Kyrgyzstan)"},{value:"lt",title:"Lithuanian"},{value:"lt-LT",title:"Lithuanian (Lithuania)"},{value:"lv",title:"Latvian"},{value:"lv-LV",title:"Latvian (Latvia)"},{value:"mi-NZ",title:"Maori (New Zealand)"},{value:"mk",title:"Macedonian"},{value:"mk-MK",title:"Macedonian (Former Yugoslav Republic of Macedonia)"},{value:"mn",title:"Mongolian"},{value:"mn-MN",title:"Mongolian (Cyrillic, Mongolia)"},{value:"mr",title:"Marathi"},{value:"mr-IN",title:"Marathi (India)"},{value:"ms",title:"Malay"},{value:"ms-BN",title:"Malay (Brunei Darussalam)"},{value:"ms-MY",title:"Malay (Malaysia)"},{value:"mt-MT",title:"Maltese (Malta)"},{value:"nb-NO",title:"Norwegian, Bokmal (Norway)"},{value:"nl",title:"Dutch"},{value:"nl-BE",title:"Dutch (Belgium)"},{value:"nl-NL",title:"Dutch (Netherlands)"},{value:"nn-NO",title:"Norwegian, Nynorsk (Norway)"},{value:"no",title:"Norwegian"},{value:"ns-ZA",title:"Northern Sotho (South Africa)"},{value:"pa",title:"Punjabi"},{value:"pa-IN",title:"Punjabi (India)"},{value:"pl",title:"Polish"},{value:"pl-PL",title:"Polish (Poland)"},{value:"pt",title:"Portuguese"},{value:"pt-BR",title:"Portuguese (Brazil)"},{value:"pt-PT",title:"Portuguese (Portugal)"},{value:"quz-BO",title:"Quechua (Bolivia)"},{value:"quz-EC",title:"Quechua (Ecuador)"},{value:"quz-PE",title:"Quechua (Peru)"},{value:"ro",title:"Romanian"},{value:"ro-RO",title:"Romanian (Romania)"},{value:"ru",title:"Russian"},{value:"ru-RU",title:"Russian (Russia)"},{value:"sa",title:"Sanskrit"},{value:"sa-IN",title:"Sanskrit (India)"},{value:"se-FI",title:"Sami (Northern) (Finland)"},{value:"se-NO",title:"Sami (Northern) (Norway)"},{value:"se-SE",title:"Sami (Northern) (Sweden)"},{value:"sk",title:"Slovak"},{value:"sk-SK",title:"Slovak (Slovakia)"},{value:"sl",title:"Slovenian"},{value:"sl-SI",title:"Slovenian (Slovenia)"},{value:"sma-NO",title:"Sami (Southern) (Norway)"},{value:"sma-SE",title:"Sami (Southern) (Sweden)"},{value:"smj-NO",title:"Sami (Lule) (Norway)"},{value:"smj-SE",title:"Sami (Lule) (Sweden)"},{value:"smn-FI",title:"Sami (Inari) (Finland)"},{value:"sms-FI",title:"Sami (Skolt) (Finland)"},{value:"sq",title:"Albanian"},{value:"sq-AL",title:"Albanian (Albania)"},{value:"sr",title:"Serbian"},{value:"sr-Cyrl-BA",title:"Serbian (Cyrillic) (Bosnia and Herzegovina)"},{value:"sr-Cyrl-CS",title:"Serbian (Cyrillic, Serbia)"},{value:"sr-Latn-BA",title:"Serbian (Latin) (Bosnia and Herzegovina)"},{value:"sr-Latn-CS",title:"Serbian (Latin, Serbia)"},{value:"sv",title:"Swedish"},{value:"sv-FI",title:"Swedish (Finland)"},{value:"sv-SE",title:"Swedish (Sweden)"},{value:"sw",title:"Kiswahili"},{value:"sw-KE",title:"Kiswahili (Kenya)"},{value:"syr",title:"Syriac"},{value:"syr-SY",title:"Syriac (Syria)"},{value:"ta",title:"Tamil"},{value:"ta-IN",title:"Tamil (India)"},{value:"te",title:"Telugu"},{value:"te-IN",title:"Telugu (India)"},{value:"th",title:"Thai"},{value:"th-TH",title:"Thai (Thailand)"},{value:"tn-ZA",title:"Tswana (South Africa)"},{value:"tr",title:"Turkish"},{value:"tr-TR",title:"Turkish (Turkey)"},{value:"tt",title:"Tatar"},{value:"tt-RU",title:"Tatar (Russia)"},{value:"uk",title:"Ukrainian"},{value:"uk-UA",title:"Ukrainian (Ukraine)"},{value:"ur",title:"Urdu"},{value:"ur-PK",title:"Urdu (Islamic Republic of Pakistan)"},{value:"uz",title:"Uzbek"},{value:"uz-Cyrl-UZ",title:"Uzbek (Cyrillic, Uzbekistan)"},{value:"uz-Latn-UZ",title:"Uzbek (Latin, Uzbekistan)"},{value:"vi",title:"Vietnamese"},{value:"vi-VN",title:"Vietnamese (Vietnam)"},{value:"xh-ZA",title:"Xhosa (South Africa)"},{value:"zh-CN",title:"Chinese (People's Republic of China)"},{value:"zh-HK",title:"Chinese (Hong Kong S.A.R.)"},{value:"zh-CHS",title:"Chinese (Simplified)"},{value:"zh-CHT",title:"Chinese (Traditional)"},{value:"zh-MO",title:"Chinese (Macao S.A.R.)"},{value:"zh-SG",title:"Chinese (Singapore)"},{value:"zh-TW",title:"Chinese (Taiwan)"},{value:"zu-ZA",title:"Zulu (South Africa)"}];var Q=(e=>(e.STRONG="strong",e.WEAK="weak",e.DISABLED="disabled",e))(Q||{}),X=(e=>(e.SUBPATH="subpath",e.DELIMITER="delimiter",e))(X||{});const ee={publishing:"Publishing...",publish:"Publish",updatingIntlFields:"Updating i18n fields",intlFieldsUpdated:"i18n fields updated",baseDocumentCopied:"Base document copied",translationCreatedToast:{title:e=>"Translation created: ".concat(e),description:e=>"The content from ‘".concat(e,"’ is copied into the new document translation.")},loading:"Loading languages...",draft:"Draft",missingTranslations:"Following languages are missing some translations compared to the base language",base:"Base",missing:"Missing",deleteAll:{buttonTitle:"Delete (incl. translations)",deleting:"Deleting..."},duplicateAll:{buttonTitle:"Duplicate (incl. translations)",duplicating:"Duplicating..."},translationsMaintenance:{title:"Translation Maintenance",selectSchemaPlaceholder:"Select schema type",idStructureMismatch:"document(s) with mismatched ID structures",missingLanguageField:"document(s) are missing the language field",missingDocumentRefs:"document(s) have missing translation references",missingBaseDocumentRefs:"document(s) have missing base document references",orphanDocuments:"orphaned translation document(s)",referenceBehaviorMismatch:"document(s) with mismatched reference behaviors",baseLanguageMismatch:"base document(s) with mismatched language field",fix:"Fix",pendingTransactionDialog:{header:"Confirm pending transaction",caution:"Before continuing please review the transactions. Keep in mind, the translation maintenance functionality may remove or update many documents at once. It is recommended to back-up your dataset before performing data maintenance",cancel:"Cancel",confirm:"Confirm operation"}},errors:{baseDocumentNotPublished:"It looks like you have not published your base translation yet. When using strong references it is required to publish the base document before publishing any translated entries"},languageSelect:{placeholder:"Switch language",listLabels:{existing:"Select document translations",missing:"Create new document translations"}}},te=(e,t,a)=>e.idStructure===X.DELIMITER?"".concat(t).concat("__i18n_").concat(a||"*"):"".concat("i18n",".").concat(t,".").concat(a||"*"),ae=(e,t)=>t?e.find((e=>e.id===t))||null:e.length>0?e[0]:null;function ne(){return v.useClient({apiVersion:"2021-10-01"})}const ie=async(e,t,a,n)=>{const i=(e=>e.map((e=>{if("string"==typeof e){const t=$.find((t=>t.value===e));return t?{title:t.title,id:e}:{title:e,id:e}}return"name"in e?(console.warn('The "name" field in your language configuration is deprecated, please replace it with "id".'),{title:e.title,id:e.name}):{title:e.title,id:e.id}})))(await(async()=>{if(Array.isArray(a))return a;const t=await e.fetch(a.query),n=a.value;return"string"==typeof n?t.map((e=>G.default(e,n))):t.map((e=>"name"in n?{name:G.default(e,n.name),title:G.default(e,n.title)}:{id:G.default(e,n.id),title:G.default(e,n.title)}))})());return t.languagesLoader?t.languagesLoader(i,null!=n?n:void 0):i},le=e=>{if(!e)return;const t=e.replace(/^drafts\./,""),a=new RegExp("".concat("i18n","\\.([^.]+)\\.[^.]+")),n=t.match(a);if(n&&2===n.length)return n[1];const i=t.split("__i18n_");return i.length>0?i[0]:t},re=async function(e,t,a){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(t.idStructure===X.DELIMITER){const t=a.split("-");t[t.length-1]="".concat(t[t.length-1]).concat("__i18n_","*");const i=await e.fetch(n?"*[_id match $segments]":"*[_id match $segments && !(_id in path('drafts.**'))]",{segments:t});return i?i.filter((e=>e._id.startsWith(a)||n&&e._id.startsWith("drafts.".concat(a)))):[]}const i=await e.fetch(n?"*[_id in path($path) || _id in path($draftPath)]":"*[_id in path($path)]",{path:te(t,a,"*"),draftPath:"drafts.".concat(te(t,a,"*"))});return null!=i?i:[]};function se(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return m({_type:"reference",_ref:e.replace("drafts.","")},!0===t?{_weak:!0}:{})}function ue(e,t){return(null==e?void 0:e[t.fieldNames.lang])||t.base||null}function oe(e){return e.reduce(((e,t,a)=>{const n="number"==typeof t,i=v.isKeyedObject(t),l=n||i?"[]":"".concat(0===a?"":".").concat(t);return"".concat(e).concat(l)}),"")}function ce(e,t){var a,n,i,l,r,s;return{base:(null==t?void 0:t.base)||(null==e?void 0:e.base)||"",languages:(null==t?void 0:t.languages)||(null==e?void 0:e.languages)||[],idStructure:(null==e?void 0:e.idStructure)||X.DELIMITER,referenceBehavior:(null==e?void 0:e.referenceBehavior)||Q.STRONG,withTranslationsMaintenance:!0===(null==e?void 0:e.withTranslationsMaintenance),shouldReload:null==e?void 0:e.shouldReload,languagesLoader:null==e?void 0:e.languagesLoader,fallbackLanguageSelect:null==e?void 0:e.fallbackLanguageSelect,customFlagComponents:null==e?void 0:e.customFlagComponents,fieldNames:{lang:(null==(a=null==t?void 0:t.fieldNames)?void 0:a.lang)||(null==(n=null==e?void 0:e.fieldNames)?void 0:n.lang)||"__i18n_lang",references:(null==(i=null==t?void 0:t.fieldNames)?void 0:i.references)||(null==(l=null==e?void 0:e.fieldNames)?void 0:l.references)||"__i18n_refs",baseReference:(null==(r=null==t?void 0:t.fieldNames)?void 0:r.baseReference)||(null==(s=null==e?void 0:e.fieldNames)?void 0:s.baseReference)||"__i18n_base"}}}function de(e,t){const a=v.useSchema(),n=y.useMemo((()=>{if(t){const e=a.get(t);if(e&&"boolean"!=typeof e.i18n)return null==e?void 0:e.i18n}return null}),[t,a]);return y.useMemo((()=>ce(e,n)),[n,e])}function he(e){return t=>{let{type:a,id:n,onComplete:i}=t;const l=x.useToast(),r=ne(),s=de(e,a),u=le(n),o=K.useRef(null),[c,d]=K.useState(null),[h,f]=K.useState(!1),{draft:g,published:p}=v.useEditState(n,a),b=v.useEditState(u,a),{publish:S}=v.useDocumentOperation(n,a),{isValidating:_,validation:j}=v.useValidationStatus(n,a),I=v.useSyncState(n,a),M=v.useSyncState(u,a),w=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const[i,l]=y.useState(e);return y.useEffect((()=>{if(i!==e)if(e){if(a){const e=setTimeout((()=>l(!0)),t);return()=>clearTimeout(e)}l(!0)}else if(!e){if(n){const e=setTimeout((()=>l(!1)),t);return()=>clearTimeout(e)}l(!1)}}),[i,e,t,a,n]),i}(!!("published"===c||"publishing"===c||h||S.disabled||I.isSyncing||M.isSyncing||_||j.some((e=>"error"===e.level)))),E=K.useMemo((()=>"publishing"===c?ee.publishing:h?ee.updatingIntlFields:ee.publish),[c,h]),T=K.useCallback((async()=>{f(!0);try{const e=g||p;e&&await async function(e,t,a,n){var i;const{_type:l,_id:r}=a,s=le(r),u=r!==s,o=t.fieldNames.lang,c=t.fieldNames.references,d=t.fieldNames.baseReference,h=await ie(e,t,t.languages,a),f=ue(a,t)||(null==(i=ae(h,t.base))?void 0:i.id),g=e.transaction();if(g.createIfNotExists({_id:r,_type:l}),g.patch(r,{set:m({[o]:f},u&&t.referenceBehavior!==Q.DISABLED?{[d]:se(s,t.referenceBehavior===Q.WEAK)}:{})}),await g.commit(),n){const a=await re(e,t,s);if(a.length>0){const n=e.transaction();let i=[];t.referenceBehavior!==Q.DISABLED&&(i=F.default(a.map((e=>{const a=ue(e,t);return a?m({_key:a},se(e._id,t.referenceBehavior===Q.WEAK)):null}),{}))),n.patch(s,{set:{[c]:i}}),await n.commit()}}}(r,s,e,b.published),l.push({closable:!0,status:"success",title:ee.intlFieldsUpdated})}catch(e){console.error(e),l.push({closable:!0,status:"error",title:e.toString()})}f(!1)}),[l,g,p,r,b.published,s]),A=K.useCallback((()=>{d("publishing");if(n!==u&&!b.published&&s.referenceBehavior===Q.STRONG)throw new Error(ee.errors.baseDocumentNotPublished);S.execute()}),[n,u,S,s,b.published]);return K.useEffect((()=>{const e="publishing"===c&&!g,t=e?"published":null,a=setTimeout((()=>{d(t)}),e?200:4e3);return()=>clearTimeout(a)}),[c,g]),K.useEffect((()=>{"published"===c&&(o.current||(o.current=T().then((()=>i&&i())).finally((()=>o.current=null))))}),[c,i,T]),{disabled:w,label:E,icon:"published"===c?C.CheckmarkIcon:C.PublishIcon,shortcut:w?null:"Ctrl+Alt+P",onHandle:A}}}const fe={NOTHING_TO_DELETE:"This document doesn't yet exist or is already deleted"};function ge(e){return function(t){let{id:a,type:n,onComplete:i}=t;const l=x.useToast(),r=ne(),s=de(e,n),u=z.default.useMemo((()=>le(a)),[a]),o=v.useEditState(u,n),c=v.useSyncState(a,n),d=v.useSyncState(u,n),{delete:h}=v.useDocumentOperation(a,n),[f,g]=z.default.useState(!1),[m,p]=z.default.useState(!1),b=z.default.useCallback((()=>{p(!0)}),[]),S=z.default.useCallback((()=>{p(!1),i&&i()}),[i]),y=z.default.useCallback((async()=>{try{if(g(!0),p(!1),o.draft||o.published){const e=r.transaction();o.draft&&e.delete("drafts.".concat(u)),o.published&&e.patch(u,{unset:[s.fieldNames.references]}),await e.commit()}const e=await re(r,s,u,!0),t=r.transaction();e.forEach((e=>{t.delete(e._id)})),await t.commit(),h.execute(),i&&i()}catch(e){l.push({closable:!0,status:"error",title:e.toString()})}finally{g(!0)}}),[l,s,r,u,o.draft,o.published,h,i]);return{onHandle:b,tone:"critical",icon:C.TrashIcon,disabled:f||Boolean(h.disabled)||c.isSyncing||d.isSyncing,shortcut:"CTRL+ALT+D",title:h.disabled&&fe[h.disabled]||"",label:f?ee.deleteAll.deleting:ee.deleteAll.buttonTitle,dialog:m&&{type:"dialog",onClose:i,content:_.jsx(j.ConfirmDeleteDialog,{action:"delete",id:a,type:n,onCancel:S,onConfirm:y})}}}}const me={NOTHING_TO_DUPLICATE:"This document doesn't yet exist so there's nothing to duplicate"};function pe(e){return t=>{let{id:a,type:n,draft:i,published:l}=t;const r=x.useToast(),s=ne(),u=de(e,n),o=le(a),{duplicate:c}=v.useDocumentOperation(a,n),[d,h]=z.default.useState(!1),f=z.default.useCallback((async()=>{h(!0);try{const e=I.uuid(),t=await re(s,u,o),a=s.transaction();a.create(m(m({},null!=i?i:l),{},{_id:e,_type:n})),t.forEach((t=>{const n=t._id.startsWith("drafts."),i=te(u,e,ue(t,u));a.create(m(m({},t),{},{_id:n?"drafts.".concat(i):i}))})),await a.commit()}catch(e){console.error(e),r.push({description:e.message})}h(!1)}),[s,u,r,o,n,i,l]);return{icon:C.CopyIcon,disabled:Boolean(c.disabled)||d,title:c.disabled&&me[c.disabled]||"",label:d?ee.duplicateAll.duplicating:ee.duplicateAll.buttonTitle,onHandle:f}}}const ve=(e,t,a)=>{let{schema:n,schemaType:i,documentId:l}=t;const r=n.get(i),s=r&&r.i18n,u=l===le(l);let o=e;return s&&(o=o.map((e=>{const t="publish"===e.action,n="delete"===e.action;return t?he(a):n&&u?ge(a):e})),u&&o.push(pe(a))),o},be=y.forwardRef((function(e,t){let{value:a,onChange:n,onOpen:i}=e;const l=v.useSchema(),r=y.useMemo((()=>{var e;return null==(e=l._original)?void 0:e.types.filter((e=>!!e.i18n))}),[l]);return _.jsxs(x.Stack,{space:4,children:[_.jsx(x.Text,{children:ee.translationsMaintenance.selectSchemaPlaceholder}),_.jsx(x.Card,{children:_.jsx(x.Autocomplete,{ref:t,fontSize:[2,2,3],icon:C.EarthGlobeIcon,id:"i18n-schema-selector",options:null==r?void 0:r.map((e=>({value:e.name,payload:e}))),value:a,placeholder:"Search",openButton:{onClick:()=>i},onChange:n,renderValue:(e,t)=>(null==t?void 0:t.payload.title)||e,renderOption:e=>{let{payload:t}=e;return _.jsx(x.Card,{padding:2,radius:2,as:"button",children:_.jsx(v.DefaultPreview,{layout:"default",title:t.title,media:t.icon})})}})})]})})),Se=e=>{let{pending:t,count:a,labelName:n,children:i,onClick:l}=e;return _.jsx(x.Card,{padding:3,radius:2,shadow:1,tone:a>0?"caution":"default",children:_.jsxs(x.Flex,{align:"center",children:[_.jsx(x.Box,{flex:1,children:_.jsxs(x.Text,{muted:a<=0,children:[_.jsx("span",{children:a}),_.jsx("span",{children:" "}),_.jsx("span",{children:n?String(ee.translationsMaintenance[n]):i})]})}),a>0&&_.jsx(x.Button,{padding:2,fontSize:2,disabled:t,onClick:l,text:ee.translationsMaintenance.fix})]})})},ye=(e,t,a,n)=>{var i;const l=null==(i=t.fieldNames)?void 0:i.lang,r=e.transaction();return n.forEach((e=>{const n=a.get(e._type),i=("object"==typeof n.i18n?n.i18n.base:void 0)||t.base;if(!e[l]){const t=(e=>{const t=new RegExp("".concat("i18n","\\.[^.]+\\.([^.]+)")),a=e.match(t);if(a&&2===a.length)return a[1];const n=e.split("__i18n_");return n.length>1?n[1]:void 0})(e._id)||i;r.patch(e._id,{set:{[l]:t}})}})),r},xe=(e,t,a,n)=>{const i=t.fieldNames.references;return q.default(a,50).map((a=>{const l=e.transaction();return a.forEach((e=>{let a=[];const r=n.filter((t=>le(t._id)===e._id));t.referenceBehavior!==Q.DISABLED&&(a=F.default(r.map((e=>{const a=ue(e,t);return a?m({_key:a},se(e._id,t.referenceBehavior===Q.WEAK)):null}),{}))),l.patch(e._id,{set:{[i]:a}})})),l}))},Ce=(e,t,a,n)=>{const i=e.transaction();return n.forEach((e=>{a.find((a=>{var n,i;return Array.isArray(null==e?void 0:e[t.fieldNames.references])&&(null==(n=null==e?void 0:e[t.fieldNames.references])?void 0:n.some((t=>t._ref===e._id)))||a._id===(null==(i=null==e?void 0:e[t.fieldNames.baseReference])?void 0:i._ref)}))||i.delete(e._id)})),i},_e=async(e,t,a)=>{const n=await ie(e,t,t.languages),i=ae(n,t.base),l=t.fieldNames.lang,r=e.transaction();return a.forEach((e=>{e[l]!==(null==i?void 0:i.id)&&r.patch(e._id,{set:{[l]:null==i?void 0:i.id}})})),r},je=(e,t,a)=>{const n=e.transaction();if(t.referenceBehavior!==Q.DISABLED){const e=t.fieldNames.baseReference;a.forEach((a=>{if(!a[e]){const i=le(a._id);n.patch(a._id,{set:{[e]:se(i,t.referenceBehavior===Q.WEAK)}})}}))}return n},Ie=U.default(x.Card)(t||(t=f(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),Me=U.default(x.Code)(a||(a=f(["\n word-break: break-word;\n white-space: break-spaces;\n"]))),we=U.default(x.Flex)(n||(n=f(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),Ee=y.forwardRef((function(e,t){let{config:a}=e;const[n,i]=y.useState(""),l=ne(),{pending:r,setPending:s,documents:u,baseDocuments:o,translatedDocuments:c,documentsSummaryInformation:d,fetchInformation:h}=((e,t)=>{const a=ne(),n=de(e,t),[i,l]=z.default.useState(!1),[r,s]=z.default.useState([]),[u,o]=z.default.useState([]),c=z.default.useMemo((()=>n.idStructure===X.DELIMITER?r.filter((e=>!e._id.includes("__i18n_"))):r.filter((e=>!e._id.startsWith("i18n")))),[n,r]),d=z.default.useMemo((()=>n.idStructure===X.DELIMITER?r.filter((e=>e._id.includes("__i18n_"))):r.filter((e=>e._id.startsWith("i18n")))),[n,r]),h=z.default.useMemo((()=>n.idStructure===X.DELIMITER?r.filter((e=>e._id.startsWith("i18n"))):r.filter((e=>e._id.includes("__i18n_")))),[n,r]),f=z.default.useCallback((async e=>{l(!0);const[t,i]=await Promise.all([ie(a,n,n.languages),a.fetch("*[_type == $type && !(_id in path('drafts.**'))]",{type:e})]);o(t),s(i),l(!1)}),[n,a]),g=z.default.useMemo((()=>{var e,t,a;const i=ae(u,n.base),l=c,s=d,o=null==(e=n.fieldNames)?void 0:e.lang,f=null==(t=n.fieldNames)?void 0:t.references,g=null==(a=n.fieldNames)?void 0:a.baseReference;return{idStructureMismatch:h,missingLanguageField:r.filter((e=>!e[o])),missingDocumentRefs:l.filter((e=>{const t=s.filter((t=>le(t._id)===e._id));return Object.values(e[f]||[]).filter((e=>"reference"===e._type&&!!e._ref)).length!=t.length})),missingBaseDocumentRefs:s.filter((e=>!e[g])),orphanDocuments:s.filter((e=>!l.find((t=>le(e._id)===t._id)))),referenceBehaviorMismatch:l.filter((e=>{const t=e[f]||[];return n.referenceBehavior===Q.DISABLED?Object.keys(t).length>0:n.referenceBehavior===Q.WEAK?Object.values(t).some((e=>!e._weak)):Object.values(t).some((e=>!!e._weak))})),baseLanguageMismatch:l.filter((e=>(null==i?void 0:i.id)&&e[o]!==i.id))}}),[n,r,u,c,d,h]);return z.default.useEffect((()=>{t&&f(t)}),[t]),{pending:i,setPending:l,documents:r,baseDocuments:c,translatedDocuments:d,idStructureMismatchDocuments:h,documentsSummaryInformation:g,fetchInformation:f}})(a,n),[f,g]=y.useState(null),p=v.useSchema(),b=de(a,n),S=y.useCallback((e=>i(e)),[]),C=y.useCallback((()=>i("")),[]),j=y.useCallback((()=>{g(((e,t,a,n)=>{const i=t.fieldNames.references,l=new Set(n.map((e=>le(e._id)))),r=e.transaction();l.forEach((e=>{r.patch(e,{set:{[i]:[]}})}));const s=H.default(n.filter((e=>e._id!==le(e._id))),100).map((n=>{const l=e.transaction();return n.forEach((e=>{const n=le(e._id),r=ue(e,t);if(r){const s=te(t,n,r);l.createIfNotExists(m(m({},e),{},{_id:s,_type:a})),l.delete(e._id),t.referenceBehavior!==Q.DISABLED&&(l.patch(n,{setIfMissing:{[i]:[]}}),l.patch(n,{insert:{after:"".concat(i,"[-1]"),items:[m({_key:r},se(s,t.referenceBehavior===Q.WEAK))]}}))}})),l}));return[r,...s]})(l,b,n,u))}),[l,b,n,u]),I=y.useCallback((()=>{g([ye(l,b,p,u)])}),[l,p,b,u]),M=y.useCallback((()=>{g(xe(l,b,o,c))}),[l,b,o,c]),w=y.useCallback((()=>{g([je(l,b,c)])}),[l,b,c]),E=y.useCallback((()=>{g([Ce(l,b,o,c)])}),[l,b,o,c]),T=y.useCallback((()=>{g(xe(l,b,o,c))}),[l,b,o,c]),A=y.useCallback((async()=>{g([await _e(l,b,o)])}),[l,b,o]),k=y.useCallback((()=>{if(f){const e=JSON.stringify(f.map((e=>e.toJSON())),null,2),t=new Blob([e],{type:"application/json"}),a=URL.createObjectURL(t),n=document.createElement("a");n.href=a,n.download="transactions.json",n.style.display="none",document.body.appendChild(n),n.click(),URL.revokeObjectURL(a)}}),[f]),B=y.useCallback((()=>{g(null)}),[g]),L=y.useCallback((async()=>{s(!0);try{f&&(await f.reduce((async(e,t)=>{await e,await t.commit()}),Promise.resolve()),await h(n),g(null))}catch(e){console.error(e)}finally{s(!1)}}),[s,h,n,f]);return _.jsxs(x.Container,{width:1,children:[_.jsxs(x.Stack,{space:2,children:[_.jsx(x.Box,{padding:4,children:_.jsx(be,{value:n,onChange:S,onOpen:C,ref:t})}),!!n&&_.jsx(x.Box,{paddingX:4,children:_.jsxs(x.Stack,{space:2,children:[_.jsx(Se,{pending:r,count:d.idStructureMismatch.length,labelName:"idStructureMismatch",onClick:j}),_.jsx(Se,{pending:r,count:d.missingLanguageField.length,labelName:"missingLanguageField",onClick:I}),_.jsx(Se,{pending:r,count:d.missingDocumentRefs.length,labelName:"missingDocumentRefs",onClick:M}),_.jsx(Se,{pending:r,count:d.missingBaseDocumentRefs.length,labelName:"missingBaseDocumentRefs",onClick:w}),_.jsx(Se,{pending:r,count:d.orphanDocuments.length,labelName:"orphanDocuments",onClick:E}),_.jsx(Se,{pending:r,count:d.referenceBehaviorMismatch.length,labelName:"referenceBehaviorMismatch",onClick:T}),_.jsx(Se,{pending:r,count:d.baseLanguageMismatch.length,labelName:"baseLanguageMismatch",onClick:A})]})})]}),!!(null==f?void 0:f.length)&&_.jsx(x.Dialog,{id:"confirm-pending-transactions",width:2,header:ee.translationsMaintenance.pendingTransactionDialog.header,onClose:B,footer:_.jsx(x.Flex,{padding:3,justify:"flex-end",children:_.jsxs(x.Grid,{autoFlow:"column",autoCols:"auto",gap:2,children:[_.jsx(x.Button,{tone:"default",loading:r,disabled:r,text:ee.translationsMaintenance.pendingTransactionDialog.cancel,onClick:B}),_.jsx(x.Button,{tone:"critical",loading:r,disabled:r,text:ee.translationsMaintenance.pendingTransactionDialog.confirm,onClick:L})]})}),children:_.jsxs(x.Stack,{padding:3,space:3,children:[_.jsx(x.Card,{padding:3,radius:2,shadow:1,tone:"caution",children:_.jsx(x.Text,{size:2,children:ee.translationsMaintenance.pendingTransactionDialog.caution})}),_.jsxs(x.Grid,{cols:1,children:[_.jsx(Ie,{padding:3,radius:2,shadow:1,tone:"default",children:_.jsx(Me,{language:"json",children:JSON.stringify(f.map((e=>e.toJSON())),null,2)})}),_.jsx(we,{padding:2,justify:"flex-end",align:"flex-start",onClick:k,children:_.jsx(x.Button,{text:"Download"})})]})]})})]})}));const Te=e=>{const{S:t,schema:a}=e,n=[],i=t.documentTypeListItems().filter((e=>{let t=e.getSchemaType();t="string"==typeof t?a.get(t):t;const i=t&&t.i18n;return i||n.push(e),i}));return{withoutI18n:n,withI18n:i}},Ae=e=>{const{S:t}=e,a=function(e){return y.forwardRef((function(t,a){return _.jsx(Ee,m(m({},e),{},{ref:a}))}))}(e);return t.component(a).title(ee.translationsMaintenance.title).id("__i18n_translations_maintenance_tab")},ke=e=>{const{S:t}=e;return t.listItem().id("__i18n_translations_maintenance_tab").title(ee.translationsMaintenance.title).icon(C.EarthGlobeIcon).child(Ae(e))},Be=e=>{const{S:t,config:a,schema:n}=e,i=ce(a,"object"==typeof n.i18n?n.i18n:void 0),l=Te(e),r={[X.SUBPATH]:(e,t)=>t.filter("!(_id in path($path)) && !(_id in path($drafts)) && _type == $type").params({path:"".concat("i18n",".**"),drafts:"drafts.".concat("i18n",".**"),type:e.getId()}),[X.DELIMITER]:(e,t)=>t.filter("!(_id match $id) && _type == $type").params({id:"*".concat("__i18n_","*"),type:e.getId()})},s=[...l.withoutI18n,...l.withI18n.map((e=>{const a=e.getSchemaType(),n="string"==typeof a?a:null==a?void 0:a.name;return e.child(r[i.idStructure](e,t.documentList().id(e.getId()||"").title(e.getTitle()||"").schemaType(null!=n?n:"").menuItems([...n?t.orderingMenuItemsForType(n):[]])))}))];return i.withTranslationsMaintenance&&s.splice(0,0,ke(e)),s.map((e=>e.serialize()))};function Le(e){const{S:t}=e;if(0===Te(e).withI18n.length)return t.defaults();const a=Be(e);return t.list().id("__root__").title("Content").items(a).showIcons(a.some((e=>{return!(!(t=e.schemaType)||"string"==typeof t)&&Boolean(t.icon);var t})))}const De=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!e)return"";switch(e.toLocaleLowerCase()){case"en":return"gb";case"sq":return"al";default:return e}},Ne=y.createContext({}),Re=U.default(x.Box)(i||(i=f(["\n min-width: 24px;\n transform: translateY(1px);\n"]))),Oe=e=>{let{code:t,langCulture:a}=e;const n=y.useMemo((()=>t&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!e)return"";const t=De(e);if(!J.includes(t.toUpperCase()))return"";return k.getEmojiFlag(t)}(t)),[t]),i=W.default.parse(null!=n?n:"🇺🇳",{folder:"svg",ext:".svg"}),l=Z.default(i),{customFlagComponents:r}=y.useContext(Ne),s=y.useMemo((()=>{if(a&&r){const e=a.replace(/[^a-zA-Z0-9_]/g,"_");if(e in r)return r[e]}return null}),[a,r]);return _.jsx(x.Box,{"aria-label":t,children:s&&t?_.jsx(s,{code:t}):_.jsx(Re,{children:l})})};const Pe={},Ge={apiVersion:"v2022-05-09"};const Fe=(e,t)=>{var a,n;return Number(null!=(a=e.isBase)?a:0)-Number(null!=(n=t.isBase)?n:0)};function Ke(e){let{children:t}=e;return _.jsx(x.Box,{padding:2,children:_.jsx(x.Text,{muted:!0,size:1,children:t})})}const ze=y.forwardRef((function(e,t){return _.jsx("svg",m(m({"data-sanity-icon":"splitPane",width:"1em",height:"1em",viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:t},e),{},{children:_.jsx("path",{d:"M10.5 5.5V19.5M13 12.5H15.5M18 12.5H15.5M15.5 12.5V15M15.5 12.5V10M4.5 5.5H20.5V19.5H4.5V5.5Z",stroke:"currentColor",strokeWidth:1.2})}))})),Ue=y.createContext({currentDocumentId:null,currentDocumentType:null,baseLanguage:null,currentLanguage:null}),He=M.keyframes(l||(l=f(["\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n"]))),qe=U.default(C.SpinnerIcon)(r||(r=f(["\n animation: "," 500ms linear infinite;\n"])),He),We=U.default(x.Button)(s||(s=f(["\n display: none;\n flex-shrink: 0;\n margin-left: 4px;\n\n & svg {\n display: block;\n color: ",";\n }\n\n ","\n"])),N.hues.gray[700].hex,(e=>{let{theme:t}=e;return M.css(u||(u=f(["\n @media (min-width: ","em) {\n display: block;\n }\n "])),t.sanity.media[1]/16)})),Ze=z.default.forwardRef(((e,t)=>_.jsx("button",m({type:"button",ref:t},e)))),Ve=U.default.button(o||(o=f(["\n color: ",";\n background-color: ",";\n\n span {\n color: ",";\n }\n"])),(e=>{let{theme:t}=e;return t.sanity.color.button.default.primary.enabled.fg}),(e=>{let{theme:t}=e;return t.sanity.color.button.default.primary.enabled.bg}),(e=>{let{theme:t}=e;return t.sanity.color.button.default.primary.enabled.fg})),Ye=e=>{let{status:t,language:a}=e;const n=x.useToast(),i=y.useContext(Ne),l=ne(),{currentDocumentId:r,currentDocumentType:s,baseLanguage:u}=z.default.useContext(Ue);if(!r||!s)throw new Error("No document in view");const o=de(i,s),c=z.default.useContext(R.RouterContext),{routerPanesState:d,groupIndex:h,replaceCurrent:f}=j.usePaneRouter(),[g,p]=z.default.useState(!1),b=z.default.useMemo((()=>le(r)),[r]),S=z.default.useMemo((()=>a.id.split(/[_-]/).pop()),[a.id]),I=z.default.useMemo((()=>a.id===(null==u?void 0:u.id)?b:te(o,b,a.id)),[o,b,a.id,u]),M=v.useEditState(b,s),w=z.default.useMemo((()=>a.isBase?a.title.length>=20?ee.base.split(" ")[0]:ee.base:null),[a]),E=z.default.useCallback(((e,t)=>{f({id:e,params:{type:t}})}),[f]),T=z.default.useCallback(((e,t)=>{if(!c)return;const a=[...d];a.splice(h+1,0,[{id:e,params:{type:t}}]);const n=c.resolvePathFromState({panes:a});c.navigateUrl({path:n})}),[c,d,h]),A=z.default.useCallback((async()=>{try{p(!0);const e=M.draft||M.published,t=o.fieldNames.lang,i=o.fieldNames.references,r=o.fieldNames.baseReference,c=o.referenceBehavior;await l.createIfNotExists(m(m({_id:"drafts.".concat(I),_type:s},e?Y.default(e,["_id","_type",i]):{}),{},{[t]:a.id},(null==e?void 0:e._id)&&c!==Q.DISABLED?{[r]:{_type:"reference",_ref:e._id.replace("drafts.",""),_weak:!0,_strengthenOnPublish:{type:s,weak:"weak"===c,template:{id:s,params:void 0}}}}:{})),n.push({closable:!0,status:"success",title:ee.translationCreatedToast.title(a.title),description:u?ee.translationCreatedToast.description(u.title):void 0}),E(I,s)}catch(e){n.push({closable:!0,status:"error",title:e.toString()})}finally{p(!1)}}),[o,M,I,s,a.id,a.title,n,u,E,l]),k=z.default.useCallback((()=>{E(I,s)}),[E,I,s]),B=z.default.useCallback((()=>{T(I,s)}),[T,I,s]);return"missing"===t?_.jsx(x.MenuItem,{as:Ze,"data-as":"button",disabled:g,icon:g?qe:C.AddIcon,text:a.title,onClick:A}):_.jsxs(x.Flex,{children:[_.jsx(x.MenuItem,{as:a.isCurrentLanguage?Ve:Ze,"data-as":"button","data-selected":a.isCurrentLanguage,selected:a.isCurrentLanguage,onClick:k,paddingY:1,paddingX:2,children:_.jsxs(x.Flex,{align:"center",gap:2,children:[_.jsx(Oe,{code:S,langCulture:a.id}),_.jsx(x.Box,{flex:1,children:_.jsx(x.Text,{children:a.title})}),w?_.jsx(x.Badge,{fontSize:0,children:w}):null]})}),!a.isCurrentLanguage&&_.jsx(We,{type:"button",tone:"default",mode:"bleed",padding:2,onClick:B,children:_.jsx(ze,{width:19,height:19})})]})},Je=U.default(x.Box)(c||(c=f(["\n border-bottom: 1px solid var(--card-shadow-outline-color);\n"]))),$e=U.default(x.Box)(d||(d=f(["\n minwidth: 250;\n"]))),Qe=e=>{let{draftLanguageObjects:t,publishedLanguageObjects:a,missingLanguageObjects:n}=e;const i=z.default.useMemo((()=>Boolean(!(!t.length&&!a.length)&&n.length)),[t,a,n]),l=z.default.useMemo((()=>[...t.map((e=>m(m({},e),{},{status:"draft"}))),...a.map((e=>m(m({},e),{},{status:"published"})))].sort(Fe).reverse()),[t,a]);return _.jsxs($e,{children:[!!l.length&&_.jsxs(x.Box,{children:[_.jsx(Ke,{children:ee.languageSelect.listLabels.existing}),_.jsx(x.Grid,{columns:1,gap:1,children:l.map((e=>_.jsx(Ye,{status:e.status,language:e},e.id)))})]}),i&&_.jsx(Je,{marginY:1}),!!n.length&&_.jsxs(x.Box,{children:[_.jsx(Ke,{children:ee.languageSelect.listLabels.missing}),_.jsx(x.Grid,{columns:1,gap:1,children:n.map((e=>_.jsx(Ye,{status:"missing",language:e},e.id)))})]})]})},Xe={constrainSize:!0,placement:"bottom",portal:!0},et=e=>{let{schemaType:t,document:a}=e;var n,i;const l=de(y.useContext(Ne),t.name),[r,s]=function(e,t){const a=ne(),{draft:n,published:i}=v.useEditState(t._id.replace(/^drafts\./,""),t._type),[l,r]=y.useState(!1),[s,u]=y.useState([]),o=y.useCallback((async()=>{if(0===s.length||e.shouldReload&&e.shouldReload(null!=n?n:i)){r(!0);const t=await ie(a,e,e.languages,null!=n?n:i);u(t),r(!1)}}),[a,e,n,i,s]);return y.useEffect((()=>{o()}),[n,i,s,e,o]),[l,s]}(l,a),u=z.default.useMemo((()=>ae(s,l.base)),[s,l.base]),o=z.default.useMemo((()=>ue(a,l)||(u?u.id:null)),[a,u,l]),c=z.default.useMemo((()=>s.find((e=>e.id===o))),[s,o]),d=z.default.useMemo((()=>null==o?void 0:o.split(/[-_]/).pop()),[o]),h='*[_type == $type && _id in $ids]{\n _id,\n "'.concat(l.fieldNames.lang,'": ').concat(l.fieldNames.lang,"\n }"),f=z.default.useMemo((()=>{const e=le(a._id),t=s.map((t=>t===u?e:te(l,e,t.id))),n=t.map((e=>"drafts.".concat(e)));return{ids:[...t,...n],type:a._type}}),[l,u,s,a._id,a._type]),{loading:g,data:p}=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pe,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ge;const[n,i]=y.useState(!0),[l,r]=y.useState(!1),[s,u]=y.useState(null),o=y.useRef(null),c=v.useDocumentStore();return y.useEffect((()=>(e&&(o.current=c.listenQuery(e,t,a).pipe(B.distinctUntilChanged(V.default),B.catchError((e=>(console.error(e),r(e),i(!1),u(null),e)))).subscribe((e=>{u((t=>V.default(t,e)?t:e)),i(!1),r(!1)}))),()=>o.current?o.current.unsubscribe():void 0)),[e,t,a]),{loading:n,error:l,data:s}}(h,f),b=z.default.useMemo((()=>{const e=[],t=[],a=[];if(!(null==p?void 0:p.length))return{draftLanguageObjects:e,publishedLanguageObjects:t,missingLanguageObjects:a};const n=p.reduce(((e,t)=>{if(!t._id.startsWith("drafts.")){return p.some((e=>e._id==="drafts.".concat(t._id)))?e:[...e,t]}return[...e,t]}),[]),i=new Map;return n.forEach((e=>{const t=G.default(null!=e?e:{},l.fieldNames.lang),a=e&&e._id.replace(/^drafts\./,"")===le(e._id);t?i.set(t,e):a&&(null==u?void 0:u.id)&&i.set(u.id,e)})),s.forEach(((n,l)=>{const r=m(m({},n),{},{isBase:u?n.id===u.id:0===l,isCurrentLanguage:n.id===o}),s=i.get(n.id);(null==s?void 0:s._id)&&!s._id.startsWith("drafts.")?t.push(r):(null==s?void 0:s._id)&&s._id.startsWith("drafts.")?e.push(r):a.push(r)})),{draftLanguageObjects:e,publishedLanguageObjects:t,missingLanguageObjects:a}}),[l,s,u,p,o]);return!c||!o||r||g||0===s.length?_.jsx(x.Button,{disabled:!0,mode:"bleed",padding:3,loading:r||g,iconRight:C.ChevronDownIcon,text:ee.languageSelect.placeholder}):_.jsx(Ue.Provider,{value:{baseLanguage:u,currentLanguage:c,currentDocumentType:a._type,currentDocumentId:a._id},children:_.jsx(x.MenuButton,{id:"document-internationalization/language-select",popover:Xe,button:_.jsx(x.Button,{paddingY:1,paddingX:2,mode:"bleed",title:null!=(n=c.title)?n:c.id,children:_.jsxs(x.Flex,{align:"center",gap:2,children:[_.jsx(Oe,{code:d,langCulture:o}),_.jsx(x.Box,{flex:1,children:_.jsx(x.Text,{children:null!=(i=c.title)?i:c.id})}),_.jsx(C.ChevronDownIcon,{width:19,height:19})]})}),menu:_.jsx(x.Menu,{children:_.jsx(Qe,m({},b))})})})};function tt(t){const{config:a}=t,n=h(t,e),i=t.value;return _.jsxs(Ne.Provider,{value:a,children:[i._id&&_.jsx(x.Flex,{flex:1,justify:"flex-end",children:_.jsx(et,{schemaType:t.schemaType,document:i})}),t.renderDefault(n)]})}const at=v.definePlugin((e=>({name:"document-i18n",document:{actions:(t,a)=>ve(t,a,e),badges:t=>{return[...t,(a=e,e=>{const t=de(a,e.type),n=e.draft||e.published,i=n?ue(n,t):null;return i?{label:i,color:"success"}:null})];var a}},form:{components:{input(t){const{value:a}=t;return t.schemaType.i18n&&"object"==typeof a&&(null==a?void 0:a._id)?_.jsx(tt,m({config:e},t)):t.renderDefault(t)}}}})));exports.I18nDelimiter="__i18n_",exports.I18nPrefix="i18n",exports.IdStructure=X,exports.LanguageCultures=$,exports.ReferenceBehavior=Q,exports.SupportedEmojiFlagCodes=J,exports.UiMessages=ee,exports.createDeleteAction=ge,exports.createDuplicateAction=pe,exports.createIsSlugUnique=function(e){return(t,a)=>{const{document:n,path:i,type:l}=a,r=null==l?void 0:l.options;if(!n)throw new Error("`document` was not provided in validation context.");if(!i)throw new Error("`path` was not provided in validation context.");const s=(null==r?void 0:r.disableArrayWarning)||!1,u=le(n._id),o=n._type,c=oe(i.concat("current"));if(!s&&c.includes("[]")){const e=oe(i);console.warn(["Slug field at path ".concat(e," is within an array and cannot be automatically checked for uniqueness"),'If you need to check for uniqueness, provide your own "isUnique" method',"To disable this message, set `disableArrayWarning: true` on the slug `options` field"].join("\n"))}const d=["_type == $docType",'!(_id in path("drafts.**"))',"_id != $baseId",'!(_id in path("i18n." + $baseId + ".*"))','!(_id match $baseId + "'.concat("__i18n_",'*")'),"".concat(c," == $slug")].join(" && ");return e.fetch("!defined(*[".concat(d,"][0]._id)"),{docType:o,baseId:u,slug:t},{tag:"validation.slug-is-unique"})}},exports.createPublishAction=he,exports.documentI18n=at,exports.getDefaultDocumentNode=e=>e.document(),exports.getDocumentList=Le,exports.getDocumentTypes=Te,exports.getFilteredDocumentTypeListItems=Be,exports.getMaintenanceListItem=ke,exports.getMaintenanceTabComponent=Ae,exports.resolveActions=ve,exports.withDocumentI18nPlugin=function(e,t){var a;const n=at(t);return F.default([...Array.isArray(e)?e:e(t),null==(a=t.includeDeskTool)||a?j.deskTool({structure:(e,a)=>{let{schema:n}=a;return Le({S:e,schema:n,config:t})}}):null,n])};
1
+ "use strict";const e=["config"];var t,a,n,i,l,r,s,u,o,c,d;function h(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function f(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function g(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function m(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?g(Object(a),!0).forEach((function(t){p(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):g(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}Object.defineProperty(exports,"__esModule",{value:!0});var v=require("sanity"),b=require("just-safe-get"),S=require("lodash/compact"),y=require("react"),x=require("@sanity/ui"),C=require("@sanity/icons"),_=require("react/jsx-runtime"),j=require("sanity/desk"),I=require("@sanity/uuid"),M=require("styled-components"),w=require("just-split"),E=require("lodash/chunk"),T=require("twemoji"),A=require("html-react-parser"),k=require("@cprecioso/country-flag-emoji"),B=require("rxjs/operators"),L=require("react-fast-compare"),D=require("just-omit"),N=require("@sanity/color"),R=require("sanity/router");function O(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function P(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var G=O(b),F=O(S),K=P(y),z=O(y),U=O(M),H=O(w),q=O(E),W=O(T),Z=O(A),V=O(L),Y=O(D);const J=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],$=[{value:"af",title:"Afrikaans"},{value:"af-ZA",title:"Afrikaans (South Africa)"},{value:"ar",title:"Arabic"},{value:"ar-AE",title:"Arabic (U.A.E.)"},{value:"ar-BH",title:"Arabic (Bahrain)"},{value:"ar-DZ",title:"Arabic (Algeria)"},{value:"ar-EG",title:"Arabic (Egypt)"},{value:"ar-IQ",title:"Arabic (Iraq)"},{value:"ar-JO",title:"Arabic (Jordan)"},{value:"ar-KW",title:"Arabic (Kuwait)"},{value:"ar-LB",title:"Arabic (Lebanon)"},{value:"ar-LY",title:"Arabic (Libya)"},{value:"ar-MA",title:"Arabic (Morocco)"},{value:"ar-OM",title:"Arabic (Oman)"},{value:"ar-QA",title:"Arabic (Qatar)"},{value:"ar-SA",title:"Arabic (Saudi Arabia)"},{value:"ar-SY",title:"Arabic (Syria)"},{value:"ar-TN",title:"Arabic (Tunisia)"},{value:"ar-YE",title:"Arabic (Yemen)"},{value:"az",title:"Azeri"},{value:"az-Cyrl-AZ",title:"Azeri (Cyrillic, Azerbaijan)"},{value:"az-Latn-AZ",title:"Azeri (Latin, Azerbaijan)"},{value:"be",title:"Belarusian"},{value:"be-BY",title:"Belarusian (Belarus)"},{value:"bg",title:"Bulgarian"},{value:"bg-BG",title:"Bulgarian (Bulgaria)"},{value:"bs-Latn-BA",title:"Bosnian (Bosnia and Herzegovina)"},{value:"ca",title:"Catalan"},{value:"ca-ES",title:"Catalan (Catalan)"},{value:"cs",title:"Czech"},{value:"cs-CZ",title:"Czech (Czech Republic)"},{value:"cy-GB",title:"Welsh (United Kingdom)"},{value:"da",title:"Danish"},{value:"da-DK",title:"Danish (Denmark)"},{value:"de",title:"German"},{value:"de-AT",title:"German (Austria)"},{value:"de-DE",title:"German (Germany)"},{value:"de-CH",title:"German (Switzerland)"},{value:"de-LI",title:"German (Liechtenstein)"},{value:"de-LU",title:"German (Luxembourg)"},{value:"dv",title:"Divehi"},{value:"dv-MV",title:"Divehi (Maldives)"},{value:"el",title:"Greek"},{value:"el-GR",title:"Greek (Greece)"},{value:"en",title:"English"},{value:"en-029",title:"English (Caribbean)"},{value:"en-AU",title:"English (Australia)"},{value:"en-BZ",title:"English (Belize)"},{value:"en-CA",title:"English (Canada)"},{value:"en-GB",title:"English (United Kingdom)"},{value:"en-IE",title:"English (Ireland)"},{value:"en-JM",title:"English (Jamaica)"},{value:"en-NZ",title:"English (New Zealand)"},{value:"en-PH",title:"English (Republic of the Philippines)"},{value:"en-TT",title:"English (Trinidad and Tobago)"},{value:"en-US",title:"English (United States)"},{value:"en-ZA",title:"English (South Africa)"},{value:"en-ZW",title:"English (Zimbabwe)"},{value:"es",title:"Spanish"},{value:"es-AR",title:"Spanish (Argentina)"},{value:"es-BO",title:"Spanish (Bolivia)"},{value:"es-CL",title:"Spanish (Chile)"},{value:"es-CO",title:"Spanish (Colombia)"},{value:"es-CR",title:"Spanish (Costa Rica)"},{value:"es-DO",title:"Spanish (Dominican Republic)"},{value:"es-EC",title:"Spanish (Ecuador)"},{value:"es-ES",title:"Spanish (Spain)"},{value:"es-GT",title:"Spanish (Guatemala)"},{value:"es-HN",title:"Spanish (Honduras)"},{value:"es-MX",title:"Spanish (Mexico)"},{value:"es-NI",title:"Spanish (Nicaragua)"},{value:"es-PA",title:"Spanish (Panama)"},{value:"es-PE",title:"Spanish (Peru)"},{value:"es-PR",title:"Spanish (Puerto Rico)"},{value:"es-PY",title:"Spanish (Paraguay)"},{value:"es-SV",title:"Spanish (El Salvador)"},{value:"es-UY",title:"Spanish (Uruguay)"},{value:"es-VE",title:"Spanish (Venezuela)"},{value:"et",title:"Estonian"},{value:"et-EE",title:"Estonian (Estonia)"},{value:"eu",title:"Basque"},{value:"eu-ES",title:"Basque (Basque)"},{value:"fa",title:"Persian"},{value:"fa-IR",title:"Persian (Iran)"},{value:"fi",title:"Finnish"},{value:"fi-FI",title:"Finnish (Finland)"},{value:"fo",title:"Faroese"},{value:"fo-FO",title:"Faroese (Faroe Islands)"},{value:"fr",title:"French"},{value:"fr-BE",title:"French (Belgium)"},{value:"fr-CA",title:"French (Canada)"},{value:"fr-FR",title:"French (France)"},{value:"fr-CH",title:"French (Switzerland)"},{value:"fr-LU",title:"French (Luxembourg)"},{value:"fr-MC",title:"French (Principality of Monaco)"},{value:"gl",title:"Galician"},{value:"gl-ES",title:"Galician (Galician)"},{value:"gu",title:"Gujarati"},{value:"gu-IN",title:"Gujarati (India)"},{value:"he",title:"Hebrew"},{value:"he-IL",title:"Hebrew (Israel)"},{value:"hi",title:"Hindi"},{value:"hi-IN",title:"Hindi (India)"},{value:"hr",title:"Croatian"},{value:"hr-BA",title:"Croatian (Bosnia and Herzegovina)"},{value:"hr-HR",title:"Croatian (Croatia)"},{value:"hu",title:"Hungarian"},{value:"hu-HU",title:"Hungarian (Hungary)"},{value:"hy",title:"Armenian"},{value:"hy-AM",title:"Armenian (Armenia)"},{value:"id",title:"Indonesian"},{value:"id-ID",title:"Indonesian (Indonesia)"},{value:"is",title:"Icelandic"},{value:"is-IS",title:"Icelandic (Iceland)"},{value:"it",title:"Italian"},{value:"it-CH",title:"Italian (Switzerland)"},{value:"it-IT",title:"Italian (Italy)"},{value:"ja",title:"Japanese"},{value:"ja-JP",title:"Japanese (Japan)"},{value:"ka",title:"Georgian"},{value:"ka-GE",title:"Georgian (Georgia)"},{value:"kk",title:"Kazakh"},{value:"kk-KZ",title:"Kazakh (Kazakhstan)"},{value:"kn",title:"Kannada"},{value:"kn-IN",title:"Kannada (India)"},{value:"ko",title:"Korean"},{value:"kok",title:"Konkani"},{value:"kok-IN",title:"Konkani (India)"},{value:"ko-KR",title:"Korean (Korea)"},{value:"ky",title:"Kyrgyz"},{value:"ky-KG",title:"Kyrgyz (Kyrgyzstan)"},{value:"lt",title:"Lithuanian"},{value:"lt-LT",title:"Lithuanian (Lithuania)"},{value:"lv",title:"Latvian"},{value:"lv-LV",title:"Latvian (Latvia)"},{value:"mi-NZ",title:"Maori (New Zealand)"},{value:"mk",title:"Macedonian"},{value:"mk-MK",title:"Macedonian (Former Yugoslav Republic of Macedonia)"},{value:"mn",title:"Mongolian"},{value:"mn-MN",title:"Mongolian (Cyrillic, Mongolia)"},{value:"mr",title:"Marathi"},{value:"mr-IN",title:"Marathi (India)"},{value:"ms",title:"Malay"},{value:"ms-BN",title:"Malay (Brunei Darussalam)"},{value:"ms-MY",title:"Malay (Malaysia)"},{value:"mt-MT",title:"Maltese (Malta)"},{value:"nb-NO",title:"Norwegian, Bokmal (Norway)"},{value:"nl",title:"Dutch"},{value:"nl-BE",title:"Dutch (Belgium)"},{value:"nl-NL",title:"Dutch (Netherlands)"},{value:"nn-NO",title:"Norwegian, Nynorsk (Norway)"},{value:"no",title:"Norwegian"},{value:"ns-ZA",title:"Northern Sotho (South Africa)"},{value:"pa",title:"Punjabi"},{value:"pa-IN",title:"Punjabi (India)"},{value:"pl",title:"Polish"},{value:"pl-PL",title:"Polish (Poland)"},{value:"pt",title:"Portuguese"},{value:"pt-BR",title:"Portuguese (Brazil)"},{value:"pt-PT",title:"Portuguese (Portugal)"},{value:"quz-BO",title:"Quechua (Bolivia)"},{value:"quz-EC",title:"Quechua (Ecuador)"},{value:"quz-PE",title:"Quechua (Peru)"},{value:"ro",title:"Romanian"},{value:"ro-RO",title:"Romanian (Romania)"},{value:"ru",title:"Russian"},{value:"ru-RU",title:"Russian (Russia)"},{value:"sa",title:"Sanskrit"},{value:"sa-IN",title:"Sanskrit (India)"},{value:"se-FI",title:"Sami (Northern) (Finland)"},{value:"se-NO",title:"Sami (Northern) (Norway)"},{value:"se-SE",title:"Sami (Northern) (Sweden)"},{value:"sk",title:"Slovak"},{value:"sk-SK",title:"Slovak (Slovakia)"},{value:"sl",title:"Slovenian"},{value:"sl-SI",title:"Slovenian (Slovenia)"},{value:"sma-NO",title:"Sami (Southern) (Norway)"},{value:"sma-SE",title:"Sami (Southern) (Sweden)"},{value:"smj-NO",title:"Sami (Lule) (Norway)"},{value:"smj-SE",title:"Sami (Lule) (Sweden)"},{value:"smn-FI",title:"Sami (Inari) (Finland)"},{value:"sms-FI",title:"Sami (Skolt) (Finland)"},{value:"sq",title:"Albanian"},{value:"sq-AL",title:"Albanian (Albania)"},{value:"sr",title:"Serbian"},{value:"sr-Cyrl-BA",title:"Serbian (Cyrillic) (Bosnia and Herzegovina)"},{value:"sr-Cyrl-CS",title:"Serbian (Cyrillic, Serbia)"},{value:"sr-Latn-BA",title:"Serbian (Latin) (Bosnia and Herzegovina)"},{value:"sr-Latn-CS",title:"Serbian (Latin, Serbia)"},{value:"sv",title:"Swedish"},{value:"sv-FI",title:"Swedish (Finland)"},{value:"sv-SE",title:"Swedish (Sweden)"},{value:"sw",title:"Kiswahili"},{value:"sw-KE",title:"Kiswahili (Kenya)"},{value:"syr",title:"Syriac"},{value:"syr-SY",title:"Syriac (Syria)"},{value:"ta",title:"Tamil"},{value:"ta-IN",title:"Tamil (India)"},{value:"te",title:"Telugu"},{value:"te-IN",title:"Telugu (India)"},{value:"th",title:"Thai"},{value:"th-TH",title:"Thai (Thailand)"},{value:"tn-ZA",title:"Tswana (South Africa)"},{value:"tr",title:"Turkish"},{value:"tr-TR",title:"Turkish (Turkey)"},{value:"tt",title:"Tatar"},{value:"tt-RU",title:"Tatar (Russia)"},{value:"uk",title:"Ukrainian"},{value:"uk-UA",title:"Ukrainian (Ukraine)"},{value:"ur",title:"Urdu"},{value:"ur-PK",title:"Urdu (Islamic Republic of Pakistan)"},{value:"uz",title:"Uzbek"},{value:"uz-Cyrl-UZ",title:"Uzbek (Cyrillic, Uzbekistan)"},{value:"uz-Latn-UZ",title:"Uzbek (Latin, Uzbekistan)"},{value:"vi",title:"Vietnamese"},{value:"vi-VN",title:"Vietnamese (Vietnam)"},{value:"xh-ZA",title:"Xhosa (South Africa)"},{value:"zh-CN",title:"Chinese (People's Republic of China)"},{value:"zh-HK",title:"Chinese (Hong Kong S.A.R.)"},{value:"zh-CHS",title:"Chinese (Simplified)"},{value:"zh-CHT",title:"Chinese (Traditional)"},{value:"zh-MO",title:"Chinese (Macao S.A.R.)"},{value:"zh-SG",title:"Chinese (Singapore)"},{value:"zh-TW",title:"Chinese (Taiwan)"},{value:"zu-ZA",title:"Zulu (South Africa)"}];var Q=(e=>(e.STRONG="strong",e.WEAK="weak",e.DISABLED="disabled",e))(Q||{}),X=(e=>(e.SUBPATH="subpath",e.DELIMITER="delimiter",e))(X||{});const ee={publishing:"Publishing...",publish:"Publish",updatingIntlFields:"Updating i18n fields",intlFieldsUpdated:"i18n fields updated",baseDocumentCopied:"Base document copied",translationCreatedToast:{title:e=>"Translation created: ".concat(e),description:e=>"The content from ‘".concat(e,"’ is copied into the new document translation.")},loading:"Loading languages...",draft:"Draft",missingTranslations:"Following languages are missing some translations compared to the base language",base:"Base",missing:"Missing",deleteAll:{buttonTitle:"Delete (incl. translations)",deleting:"Deleting..."},duplicateAll:{buttonTitle:"Duplicate (incl. translations)",duplicating:"Duplicating..."},translationsMaintenance:{title:"Translation Maintenance",selectSchemaPlaceholder:"Select schema type",idStructureMismatch:"document(s) with mismatched ID structures",missingLanguageField:"document(s) are missing the language field",missingDocumentRefs:"document(s) have missing translation references",missingBaseDocumentRefs:"document(s) have missing base document references",orphanDocuments:"orphaned translation document(s)",referenceBehaviorMismatch:"document(s) with mismatched reference behaviors",baseLanguageMismatch:"base document(s) with mismatched language field",fix:"Fix",pendingTransactionDialog:{header:"Confirm pending transaction",caution:"Before continuing please review the transactions. Keep in mind, the translation maintenance functionality may remove or update many documents at once. It is recommended to back-up your dataset before performing data maintenance",cancel:"Cancel",confirm:"Confirm operation"}},errors:{baseDocumentNotPublished:"It looks like you have not published your base translation yet. When using strong references it is required to publish the base document before publishing any translated entries"},languageSelect:{placeholder:"Switch language",listLabels:{existing:"Select document translations",missing:"Create new document translations"}}},te=(e,t,a)=>e.idStructure===X.DELIMITER?"".concat(t).concat("__i18n_").concat(a||"*"):"".concat("i18n",".").concat(t,".").concat(a||"*"),ae=(e,t)=>t?e.find((e=>e.id===t))||null:e.length>0?e[0]:null;function ne(){return v.useClient({apiVersion:"2021-10-01"})}const ie=async(e,t,a,n)=>{const i=(e=>e.map((e=>{if("string"==typeof e){const t=$.find((t=>t.value===e));return t?{title:t.title,id:e}:{title:e,id:e}}return"name"in e?(console.warn('The "name" field in your language configuration is deprecated, please replace it with "id".'),{title:e.title,id:e.name}):{title:e.title,id:e.id}})))(await(async()=>{if(Array.isArray(a))return a;const t=await e.fetch(a.query),n=a.value;return"string"==typeof n?t.map((e=>G.default(e,n))):t.map((e=>"name"in n?{name:G.default(e,n.name),title:G.default(e,n.title)}:{id:G.default(e,n.id),title:G.default(e,n.title)}))})());return t.languagesLoader?t.languagesLoader(i,null!=n?n:void 0):i},le=e=>{if(!e)return;const t=e.replace(/^drafts\./,""),a=new RegExp("".concat("i18n","\\.([^.]+)\\.[^.]+")),n=t.match(a);if(n&&2===n.length)return n[1];const i=t.split("__i18n_");return i.length>0?i[0]:t},re=async function(e,t,a){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(t.idStructure===X.DELIMITER){const t=a.split("-");t[t.length-1]="".concat(t[t.length-1]).concat("__i18n_","*");const i=await e.fetch(n?"*[_id match $segments]":"*[_id match $segments && !(_id in path('drafts.**'))]",{segments:t});return i?i.filter((e=>e._id.startsWith(a)||n&&e._id.startsWith("drafts.".concat(a)))):[]}const i=await e.fetch(n?"*[_id in path($path) || _id in path($draftPath)]":"*[_id in path($path)]",{path:te(t,a,"*"),draftPath:"drafts.".concat(te(t,a,"*"))});return null!=i?i:[]};function se(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return m({_type:"reference",_ref:e.replace("drafts.","")},!0===t?{_weak:!0}:{})}function ue(e,t){return(null==e?void 0:e[t.fieldNames.lang])||t.base||null}async function oe(e,t,a,n){var i;const{_type:l,_id:r}=a,s=le(r),u=r!==s,o=t.fieldNames.lang,c=t.fieldNames.references,d=t.fieldNames.baseReference,h=await ie(e,t,t.languages,a),f=ue(a,t)||(null==(i=ae(h,t.base))?void 0:i.id),g=e.transaction();if(g.createIfNotExists({_id:r,_type:l}),g.patch(r,{set:m({[o]:f},u&&t.referenceBehavior!==Q.DISABLED?{[d]:se(s,t.referenceBehavior===Q.WEAK)}:{})}),await g.commit(),n){const a=await re(e,t,s);if(a.length>0){const n=e.transaction();let i=[];t.referenceBehavior!==Q.DISABLED&&(i=F.default(a.map((e=>{const a=ue(e,t);return a?m({_key:a},se(e._id,t.referenceBehavior===Q.WEAK)):null}),{}))),n.patch(s,{set:{[c]:i}}),await n.commit()}}}function ce(e){return e.reduce(((e,t,a)=>{const n="number"==typeof t,i=v.isKeyedObject(t),l=n||i?"[]":"".concat(0===a?"":".").concat(t);return"".concat(e).concat(l)}),"")}function de(e,t){var a,n,i,l,r,s;return{base:(null==t?void 0:t.base)||(null==e?void 0:e.base)||"",languages:(null==t?void 0:t.languages)||(null==e?void 0:e.languages)||[],idStructure:(null==e?void 0:e.idStructure)||X.DELIMITER,referenceBehavior:(null==e?void 0:e.referenceBehavior)||Q.STRONG,withTranslationsMaintenance:!0===(null==e?void 0:e.withTranslationsMaintenance),shouldReload:null==e?void 0:e.shouldReload,languagesLoader:null==e?void 0:e.languagesLoader,fallbackLanguageSelect:null==e?void 0:e.fallbackLanguageSelect,customFlagComponents:null==e?void 0:e.customFlagComponents,fieldNames:{lang:(null==(a=null==t?void 0:t.fieldNames)?void 0:a.lang)||(null==(n=null==e?void 0:e.fieldNames)?void 0:n.lang)||"__i18n_lang",references:(null==(i=null==t?void 0:t.fieldNames)?void 0:i.references)||(null==(l=null==e?void 0:e.fieldNames)?void 0:l.references)||"__i18n_refs",baseReference:(null==(r=null==t?void 0:t.fieldNames)?void 0:r.baseReference)||(null==(s=null==e?void 0:e.fieldNames)?void 0:s.baseReference)||"__i18n_base"}}}function he(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const[i,l]=y.useState(e);return y.useEffect((()=>{if(i!==e)if(e){if(a){const e=setTimeout((()=>l(!0)),t);return()=>clearTimeout(e)}l(!0)}else if(!e){if(n){const e=setTimeout((()=>l(!1)),t);return()=>clearTimeout(e)}l(!1)}}),[i,e,t,a,n]),i}function fe(e,t){const a=v.useSchema(),n=y.useMemo((()=>{if(t){const e=a.get(t);if(e&&"boolean"!=typeof e.i18n)return null==e?void 0:e.i18n}return null}),[t,a]);return y.useMemo((()=>de(e,n)),[n,e])}function ge(e){return t=>{let{type:a,id:n,onComplete:i}=t;const l=x.useToast(),r=ne(),s=fe(e,a),u=le(n),o=K.useRef(null),[c,d]=K.useState(null),[h,f]=K.useState(!1),{draft:g,published:m}=v.useEditState(n,a),p=v.useEditState(u,a),{publish:b}=v.useDocumentOperation(n,a),{isValidating:S,validation:y}=v.useValidationStatus(n,a),_=v.useSyncState(n,a),j=v.useSyncState(u,a),I=he(!!("published"===c||"publishing"===c||h||b.disabled||_.isSyncing||j.isSyncing||S||y.some((e=>"error"===e.level)))),M=K.useMemo((()=>"publishing"===c?ee.publishing:h?ee.updatingIntlFields:ee.publish),[c,h]),w=K.useCallback((async()=>{f(!0);try{const e=g||m;e&&await oe(r,s,e,p.published),l.push({closable:!0,status:"success",title:ee.intlFieldsUpdated})}catch(e){console.error(e),l.push({closable:!0,status:"error",title:e.toString()})}f(!1)}),[l,g,m,r,p.published,s]),E=K.useCallback((()=>{d("publishing");if(n!==u&&!p.published&&s.referenceBehavior===Q.STRONG)throw new Error(ee.errors.baseDocumentNotPublished);b.execute()}),[n,u,b,s,p.published]);return K.useEffect((()=>{const e="publishing"===c&&!g,t=e?"published":null,a=setTimeout((()=>{d(t)}),e?200:4e3);return()=>clearTimeout(a)}),[c,g]),K.useEffect((()=>{"published"===c&&(o.current||(o.current=w().then((()=>i&&i())).finally((()=>o.current=null))))}),[c,i,w]),{disabled:I,label:M,icon:"published"===c?C.CheckmarkIcon:C.PublishIcon,shortcut:I?null:"Ctrl+Alt+P",onHandle:E}}}const me={NOTHING_TO_DELETE:"This document doesn't yet exist or is already deleted"};function pe(e){return function(t){let{id:a,type:n,onComplete:i}=t;const l=x.useToast(),r=ne(),s=fe(e,n),u=z.default.useMemo((()=>le(a)),[a]),o=v.useEditState(u,n),c=v.useSyncState(a,n),d=v.useSyncState(u,n),{delete:h}=v.useDocumentOperation(a,n),[f,g]=z.default.useState(!1),[m,p]=z.default.useState(!1),b=z.default.useCallback((()=>{p(!0)}),[]),S=z.default.useCallback((()=>{p(!1),i&&i()}),[i]),y=z.default.useCallback((async()=>{try{if(g(!0),p(!1),o.draft||o.published){const e=r.transaction();o.draft&&e.delete("drafts.".concat(u)),o.published&&e.patch(u,{unset:[s.fieldNames.references]}),await e.commit()}const e=await re(r,s,u,!0),t=r.transaction();e.forEach((e=>{t.delete(e._id)})),await t.commit(),h.execute(),i&&i()}catch(e){l.push({closable:!0,status:"error",title:e.toString()})}finally{g(!0)}}),[l,s,r,u,o.draft,o.published,h,i]);return{onHandle:b,tone:"critical",icon:C.TrashIcon,disabled:f||Boolean(h.disabled)||c.isSyncing||d.isSyncing,shortcut:"CTRL+ALT+D",title:h.disabled&&me[h.disabled]||"",label:f?ee.deleteAll.deleting:ee.deleteAll.buttonTitle,dialog:m&&{type:"dialog",onClose:i,content:_.jsx(j.ConfirmDeleteDialog,{action:"delete",id:a,type:n,onCancel:S,onConfirm:y})}}}}const ve={NOTHING_TO_DUPLICATE:"This document doesn't yet exist so there's nothing to duplicate"};function be(e){return t=>{let{id:a,type:n,draft:i,published:l}=t;const r=x.useToast(),s=ne(),u=fe(e,n),o=le(a),{duplicate:c}=v.useDocumentOperation(a,n),[d,h]=z.default.useState(!1),f=z.default.useCallback((async()=>{h(!0);try{const e=I.uuid(),t=await re(s,u,o),a=s.transaction();a.create(m(m({},null!=i?i:l),{},{_id:e,_type:n})),t.forEach((t=>{const n=t._id.startsWith("drafts."),i=te(u,e,ue(t,u));a.create(m(m({},t),{},{_id:n?"drafts.".concat(i):i}))})),await a.commit()}catch(e){console.error(e),r.push({description:e.message})}h(!1)}),[s,u,r,o,n,i,l]);return{icon:C.CopyIcon,disabled:Boolean(c.disabled)||d,title:c.disabled&&ve[c.disabled]||"",label:d?ee.duplicateAll.duplicating:ee.duplicateAll.buttonTitle,onHandle:f}}}const Se=(e,t,a)=>{let{schema:n,schemaType:i,documentId:l}=t;const r=n.get(i),s=r&&r.i18n,u=l===le(l);let o=e;return s&&(o=o.map((e=>{const t="publish"===e.action,n="delete"===e.action;return t?ge(a):n&&u?pe(a):e})),u&&o.push(be(a))),o},ye=y.forwardRef((function(e,t){let{value:a,onChange:n,onOpen:i}=e;const l=v.useSchema(),r=y.useMemo((()=>{var e;return null==(e=l._original)?void 0:e.types.filter((e=>!!e.i18n))}),[l]);return _.jsxs(x.Stack,{space:4,children:[_.jsx(x.Text,{children:ee.translationsMaintenance.selectSchemaPlaceholder}),_.jsx(x.Card,{children:_.jsx(x.Autocomplete,{ref:t,fontSize:[2,2,3],icon:C.EarthGlobeIcon,id:"i18n-schema-selector",options:null==r?void 0:r.map((e=>({value:e.name,payload:e}))),value:a,placeholder:"Search",openButton:{onClick:()=>i},onChange:n,renderValue:(e,t)=>(null==t?void 0:t.payload.title)||e,renderOption:e=>{let{payload:t}=e;return _.jsx(x.Card,{padding:2,radius:2,as:"button",children:_.jsx(v.DefaultPreview,{layout:"default",title:t.title,media:t.icon})})}})})]})})),xe=e=>{let{pending:t,count:a,labelName:n,children:i,onClick:l}=e;return _.jsx(x.Card,{padding:3,radius:2,shadow:1,tone:a>0?"caution":"default",children:_.jsxs(x.Flex,{align:"center",children:[_.jsx(x.Box,{flex:1,children:_.jsxs(x.Text,{muted:a<=0,children:[_.jsx("span",{children:a}),_.jsx("span",{children:" "}),_.jsx("span",{children:n?String(ee.translationsMaintenance[n]):i})]})}),a>0&&_.jsx(x.Button,{padding:2,fontSize:2,disabled:t,onClick:l,text:ee.translationsMaintenance.fix})]})})},Ce=(e,t,a,n)=>{var i;const l=null==(i=t.fieldNames)?void 0:i.lang,r=e.transaction();return n.forEach((e=>{const n=a.get(e._type),i=("object"==typeof n.i18n?n.i18n.base:void 0)||t.base;if(!e[l]){const t=(e=>{const t=new RegExp("".concat("i18n","\\.[^.]+\\.([^.]+)")),a=e.match(t);if(a&&2===a.length)return a[1];const n=e.split("__i18n_");return n.length>1?n[1]:void 0})(e._id)||i;r.patch(e._id,{set:{[l]:t}})}})),r},_e=(e,t,a,n)=>{const i=t.fieldNames.references;return q.default(a,50).map((a=>{const l=e.transaction();return a.forEach((e=>{let a=[];const r=n.filter((t=>le(t._id)===e._id));t.referenceBehavior!==Q.DISABLED&&(a=F.default(r.map((e=>{const a=ue(e,t);return a?m({_key:a},se(e._id,t.referenceBehavior===Q.WEAK)):null}),{}))),l.patch(e._id,{set:{[i]:a}})})),l}))},je=(e,t,a,n)=>{const i=e.transaction();return n.forEach((e=>{a.find((a=>{var n,i;return Array.isArray(null==e?void 0:e[t.fieldNames.references])&&(null==(n=null==e?void 0:e[t.fieldNames.references])?void 0:n.some((t=>t._ref===e._id)))||a._id===(null==(i=null==e?void 0:e[t.fieldNames.baseReference])?void 0:i._ref)}))||i.delete(e._id)})),i},Ie=async(e,t,a)=>{const n=await ie(e,t,t.languages),i=ae(n,t.base),l=t.fieldNames.lang,r=e.transaction();return a.forEach((e=>{e[l]!==(null==i?void 0:i.id)&&r.patch(e._id,{set:{[l]:null==i?void 0:i.id}})})),r},Me=(e,t,a)=>{const n=e.transaction();if(t.referenceBehavior!==Q.DISABLED){const e=t.fieldNames.baseReference;a.forEach((a=>{if(!a[e]){const i=le(a._id);n.patch(a._id,{set:{[e]:se(i,t.referenceBehavior===Q.WEAK)}})}}))}return n},we=U.default(x.Card)(t||(t=f(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),Ee=U.default(x.Code)(a||(a=f(["\n word-break: break-word;\n white-space: break-spaces;\n"]))),Te=U.default(x.Flex)(n||(n=f(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),Ae=y.forwardRef((function(e,t){let{config:a}=e;const[n,i]=y.useState(""),l=ne(),{pending:r,setPending:s,documents:u,baseDocuments:o,translatedDocuments:c,documentsSummaryInformation:d,fetchInformation:h}=((e,t)=>{const a=ne(),n=fe(e,t),[i,l]=z.default.useState(!1),[r,s]=z.default.useState([]),[u,o]=z.default.useState([]),c=z.default.useMemo((()=>n.idStructure===X.DELIMITER?r.filter((e=>!e._id.includes("__i18n_"))):r.filter((e=>!e._id.startsWith("i18n")))),[n,r]),d=z.default.useMemo((()=>n.idStructure===X.DELIMITER?r.filter((e=>e._id.includes("__i18n_"))):r.filter((e=>e._id.startsWith("i18n")))),[n,r]),h=z.default.useMemo((()=>n.idStructure===X.DELIMITER?r.filter((e=>e._id.startsWith("i18n"))):r.filter((e=>e._id.includes("__i18n_")))),[n,r]),f=z.default.useCallback((async e=>{l(!0);const[t,i]=await Promise.all([ie(a,n,n.languages),a.fetch("*[_type == $type && !(_id in path('drafts.**'))]",{type:e})]);o(t),s(i),l(!1)}),[n,a]),g=z.default.useMemo((()=>{var e,t,a;const i=ae(u,n.base),l=c,s=d,o=null==(e=n.fieldNames)?void 0:e.lang,f=null==(t=n.fieldNames)?void 0:t.references,g=null==(a=n.fieldNames)?void 0:a.baseReference;return{idStructureMismatch:h,missingLanguageField:r.filter((e=>!e[o])),missingDocumentRefs:l.filter((e=>{const t=s.filter((t=>le(t._id)===e._id));return Object.values(e[f]||[]).filter((e=>"reference"===e._type&&!!e._ref)).length!=t.length})),missingBaseDocumentRefs:s.filter((e=>!e[g])),orphanDocuments:s.filter((e=>!l.find((t=>le(e._id)===t._id)))),referenceBehaviorMismatch:l.filter((e=>{const t=e[f]||[];return n.referenceBehavior===Q.DISABLED?Object.keys(t).length>0:n.referenceBehavior===Q.WEAK?Object.values(t).some((e=>!e._weak)):Object.values(t).some((e=>!!e._weak))})),baseLanguageMismatch:l.filter((e=>(null==i?void 0:i.id)&&e[o]!==i.id))}}),[n,r,u,c,d,h]);return z.default.useEffect((()=>{t&&f(t)}),[t]),{pending:i,setPending:l,documents:r,baseDocuments:c,translatedDocuments:d,idStructureMismatchDocuments:h,documentsSummaryInformation:g,fetchInformation:f}})(a,n),[f,g]=y.useState(null),p=v.useSchema(),b=fe(a,n),S=y.useCallback((e=>i(e)),[]),C=y.useCallback((()=>i("")),[]),j=y.useCallback((()=>{g(((e,t,a,n)=>{const i=t.fieldNames.references,l=new Set(n.map((e=>le(e._id)))),r=e.transaction();l.forEach((e=>{r.patch(e,{set:{[i]:[]}})}));const s=H.default(n.filter((e=>e._id!==le(e._id))),100).map((n=>{const l=e.transaction();return n.forEach((e=>{const n=le(e._id),r=ue(e,t);if(r){const s=te(t,n,r);l.createIfNotExists(m(m({},e),{},{_id:s,_type:a})),l.delete(e._id),t.referenceBehavior!==Q.DISABLED&&(l.patch(n,{setIfMissing:{[i]:[]}}),l.patch(n,{insert:{after:"".concat(i,"[-1]"),items:[m({_key:r},se(s,t.referenceBehavior===Q.WEAK))]}}))}})),l}));return[r,...s]})(l,b,n,u))}),[l,b,n,u]),I=y.useCallback((()=>{g([Ce(l,b,p,u)])}),[l,p,b,u]),M=y.useCallback((()=>{g(_e(l,b,o,c))}),[l,b,o,c]),w=y.useCallback((()=>{g([Me(l,b,c)])}),[l,b,c]),E=y.useCallback((()=>{g([je(l,b,o,c)])}),[l,b,o,c]),T=y.useCallback((()=>{g(_e(l,b,o,c))}),[l,b,o,c]),A=y.useCallback((async()=>{g([await Ie(l,b,o)])}),[l,b,o]),k=y.useCallback((()=>{if(f){const e=JSON.stringify(f.map((e=>e.toJSON())),null,2),t=new Blob([e],{type:"application/json"}),a=URL.createObjectURL(t),n=document.createElement("a");n.href=a,n.download="transactions.json",n.style.display="none",document.body.appendChild(n),n.click(),URL.revokeObjectURL(a)}}),[f]),B=y.useCallback((()=>{g(null)}),[g]),L=y.useCallback((async()=>{s(!0);try{f&&(await f.reduce((async(e,t)=>{await e,await t.commit()}),Promise.resolve()),await h(n),g(null))}catch(e){console.error(e)}finally{s(!1)}}),[s,h,n,f]);return _.jsxs(x.Container,{width:1,children:[_.jsxs(x.Stack,{space:2,children:[_.jsx(x.Box,{padding:4,children:_.jsx(ye,{value:n,onChange:S,onOpen:C,ref:t})}),!!n&&_.jsx(x.Box,{paddingX:4,children:_.jsxs(x.Stack,{space:2,children:[_.jsx(xe,{pending:r,count:d.idStructureMismatch.length,labelName:"idStructureMismatch",onClick:j}),_.jsx(xe,{pending:r,count:d.missingLanguageField.length,labelName:"missingLanguageField",onClick:I}),_.jsx(xe,{pending:r,count:d.missingDocumentRefs.length,labelName:"missingDocumentRefs",onClick:M}),_.jsx(xe,{pending:r,count:d.missingBaseDocumentRefs.length,labelName:"missingBaseDocumentRefs",onClick:w}),_.jsx(xe,{pending:r,count:d.orphanDocuments.length,labelName:"orphanDocuments",onClick:E}),_.jsx(xe,{pending:r,count:d.referenceBehaviorMismatch.length,labelName:"referenceBehaviorMismatch",onClick:T}),_.jsx(xe,{pending:r,count:d.baseLanguageMismatch.length,labelName:"baseLanguageMismatch",onClick:A})]})})]}),!!(null==f?void 0:f.length)&&_.jsx(x.Dialog,{id:"confirm-pending-transactions",width:2,header:ee.translationsMaintenance.pendingTransactionDialog.header,onClose:B,footer:_.jsx(x.Flex,{padding:3,justify:"flex-end",children:_.jsxs(x.Grid,{autoFlow:"column",autoCols:"auto",gap:2,children:[_.jsx(x.Button,{tone:"default",loading:r,disabled:r,text:ee.translationsMaintenance.pendingTransactionDialog.cancel,onClick:B}),_.jsx(x.Button,{tone:"critical",loading:r,disabled:r,text:ee.translationsMaintenance.pendingTransactionDialog.confirm,onClick:L})]})}),children:_.jsxs(x.Stack,{padding:3,space:3,children:[_.jsx(x.Card,{padding:3,radius:2,shadow:1,tone:"caution",children:_.jsx(x.Text,{size:2,children:ee.translationsMaintenance.pendingTransactionDialog.caution})}),_.jsxs(x.Grid,{cols:1,children:[_.jsx(we,{padding:3,radius:2,shadow:1,tone:"default",children:_.jsx(Ee,{language:"json",children:JSON.stringify(f.map((e=>e.toJSON())),null,2)})}),_.jsx(Te,{padding:2,justify:"flex-end",align:"flex-start",onClick:k,children:_.jsx(x.Button,{text:"Download"})})]})]})})]})}));const ke=e=>{const{S:t,schema:a}=e,n=[],i=t.documentTypeListItems().filter((e=>{let t=e.getSchemaType();t="string"==typeof t?a.get(t):t;const i=t&&t.i18n;return i||n.push(e),i}));return{withoutI18n:n,withI18n:i}},Be=e=>{const{S:t}=e,a=function(e){return y.forwardRef((function(t,a){return _.jsx(Ae,m(m({},e),{},{ref:a}))}))}(e);return t.component(a).title(ee.translationsMaintenance.title).id("__i18n_translations_maintenance_tab")},Le=e=>{const{S:t}=e;return t.listItem().id("__i18n_translations_maintenance_tab").title(ee.translationsMaintenance.title).icon(C.EarthGlobeIcon).child(Be(e))},De=e=>{const{S:t,config:a,schema:n}=e,i=de(a,"object"==typeof n.i18n?n.i18n:void 0),l=ke(e),r={[X.SUBPATH]:(e,t)=>t.filter("!(_id in path($path)) && !(_id in path($drafts)) && _type == $type").params({path:"".concat("i18n",".**"),drafts:"drafts.".concat("i18n",".**"),type:e.getId()}),[X.DELIMITER]:(e,t)=>t.filter("!(_id match $id) && _type == $type").params({id:"*".concat("__i18n_","*"),type:e.getId()})},s=[...l.withoutI18n,...l.withI18n.map((e=>{const a=e.getSchemaType(),n="string"==typeof a?a:null==a?void 0:a.name;return e.child(r[i.idStructure](e,t.documentList().id(e.getId()||"").title(e.getTitle()||"").schemaType(null!=n?n:"").menuItems([...n?t.orderingMenuItemsForType(n):[]])))}))];return i.withTranslationsMaintenance&&s.splice(0,0,Le(e)),s.map((e=>e.serialize()))};function Ne(e){const{S:t}=e;if(0===ke(e).withI18n.length)return t.defaults();const a=De(e);return t.list().id("__root__").title("Content").items(a).showIcons(a.some((e=>{return!(!(t=e.schemaType)||"string"==typeof t)&&Boolean(t.icon);var t})))}const Re=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!e)return"";switch(e.toLocaleLowerCase()){case"en":return"gb";case"sq":return"al";default:return e}},Oe=y.createContext({}),Pe=U.default(x.Box)(i||(i=f(["\n min-width: 24px;\n transform: translateY(1px);\n"])));const Ge=e=>{let{code:t,langCulture:a}=e;const n=function(e){const t=W.default.parse(null!=e?e:"🇺🇳",{folder:"svg",ext:".svg"});return Z.default(t.replace("twemoji.maxcdn.com/v","cdnjs.cloudflare.com/ajax/libs/twemoji"))}(y.useMemo((()=>t&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!e)return"";const t=Re(e);if(!J.includes(t.toUpperCase()))return"";return k.getEmojiFlag(t)}(t)),[t])),{customFlagComponents:i}=y.useContext(Oe),l=y.useMemo((()=>{if(a&&i){const e=a.replace(/[^a-zA-Z0-9_]/g,"_");if(e in i)return i[e]}return null}),[a,i]);return _.jsx(x.Box,{"aria-label":t,children:l&&t?_.jsx(l,{code:t}):_.jsx(Pe,{children:n})})};const Fe={},Ke={apiVersion:"v2022-05-09"};const ze=(e,t)=>{var a,n;return Number(null!=(a=e.isBase)?a:0)-Number(null!=(n=t.isBase)?n:0)};function Ue(e){let{children:t}=e;return _.jsx(x.Box,{padding:2,children:_.jsx(x.Text,{muted:!0,size:1,children:t})})}const He=y.forwardRef((function(e,t){return _.jsx("svg",m(m({"data-sanity-icon":"splitPane",width:"1em",height:"1em",viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:t},e),{},{children:_.jsx("path",{d:"M10.5 5.5V19.5M13 12.5H15.5M18 12.5H15.5M15.5 12.5V15M15.5 12.5V10M4.5 5.5H20.5V19.5H4.5V5.5Z",stroke:"currentColor",strokeWidth:1.2})}))})),qe=y.createContext({currentDocumentId:null,currentDocumentType:null,baseLanguage:null,currentLanguage:null}),We=M.keyframes(l||(l=f(["\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n"]))),Ze=U.default(C.SpinnerIcon)(r||(r=f(["\n animation: "," 500ms linear infinite;\n"])),We),Ve=U.default(x.Button)(s||(s=f(["\n display: none;\n flex-shrink: 0;\n margin-left: 4px;\n\n & svg {\n display: block;\n color: ",";\n }\n\n ","\n"])),N.hues.gray[700].hex,(e=>{let{theme:t}=e;return M.css(u||(u=f(["\n @media (min-width: ","em) {\n display: block;\n }\n "])),t.sanity.media[1]/16)})),Ye=z.default.forwardRef(((e,t)=>_.jsx("button",m({type:"button",ref:t},e)))),Je=U.default.button(o||(o=f(["\n color: ",";\n background-color: ",";\n\n span {\n color: ",";\n }\n"])),(e=>{let{theme:t}=e;return t.sanity.color.button.default.primary.enabled.fg}),(e=>{let{theme:t}=e;return t.sanity.color.button.default.primary.enabled.bg}),(e=>{let{theme:t}=e;return t.sanity.color.button.default.primary.enabled.fg})),$e=e=>{let{status:t,language:a}=e;const n=x.useToast(),i=y.useContext(Oe),l=ne(),{currentDocumentId:r,currentDocumentType:s,baseLanguage:u}=z.default.useContext(qe);if(!r||!s)throw new Error("No document in view");const o=fe(i,s),c=z.default.useContext(R.RouterContext),{routerPanesState:d,groupIndex:h,replaceCurrent:f}=j.usePaneRouter(),[g,p]=z.default.useState(!1),b=z.default.useMemo((()=>le(r)),[r]),S=z.default.useMemo((()=>a.id.split(/[_-]/).pop()),[a.id]),I=z.default.useMemo((()=>a.id===(null==u?void 0:u.id)?b:te(o,b,a.id)),[o,b,a.id,u]),M=v.useEditState(b,s),w=z.default.useMemo((()=>a.isBase?a.title.length>=20?ee.base.split(" ")[0]:ee.base:null),[a]),E=z.default.useCallback(((e,t)=>{f({id:e,params:{type:t}})}),[f]),T=z.default.useCallback(((e,t)=>{if(!c)return;const a=[...d];a.splice(h+1,0,[{id:e,params:{type:t}}]);const n=c.resolvePathFromState({panes:a});c.navigateUrl({path:n})}),[c,d,h]),A=z.default.useCallback((async()=>{try{p(!0);const e=M.draft||M.published,t=o.fieldNames.lang,i=o.fieldNames.references,r=o.fieldNames.baseReference,c=o.referenceBehavior;await l.createIfNotExists(m(m({_id:"drafts.".concat(I),_type:s},e?Y.default(e,["_id","_type",i]):{}),{},{[t]:a.id},(null==e?void 0:e._id)&&c!==Q.DISABLED?{[r]:{_type:"reference",_ref:e._id.replace("drafts.",""),_weak:!0,_strengthenOnPublish:{type:s,weak:"weak"===c,template:{id:s,params:void 0}}}}:{})),n.push({closable:!0,status:"success",title:ee.translationCreatedToast.title(a.title),description:u?ee.translationCreatedToast.description(u.title):void 0}),E(I,s)}catch(e){n.push({closable:!0,status:"error",title:e.toString()})}finally{p(!1)}}),[o,M,I,s,a.id,a.title,n,u,E,l]),k=z.default.useCallback((()=>{E(I,s)}),[E,I,s]),B=z.default.useCallback((()=>{T(I,s)}),[T,I,s]);return"missing"===t?_.jsx(x.MenuItem,{as:Ye,"data-as":"button",disabled:g,icon:g?Ze:C.AddIcon,text:a.title,onClick:A}):_.jsxs(x.Flex,{children:[_.jsx(x.MenuItem,{as:a.isCurrentLanguage?Je:Ye,"data-as":"button","data-selected":a.isCurrentLanguage,selected:a.isCurrentLanguage,onClick:k,paddingY:1,paddingX:2,children:_.jsxs(x.Flex,{align:"center",gap:2,children:[_.jsx(Ge,{code:S,langCulture:a.id}),_.jsx(x.Box,{flex:1,children:_.jsx(x.Text,{children:a.title})}),w?_.jsx(x.Badge,{fontSize:0,children:w}):null]})}),!a.isCurrentLanguage&&_.jsx(Ve,{type:"button",tone:"default",mode:"bleed",padding:2,onClick:B,children:_.jsx(He,{width:19,height:19})})]})},Qe=U.default(x.Box)(c||(c=f(["\n border-bottom: 1px solid var(--card-shadow-outline-color);\n"]))),Xe=U.default(x.Box)(d||(d=f(["\n minwidth: 250;\n"]))),et=e=>{let{draftLanguageObjects:t,publishedLanguageObjects:a,missingLanguageObjects:n}=e;const i=z.default.useMemo((()=>Boolean(!(!t.length&&!a.length)&&n.length)),[t,a,n]),l=z.default.useMemo((()=>[...t.map((e=>m(m({},e),{},{status:"draft"}))),...a.map((e=>m(m({},e),{},{status:"published"})))].sort(ze).reverse()),[t,a]);return _.jsxs(Xe,{children:[!!l.length&&_.jsxs(x.Box,{children:[_.jsx(Ue,{children:ee.languageSelect.listLabels.existing}),_.jsx(x.Grid,{columns:1,gap:1,children:l.map((e=>_.jsx($e,{status:e.status,language:e},e.id)))})]}),i&&_.jsx(Qe,{marginY:1}),!!n.length&&_.jsxs(x.Box,{children:[_.jsx(Ue,{children:ee.languageSelect.listLabels.missing}),_.jsx(x.Grid,{columns:1,gap:1,children:n.map((e=>_.jsx($e,{status:"missing",language:e},e.id)))})]})]})},tt={constrainSize:!0,placement:"bottom",portal:!0},at=e=>{let{schemaType:t,document:a}=e;var n,i;const l=fe(y.useContext(Oe),t.name),[r,s]=function(e,t){const a=ne(),{draft:n,published:i}=v.useEditState(t._id.replace(/^drafts\./,""),t._type),[l,r]=y.useState(!1),[s,u]=y.useState([]),o=y.useCallback((async()=>{if(0===s.length||e.shouldReload&&e.shouldReload(null!=n?n:i)){r(!0);const t=await ie(a,e,e.languages,null!=n?n:i);u(t),r(!1)}}),[a,e,n,i,s]);return y.useEffect((()=>{o()}),[n,i,s,e,o]),[l,s]}(l,a),u=z.default.useMemo((()=>ae(s,l.base)),[s,l.base]),o=z.default.useMemo((()=>ue(a,l)||(u?u.id:null)),[a,u,l]),c=z.default.useMemo((()=>s.find((e=>e.id===o))),[s,o]),d=z.default.useMemo((()=>null==o?void 0:o.split(/[-_]/).pop()),[o]),h='*[_type == $type && _id in $ids]{\n _id,\n "'.concat(l.fieldNames.lang,'": ').concat(l.fieldNames.lang,"\n }"),f=z.default.useMemo((()=>{const e=le(a._id),t=s.map((t=>t===u?e:te(l,e,t.id))),n=t.map((e=>"drafts.".concat(e)));return{ids:[...t,...n],type:a._type}}),[l,u,s,a._id,a._type]),{loading:g,data:p}=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fe,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ke;const[n,i]=y.useState(!0),[l,r]=y.useState(!1),[s,u]=y.useState(null),o=y.useRef(null),c=v.useDocumentStore();return y.useEffect((()=>(e&&(o.current=c.listenQuery(e,t,a).pipe(B.distinctUntilChanged(V.default),B.catchError((e=>(console.error(e),r(e),i(!1),u(null),e)))).subscribe((e=>{u((t=>V.default(t,e)?t:e)),i(!1),r(!1)}))),()=>o.current?o.current.unsubscribe():void 0)),[e,t,a]),{loading:n,error:l,data:s}}(h,f),b=z.default.useMemo((()=>{const e=[],t=[],a=[];if(!(null==p?void 0:p.length))return{draftLanguageObjects:e,publishedLanguageObjects:t,missingLanguageObjects:a};const n=p.reduce(((e,t)=>{if(!t._id.startsWith("drafts.")){return p.some((e=>e._id==="drafts.".concat(t._id)))?e:[...e,t]}return[...e,t]}),[]),i=new Map;return n.forEach((e=>{const t=G.default(null!=e?e:{},l.fieldNames.lang),a=e&&e._id.replace(/^drafts\./,"")===le(e._id);t?i.set(t,e):a&&(null==u?void 0:u.id)&&i.set(u.id,e)})),s.forEach(((n,l)=>{const r=m(m({},n),{},{isBase:u?n.id===u.id:0===l,isCurrentLanguage:n.id===o}),s=i.get(n.id);(null==s?void 0:s._id)&&!s._id.startsWith("drafts.")?t.push(r):(null==s?void 0:s._id)&&s._id.startsWith("drafts.")?e.push(r):a.push(r)})),{draftLanguageObjects:e,publishedLanguageObjects:t,missingLanguageObjects:a}}),[l,s,u,p,o]);return!c||!o||r||g||0===s.length?_.jsx(x.Button,{disabled:!0,mode:"bleed",padding:3,loading:r||g,iconRight:C.ChevronDownIcon,text:ee.languageSelect.placeholder}):_.jsx(qe.Provider,{value:{baseLanguage:u,currentLanguage:c,currentDocumentType:a._type,currentDocumentId:a._id},children:_.jsx(x.MenuButton,{id:"document-internationalization/language-select",popover:tt,button:_.jsx(x.Button,{paddingY:1,paddingX:2,mode:"bleed",title:null!=(n=c.title)?n:c.id,children:_.jsxs(x.Flex,{align:"center",gap:2,children:[_.jsx(Ge,{code:d,langCulture:o}),_.jsx(x.Box,{flex:1,children:_.jsx(x.Text,{children:null!=(i=c.title)?i:c.id})}),_.jsx(C.ChevronDownIcon,{width:19,height:19})]})}),menu:_.jsx(x.Menu,{children:_.jsx(et,m({},b))})})})};function nt(t){const{config:a}=t,n=h(t,e),i=t.value;return _.jsxs(Oe.Provider,{value:a,children:[i._id&&_.jsx(x.Flex,{flex:1,justify:"flex-end",children:_.jsx(at,{schemaType:t.schemaType,document:i})}),t.renderDefault(n)]})}const it=v.definePlugin((e=>({name:"document-i18n",document:{actions:(t,a)=>Se(t,a,e),badges:t=>{return[...t,(a=e,e=>{const t=fe(a,e.type),n=e.draft||e.published,i=n?ue(n,t):null;return i?{label:i,color:"success"}:null})];var a}},form:{components:{input(t){const{value:a}=t;return t.schemaType.i18n&&"object"==typeof a&&(null==a?void 0:a._id)?_.jsx(nt,m({config:e},t)):t.renderDefault(t)}}}})));exports.I18nDelimiter="__i18n_",exports.I18nPrefix="i18n",exports.IdStructure=X,exports.LanguageCultures=$,exports.ReferenceBehavior=Q,exports.SupportedEmojiFlagCodes=J,exports.UiMessages=ee,exports.createDeleteAction=pe,exports.createDuplicateAction=be,exports.createIsSlugUnique=function(e){return(t,a)=>{const{document:n,path:i,type:l}=a,r=null==l?void 0:l.options;if(!n)throw new Error("`document` was not provided in validation context.");if(!i)throw new Error("`path` was not provided in validation context.");const s=(null==r?void 0:r.disableArrayWarning)||!1,u=le(n._id),o=n._type,c=ce(i.concat("current"));if(!s&&c.includes("[]")){const e=ce(i);console.warn(["Slug field at path ".concat(e," is within an array and cannot be automatically checked for uniqueness"),'If you need to check for uniqueness, provide your own "isUnique" method',"To disable this message, set `disableArrayWarning: true` on the slug `options` field"].join("\n"))}const d=["_type == $docType",'!(_id in path("drafts.**"))',"_id != $baseId",'!(_id in path("i18n." + $baseId + ".*"))','!(_id match $baseId + "'.concat("__i18n_",'*")'),"".concat(c," == $slug")].join(" && ");return e.fetch("!defined(*[".concat(d,"][0]._id)"),{docType:o,baseId:u,slug:t},{tag:"validation.slug-is-unique"})}},exports.createPublishAction=ge,exports.documentI18n=it,exports.getDefaultDocumentNode=e=>e.document(),exports.getDocumentList=Ne,exports.getDocumentTypes=ke,exports.getFilteredDocumentTypeListItems=De,exports.getMaintenanceListItem=Le,exports.getMaintenanceTabComponent=Be,exports.resolveActions=Se,exports.updateIntlFieldsForDocument=oe,exports.useConfig=fe,exports.useDelayedFlag=he,exports.withDocumentI18nPlugin=function(e,t){var a;const n=it(t);return F.default([...Array.isArray(e)?e:e(t),null==(a=t.includeDeskTool)||a?j.deskTool({structure:(e,a)=>{let{schema:n}=a;return Ne({S:e,schema:n,config:t})}}):null,n])};
2
2
  //# sourceMappingURL=index.js.map