@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/LICENSE +1 -1
- package/README.md +0 -9
- package/lib/index.esm.js +1 -1
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/src/index.d.ts +32 -1
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/language-select/components/SingleFlag/SingleFlag.tsx +8 -2
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -30,21 +30,12 @@ This plugin adds features to the Studio to improve handling **document-level tra
|
|
|
30
30
|
|
|
31
31
|
For **field-level translations** you should use the [@sanity/language-filter plugin](https://www.npmjs.com/package/@sanity/language-filter).
|
|
32
32
|
|
|
33
|
-
*Studio V3 note*: language-filter is not available for V3 yet.
|
|
34
|
-
|
|
35
33
|
### Many projects use both!
|
|
36
34
|
|
|
37
|
-
*Studio V3 note*: language-filter is not available for V3 yet.
|
|
38
|
-
|
|
39
35
|
An example of document-level translation could be a `lesson` schema, the `title`, `slug` and `content` fields would be unique in every language.
|
|
40
36
|
|
|
41
37
|
A good use of field-level translation could be a `person` schema. It could have the same `name` and `image` in every language, but only the `biography` would need translating.
|
|
42
38
|
|
|
43
|
-
## Studio V3 known issues
|
|
44
|
-
|
|
45
|
-
Studio V3 does not implement language-filter yet. This means that the language button has moved into the document editor flow for the time being.
|
|
46
|
-
We will be looking to restore the button placement during Studio V3 dev-preview.
|
|
47
|
-
|
|
48
39
|
## Installation
|
|
49
40
|
|
|
50
41
|
From the same directory as the Studio run:
|
package/lib/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=["config"];var t,a,n,i,l,r,s,o,u,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 m(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 f(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}import{useClient as v,isKeyedObject as b,useSchema as y,useEditState as S,useDocumentOperation as _,useValidationStatus as C,useSyncState as w,DefaultPreview as M,useDocumentStore as I,definePlugin as A}from"sanity";import E from"just-safe-get";import T from"lodash/compact";import*as L from"react";import N,{useState as k,useEffect as B,useMemo as D,forwardRef as R,useCallback as O,createContext as P,useContext as G,useRef as j}from"react";import{useToast as K,Stack as z,Text as F,Card as U,Autocomplete as x,Flex as H,Box as W,Button as Z,Code as V,Container as Y,Dialog as J,Grid as $,MenuItem as q,Badge as Q,MenuButton as X,Menu as ee}from"@sanity/ui";import{CheckmarkIcon as te,PublishIcon as ae,TrashIcon as ne,CopyIcon as ie,EarthGlobeIcon as le,SpinnerIcon as re,AddIcon as se,ChevronDownIcon as oe}from"@sanity/icons";import{jsx as ue,jsxs as ce}from"react/jsx-runtime";import{ConfirmDeleteDialog as de,usePaneRouter as he,deskTool as me}from"sanity/desk";import{uuid as ge}from"@sanity/uuid";import fe,{keyframes as pe,css as ve}from"styled-components";import be from"just-split";import ye from"lodash/chunk";import Se from"twemoji";import _e from"html-react-parser";import{getEmojiFlag as Ce}from"@cprecioso/country-flag-emoji";import{distinctUntilChanged as we,catchError as Me}from"rxjs/operators";import Ie from"react-fast-compare";import Ae from"just-omit";import{hues as Ee}from"@sanity/color";import{RouterContext as Te}from"sanity/router";const Le=["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"],Ne=[{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)"}],ke="i18n",Be="__i18n_";var De=(e=>(e.STRONG="strong",e.WEAK="weak",e.DISABLED="disabled",e))(De||{}),Re=(e=>(e.SUBPATH="subpath",e.DELIMITER="delimiter",e))(Re||{});const Oe={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"}}},Pe=(e,t,a)=>e.idStructure===Re.DELIMITER?"".concat(t).concat("__i18n_").concat(a||"*"):"".concat("i18n",".").concat(t,".").concat(a||"*"),Ge=(e,t)=>t?e.find((e=>e.id===t))||null:e.length>0?e[0]:null;function je(){return v({apiVersion:"2021-10-01"})}const Ke=async(e,t,a,n)=>{const i=(e=>e.map((e=>{if("string"==typeof e){const t=Ne.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=>E(e,n))):t.map((e=>"name"in n?{name:E(e,n.name),title:E(e,n.title)}:{id:E(e,n.id),title:E(e,n.title)}))})());return t.languagesLoader?t.languagesLoader(i,null!=n?n:void 0):i},ze=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},Fe=async function(e,t,a){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(t.idStructure===Re.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:Pe(t,a,"*"),draftPath:"drafts.".concat(Pe(t,a,"*"))});return null!=i?i:[]};function Ue(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return f({_type:"reference",_ref:e.replace("drafts.","")},!0===t?{_weak:!0}:{})}function xe(e,t){return(null==e?void 0:e[t.fieldNames.lang])||t.base||null}function He(e){return e.reduce(((e,t,a)=>{const n="number"==typeof t,i=b(t),l=n||i?"[]":"".concat(0===a?"":".").concat(t);return"".concat(e).concat(l)}),"")}function We(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)||Re.DELIMITER,referenceBehavior:(null==e?void 0:e.referenceBehavior)||De.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 Ze(e,t){const a=y(),n=D((()=>{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 D((()=>We(e,n)),[n,e])}function Ve(e){return t=>{let{type:a,id:n,onComplete:i}=t;const l=K(),r=je(),s=Ze(e,a),o=ze(n),u=L.useRef(null),[c,d]=L.useState(null),[h,m]=L.useState(!1),{draft:g,published:p}=S(n,a),v=S(o,a),{publish:b}=_(n,a),{isValidating:y,validation:M}=C(n,a),I=w(n,a),A=w(o,a),E=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]=k(e);return B((()=>{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||b.disabled||I.isSyncing||A.isSyncing||y||M.some((e=>"error"===e.level)))),N=L.useMemo((()=>"publishing"===c?Oe.publishing:h?Oe.updatingIntlFields:Oe.publish),[c,h]),D=L.useCallback((async()=>{m(!0);try{const e=g||p;e&&await async function(e,t,a,n){var i;const{_type:l,_id:r}=a,s=ze(r),o=r!==s,u=t.fieldNames.lang,c=t.fieldNames.references,d=t.fieldNames.baseReference,h=await Ke(e,t,t.languages,a),m=xe(a,t)||(null==(i=Ge(h,t.base))?void 0:i.id),g=e.transaction();if(g.createIfNotExists({_id:r,_type:l}),g.patch(r,{set:f({[u]:m},o&&t.referenceBehavior!==De.DISABLED?{[d]:Ue(s,t.referenceBehavior===De.WEAK)}:{})}),await g.commit(),n){const a=await Fe(e,t,s);if(a.length>0){const n=e.transaction();let i=[];t.referenceBehavior!==De.DISABLED&&(i=T(a.map((e=>{const a=xe(e,t);return a?f({_key:a},Ue(e._id,t.referenceBehavior===De.WEAK)):null}),{}))),n.patch(s,{set:{[c]:i}}),await n.commit()}}}(r,s,e,v.published),l.push({closable:!0,status:"success",title:Oe.intlFieldsUpdated})}catch(e){console.error(e),l.push({closable:!0,status:"error",title:e.toString()})}m(!1)}),[l,g,p,r,v.published,s]),R=L.useCallback((()=>{d("publishing");if(n!==o&&!v.published&&s.referenceBehavior===De.STRONG)throw new Error(Oe.errors.baseDocumentNotPublished);b.execute()}),[n,o,b,s,v.published]);return L.useEffect((()=>{const e="publishing"===c&&!g,t=e?"published":null,a=setTimeout((()=>{d(t)}),e?200:4e3);return()=>clearTimeout(a)}),[c,g]),L.useEffect((()=>{"published"===c&&(u.current||(u.current=D().then((()=>i&&i())).finally((()=>u.current=null))))}),[c,i,D]),{disabled:E,label:N,icon:"published"===c?te:ae,shortcut:E?null:"Ctrl+Alt+P",onHandle:R}}}const Ye={NOTHING_TO_DELETE:"This document doesn't yet exist or is already deleted"};function Je(e){return function(t){let{id:a,type:n,onComplete:i}=t;const l=K(),r=je(),s=Ze(e,n),o=N.useMemo((()=>ze(a)),[a]),u=S(o,n),c=w(a,n),d=w(o,n),{delete:h}=_(a,n),[m,g]=N.useState(!1),[f,p]=N.useState(!1),v=N.useCallback((()=>{p(!0)}),[]),b=N.useCallback((()=>{p(!1),i&&i()}),[i]),y=N.useCallback((async()=>{try{if(g(!0),p(!1),u.draft||u.published){const e=r.transaction();u.draft&&e.delete("drafts.".concat(o)),u.published&&e.patch(o,{unset:[s.fieldNames.references]}),await e.commit()}const e=await Fe(r,s,o,!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,o,u.draft,u.published,h,i]);return{onHandle:v,tone:"critical",icon:ne,disabled:m||Boolean(h.disabled)||c.isSyncing||d.isSyncing,shortcut:"CTRL+ALT+D",title:h.disabled&&Ye[h.disabled]||"",label:m?Oe.deleteAll.deleting:Oe.deleteAll.buttonTitle,dialog:f&&{type:"dialog",onClose:i,content:ue(de,{action:"delete",id:a,type:n,onCancel:b,onConfirm:y})}}}}const $e={NOTHING_TO_DUPLICATE:"This document doesn't yet exist so there's nothing to duplicate"};function qe(e){return t=>{let{id:a,type:n,draft:i,published:l}=t;const r=K(),s=je(),o=Ze(e,n),u=ze(a),{duplicate:c}=_(a,n),[d,h]=N.useState(!1),m=N.useCallback((async()=>{h(!0);try{const e=ge(),t=await Fe(s,o,u),a=s.transaction();a.create(f(f({},null!=i?i:l),{},{_id:e,_type:n})),t.forEach((t=>{const n=t._id.startsWith("drafts."),i=Pe(o,e,xe(t,o));a.create(f(f({},t),{},{_id:n?"drafts.".concat(i):i}))})),await a.commit()}catch(e){console.error(e),r.push({description:e.message})}h(!1)}),[s,o,r,u,n,i,l]);return{icon:ie,disabled:Boolean(c.disabled)||d,title:c.disabled&&$e[c.disabled]||"",label:d?Oe.duplicateAll.duplicating:Oe.duplicateAll.buttonTitle,onHandle:m}}}const Qe=(e,t,a)=>{let{schema:n,schemaType:i,documentId:l}=t;const r=n.get(i),s=r&&r.i18n,o=l===ze(l);let u=e;return s&&(u=u.map((e=>{const t="publish"===e.action,n="delete"===e.action;return t?Ve(a):n&&o?Je(a):e})),o&&u.push(qe(a))),u},Xe=R((function(e,t){let{value:a,onChange:n,onOpen:i}=e;const l=y(),r=D((()=>{var e;return null==(e=l._original)?void 0:e.types.filter((e=>!!e.i18n))}),[l]);return ce(z,{space:4,children:[ue(F,{children:Oe.translationsMaintenance.selectSchemaPlaceholder}),ue(U,{children:ue(x,{ref:t,fontSize:[2,2,3],icon:le,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 ue(U,{padding:2,radius:2,as:"button",children:ue(M,{layout:"default",title:t.title,media:t.icon})})}})})]})})),et=e=>{let{pending:t,count:a,labelName:n,children:i,onClick:l}=e;return ue(U,{padding:3,radius:2,shadow:1,tone:a>0?"caution":"default",children:ce(H,{align:"center",children:[ue(W,{flex:1,children:ce(F,{muted:a<=0,children:[ue("span",{children:a}),ue("span",{children:" "}),ue("span",{children:n?String(Oe.translationsMaintenance[n]):i})]})}),a>0&&ue(Z,{padding:2,fontSize:2,disabled:t,onClick:l,text:Oe.translationsMaintenance.fix})]})})},tt=(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},at=(e,t,a,n)=>{const i=t.fieldNames.references;return ye(a,50).map((a=>{const l=e.transaction();return a.forEach((e=>{let a=[];const r=n.filter((t=>ze(t._id)===e._id));t.referenceBehavior!==De.DISABLED&&(a=T(r.map((e=>{const a=xe(e,t);return a?f({_key:a},Ue(e._id,t.referenceBehavior===De.WEAK)):null}),{}))),l.patch(e._id,{set:{[i]:a}})})),l}))},nt=(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},it=async(e,t,a)=>{const n=await Ke(e,t,t.languages),i=Ge(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},lt=(e,t,a)=>{const n=e.transaction();if(t.referenceBehavior!==De.DISABLED){const e=t.fieldNames.baseReference;a.forEach((a=>{if(!a[e]){const i=ze(a._id);n.patch(a._id,{set:{[e]:Ue(i,t.referenceBehavior===De.WEAK)}})}}))}return n},rt=fe(U)(t||(t=m(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),st=fe(V)(a||(a=m(["\n word-break: break-word;\n white-space: break-spaces;\n"]))),ot=fe(H)(n||(n=m(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),ut=R((function(e,t){let{config:a}=e;const[n,i]=k(""),l=je(),{pending:r,setPending:s,documents:o,baseDocuments:u,translatedDocuments:c,documentsSummaryInformation:d,fetchInformation:h}=((e,t)=>{const a=je(),n=Ze(e,t),[i,l]=N.useState(!1),[r,s]=N.useState([]),[o,u]=N.useState([]),c=N.useMemo((()=>n.idStructure===Re.DELIMITER?r.filter((e=>!e._id.includes("__i18n_"))):r.filter((e=>!e._id.startsWith("i18n")))),[n,r]),d=N.useMemo((()=>n.idStructure===Re.DELIMITER?r.filter((e=>e._id.includes("__i18n_"))):r.filter((e=>e._id.startsWith("i18n")))),[n,r]),h=N.useMemo((()=>n.idStructure===Re.DELIMITER?r.filter((e=>e._id.startsWith("i18n"))):r.filter((e=>e._id.includes("__i18n_")))),[n,r]),m=N.useCallback((async e=>{l(!0);const[t,i]=await Promise.all([Ke(a,n,n.languages),a.fetch("*[_type == $type && !(_id in path('drafts.**'))]",{type:e})]);u(t),s(i),l(!1)}),[n,a]),g=N.useMemo((()=>{var e,t,a;const i=Ge(o,n.base),l=c,s=d,u=null==(e=n.fieldNames)?void 0:e.lang,m=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[u])),missingDocumentRefs:l.filter((e=>{const t=s.filter((t=>ze(t._id)===e._id));return Object.values(e[m]||[]).filter((e=>"reference"===e._type&&!!e._ref)).length!=t.length})),missingBaseDocumentRefs:s.filter((e=>!e[g])),orphanDocuments:s.filter((e=>!l.find((t=>ze(e._id)===t._id)))),referenceBehaviorMismatch:l.filter((e=>{const t=e[m]||[];return n.referenceBehavior===De.DISABLED?Object.keys(t).length>0:n.referenceBehavior===De.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[u]!==i.id))}}),[n,r,o,c,d,h]);return N.useEffect((()=>{t&&m(t)}),[t]),{pending:i,setPending:l,documents:r,baseDocuments:c,translatedDocuments:d,idStructureMismatchDocuments:h,documentsSummaryInformation:g,fetchInformation:m}})(a,n),[m,g]=k(null),p=y(),v=Ze(a,n),b=O((e=>i(e)),[]),S=O((()=>i("")),[]),_=O((()=>{g(((e,t,a,n)=>{const i=t.fieldNames.references,l=new Set(n.map((e=>ze(e._id)))),r=e.transaction();l.forEach((e=>{r.patch(e,{set:{[i]:[]}})}));const s=be(n.filter((e=>e._id!==ze(e._id))),100).map((n=>{const l=e.transaction();return n.forEach((e=>{const n=ze(e._id),r=xe(e,t);if(r){const s=Pe(t,n,r);l.createIfNotExists(f(f({},e),{},{_id:s,_type:a})),l.delete(e._id),t.referenceBehavior!==De.DISABLED&&(l.patch(n,{setIfMissing:{[i]:[]}}),l.patch(n,{insert:{after:"".concat(i,"[-1]"),items:[f({_key:r},Ue(s,t.referenceBehavior===De.WEAK))]}}))}})),l}));return[r,...s]})(l,v,n,o))}),[l,v,n,o]),C=O((()=>{g([tt(l,v,p,o)])}),[l,p,v,o]),w=O((()=>{g(at(l,v,u,c))}),[l,v,u,c]),M=O((()=>{g([lt(l,v,c)])}),[l,v,c]),I=O((()=>{g([nt(l,v,u,c)])}),[l,v,u,c]),A=O((()=>{g(at(l,v,u,c))}),[l,v,u,c]),E=O((async()=>{g([await it(l,v,u)])}),[l,v,u]),T=O((()=>{if(m){const e=JSON.stringify(m.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)}}),[m]),L=O((()=>{g(null)}),[g]),B=O((async()=>{s(!0);try{m&&(await m.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,m]);return ce(Y,{width:1,children:[ce(z,{space:2,children:[ue(W,{padding:4,children:ue(Xe,{value:n,onChange:b,onOpen:S,ref:t})}),!!n&&ue(W,{paddingX:4,children:ce(z,{space:2,children:[ue(et,{pending:r,count:d.idStructureMismatch.length,labelName:"idStructureMismatch",onClick:_}),ue(et,{pending:r,count:d.missingLanguageField.length,labelName:"missingLanguageField",onClick:C}),ue(et,{pending:r,count:d.missingDocumentRefs.length,labelName:"missingDocumentRefs",onClick:w}),ue(et,{pending:r,count:d.missingBaseDocumentRefs.length,labelName:"missingBaseDocumentRefs",onClick:M}),ue(et,{pending:r,count:d.orphanDocuments.length,labelName:"orphanDocuments",onClick:I}),ue(et,{pending:r,count:d.referenceBehaviorMismatch.length,labelName:"referenceBehaviorMismatch",onClick:A}),ue(et,{pending:r,count:d.baseLanguageMismatch.length,labelName:"baseLanguageMismatch",onClick:E})]})})]}),!!(null==m?void 0:m.length)&&ue(J,{id:"confirm-pending-transactions",width:2,header:Oe.translationsMaintenance.pendingTransactionDialog.header,onClose:L,footer:ue(H,{padding:3,justify:"flex-end",children:ce($,{autoFlow:"column",autoCols:"auto",gap:2,children:[ue(Z,{tone:"default",loading:r,disabled:r,text:Oe.translationsMaintenance.pendingTransactionDialog.cancel,onClick:L}),ue(Z,{tone:"critical",loading:r,disabled:r,text:Oe.translationsMaintenance.pendingTransactionDialog.confirm,onClick:B})]})}),children:ce(z,{padding:3,space:3,children:[ue(U,{padding:3,radius:2,shadow:1,tone:"caution",children:ue(F,{size:2,children:Oe.translationsMaintenance.pendingTransactionDialog.caution})}),ce($,{cols:1,children:[ue(rt,{padding:3,radius:2,shadow:1,tone:"default",children:ue(st,{language:"json",children:JSON.stringify(m.map((e=>e.toJSON())),null,2)})}),ue(ot,{padding:2,justify:"flex-end",align:"flex-start",onClick:T,children:ue(Z,{text:"Download"})})]})]})})]})}));const ct=e=>e.document(),dt=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}},ht=e=>{const{S:t}=e,a=function(e){return R((function(t,a){return ue(ut,f(f({},e),{},{ref:a}))}))}(e);return t.component(a).title(Oe.translationsMaintenance.title).id("__i18n_translations_maintenance_tab")},mt=e=>{const{S:t}=e;return t.listItem().id("__i18n_translations_maintenance_tab").title(Oe.translationsMaintenance.title).icon(le).child(ht(e))},gt=e=>{const{S:t,config:a,schema:n}=e,i=We(a,"object"==typeof n.i18n?n.i18n:void 0),l=dt(e),r={[Re.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()}),[Re.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,mt(e)),s.map((e=>e.serialize()))};function ft(e){const{S:t}=e;if(0===dt(e).withI18n.length)return t.defaults();const a=gt(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})))}function pt(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,o=ze(n._id),u=n._type,c=He(i.concat("current"));if(!s&&c.includes("[]")){const e=He(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:u,baseId:o,slug:t},{tag:"validation.slug-is-unique"})}}const vt=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}},bt=P({}),yt=fe(W)(i||(i=m(["\n min-width: 24px;\n transform: translateY(1px);\n"]))),St=e=>{let{code:t,langCulture:a}=e;const n=D((()=>t&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!e)return"";const t=vt(e);if(!Le.includes(t.toUpperCase()))return"";return Ce(t)}(t)),[t]),i=Se.parse(null!=n?n:"🇺🇳",{folder:"svg",ext:".svg"}),l=_e(i),{customFlagComponents:r}=G(bt),s=D((()=>{if(a&&r){const e=a.replace(/[^a-zA-Z0-9_]/g,"_");if(e in r)return r[e]}return null}),[a,r]);return ue(W,{"aria-label":t,children:s&&t?ue(s,{code:t}):ue(yt,{children:l})})};const _t={},Ct={apiVersion:"v2022-05-09"};const wt=(e,t)=>{var a,n;return Number(null!=(a=e.isBase)?a:0)-Number(null!=(n=t.isBase)?n:0)};function Mt(e){let{children:t}=e;return ue(W,{padding:2,children:ue(F,{muted:!0,size:1,children:t})})}const It=R((function(e,t){return ue("svg",f(f({"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:ue("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})}))})),At=P({currentDocumentId:null,currentDocumentType:null,baseLanguage:null,currentLanguage:null}),Et=pe(l||(l=m(["\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n"]))),Tt=fe(re)(r||(r=m(["\n animation: "," 500ms linear infinite;\n"])),Et),Lt=fe(Z)(s||(s=m(["\n display: none;\n flex-shrink: 0;\n margin-left: 4px;\n\n & svg {\n display: block;\n color: ",";\n }\n\n ","\n"])),Ee.gray[700].hex,(e=>{let{theme:t}=e;return ve(o||(o=m(["\n @media (min-width: ","em) {\n display: block;\n }\n "])),t.sanity.media[1]/16)})),Nt=N.forwardRef(((e,t)=>ue("button",f({type:"button",ref:t},e)))),kt=fe.button(u||(u=m(["\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})),Bt=e=>{let{status:t,language:a}=e;const n=K(),i=G(bt),l=je(),{currentDocumentId:r,currentDocumentType:s,baseLanguage:o}=N.useContext(At);if(!r||!s)throw new Error("No document in view");const u=Ze(i,s),c=N.useContext(Te),{routerPanesState:d,groupIndex:h,replaceCurrent:m}=he(),[g,p]=N.useState(!1),v=N.useMemo((()=>ze(r)),[r]),b=N.useMemo((()=>a.id.split(/[_-]/).pop()),[a.id]),y=N.useMemo((()=>a.id===(null==o?void 0:o.id)?v:Pe(u,v,a.id)),[u,v,a.id,o]),_=S(v,s),C=N.useMemo((()=>a.isBase?a.title.length>=20?Oe.base.split(" ")[0]:Oe.base:null),[a]),w=N.useCallback(((e,t)=>{m({id:e,params:{type:t}})}),[m]),M=N.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]),I=N.useCallback((async()=>{try{p(!0);const e=_.draft||_.published,t=u.fieldNames.lang,i=u.fieldNames.references,r=u.fieldNames.baseReference,c=u.referenceBehavior;await l.createIfNotExists(f(f({_id:"drafts.".concat(y),_type:s},e?Ae(e,["_id","_type",i]):{}),{},{[t]:a.id},(null==e?void 0:e._id)&&c!==De.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:Oe.translationCreatedToast.title(a.title),description:o?Oe.translationCreatedToast.description(o.title):void 0}),w(y,s)}catch(e){n.push({closable:!0,status:"error",title:e.toString()})}finally{p(!1)}}),[u,_,y,s,a.id,a.title,n,o,w,l]),A=N.useCallback((()=>{w(y,s)}),[w,y,s]),E=N.useCallback((()=>{M(y,s)}),[M,y,s]);return"missing"===t?ue(q,{as:Nt,"data-as":"button",disabled:g,icon:g?Tt:se,text:a.title,onClick:I}):ce(H,{children:[ue(q,{as:a.isCurrentLanguage?kt:Nt,"data-as":"button","data-selected":a.isCurrentLanguage,selected:a.isCurrentLanguage,onClick:A,paddingY:1,paddingX:2,children:ce(H,{align:"center",gap:2,children:[ue(St,{code:b,langCulture:a.id}),ue(W,{flex:1,children:ue(F,{children:a.title})}),C?ue(Q,{fontSize:0,children:C}):null]})}),!a.isCurrentLanguage&&ue(Lt,{type:"button",tone:"default",mode:"bleed",padding:2,onClick:E,children:ue(It,{width:19,height:19})})]})},Dt=fe(W)(c||(c=m(["\n border-bottom: 1px solid var(--card-shadow-outline-color);\n"]))),Rt=fe(W)(d||(d=m(["\n minwidth: 250;\n"]))),Ot=e=>{let{draftLanguageObjects:t,publishedLanguageObjects:a,missingLanguageObjects:n}=e;const i=N.useMemo((()=>Boolean(!(!t.length&&!a.length)&&n.length)),[t,a,n]),l=N.useMemo((()=>[...t.map((e=>f(f({},e),{},{status:"draft"}))),...a.map((e=>f(f({},e),{},{status:"published"})))].sort(wt).reverse()),[t,a]);return ce(Rt,{children:[!!l.length&&ce(W,{children:[ue(Mt,{children:Oe.languageSelect.listLabels.existing}),ue($,{columns:1,gap:1,children:l.map((e=>ue(Bt,{status:e.status,language:e},e.id)))})]}),i&&ue(Dt,{marginY:1}),!!n.length&&ce(W,{children:[ue(Mt,{children:Oe.languageSelect.listLabels.missing}),ue($,{columns:1,gap:1,children:n.map((e=>ue(Bt,{status:"missing",language:e},e.id)))})]})]})},Pt={constrainSize:!0,placement:"bottom",portal:!0},Gt=e=>{let{schemaType:t,document:a}=e;var n,i;const l=Ze(G(bt),t.name),[r,s]=function(e,t){const a=je(),{draft:n,published:i}=S(t._id.replace(/^drafts\./,""),t._type),[l,r]=k(!1),[s,o]=k([]),u=O((async()=>{if(0===s.length||e.shouldReload&&e.shouldReload(null!=n?n:i)){r(!0);const t=await Ke(a,e,e.languages,null!=n?n:i);o(t),r(!1)}}),[a,e,n,i,s]);return B((()=>{u()}),[n,i,s,e,u]),[l,s]}(l,a),o=N.useMemo((()=>Ge(s,l.base)),[s,l.base]),u=N.useMemo((()=>xe(a,l)||(o?o.id:null)),[a,o,l]),c=N.useMemo((()=>s.find((e=>e.id===u))),[s,u]),d=N.useMemo((()=>null==u?void 0:u.split(/[-_]/).pop()),[u]),h='*[_type == $type && _id in $ids]{\n _id,\n "'.concat(l.fieldNames.lang,'": ').concat(l.fieldNames.lang,"\n }"),m=N.useMemo((()=>{const e=ze(a._id),t=s.map((t=>t===o?e:Pe(l,e,t.id))),n=t.map((e=>"drafts.".concat(e)));return{ids:[...t,...n],type:a._type}}),[l,o,s,a._id,a._type]),{loading:g,data:p}=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_t,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ct;const[n,i]=k(!0),[l,r]=k(!1),[s,o]=k(null),u=j(null),c=I();return B((()=>(e&&(u.current=c.listenQuery(e,t,a).pipe(we(Ie),Me((e=>(console.error(e),r(e),i(!1),o(null),e)))).subscribe((e=>{o((t=>Ie(t,e)?t:e)),i(!1),r(!1)}))),()=>u.current?u.current.unsubscribe():void 0)),[e,t,a]),{loading:n,error:l,data:s}}(h,m),v=N.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=E(null!=e?e:{},l.fieldNames.lang),a=e&&e._id.replace(/^drafts\./,"")===ze(e._id);t?i.set(t,e):a&&(null==o?void 0:o.id)&&i.set(o.id,e)})),s.forEach(((n,l)=>{const r=f(f({},n),{},{isBase:o?n.id===o.id:0===l,isCurrentLanguage:n.id===u}),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,o,p,u]);return!c||!u||r||g||0===s.length?ue(Z,{disabled:!0,mode:"bleed",padding:3,loading:r||g,iconRight:oe,text:Oe.languageSelect.placeholder}):ue(At.Provider,{value:{baseLanguage:o,currentLanguage:c,currentDocumentType:a._type,currentDocumentId:a._id},children:ue(X,{id:"document-internationalization/language-select",popover:Pt,button:ue(Z,{paddingY:1,paddingX:2,mode:"bleed",title:null!=(n=c.title)?n:c.id,children:ce(H,{align:"center",gap:2,children:[ue(St,{code:d,langCulture:u}),ue(W,{flex:1,children:ue(F,{children:null!=(i=c.title)?i:c.id})}),ue(oe,{width:19,height:19})]})}),menu:ue(ee,{children:ue(Ot,f({},v))})})})};function jt(t){const{config:a}=t,n=h(t,e),i=t.value;return ce(bt.Provider,{value:a,children:[i._id&&ue(H,{flex:1,justify:"flex-end",children:ue(Gt,{schemaType:t.schemaType,document:i})}),t.renderDefault(n)]})}const Kt=A((e=>({name:"document-i18n",document:{actions:(t,a)=>Qe(t,a,e),badges:t=>{return[...t,(a=e,e=>{const t=Ze(a,e.type),n=e.draft||e.published,i=n?xe(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)?ue(jt,f({config:e},t)):t.renderDefault(t)}}}})));function zt(e,t){var a;const n=Kt(t);return T([...Array.isArray(e)?e:e(t),null==(a=t.includeDeskTool)||a?me({structure:(e,a)=>{let{schema:n}=a;return ft({S:e,schema:n,config:t})}}):null,n])}export{Be as I18nDelimiter,ke as I18nPrefix,Re as IdStructure,Ne as LanguageCultures,De as ReferenceBehavior,Le as SupportedEmojiFlagCodes,Oe as UiMessages,Je as createDeleteAction,qe as createDuplicateAction,pt as createIsSlugUnique,Ve as createPublishAction,Kt as documentI18n,ct as getDefaultDocumentNode,ft as getDocumentList,dt as getDocumentTypes,gt as getFilteredDocumentTypeListItems,mt as getMaintenanceListItem,ht as getMaintenanceTabComponent,Qe as resolveActions,zt as withDocumentI18nPlugin};
|
|
1
|
+
const e=["config"];var t,a,n,i,l,r,s,o,u,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 m(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 f(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}import{useClient as v,isKeyedObject as b,useSchema as y,useEditState as S,useDocumentOperation as _,useValidationStatus as C,useSyncState as w,DefaultPreview as M,useDocumentStore as I,definePlugin as A}from"sanity";import E from"just-safe-get";import T from"lodash/compact";import*as L from"react";import N,{useState as k,useEffect as B,useMemo as D,forwardRef as R,useCallback as O,createContext as P,useContext as j,useRef as G}from"react";import{useToast as K,Stack as z,Text as F,Card as U,Autocomplete as x,Flex as H,Box as W,Button as Z,Code as V,Container as Y,Dialog as J,Grid as $,MenuItem as q,Badge as Q,MenuButton as X,Menu as ee}from"@sanity/ui";import{CheckmarkIcon as te,PublishIcon as ae,TrashIcon as ne,CopyIcon as ie,EarthGlobeIcon as le,SpinnerIcon as re,AddIcon as se,ChevronDownIcon as oe}from"@sanity/icons";import{jsx as ue,jsxs as ce}from"react/jsx-runtime";import{ConfirmDeleteDialog as de,usePaneRouter as he,deskTool as me}from"sanity/desk";import{uuid as ge}from"@sanity/uuid";import fe,{keyframes as pe,css as ve}from"styled-components";import be from"just-split";import ye from"lodash/chunk";import Se from"twemoji";import _e from"html-react-parser";import{getEmojiFlag as Ce}from"@cprecioso/country-flag-emoji";import{distinctUntilChanged as we,catchError as Me}from"rxjs/operators";import Ie from"react-fast-compare";import Ae from"just-omit";import{hues as Ee}from"@sanity/color";import{RouterContext as Te}from"sanity/router";const Le=["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"],Ne=[{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)"}],ke="i18n",Be="__i18n_";var De=(e=>(e.STRONG="strong",e.WEAK="weak",e.DISABLED="disabled",e))(De||{}),Re=(e=>(e.SUBPATH="subpath",e.DELIMITER="delimiter",e))(Re||{});const Oe={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"}}},Pe=(e,t,a)=>e.idStructure===Re.DELIMITER?"".concat(t).concat("__i18n_").concat(a||"*"):"".concat("i18n",".").concat(t,".").concat(a||"*"),je=(e,t)=>t?e.find((e=>e.id===t))||null:e.length>0?e[0]:null;function Ge(){return v({apiVersion:"2021-10-01"})}const Ke=async(e,t,a,n)=>{const i=(e=>e.map((e=>{if("string"==typeof e){const t=Ne.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=>E(e,n))):t.map((e=>"name"in n?{name:E(e,n.name),title:E(e,n.title)}:{id:E(e,n.id),title:E(e,n.title)}))})());return t.languagesLoader?t.languagesLoader(i,null!=n?n:void 0):i},ze=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},Fe=async function(e,t,a){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(t.idStructure===Re.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:Pe(t,a,"*"),draftPath:"drafts.".concat(Pe(t,a,"*"))});return null!=i?i:[]};function Ue(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return f({_type:"reference",_ref:e.replace("drafts.","")},!0===t?{_weak:!0}:{})}function xe(e,t){return(null==e?void 0:e[t.fieldNames.lang])||t.base||null}async function He(e,t,a,n){var i;const{_type:l,_id:r}=a,s=ze(r),o=r!==s,u=t.fieldNames.lang,c=t.fieldNames.references,d=t.fieldNames.baseReference,h=await Ke(e,t,t.languages,a),m=xe(a,t)||(null==(i=je(h,t.base))?void 0:i.id),g=e.transaction();if(g.createIfNotExists({_id:r,_type:l}),g.patch(r,{set:f({[u]:m},o&&t.referenceBehavior!==De.DISABLED?{[d]:Ue(s,t.referenceBehavior===De.WEAK)}:{})}),await g.commit(),n){const a=await Fe(e,t,s);if(a.length>0){const n=e.transaction();let i=[];t.referenceBehavior!==De.DISABLED&&(i=T(a.map((e=>{const a=xe(e,t);return a?f({_key:a},Ue(e._id,t.referenceBehavior===De.WEAK)):null}),{}))),n.patch(s,{set:{[c]:i}}),await n.commit()}}}function We(e){return e.reduce(((e,t,a)=>{const n="number"==typeof t,i=b(t),l=n||i?"[]":"".concat(0===a?"":".").concat(t);return"".concat(e).concat(l)}),"")}function Ze(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)||Re.DELIMITER,referenceBehavior:(null==e?void 0:e.referenceBehavior)||De.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 Ve(){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]=k(e);return B((()=>{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 Ye(e,t){const a=y(),n=D((()=>{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 D((()=>Ze(e,n)),[n,e])}function Je(e){return t=>{let{type:a,id:n,onComplete:i}=t;const l=K(),r=Ge(),s=Ye(e,a),o=ze(n),u=L.useRef(null),[c,d]=L.useState(null),[h,m]=L.useState(!1),{draft:g,published:f}=S(n,a),p=S(o,a),{publish:v}=_(n,a),{isValidating:b,validation:y}=C(n,a),M=w(n,a),I=w(o,a),A=Ve(!!("published"===c||"publishing"===c||h||v.disabled||M.isSyncing||I.isSyncing||b||y.some((e=>"error"===e.level)))),E=L.useMemo((()=>"publishing"===c?Oe.publishing:h?Oe.updatingIntlFields:Oe.publish),[c,h]),T=L.useCallback((async()=>{m(!0);try{const e=g||f;e&&await He(r,s,e,p.published),l.push({closable:!0,status:"success",title:Oe.intlFieldsUpdated})}catch(e){console.error(e),l.push({closable:!0,status:"error",title:e.toString()})}m(!1)}),[l,g,f,r,p.published,s]),N=L.useCallback((()=>{d("publishing");if(n!==o&&!p.published&&s.referenceBehavior===De.STRONG)throw new Error(Oe.errors.baseDocumentNotPublished);v.execute()}),[n,o,v,s,p.published]);return L.useEffect((()=>{const e="publishing"===c&&!g,t=e?"published":null,a=setTimeout((()=>{d(t)}),e?200:4e3);return()=>clearTimeout(a)}),[c,g]),L.useEffect((()=>{"published"===c&&(u.current||(u.current=T().then((()=>i&&i())).finally((()=>u.current=null))))}),[c,i,T]),{disabled:A,label:E,icon:"published"===c?te:ae,shortcut:A?null:"Ctrl+Alt+P",onHandle:N}}}const $e={NOTHING_TO_DELETE:"This document doesn't yet exist or is already deleted"};function qe(e){return function(t){let{id:a,type:n,onComplete:i}=t;const l=K(),r=Ge(),s=Ye(e,n),o=N.useMemo((()=>ze(a)),[a]),u=S(o,n),c=w(a,n),d=w(o,n),{delete:h}=_(a,n),[m,g]=N.useState(!1),[f,p]=N.useState(!1),v=N.useCallback((()=>{p(!0)}),[]),b=N.useCallback((()=>{p(!1),i&&i()}),[i]),y=N.useCallback((async()=>{try{if(g(!0),p(!1),u.draft||u.published){const e=r.transaction();u.draft&&e.delete("drafts.".concat(o)),u.published&&e.patch(o,{unset:[s.fieldNames.references]}),await e.commit()}const e=await Fe(r,s,o,!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,o,u.draft,u.published,h,i]);return{onHandle:v,tone:"critical",icon:ne,disabled:m||Boolean(h.disabled)||c.isSyncing||d.isSyncing,shortcut:"CTRL+ALT+D",title:h.disabled&&$e[h.disabled]||"",label:m?Oe.deleteAll.deleting:Oe.deleteAll.buttonTitle,dialog:f&&{type:"dialog",onClose:i,content:ue(de,{action:"delete",id:a,type:n,onCancel:b,onConfirm:y})}}}}const Qe={NOTHING_TO_DUPLICATE:"This document doesn't yet exist so there's nothing to duplicate"};function Xe(e){return t=>{let{id:a,type:n,draft:i,published:l}=t;const r=K(),s=Ge(),o=Ye(e,n),u=ze(a),{duplicate:c}=_(a,n),[d,h]=N.useState(!1),m=N.useCallback((async()=>{h(!0);try{const e=ge(),t=await Fe(s,o,u),a=s.transaction();a.create(f(f({},null!=i?i:l),{},{_id:e,_type:n})),t.forEach((t=>{const n=t._id.startsWith("drafts."),i=Pe(o,e,xe(t,o));a.create(f(f({},t),{},{_id:n?"drafts.".concat(i):i}))})),await a.commit()}catch(e){console.error(e),r.push({description:e.message})}h(!1)}),[s,o,r,u,n,i,l]);return{icon:ie,disabled:Boolean(c.disabled)||d,title:c.disabled&&Qe[c.disabled]||"",label:d?Oe.duplicateAll.duplicating:Oe.duplicateAll.buttonTitle,onHandle:m}}}const et=(e,t,a)=>{let{schema:n,schemaType:i,documentId:l}=t;const r=n.get(i),s=r&&r.i18n,o=l===ze(l);let u=e;return s&&(u=u.map((e=>{const t="publish"===e.action,n="delete"===e.action;return t?Je(a):n&&o?qe(a):e})),o&&u.push(Xe(a))),u},tt=R((function(e,t){let{value:a,onChange:n,onOpen:i}=e;const l=y(),r=D((()=>{var e;return null==(e=l._original)?void 0:e.types.filter((e=>!!e.i18n))}),[l]);return ce(z,{space:4,children:[ue(F,{children:Oe.translationsMaintenance.selectSchemaPlaceholder}),ue(U,{children:ue(x,{ref:t,fontSize:[2,2,3],icon:le,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 ue(U,{padding:2,radius:2,as:"button",children:ue(M,{layout:"default",title:t.title,media:t.icon})})}})})]})})),at=e=>{let{pending:t,count:a,labelName:n,children:i,onClick:l}=e;return ue(U,{padding:3,radius:2,shadow:1,tone:a>0?"caution":"default",children:ce(H,{align:"center",children:[ue(W,{flex:1,children:ce(F,{muted:a<=0,children:[ue("span",{children:a}),ue("span",{children:" "}),ue("span",{children:n?String(Oe.translationsMaintenance[n]):i})]})}),a>0&&ue(Z,{padding:2,fontSize:2,disabled:t,onClick:l,text:Oe.translationsMaintenance.fix})]})})},nt=(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},it=(e,t,a,n)=>{const i=t.fieldNames.references;return ye(a,50).map((a=>{const l=e.transaction();return a.forEach((e=>{let a=[];const r=n.filter((t=>ze(t._id)===e._id));t.referenceBehavior!==De.DISABLED&&(a=T(r.map((e=>{const a=xe(e,t);return a?f({_key:a},Ue(e._id,t.referenceBehavior===De.WEAK)):null}),{}))),l.patch(e._id,{set:{[i]:a}})})),l}))},lt=(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},rt=async(e,t,a)=>{const n=await Ke(e,t,t.languages),i=je(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},st=(e,t,a)=>{const n=e.transaction();if(t.referenceBehavior!==De.DISABLED){const e=t.fieldNames.baseReference;a.forEach((a=>{if(!a[e]){const i=ze(a._id);n.patch(a._id,{set:{[e]:Ue(i,t.referenceBehavior===De.WEAK)}})}}))}return n},ot=fe(U)(t||(t=m(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),ut=fe(V)(a||(a=m(["\n word-break: break-word;\n white-space: break-spaces;\n"]))),ct=fe(H)(n||(n=m(["\n grid-column-start: 1;\n grid-row-start: 1;\n"]))),dt=R((function(e,t){let{config:a}=e;const[n,i]=k(""),l=Ge(),{pending:r,setPending:s,documents:o,baseDocuments:u,translatedDocuments:c,documentsSummaryInformation:d,fetchInformation:h}=((e,t)=>{const a=Ge(),n=Ye(e,t),[i,l]=N.useState(!1),[r,s]=N.useState([]),[o,u]=N.useState([]),c=N.useMemo((()=>n.idStructure===Re.DELIMITER?r.filter((e=>!e._id.includes("__i18n_"))):r.filter((e=>!e._id.startsWith("i18n")))),[n,r]),d=N.useMemo((()=>n.idStructure===Re.DELIMITER?r.filter((e=>e._id.includes("__i18n_"))):r.filter((e=>e._id.startsWith("i18n")))),[n,r]),h=N.useMemo((()=>n.idStructure===Re.DELIMITER?r.filter((e=>e._id.startsWith("i18n"))):r.filter((e=>e._id.includes("__i18n_")))),[n,r]),m=N.useCallback((async e=>{l(!0);const[t,i]=await Promise.all([Ke(a,n,n.languages),a.fetch("*[_type == $type && !(_id in path('drafts.**'))]",{type:e})]);u(t),s(i),l(!1)}),[n,a]),g=N.useMemo((()=>{var e,t,a;const i=je(o,n.base),l=c,s=d,u=null==(e=n.fieldNames)?void 0:e.lang,m=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[u])),missingDocumentRefs:l.filter((e=>{const t=s.filter((t=>ze(t._id)===e._id));return Object.values(e[m]||[]).filter((e=>"reference"===e._type&&!!e._ref)).length!=t.length})),missingBaseDocumentRefs:s.filter((e=>!e[g])),orphanDocuments:s.filter((e=>!l.find((t=>ze(e._id)===t._id)))),referenceBehaviorMismatch:l.filter((e=>{const t=e[m]||[];return n.referenceBehavior===De.DISABLED?Object.keys(t).length>0:n.referenceBehavior===De.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[u]!==i.id))}}),[n,r,o,c,d,h]);return N.useEffect((()=>{t&&m(t)}),[t]),{pending:i,setPending:l,documents:r,baseDocuments:c,translatedDocuments:d,idStructureMismatchDocuments:h,documentsSummaryInformation:g,fetchInformation:m}})(a,n),[m,g]=k(null),p=y(),v=Ye(a,n),b=O((e=>i(e)),[]),S=O((()=>i("")),[]),_=O((()=>{g(((e,t,a,n)=>{const i=t.fieldNames.references,l=new Set(n.map((e=>ze(e._id)))),r=e.transaction();l.forEach((e=>{r.patch(e,{set:{[i]:[]}})}));const s=be(n.filter((e=>e._id!==ze(e._id))),100).map((n=>{const l=e.transaction();return n.forEach((e=>{const n=ze(e._id),r=xe(e,t);if(r){const s=Pe(t,n,r);l.createIfNotExists(f(f({},e),{},{_id:s,_type:a})),l.delete(e._id),t.referenceBehavior!==De.DISABLED&&(l.patch(n,{setIfMissing:{[i]:[]}}),l.patch(n,{insert:{after:"".concat(i,"[-1]"),items:[f({_key:r},Ue(s,t.referenceBehavior===De.WEAK))]}}))}})),l}));return[r,...s]})(l,v,n,o))}),[l,v,n,o]),C=O((()=>{g([nt(l,v,p,o)])}),[l,p,v,o]),w=O((()=>{g(it(l,v,u,c))}),[l,v,u,c]),M=O((()=>{g([st(l,v,c)])}),[l,v,c]),I=O((()=>{g([lt(l,v,u,c)])}),[l,v,u,c]),A=O((()=>{g(it(l,v,u,c))}),[l,v,u,c]),E=O((async()=>{g([await rt(l,v,u)])}),[l,v,u]),T=O((()=>{if(m){const e=JSON.stringify(m.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)}}),[m]),L=O((()=>{g(null)}),[g]),B=O((async()=>{s(!0);try{m&&(await m.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,m]);return ce(Y,{width:1,children:[ce(z,{space:2,children:[ue(W,{padding:4,children:ue(tt,{value:n,onChange:b,onOpen:S,ref:t})}),!!n&&ue(W,{paddingX:4,children:ce(z,{space:2,children:[ue(at,{pending:r,count:d.idStructureMismatch.length,labelName:"idStructureMismatch",onClick:_}),ue(at,{pending:r,count:d.missingLanguageField.length,labelName:"missingLanguageField",onClick:C}),ue(at,{pending:r,count:d.missingDocumentRefs.length,labelName:"missingDocumentRefs",onClick:w}),ue(at,{pending:r,count:d.missingBaseDocumentRefs.length,labelName:"missingBaseDocumentRefs",onClick:M}),ue(at,{pending:r,count:d.orphanDocuments.length,labelName:"orphanDocuments",onClick:I}),ue(at,{pending:r,count:d.referenceBehaviorMismatch.length,labelName:"referenceBehaviorMismatch",onClick:A}),ue(at,{pending:r,count:d.baseLanguageMismatch.length,labelName:"baseLanguageMismatch",onClick:E})]})})]}),!!(null==m?void 0:m.length)&&ue(J,{id:"confirm-pending-transactions",width:2,header:Oe.translationsMaintenance.pendingTransactionDialog.header,onClose:L,footer:ue(H,{padding:3,justify:"flex-end",children:ce($,{autoFlow:"column",autoCols:"auto",gap:2,children:[ue(Z,{tone:"default",loading:r,disabled:r,text:Oe.translationsMaintenance.pendingTransactionDialog.cancel,onClick:L}),ue(Z,{tone:"critical",loading:r,disabled:r,text:Oe.translationsMaintenance.pendingTransactionDialog.confirm,onClick:B})]})}),children:ce(z,{padding:3,space:3,children:[ue(U,{padding:3,radius:2,shadow:1,tone:"caution",children:ue(F,{size:2,children:Oe.translationsMaintenance.pendingTransactionDialog.caution})}),ce($,{cols:1,children:[ue(ot,{padding:3,radius:2,shadow:1,tone:"default",children:ue(ut,{language:"json",children:JSON.stringify(m.map((e=>e.toJSON())),null,2)})}),ue(ct,{padding:2,justify:"flex-end",align:"flex-start",onClick:T,children:ue(Z,{text:"Download"})})]})]})})]})}));const ht=e=>e.document(),mt=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}},gt=e=>{const{S:t}=e,a=function(e){return R((function(t,a){return ue(dt,f(f({},e),{},{ref:a}))}))}(e);return t.component(a).title(Oe.translationsMaintenance.title).id("__i18n_translations_maintenance_tab")},ft=e=>{const{S:t}=e;return t.listItem().id("__i18n_translations_maintenance_tab").title(Oe.translationsMaintenance.title).icon(le).child(gt(e))},pt=e=>{const{S:t,config:a,schema:n}=e,i=Ze(a,"object"==typeof n.i18n?n.i18n:void 0),l=mt(e),r={[Re.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()}),[Re.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,ft(e)),s.map((e=>e.serialize()))};function vt(e){const{S:t}=e;if(0===mt(e).withI18n.length)return t.defaults();const a=pt(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})))}function bt(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,o=ze(n._id),u=n._type,c=We(i.concat("current"));if(!s&&c.includes("[]")){const e=We(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:u,baseId:o,slug:t},{tag:"validation.slug-is-unique"})}}const yt=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}},St=P({}),_t=fe(W)(i||(i=m(["\n min-width: 24px;\n transform: translateY(1px);\n"])));const Ct=e=>{let{code:t,langCulture:a}=e;const n=function(e){const t=Se.parse(null!=e?e:"🇺🇳",{folder:"svg",ext:".svg"});return _e(t.replace("twemoji.maxcdn.com/v","cdnjs.cloudflare.com/ajax/libs/twemoji"))}(D((()=>t&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!e)return"";const t=yt(e);if(!Le.includes(t.toUpperCase()))return"";return Ce(t)}(t)),[t])),{customFlagComponents:i}=j(St),l=D((()=>{if(a&&i){const e=a.replace(/[^a-zA-Z0-9_]/g,"_");if(e in i)return i[e]}return null}),[a,i]);return ue(W,{"aria-label":t,children:l&&t?ue(l,{code:t}):ue(_t,{children:n})})};const wt={},Mt={apiVersion:"v2022-05-09"};const It=(e,t)=>{var a,n;return Number(null!=(a=e.isBase)?a:0)-Number(null!=(n=t.isBase)?n:0)};function At(e){let{children:t}=e;return ue(W,{padding:2,children:ue(F,{muted:!0,size:1,children:t})})}const Et=R((function(e,t){return ue("svg",f(f({"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:ue("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})}))})),Tt=P({currentDocumentId:null,currentDocumentType:null,baseLanguage:null,currentLanguage:null}),Lt=pe(l||(l=m(["\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n"]))),Nt=fe(re)(r||(r=m(["\n animation: "," 500ms linear infinite;\n"])),Lt),kt=fe(Z)(s||(s=m(["\n display: none;\n flex-shrink: 0;\n margin-left: 4px;\n\n & svg {\n display: block;\n color: ",";\n }\n\n ","\n"])),Ee.gray[700].hex,(e=>{let{theme:t}=e;return ve(o||(o=m(["\n @media (min-width: ","em) {\n display: block;\n }\n "])),t.sanity.media[1]/16)})),Bt=N.forwardRef(((e,t)=>ue("button",f({type:"button",ref:t},e)))),Dt=fe.button(u||(u=m(["\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})),Rt=e=>{let{status:t,language:a}=e;const n=K(),i=j(St),l=Ge(),{currentDocumentId:r,currentDocumentType:s,baseLanguage:o}=N.useContext(Tt);if(!r||!s)throw new Error("No document in view");const u=Ye(i,s),c=N.useContext(Te),{routerPanesState:d,groupIndex:h,replaceCurrent:m}=he(),[g,p]=N.useState(!1),v=N.useMemo((()=>ze(r)),[r]),b=N.useMemo((()=>a.id.split(/[_-]/).pop()),[a.id]),y=N.useMemo((()=>a.id===(null==o?void 0:o.id)?v:Pe(u,v,a.id)),[u,v,a.id,o]),_=S(v,s),C=N.useMemo((()=>a.isBase?a.title.length>=20?Oe.base.split(" ")[0]:Oe.base:null),[a]),w=N.useCallback(((e,t)=>{m({id:e,params:{type:t}})}),[m]),M=N.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]),I=N.useCallback((async()=>{try{p(!0);const e=_.draft||_.published,t=u.fieldNames.lang,i=u.fieldNames.references,r=u.fieldNames.baseReference,c=u.referenceBehavior;await l.createIfNotExists(f(f({_id:"drafts.".concat(y),_type:s},e?Ae(e,["_id","_type",i]):{}),{},{[t]:a.id},(null==e?void 0:e._id)&&c!==De.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:Oe.translationCreatedToast.title(a.title),description:o?Oe.translationCreatedToast.description(o.title):void 0}),w(y,s)}catch(e){n.push({closable:!0,status:"error",title:e.toString()})}finally{p(!1)}}),[u,_,y,s,a.id,a.title,n,o,w,l]),A=N.useCallback((()=>{w(y,s)}),[w,y,s]),E=N.useCallback((()=>{M(y,s)}),[M,y,s]);return"missing"===t?ue(q,{as:Bt,"data-as":"button",disabled:g,icon:g?Nt:se,text:a.title,onClick:I}):ce(H,{children:[ue(q,{as:a.isCurrentLanguage?Dt:Bt,"data-as":"button","data-selected":a.isCurrentLanguage,selected:a.isCurrentLanguage,onClick:A,paddingY:1,paddingX:2,children:ce(H,{align:"center",gap:2,children:[ue(Ct,{code:b,langCulture:a.id}),ue(W,{flex:1,children:ue(F,{children:a.title})}),C?ue(Q,{fontSize:0,children:C}):null]})}),!a.isCurrentLanguage&&ue(kt,{type:"button",tone:"default",mode:"bleed",padding:2,onClick:E,children:ue(Et,{width:19,height:19})})]})},Ot=fe(W)(c||(c=m(["\n border-bottom: 1px solid var(--card-shadow-outline-color);\n"]))),Pt=fe(W)(d||(d=m(["\n minwidth: 250;\n"]))),jt=e=>{let{draftLanguageObjects:t,publishedLanguageObjects:a,missingLanguageObjects:n}=e;const i=N.useMemo((()=>Boolean(!(!t.length&&!a.length)&&n.length)),[t,a,n]),l=N.useMemo((()=>[...t.map((e=>f(f({},e),{},{status:"draft"}))),...a.map((e=>f(f({},e),{},{status:"published"})))].sort(It).reverse()),[t,a]);return ce(Pt,{children:[!!l.length&&ce(W,{children:[ue(At,{children:Oe.languageSelect.listLabels.existing}),ue($,{columns:1,gap:1,children:l.map((e=>ue(Rt,{status:e.status,language:e},e.id)))})]}),i&&ue(Ot,{marginY:1}),!!n.length&&ce(W,{children:[ue(At,{children:Oe.languageSelect.listLabels.missing}),ue($,{columns:1,gap:1,children:n.map((e=>ue(Rt,{status:"missing",language:e},e.id)))})]})]})},Gt={constrainSize:!0,placement:"bottom",portal:!0},Kt=e=>{let{schemaType:t,document:a}=e;var n,i;const l=Ye(j(St),t.name),[r,s]=function(e,t){const a=Ge(),{draft:n,published:i}=S(t._id.replace(/^drafts\./,""),t._type),[l,r]=k(!1),[s,o]=k([]),u=O((async()=>{if(0===s.length||e.shouldReload&&e.shouldReload(null!=n?n:i)){r(!0);const t=await Ke(a,e,e.languages,null!=n?n:i);o(t),r(!1)}}),[a,e,n,i,s]);return B((()=>{u()}),[n,i,s,e,u]),[l,s]}(l,a),o=N.useMemo((()=>je(s,l.base)),[s,l.base]),u=N.useMemo((()=>xe(a,l)||(o?o.id:null)),[a,o,l]),c=N.useMemo((()=>s.find((e=>e.id===u))),[s,u]),d=N.useMemo((()=>null==u?void 0:u.split(/[-_]/).pop()),[u]),h='*[_type == $type && _id in $ids]{\n _id,\n "'.concat(l.fieldNames.lang,'": ').concat(l.fieldNames.lang,"\n }"),m=N.useMemo((()=>{const e=ze(a._id),t=s.map((t=>t===o?e:Pe(l,e,t.id))),n=t.map((e=>"drafts.".concat(e)));return{ids:[...t,...n],type:a._type}}),[l,o,s,a._id,a._type]),{loading:g,data:p}=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:wt,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Mt;const[n,i]=k(!0),[l,r]=k(!1),[s,o]=k(null),u=G(null),c=I();return B((()=>(e&&(u.current=c.listenQuery(e,t,a).pipe(we(Ie),Me((e=>(console.error(e),r(e),i(!1),o(null),e)))).subscribe((e=>{o((t=>Ie(t,e)?t:e)),i(!1),r(!1)}))),()=>u.current?u.current.unsubscribe():void 0)),[e,t,a]),{loading:n,error:l,data:s}}(h,m),v=N.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=E(null!=e?e:{},l.fieldNames.lang),a=e&&e._id.replace(/^drafts\./,"")===ze(e._id);t?i.set(t,e):a&&(null==o?void 0:o.id)&&i.set(o.id,e)})),s.forEach(((n,l)=>{const r=f(f({},n),{},{isBase:o?n.id===o.id:0===l,isCurrentLanguage:n.id===u}),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,o,p,u]);return!c||!u||r||g||0===s.length?ue(Z,{disabled:!0,mode:"bleed",padding:3,loading:r||g,iconRight:oe,text:Oe.languageSelect.placeholder}):ue(Tt.Provider,{value:{baseLanguage:o,currentLanguage:c,currentDocumentType:a._type,currentDocumentId:a._id},children:ue(X,{id:"document-internationalization/language-select",popover:Gt,button:ue(Z,{paddingY:1,paddingX:2,mode:"bleed",title:null!=(n=c.title)?n:c.id,children:ce(H,{align:"center",gap:2,children:[ue(Ct,{code:d,langCulture:u}),ue(W,{flex:1,children:ue(F,{children:null!=(i=c.title)?i:c.id})}),ue(oe,{width:19,height:19})]})}),menu:ue(ee,{children:ue(jt,f({},v))})})})};function zt(t){const{config:a}=t,n=h(t,e),i=t.value;return ce(St.Provider,{value:a,children:[i._id&&ue(H,{flex:1,justify:"flex-end",children:ue(Kt,{schemaType:t.schemaType,document:i})}),t.renderDefault(n)]})}const Ft=A((e=>({name:"document-i18n",document:{actions:(t,a)=>et(t,a,e),badges:t=>{return[...t,(a=e,e=>{const t=Ye(a,e.type),n=e.draft||e.published,i=n?xe(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)?ue(zt,f({config:e},t)):t.renderDefault(t)}}}})));function Ut(e,t){var a;const n=Ft(t);return T([...Array.isArray(e)?e:e(t),null==(a=t.includeDeskTool)||a?me({structure:(e,a)=>{let{schema:n}=a;return vt({S:e,schema:n,config:t})}}):null,n])}export{Be as I18nDelimiter,ke as I18nPrefix,Re as IdStructure,Ne as LanguageCultures,De as ReferenceBehavior,Le as SupportedEmojiFlagCodes,Oe as UiMessages,qe as createDeleteAction,Xe as createDuplicateAction,bt as createIsSlugUnique,Je as createPublishAction,Ft as documentI18n,ht as getDefaultDocumentNode,vt as getDocumentList,mt as getDocumentTypes,pt as getFilteredDocumentTypeListItems,ft as getMaintenanceListItem,gt as getMaintenanceTabComponent,et as resolveActions,He as updateIntlFieldsForDocument,Ye as useConfig,Ve as useDelayedFlag,Ut as withDocumentI18nPlugin};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|