@payloadcms/ui 3.46.0-canary.3 → 3.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- import*as h from"react";var w=({elements:e,translationString:t})=>{let r=/(<[^>]+>.*?<\/[^>]+>)/g,n=t.split(r);return h.createElement("span",null,n.map((o,i)=>{if(e&&o.startsWith("<")&&o.endsWith(">")){let s=o[1],a=e[s];if(a){let c=new RegExp(`<${s}>(.*?)</${s}>`,"g"),m=o.replace(c,(l,u)=>u);return h.createElement(a,{key:i},h.createElement(w,{translationString:m}))}}return o}))},k=({elements:e,i18nKey:t,t:r,variables:n})=>{let o=r(t,n||{});return e?h.createElement(w,{elements:e,translationString:o}):o};import{isReactServerComponentOrFunction as N,serverProps as A}from"payload/shared";import Z from"react";function E({Component:e,sanitizeServerOnlyProps:t,toMergeIntoProps:r}){return t===void 0&&(t=!N(e)),o=>{let i=B(o,r);return t&&A.forEach(s=>{delete i[s]}),Z.createElement(e,{...i})}}function B(e,t){return{...e,...t}}import{isReactServerComponentOrFunction as G}from"payload/shared";import W from"react";var q=({Component:e,serverOnlyProps:t,...r})=>e?(o=>{let i={...o,...G(e)?t??{}:{}};return W.createElement(e,{...i})})(r):null;var $=e=>({...e?.admin?.style||{},...e?.admin?.width?{"--field-width":e.admin.width}:{flex:"1 1 auto"},...e?.admin?.style?.flex?{flex:e.admin.style.flex}:{}});var j=["validate","customComponents"],H=e=>{let t={...e};for(let r of j)delete t[r];return t},V=e=>{let t={};for(let r in e)t[r]=H(e[r]);return t};import T from"react";var K=({fill:e})=>{let t=e||"var(--theme-elevation-1000)";return T.createElement("svg",{className:"graphic-icon",height:"100%",viewBox:"0 0 25 25",width:"100%",xmlns:"http://www.w3.org/2000/svg"},T.createElement("path",{d:"M11.8673 21.2336L4.40922 16.9845C4.31871 16.9309 4.25837 16.8355 4.25837 16.7282V10.1609C4.25837 10.0477 4.38508 9.97616 4.48162 10.0298L13.1404 14.9642C13.2611 15.0358 13.412 14.9464 13.412 14.8093V11.6091C13.412 11.4839 13.3456 11.3647 13.2309 11.2992L2.81624 5.36353C2.72573 5.30989 2.60505 5.30989 2.51454 5.36353L1.15085 6.14422C1.06034 6.19786 1 6.29321 1 6.40048V18.5995C1 18.7068 1.06034 18.8021 1.15085 18.8558L11.8491 24.9583C11.9397 25.0119 12.0603 25.0119 12.1509 24.9583L21.1355 19.8331C21.2562 19.7616 21.2562 19.5948 21.1355 19.5232L18.3357 17.9261C18.2211 17.8605 18.0883 17.8605 17.9737 17.9261L12.175 21.2336C12.0845 21.2872 11.9638 21.2872 11.8733 21.2336H11.8673Z",fill:t}),T.createElement("path",{d:"M22.8491 6.13827L12.1508 0.0417218C12.0603 -0.0119135 11.9397 -0.0119135 11.8491 0.0417218L6.19528 3.2658C6.0746 3.33731 6.0746 3.50418 6.19528 3.57569L8.97092 5.16091C9.08557 5.22647 9.21832 5.22647 9.33296 5.16091L11.8672 3.71872C11.9578 3.66508 12.0784 3.66508 12.1689 3.71872L19.627 7.96782C19.7175 8.02146 19.7778 8.11681 19.7778 8.22408V14.8212C19.7778 14.9464 19.8442 15.0656 19.9589 15.1311L22.7345 16.7104C22.8552 16.7819 23.006 16.6925 23.006 16.5554V6.40048C23.006 6.29321 22.9457 6.19786 22.8552 6.14423L22.8491 6.13827Z",fill:t}))};import p from"react";var Y=`
1
+ import{jsx as g}from"react/jsx-runtime";import"react";var b=({elements:e,translationString:t})=>{let r=/(<[^>]+>.*?<\/[^>]+>)/g,o=t.split(r);return g("span",{children:o.map((n,s)=>{if(e&&n.startsWith("<")&&n.endsWith(">")){let i=n[1],a=e[i];if(a){let l=new RegExp(`<${i}>(.*?)</${i}>`,"g"),p=n.replace(l,(c,u)=>u);return g(a,{children:g(b,{translationString:p})},s)}}return n})})},I=({elements:e,i18nKey:t,t:r,variables:o})=>{let n=r(t,o||{});return e?g(b,{elements:e,translationString:n}):n};import{jsx as R}from"react/jsx-runtime";import{isReactServerComponentOrFunction as $,serverProps as A}from"payload/shared";import"react";function z({Component:e,sanitizeServerOnlyProps:t,toMergeIntoProps:r}){return t===void 0&&(t=!$(e)),n=>{let s=H(n,r);return t&&A.forEach(i=>{delete s[i]}),R(e,{...s})}}function H(e,t){return{...e,...t}}import{jsx as W}from"react/jsx-runtime";import{isReactServerComponentOrFunction as k}from"payload/shared";import"react";var B=({Component:e,serverOnlyProps:t,...r})=>e?(n=>{let s={...n,...k(e)?t??{}:{}};return W(e,{...s})})(r):null;var E=e=>({...e?.admin?.style||{},...e?.admin?.width?{"--field-width":e.admin.width}:{flex:"1 1 auto"},...e?.admin?.style?.flex?{flex:e.admin.style.flex}:{}});var V=["validate","customComponents"],_=e=>{let t={...e};for(let r of V)delete t[r];return t},q=e=>{let t={};for(let r in e)t[r]=_(e[r]);return t};import{jsx as L,jsxs as K}from"react/jsx-runtime";import"react";var Y=({fill:e})=>{let t=e||"var(--theme-elevation-1000)";return K("svg",{className:"graphic-icon",height:"100%",viewBox:"0 0 25 25",width:"100%",xmlns:"http://www.w3.org/2000/svg",children:[L("path",{d:"M11.8673 21.2336L4.40922 16.9845C4.31871 16.9309 4.25837 16.8355 4.25837 16.7282V10.1609C4.25837 10.0477 4.38508 9.97616 4.48162 10.0298L13.1404 14.9642C13.2611 15.0358 13.412 14.9464 13.412 14.8093V11.6091C13.412 11.4839 13.3456 11.3647 13.2309 11.2992L2.81624 5.36353C2.72573 5.30989 2.60505 5.30989 2.51454 5.36353L1.15085 6.14422C1.06034 6.19786 1 6.29321 1 6.40048V18.5995C1 18.7068 1.06034 18.8021 1.15085 18.8558L11.8491 24.9583C11.9397 25.0119 12.0603 25.0119 12.1509 24.9583L21.1355 19.8331C21.2562 19.7616 21.2562 19.5948 21.1355 19.5232L18.3357 17.9261C18.2211 17.8605 18.0883 17.8605 17.9737 17.9261L12.175 21.2336C12.0845 21.2872 11.9638 21.2872 11.8733 21.2336H11.8673Z",fill:t}),L("path",{d:"M22.8491 6.13827L12.1508 0.0417218C12.0603 -0.0119135 11.9397 -0.0119135 11.8491 0.0417218L6.19528 3.2658C6.0746 3.33731 6.0746 3.50418 6.19528 3.57569L8.97092 5.16091C9.08557 5.22647 9.21832 5.22647 9.33296 5.16091L11.8672 3.71872C11.9578 3.66508 12.0784 3.66508 12.1689 3.71872L19.627 7.96782C19.7175 8.02146 19.7778 8.11681 19.7778 8.22408V14.8212C19.7778 14.9464 19.8442 15.0656 19.9589 15.1311L22.7345 16.7104C22.8552 16.7819 23.006 16.6925 23.006 16.5554V6.40048C23.006 6.29321 22.9457 6.19786 22.8552 6.14423L22.8491 6.13827Z",fill:t})]})};import{jsx as f,jsxs as D}from"react/jsx-runtime";import"react";var Q=`
2
2
  .graphic-logo path {
3
3
  fill: var(--theme-elevation-1000);
4
4
  }
5
- `,Q=()=>p.createElement("svg",{className:"graphic-logo",fill:"none",height:"43.5",id:"b",viewBox:"0 0 193.38 43.5",width:"193.38",xmlns:"http://www.w3.org/2000/svg"},p.createElement("style",null,Y),p.createElement("g",{id:"c"},p.createElement("path",{d:"M18.01,35.63l-12.36-7.13c-.15-.09-.25-.25-.25-.43v-11.02c0-.19.21-.31.37-.22l14.35,8.28c.2.12.45-.03.45-.26v-5.37c0-.21-.11-.41-.3-.52L3.01,9c-.15-.09-.35-.09-.5,0l-2.26,1.31c-.15.09-.25.25-.25.43v20.47c0,.18.1.34.25.43l17.73,10.24c.15.09.35.09.5,0l14.89-8.6c.2-.12.2-.4,0-.52l-4.64-2.68c-.19-.11-.41-.11-.6,0l-9.61,5.55c-.15.09-.35.09-.5,0Z"}),p.createElement("path",{d:"M36.21,10.3L18.48.07c-.15-.09-.35-.09-.5,0l-9.37,5.41c-.2.12-.2.4,0,.52l4.6,2.66c.19.11.41.11.6,0l4.2-2.42c.15-.09.35-.09.5,0l12.36,7.13c.15.09.25.25.25.43v11.07c0,.21.11.41.3.52l4.6,2.65c.2.12.45-.03.45-.26V10.74c0-.18-.1-.34-.25-.43Z"}),p.createElement("g",{id:"d"},p.createElement("path",{d:"M193.38,9.47c0,1.94-1.48,3.32-3.3,3.32s-3.31-1.39-3.31-3.32,1.49-3.31,3.31-3.31,3.3,1.39,3.3,3.31ZM192.92,9.47c0-1.68-1.26-2.88-2.84-2.88s-2.84,1.2-2.84,2.88,1.26,2.89,2.84,2.89,2.84-1.2,2.84-2.89ZM188.69,11.17v-3.51h1.61c.85,0,1.35.39,1.35,1.15,0,.53-.3.86-.67,1.02l.79,1.35h-.89l-.72-1.22h-.64v1.22h-.82ZM190.18,9.31c.46,0,.64-.16.64-.5s-.19-.49-.64-.49h-.67v.99h.67Z"}),p.createElement("path",{d:"M54.72,24.84v10.93h-5.4V6.1h12.26c7.02,0,11.1,3.2,11.1,9.39s-4.07,9.35-11.06,9.35h-6.9,0ZM61.12,20.52c4.07,0,6.11-1.66,6.11-5.03s-2.04-5.03-6.11-5.03h-6.4v10.06h6.4Z"}),p.createElement("path",{d:"M85.94,32.45c-1,2.41-3.66,3.78-7.02,3.78-4.11,0-7.11-2.29-7.11-6.11,0-4.24,3.32-5.98,7.61-6.48l6.32-.71v-1c0-2.58-1.58-3.82-3.99-3.82s-3.74,1.29-3.91,3.24h-5.11c.46-4.53,3.99-7.19,9.18-7.19,5.74,0,9.02,2.7,9.02,8.19v8.15c0,1.95.08,3.58.42,5.28h-5.11c-.21-1.16-.29-2.29-.29-3.32h0ZM85.73,27.58v-1.29l-4.7.54c-2.24.29-3.95.79-3.95,2.99,0,1.66,1.16,2.7,3.28,2.7,2.74,0,5.36-1.62,5.36-4.95h0Z"}),p.createElement("path",{d:"M90.39,14.66h5.4l5.86,15.92h.08l5.57-15.92h5.28l-8.23,21.49c-2,5.28-4.45,7.32-8.89,7.36-.71,0-1.7-.08-2.45-.21v-4.03c.62.13.96.13,1.41.13,2.16,0,3.07-.75,4.2-3.66l-8.23-21.07h0Z"}),p.createElement("path",{d:"M113.46,35.77V6.1h5.32v29.67h-5.32Z"}),p.createElement("path",{d:"M130.79,36.27c-6.23,0-10.68-4.2-10.68-11.05s4.45-11.05,10.68-11.05,10.68,4.24,10.68,11.05-4.45,11.05-10.68,11.05ZM130.79,32.32c3.41,0,5.36-2.66,5.36-7.11s-1.95-7.11-5.36-7.11-5.36,2.7-5.36,7.11,1.91,7.11,5.36,7.11Z"}),p.createElement("path",{d:"M156.19,32.45c-1,2.41-3.66,3.78-7.02,3.78-4.11,0-7.11-2.29-7.11-6.11,0-4.24,3.32-5.98,7.61-6.48l6.32-.71v-1c0-2.58-1.58-3.82-3.99-3.82s-3.74,1.29-3.91,3.24h-5.11c.46-4.53,3.99-7.19,9.19-7.19,5.74,0,9.02,2.7,9.02,8.19v8.15c0,1.95.08,3.58.42,5.28h-5.11c-.21-1.16-.29-2.29-.29-3.32h0ZM155.98,27.58v-1.29l-4.7.54c-2.24.29-3.95.79-3.95,2.99,0,1.66,1.16,2.7,3.28,2.7,2.74,0,5.36-1.62,5.36-4.95h0Z"}),p.createElement("path",{d:"M178.5,32.41c-1.04,2.12-3.58,3.87-6.78,3.87-5.53,0-9.31-4.49-9.31-11.05s3.78-11.05,9.31-11.05c3.28,0,5.69,1.83,6.69,3.95V6.1h5.32v29.67h-5.24v-3.37h0ZM178.55,24.84c0-4.11-1.95-6.78-5.32-6.78s-5.45,2.83-5.45,7.15,2,7.15,5.45,7.15,5.32-2.66,5.32-6.78v-.75h0Z"}))));import{fieldIsHiddenOrDisabled as J,fieldIsID as X}from"payload/shared";var _=e=>{let t=n=>n.type!=="ui"&&J(n)&&!X(n)||n?.admin?.disableListColumn===!0;return e?.reduce((n,o)=>{if(t(o))return n;let i=o.type==="tabs"&&"tabs"in o?{...o,tabs:o.tabs.map(s=>({...s,fields:s.fields.filter(a=>!t(a))}))}:o;return n.push(i),n},[])};import{fieldAffectsData as P}from"payload/shared";var x=(e,t)=>e?.reduce((r,n)=>P(n)&&n.name===t?r:!P(n)&&"fields"in n?[...r,...x(n.fields,t)]:n.type==="tabs"&&"tabs"in n?[...r,...n.tabs.reduce((o,i)=>[...o,..."name"in i?[i.name]:x(i.fields,t)],[])]:[...r,n.name],[]),ee=(e,t,r)=>{let n=[];if(Array.isArray(r)&&r.length>=1)n=r;else{t&&n.push(t);let o=x(e,t);n=n.concat(o),n=n.slice(0,4)}return n.map(o=>({accessor:o,active:!0}))};function te(e){if(e)try{e.abort()}catch{}}function re(e){let t=new AbortController;if(e.current)try{e.current.abort()}catch{}return e.current=t,t}import*as M from"qs-esm";var ne={delete:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},n={...t,credentials:"include",headers:{...r},method:"delete"};return fetch(e,n)},get:(e,t={headers:{}})=>{let r="";return t.params&&(r=M.stringify(t.params,{addQueryPrefix:!0})),fetch(`${e}${r}`,{credentials:"include",...t})},patch:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},n={...t,credentials:"include",headers:{...r},method:"PATCH"};return fetch(e,n)},post:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},n={...t,credentials:"include",headers:{...r},method:"post"};return fetch(`${e}`,n)},put:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},n={...t,credentials:"include",headers:{...r},method:"put"};return fetch(e,n)}};var oe=(e,t)=>!e?.locales||e.locales.length===0?null:e.locales.find(r=>r?.code===t);import{formatAdminURL as ie}from"payload/shared";var se={},g={};function d(e,t){try{let n=(se[e]||=new Intl.DateTimeFormat("en-GB",{timeZone:e,hour:"numeric",timeZoneName:"longOffset"}).format)(t).split("GMT")[1]||"";return n in g?g[n]:R(n,n.split(":"))}catch{if(e in g)return g[e];let r=e?.match(ae);return r?R(e,r.slice(1)):NaN}}var ae=/([+-]\d\d):?(\d\d)?/;function R(e,t){let r=+t[0],n=+(t[1]||0);return g[e]=r>0?r*60+n:r*60-n}var f=class e extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(d(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),L(this,NaN),b(this)):this.setTime(Date.now())}static tz(t,...r){return r.length?new e(...r,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){return-d(this.timeZone,this)}setTime(t){return Date.prototype.setTime.apply(this,arguments),b(this),+this}[Symbol.for("constructDateFrom")](t){return new e(+new Date(t),this.timeZone)}},I=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!I.test(e))return;let t=e.replace(I,"$1UTC");f.prototype[t]&&(e.startsWith("get")?f.prototype[e]=function(){return this.internal[t]()}:(f.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),le(this),+this},f.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),b(this),+this}))});function b(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function le(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),L(e)}function L(e){let t=d(e.timeZone,e),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let n=-new Date(+e).getTimezoneOffset(),o=-new Date(+r).getTimezoneOffset(),i=n-o,s=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();i&&s&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+i);let a=n-t;a&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+a);let c=d(e.timeZone,e),l=-new Date(+e).getTimezoneOffset()-c,u=c!==t,D=l-a;if(u&&D){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+D);let z=d(e.timeZone,e),C=c-z;C&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+C),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+C))}}import{format as O,formatDistanceToNow as Ye,transpose as ce}from"date-fns";var S=({date:e,i18n:t,pattern:r,timezone:n})=>{let o=new f(new Date(e));if(n){let i=f.tz(n),s=o.withTimeZone(n),a=ce(s,i);return t.dateFNS?O(a,r,{locale:t.dateFNS}):`${t.t("general:loading")}...`}return t.dateFNS?O(o,r,{locale:t.dateFNS}):`${t.t("general:loading")}...`};import{getTranslation as pe}from"@payloadcms/translations";function F(e){return typeof e=="object"&&"root"in e}function y(e,t){for(let r of e)"text"in r&&r.text?t+=r.text:"children"in r||(t+=`[${r.type}]`),"children"in r&&r.children&&(t+=y(r.children,t));return t}var me=({collectionConfig:e,data:t,dateFormat:r,fallback:n,globalConfig:o,i18n:i})=>{let s;if(e){let a=e?.admin?.useAsTitle;if(a&&(s=t?.[a],s)){let c=e.fields.find(l=>"name"in l&&l.name===a);if(c?.type==="date"){let l="date"in c.admin&&c?.admin?.date?.displayFormat||r;s=S({date:s,i18n:i,pattern:l})||s}}}return o&&(s=pe(o?.label,i)||o?.slug),s&&F(s)&&(s=y(s.root.children?.[0]?.children||[],"")),!s&&F(n)&&(s=y(n.root.children?.[0]?.children||[],"")),s||(s=typeof n=="string"?n:`[${i.t("general:untitled")}]`),s};import{getTranslation as v}from"@payloadcms/translations";var U=(r=>(r.collection="collections",r.global="globals",r))(U||{});function fe(e,t,r){return e.reduce((o,i)=>{if(i.entity?.admin?.group===!1)return o;if(t?.[i.type.toLowerCase()]?.[i.entity.slug]?.read){let s=v(i.entity.admin.group,r),a="labels"in i.entity?i.entity.labels.plural:i.entity.label,c=typeof a=="function"?a({i18n:r,t:r.t}):a;if(i.entity.admin.group){let m=o.find(u=>v(u.label,r)===s),l=m;m||(l={entities:[],label:s},o.push(l)),l.entities.push({slug:i.entity.slug,type:i.type,label:c})}else o.find(l=>v(l.label,r)===r.t(`general:${i.type}`)).entities.push({slug:i.entity.slug,type:i.type,label:c})}return o},[{entities:[],label:r.t("general:collections")},{entities:[],label:r.t("general:globals")}]).filter(o=>o.entities.length>0)}import{formatAdminURL as de}from"payload/shared";var ue=({adminRoute:e,router:t})=>{let r=de({adminRoute:e,path:"/"});t.push(r)};import{formatAdminURL as he}from"payload/shared";var ge=({adminRoute:e,collectionSlug:t,router:r})=>{let n=he({adminRoute:e,path:t?`/collections/${t}`:"/"});r.push(n)};var ye=(e,t,r,n,o,i,s,a,c,m)=>{if(c)try{i(e,t??r,n),o||(a.current.hasShownLockedModal=!0),a.current={hasShownLockedModal:a.current?.hasShownLockedModal,isLocked:!0,user:n},s(n),o&&m&&m(!1)}catch(l){console.error("Error during document takeover:",l)}};var Ce=e=>{let{collectionSlug:t,docPermissions:r,globalSlug:n,isEditing:o}=e;return t?!!(o&&r?.update||!o&&r?.create):n?!!r?.update:!1};var Te=e=>e&&typeof e=="object";var xe=({id:e,collectionSlug:t,globalSlug:r})=>!!(r||t&&e);function be(e){return e===void 0||typeof e=="number"?e:decodeURIComponent(e)}import{mergeListSearchAndWhere as Zt}from"payload/shared";export{U as EntityType,K as PayloadIcon,Q as PayloadLogo,k as Translation,q as WithServerSideProps,te as abortAndIgnore,_ as filterFields,oe as findLocaleFromCode,ie as formatAdminURL,S as formatDate,me as formatDocTitle,ee as getInitialColumns,fe as groupNavItems,re as handleAbortRef,ue as handleBackToDashboard,ge as handleGoBack,ye as handleTakeOver,Ce as hasSavePermission,Te as isClientUserObject,xe as isEditing,$ as mergeFieldStyles,Zt as mergeListSearchAndWhere,V as reduceToSerializableFields,ne as requests,be as sanitizeID,E as withMergedProps};
5
+ `,J=()=>D("svg",{className:"graphic-logo",fill:"none",height:"43.5",id:"b",viewBox:"0 0 193.38 43.5",width:"193.38",xmlns:"http://www.w3.org/2000/svg",children:[f("style",{children:Q}),D("g",{id:"c",children:[f("path",{d:"M18.01,35.63l-12.36-7.13c-.15-.09-.25-.25-.25-.43v-11.02c0-.19.21-.31.37-.22l14.35,8.28c.2.12.45-.03.45-.26v-5.37c0-.21-.11-.41-.3-.52L3.01,9c-.15-.09-.35-.09-.5,0l-2.26,1.31c-.15.09-.25.25-.25.43v20.47c0,.18.1.34.25.43l17.73,10.24c.15.09.35.09.5,0l14.89-8.6c.2-.12.2-.4,0-.52l-4.64-2.68c-.19-.11-.41-.11-.6,0l-9.61,5.55c-.15.09-.35.09-.5,0Z"}),f("path",{d:"M36.21,10.3L18.48.07c-.15-.09-.35-.09-.5,0l-9.37,5.41c-.2.12-.2.4,0,.52l4.6,2.66c.19.11.41.11.6,0l4.2-2.42c.15-.09.35-.09.5,0l12.36,7.13c.15.09.25.25.25.43v11.07c0,.21.11.41.3.52l4.6,2.65c.2.12.45-.03.45-.26V10.74c0-.18-.1-.34-.25-.43Z"}),D("g",{id:"d",children:[f("path",{d:"M193.38,9.47c0,1.94-1.48,3.32-3.3,3.32s-3.31-1.39-3.31-3.32,1.49-3.31,3.31-3.31,3.3,1.39,3.3,3.31ZM192.92,9.47c0-1.68-1.26-2.88-2.84-2.88s-2.84,1.2-2.84,2.88,1.26,2.89,2.84,2.89,2.84-1.2,2.84-2.89ZM188.69,11.17v-3.51h1.61c.85,0,1.35.39,1.35,1.15,0,.53-.3.86-.67,1.02l.79,1.35h-.89l-.72-1.22h-.64v1.22h-.82ZM190.18,9.31c.46,0,.64-.16.64-.5s-.19-.49-.64-.49h-.67v.99h.67Z"}),f("path",{d:"M54.72,24.84v10.93h-5.4V6.1h12.26c7.02,0,11.1,3.2,11.1,9.39s-4.07,9.35-11.06,9.35h-6.9,0ZM61.12,20.52c4.07,0,6.11-1.66,6.11-5.03s-2.04-5.03-6.11-5.03h-6.4v10.06h6.4Z"}),f("path",{d:"M85.94,32.45c-1,2.41-3.66,3.78-7.02,3.78-4.11,0-7.11-2.29-7.11-6.11,0-4.24,3.32-5.98,7.61-6.48l6.32-.71v-1c0-2.58-1.58-3.82-3.99-3.82s-3.74,1.29-3.91,3.24h-5.11c.46-4.53,3.99-7.19,9.18-7.19,5.74,0,9.02,2.7,9.02,8.19v8.15c0,1.95.08,3.58.42,5.28h-5.11c-.21-1.16-.29-2.29-.29-3.32h0ZM85.73,27.58v-1.29l-4.7.54c-2.24.29-3.95.79-3.95,2.99,0,1.66,1.16,2.7,3.28,2.7,2.74,0,5.36-1.62,5.36-4.95h0Z"}),f("path",{d:"M90.39,14.66h5.4l5.86,15.92h.08l5.57-15.92h5.28l-8.23,21.49c-2,5.28-4.45,7.32-8.89,7.36-.71,0-1.7-.08-2.45-.21v-4.03c.62.13.96.13,1.41.13,2.16,0,3.07-.75,4.2-3.66l-8.23-21.07h0Z"}),f("path",{d:"M113.46,35.77V6.1h5.32v29.67h-5.32Z"}),f("path",{d:"M130.79,36.27c-6.23,0-10.68-4.2-10.68-11.05s4.45-11.05,10.68-11.05,10.68,4.24,10.68,11.05-4.45,11.05-10.68,11.05ZM130.79,32.32c3.41,0,5.36-2.66,5.36-7.11s-1.95-7.11-5.36-7.11-5.36,2.7-5.36,7.11,1.91,7.11,5.36,7.11Z"}),f("path",{d:"M156.19,32.45c-1,2.41-3.66,3.78-7.02,3.78-4.11,0-7.11-2.29-7.11-6.11,0-4.24,3.32-5.98,7.61-6.48l6.32-.71v-1c0-2.58-1.58-3.82-3.99-3.82s-3.74,1.29-3.91,3.24h-5.11c.46-4.53,3.99-7.19,9.19-7.19,5.74,0,9.02,2.7,9.02,8.19v8.15c0,1.95.08,3.58.42,5.28h-5.11c-.21-1.16-.29-2.29-.29-3.32h0ZM155.98,27.58v-1.29l-4.7.54c-2.24.29-3.95.79-3.95,2.99,0,1.66,1.16,2.7,3.28,2.7,2.74,0,5.36-1.62,5.36-4.95h0Z"}),f("path",{d:"M178.5,32.41c-1.04,2.12-3.58,3.87-6.78,3.87-5.53,0-9.31-4.49-9.31-11.05s3.78-11.05,9.31-11.05c3.28,0,5.69,1.83,6.69,3.95V6.1h5.32v29.67h-5.24v-3.37h0ZM178.55,24.84c0-4.11-1.95-6.78-5.32-6.78s-5.45,2.83-5.45,7.15,2,7.15,5.45,7.15,5.32-2.66,5.32-6.78v-.75h0Z"})]})]})]});import{fieldIsHiddenOrDisabled as X,fieldIsID as G}from"payload/shared";var ee=e=>{let t=o=>o.type!=="ui"&&X(o)&&!G(o)||o?.admin?.disableListColumn===!0;return e?.reduce((o,n)=>{if(t(n))return o;let s=n.type==="tabs"&&"tabs"in n?{...n,tabs:n.tabs.map(i=>({...i,fields:i.fields.filter(a=>!t(a))}))}:n;return o.push(s),o},[])};import{fieldAffectsData as U}from"payload/shared";var T=(e,t)=>e?.reduce((r,o)=>U(o)&&o.name===t?r:!U(o)&&"fields"in o?[...r,...T(o.fields,t)]:o.type==="tabs"&&"tabs"in o?[...r,...o.tabs.reduce((n,s)=>[...n,..."name"in s?[s.name]:T(s.fields,t)],[])]:[...r,o.name],[]),te=(e,t,r)=>{let o=[];if(Array.isArray(r)&&r.length>=1)o=r;else{t&&o.push(t);let n=T(e,t);o=o.concat(n),o=o.slice(0,4)}return o.map(n=>({accessor:n,active:!0}))};function re(e){if(e)try{e.abort()}catch{}}function oe(e){let t=new AbortController;if(e.current)try{e.current.abort()}catch{}return e.current=t,t}import*as O from"qs-esm";var ne={delete:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},o={...t,credentials:"include",headers:{...r},method:"delete"};return fetch(e,o)},get:(e,t={headers:{}})=>{let r="";return t.params&&(r=O.stringify(t.params,{addQueryPrefix:!0})),fetch(`${e}${r}`,{credentials:"include",...t})},patch:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},o={...t,credentials:"include",headers:{...r},method:"PATCH"};return fetch(e,o)},post:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},o={...t,credentials:"include",headers:{...r},method:"post"};return fetch(`${e}`,o)},put:(e,t={headers:{}})=>{let r=t&&t.headers?{...t.headers}:{},o={...t,credentials:"include",headers:{...r},method:"put"};return fetch(e,o)}};var se=(e,t)=>!e?.locales||e.locales.length===0?null:e.locales.find(r=>r?.code===t);import{formatAdminURL as ie}from"payload/shared";var ae={},d={};function m(e,t){try{let o=(ae[e]||=new Intl.DateTimeFormat("en-GB",{timeZone:e,hour:"numeric",timeZoneName:"longOffset"}).format)(t).split("GMT")[1]||"";return o in d?d[o]:F(o,o.split(":"))}catch{if(e in d)return d[e];let r=e?.match(ce);return r?F(e,r.slice(1)):NaN}}var ce=/([+-]\d\d):?(\d\d)?/;function F(e,t){let r=+t[0],o=+(t[1]||0);return d[e]=r>0?r*60+o:r*60-o}var h=class e extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(m(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),N(this,NaN),C(this)):this.setTime(Date.now())}static tz(t,...r){return r.length?new e(...r,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){return-m(this.timeZone,this)}setTime(t){return Date.prototype.setTime.apply(this,arguments),C(this),+this}[Symbol.for("constructDateFrom")](t){return new e(+new Date(t),this.timeZone)}},Z=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Z.test(e))return;let t=e.replace(Z,"$1UTC");h.prototype[t]&&(e.startsWith("get")?h.prototype[e]=function(){return this.internal[t]()}:(h.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),le(this),+this},h.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),C(this),+this}))});function C(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function le(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),N(e)}function N(e){let t=m(e.timeZone,e),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let o=-new Date(+e).getTimezoneOffset(),n=-new Date(+r).getTimezoneOffset(),s=o-n,i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);let a=o-t;a&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+a);let l=m(e.timeZone,e),c=-new Date(+e).getTimezoneOffset()-l,u=l!==t,S=c-a;if(u&&S){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S);let P=m(e.timeZone,e),y=l-P;y&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+y),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+y))}}import{format as j,formatDistanceToNow as at,transpose as fe}from"date-fns";var v=({date:e,i18n:t,pattern:r,timezone:o})=>{let n=new h(new Date(e));if(o){let s=h.tz(o),i=n.withTimeZone(o),a=fe(i,s);return t.dateFNS?j(a,r,{locale:t.dateFNS}):`${t.t("general:loading")}...`}return t.dateFNS?j(n,r,{locale:t.dateFNS}):`${t.t("general:loading")}...`};import{getTranslation as pe}from"@payloadcms/translations";function w(e){return typeof e=="object"&&"root"in e}function x(e,t){for(let r of e)"text"in r&&r.text?t+=r.text:"children"in r||(t+=`[${r.type}]`),"children"in r&&r.children&&(t+=x(r.children,t));return t}var he=({collectionConfig:e,data:t,dateFormat:r,fallback:o,globalConfig:n,i18n:s})=>{let i;if(e){let a=e?.admin?.useAsTitle;if(a&&(i=t?.[a],i)){let l=e.fields.find(c=>"name"in c&&c.name===a);if(l?.type==="date"){let c="date"in l.admin&&l?.admin?.date?.displayFormat||r;i=v({date:i,i18n:s,pattern:c})||i}}}return n&&(i=pe(n?.label,s)||n?.slug),i&&w(i)&&(i=x(i.root.children?.[0]?.children||[],"")),!i&&w(o)&&(i=x(o.root.children?.[0]?.children||[],"")),i||(i=typeof o=="string"?o:`[${s.t("general:untitled")}]`),i};import{getTranslation as M}from"@payloadcms/translations";var me=function(e){return e.collection="collections",e.global="globals",e}({});function ue(e,t,r){return e.reduce((n,s)=>{if(s.entity?.admin?.group===!1)return n;if(t?.[s.type.toLowerCase()]?.[s.entity.slug]?.read){let i=M(s.entity.admin.group,r),a="labels"in s.entity?s.entity.labels.plural:s.entity.label,l=typeof a=="function"?a({i18n:r,t:r.t}):a;if(s.entity.admin.group){let p=n.find(u=>M(u.label,r)===i),c=p;p||(c={entities:[],label:i},n.push(c)),c.entities.push({slug:s.entity.slug,type:s.type,label:l})}else n.find(c=>M(c.label,r)===r.t(`general:${s.type}`)).entities.push({slug:s.entity.slug,type:s.type,label:l})}return n},[{entities:[],label:r.t("general:collections")},{entities:[],label:r.t("general:globals")}]).filter(n=>n.entities.length>0)}import{formatAdminURL as de}from"payload/shared";var ge=({adminRoute:e,router:t})=>{let r=de({adminRoute:e,path:"/"});t.push(r)};import{formatAdminURL as xe}from"payload/shared";var ye=({adminRoute:e,collectionSlug:t,router:r})=>{let o=xe({adminRoute:e,path:t?`/collections/${t}`:"/"});r.push(o)};var De=(e,t,r,o,n,s,i,a,l,p)=>{if(l)try{s(e,t??r,o),n||(a.current.hasShownLockedModal=!0),a.current={hasShownLockedModal:a.current?.hasShownLockedModal,isLocked:!0,user:o},i(o),n&&p&&p(!1)}catch(c){console.error("Error during document takeover:",c)}};var Te=e=>{let{collectionSlug:t,docPermissions:r,globalSlug:o,isEditing:n}=e;return t?!!(n&&r?.update||!n&&r?.create):o?!!r?.update:!1};var Ce=e=>e&&typeof e=="object";var ve=({id:e,collectionSlug:t,globalSlug:r})=>!!(r||t&&e);function we(e){return e===void 0||typeof e=="number"?e:decodeURIComponent(e)}import{mergeListSearchAndWhere as Qt}from"payload/shared";export{me as EntityType,Y as PayloadIcon,J as PayloadLogo,I as Translation,B as WithServerSideProps,re as abortAndIgnore,ee as filterFields,se as findLocaleFromCode,ie as formatAdminURL,v as formatDate,he as formatDocTitle,te as getInitialColumns,ue as groupNavItems,oe as handleAbortRef,ge as handleBackToDashboard,ye as handleGoBack,De as handleTakeOver,Te as hasSavePermission,Ce as isClientUserObject,ve as isEditing,E as mergeFieldStyles,Qt as mergeListSearchAndWhere,q as reduceToSerializableFields,ne as requests,we as sanitizeID,z as withMergedProps};
6
6
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/elements/Translation/index.tsx", "../../../src/elements/withMergedProps/index.tsx", "../../../src/elements/WithServerSideProps/index.tsx", "../../../src/fields/mergeFieldStyles.ts", "../../../src/forms/Form/reduceToSerializableFields.ts", "../../../src/graphics/Icon/index.tsx", "../../../src/graphics/Logo/index.tsx", "../../../src/providers/TableColumns/buildColumnState/filterFields.tsx", "../../../src/providers/TableColumns/getInitialColumns.ts", "../../../src/utilities/abortAndIgnore.ts", "../../../src/utilities/api.ts", "../../../src/utilities/findLocaleFromCode.ts", "../../../src/utilities/formatAdminURL.ts", "../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/tzOffset/index.js", "../../../../../node_modules/.pnpm/@date-fns+tz@1.2.0/node_modules/@date-fns/tz/date/mini.js", "../../../src/utilities/formatDocTitle/formatDateTitle.ts", "../../../src/utilities/formatDocTitle/index.ts", "../../../src/utilities/formatDocTitle/formatLexicalDocTitle.ts", "../../../src/utilities/groupNavItems.ts", "../../../src/utilities/handleBackToDashboard.tsx", "../../../src/utilities/handleGoBack.tsx", "../../../src/utilities/handleTakeOver.tsx", "../../../src/utilities/hasSavePermission.ts", "../../../src/utilities/isClientUserObject.ts", "../../../src/utilities/isEditing.ts", "../../../src/utilities/sanitizeID.ts", "../../../src/exports/shared/index.ts"],
4
4
  "sourcesContent": ["import type { ClientTranslationKeys, TFunction } from '@payloadcms/translations'\n\nimport * as React from 'react'\n\nconst RecursiveTranslation: React.FC<{\n elements?: Record<string, React.FC<{ children: React.ReactNode }>>\n translationString: string\n}> = ({ elements, translationString }) => {\n const regex = /(<[^>]+>.*?<\\/[^>]+>)/g\n const sections = translationString.split(regex)\n\n return (\n <span>\n {sections.map((section, index) => {\n if (elements && section.startsWith('<') && section.endsWith('>')) {\n const elementKey = section[1]\n const Element = elements[elementKey]\n\n if (Element) {\n const regex = new RegExp(`<${elementKey}>(.*?)<\\/${elementKey}>`, 'g')\n const children = section.replace(regex, (_, group) => group)\n\n return (\n <Element key={index}>\n <RecursiveTranslation translationString={children} />\n </Element>\n )\n }\n }\n\n return section\n })}\n </span>\n )\n}\n\nexport type TranslationProps = {\n elements?: Record<string, React.FC<{ children: React.ReactNode }>>\n i18nKey: ClientTranslationKeys\n t: TFunction\n variables?: Record<string, unknown>\n}\n\nexport const Translation: React.FC<TranslationProps> = ({ elements, i18nKey, t, variables }) => {\n const stringWithVariables = t(i18nKey, variables || {})\n\n if (!elements) {\n return stringWithVariables\n }\n\n return <RecursiveTranslation elements={elements} translationString={stringWithVariables} />\n}\n", "import { isReactServerComponentOrFunction, serverProps } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = getMergedPropsComponent({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n *\n * @param Component - The original component to wrap.\n * @param sanitizeServerOnlyProps - If true, server-only props will be removed from the merged props. @default true if the component is not a server component, false otherwise.\n * @param toMergeIntoProps - The properties to merge into the passed props.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n sanitizeServerOnlyProps,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n sanitizeServerOnlyProps?: boolean\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n if (sanitizeServerOnlyProps === undefined) {\n sanitizeServerOnlyProps = !isReactServerComponentOrFunction(Component)\n }\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = simpleMergeProps(passedProps, toMergeIntoProps) as CompleteReturnProps\n\n if (sanitizeServerOnlyProps) {\n serverProps.forEach((prop) => {\n delete mergedProps[prop]\n })\n }\n\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n\nfunction simpleMergeProps(props, toMerge) {\n return { ...props, ...toMerge }\n}\n", "import type { WithServerSidePropsComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nexport const WithServerSideProps: WithServerSidePropsComponent = ({\n Component,\n serverOnlyProps,\n ...rest\n}) => {\n if (Component) {\n const WithServerSideProps: React.FC = (passedProps) => {\n const propsWithServerOnlyProps = {\n ...passedProps,\n ...(isReactServerComponentOrFunction(Component) ? (serverOnlyProps ?? {}) : {}),\n }\n\n return <Component {...propsWithServerOnlyProps} />\n }\n\n return WithServerSideProps(rest)\n }\n\n return null\n}\n", "import type { ClientField } from 'payload'\n\nexport const mergeFieldStyles = (\n field: ClientField | Omit<ClientField, 'type'>,\n): React.CSSProperties => ({\n ...(field?.admin?.style || {}),\n ...(field?.admin?.width\n ? {\n '--field-width': field.admin.width,\n }\n : {\n flex: '1 1 auto',\n }),\n // allow flex overrides to still take precedence over the fallback\n ...(field?.admin?.style?.flex\n ? {\n flex: field.admin.style.flex,\n }\n : {}),\n})\n", "import { type FormField, type FormState } from 'payload'\n\ntype BlacklistedKeys = 'customComponents' | 'validate'\nconst blacklistedKeys: BlacklistedKeys[] = ['validate', 'customComponents']\n\nconst sanitizeField = (incomingField: FormField): FormField => {\n const field = { ...incomingField } // shallow copy, as we only need to remove top-level keys\n\n for (const key of blacklistedKeys) {\n delete field[key]\n }\n\n return field\n}\n\n/**\n * Takes in FormState and removes fields that are not serializable.\n * Returns FormState without blacklisted keys.\n */\nexport const reduceToSerializableFields = (\n fields: FormState,\n): {\n [key: string]: Omit<FormField, BlacklistedKeys>\n} => {\n const result: Record<string, Omit<FormField, BlacklistedKeys>> = {}\n\n for (const key in fields) {\n result[key] = sanitizeField(fields[key])\n }\n\n return result\n}\n", "import React from 'react'\n\nexport const PayloadIcon: React.FC<{\n fill?: string\n}> = ({ fill: fillFromProps }) => {\n const fill = fillFromProps || 'var(--theme-elevation-1000)'\n\n return (\n <svg\n className=\"graphic-icon\"\n height=\"100%\"\n viewBox=\"0 0 25 25\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.8673 21.2336L4.40922 16.9845C4.31871 16.9309 4.25837 16.8355 4.25837 16.7282V10.1609C4.25837 10.0477 4.38508 9.97616 4.48162 10.0298L13.1404 14.9642C13.2611 15.0358 13.412 14.9464 13.412 14.8093V11.6091C13.412 11.4839 13.3456 11.3647 13.2309 11.2992L2.81624 5.36353C2.72573 5.30989 2.60505 5.30989 2.51454 5.36353L1.15085 6.14422C1.06034 6.19786 1 6.29321 1 6.40048V18.5995C1 18.7068 1.06034 18.8021 1.15085 18.8558L11.8491 24.9583C11.9397 25.0119 12.0603 25.0119 12.1509 24.9583L21.1355 19.8331C21.2562 19.7616 21.2562 19.5948 21.1355 19.5232L18.3357 17.9261C18.2211 17.8605 18.0883 17.8605 17.9737 17.9261L12.175 21.2336C12.0845 21.2872 11.9638 21.2872 11.8733 21.2336H11.8673Z\"\n fill={fill}\n />\n <path\n d=\"M22.8491 6.13827L12.1508 0.0417218C12.0603 -0.0119135 11.9397 -0.0119135 11.8491 0.0417218L6.19528 3.2658C6.0746 3.33731 6.0746 3.50418 6.19528 3.57569L8.97092 5.16091C9.08557 5.22647 9.21832 5.22647 9.33296 5.16091L11.8672 3.71872C11.9578 3.66508 12.0784 3.66508 12.1689 3.71872L19.627 7.96782C19.7175 8.02146 19.7778 8.11681 19.7778 8.22408V14.8212C19.7778 14.9464 19.8442 15.0656 19.9589 15.1311L22.7345 16.7104C22.8552 16.7819 23.006 16.6925 23.006 16.5554V6.40048C23.006 6.29321 22.9457 6.19786 22.8552 6.14423L22.8491 6.13827Z\"\n fill={fill}\n />\n </svg>\n )\n}\n", "import React from 'react'\n\nconst css = `\n .graphic-logo path {\n fill: var(--theme-elevation-1000);\n }\n`\n\nexport const PayloadLogo: React.FC = () => (\n <svg\n className=\"graphic-logo\"\n fill=\"none\"\n height=\"43.5\"\n id=\"b\"\n viewBox=\"0 0 193.38 43.5\"\n width=\"193.38\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <style>{css}</style>\n <g id=\"c\">\n <path d=\"M18.01,35.63l-12.36-7.13c-.15-.09-.25-.25-.25-.43v-11.02c0-.19.21-.31.37-.22l14.35,8.28c.2.12.45-.03.45-.26v-5.37c0-.21-.11-.41-.3-.52L3.01,9c-.15-.09-.35-.09-.5,0l-2.26,1.31c-.15.09-.25.25-.25.43v20.47c0,.18.1.34.25.43l17.73,10.24c.15.09.35.09.5,0l14.89-8.6c.2-.12.2-.4,0-.52l-4.64-2.68c-.19-.11-.41-.11-.6,0l-9.61,5.55c-.15.09-.35.09-.5,0Z\" />\n <path d=\"M36.21,10.3L18.48.07c-.15-.09-.35-.09-.5,0l-9.37,5.41c-.2.12-.2.4,0,.52l4.6,2.66c.19.11.41.11.6,0l4.2-2.42c.15-.09.35-.09.5,0l12.36,7.13c.15.09.25.25.25.43v11.07c0,.21.11.41.3.52l4.6,2.65c.2.12.45-.03.45-.26V10.74c0-.18-.1-.34-.25-.43Z\" />\n <g id=\"d\">\n <path d=\"M193.38,9.47c0,1.94-1.48,3.32-3.3,3.32s-3.31-1.39-3.31-3.32,1.49-3.31,3.31-3.31,3.3,1.39,3.3,3.31ZM192.92,9.47c0-1.68-1.26-2.88-2.84-2.88s-2.84,1.2-2.84,2.88,1.26,2.89,2.84,2.89,2.84-1.2,2.84-2.89ZM188.69,11.17v-3.51h1.61c.85,0,1.35.39,1.35,1.15,0,.53-.3.86-.67,1.02l.79,1.35h-.89l-.72-1.22h-.64v1.22h-.82ZM190.18,9.31c.46,0,.64-.16.64-.5s-.19-.49-.64-.49h-.67v.99h.67Z\" />\n <path d=\"M54.72,24.84v10.93h-5.4V6.1h12.26c7.02,0,11.1,3.2,11.1,9.39s-4.07,9.35-11.06,9.35h-6.9,0ZM61.12,20.52c4.07,0,6.11-1.66,6.11-5.03s-2.04-5.03-6.11-5.03h-6.4v10.06h6.4Z\" />\n <path d=\"M85.94,32.45c-1,2.41-3.66,3.78-7.02,3.78-4.11,0-7.11-2.29-7.11-6.11,0-4.24,3.32-5.98,7.61-6.48l6.32-.71v-1c0-2.58-1.58-3.82-3.99-3.82s-3.74,1.29-3.91,3.24h-5.11c.46-4.53,3.99-7.19,9.18-7.19,5.74,0,9.02,2.7,9.02,8.19v8.15c0,1.95.08,3.58.42,5.28h-5.11c-.21-1.16-.29-2.29-.29-3.32h0ZM85.73,27.58v-1.29l-4.7.54c-2.24.29-3.95.79-3.95,2.99,0,1.66,1.16,2.7,3.28,2.7,2.74,0,5.36-1.62,5.36-4.95h0Z\" />\n <path d=\"M90.39,14.66h5.4l5.86,15.92h.08l5.57-15.92h5.28l-8.23,21.49c-2,5.28-4.45,7.32-8.89,7.36-.71,0-1.7-.08-2.45-.21v-4.03c.62.13.96.13,1.41.13,2.16,0,3.07-.75,4.2-3.66l-8.23-21.07h0Z\" />\n <path d=\"M113.46,35.77V6.1h5.32v29.67h-5.32Z\" />\n <path d=\"M130.79,36.27c-6.23,0-10.68-4.2-10.68-11.05s4.45-11.05,10.68-11.05,10.68,4.24,10.68,11.05-4.45,11.05-10.68,11.05ZM130.79,32.32c3.41,0,5.36-2.66,5.36-7.11s-1.95-7.11-5.36-7.11-5.36,2.7-5.36,7.11,1.91,7.11,5.36,7.11Z\" />\n <path d=\"M156.19,32.45c-1,2.41-3.66,3.78-7.02,3.78-4.11,0-7.11-2.29-7.11-6.11,0-4.24,3.32-5.98,7.61-6.48l6.32-.71v-1c0-2.58-1.58-3.82-3.99-3.82s-3.74,1.29-3.91,3.24h-5.11c.46-4.53,3.99-7.19,9.19-7.19,5.74,0,9.02,2.7,9.02,8.19v8.15c0,1.95.08,3.58.42,5.28h-5.11c-.21-1.16-.29-2.29-.29-3.32h0ZM155.98,27.58v-1.29l-4.7.54c-2.24.29-3.95.79-3.95,2.99,0,1.66,1.16,2.7,3.28,2.7,2.74,0,5.36-1.62,5.36-4.95h0Z\" />\n <path d=\"M178.5,32.41c-1.04,2.12-3.58,3.87-6.78,3.87-5.53,0-9.31-4.49-9.31-11.05s3.78-11.05,9.31-11.05c3.28,0,5.69,1.83,6.69,3.95V6.1h5.32v29.67h-5.24v-3.37h0ZM178.55,24.84c0-4.11-1.95-6.78-5.32-6.78s-5.45,2.83-5.45,7.15,2,7.15,5.45,7.15,5.32-2.66,5.32-6.78v-.75h0Z\" />\n </g>\n </g>\n </svg>\n)\n", "import type { ClientField, Field } from 'payload'\n\nimport { fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\n\n/**\n * Filters fields that are hidden, disabled, or have `disableListColumn` set to `true`\n * Does so recursively for `tabs` fields.\n */\nexport const filterFields = <T extends ClientField | Field>(incomingFields: T[]): T[] => {\n const shouldSkipField = (field: T): boolean =>\n (field.type !== 'ui' && fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n field?.admin?.disableListColumn === true\n\n const fields: T[] = incomingFields?.reduce((acc, field) => {\n if (shouldSkipField(field)) {\n return acc\n }\n\n // extract top-level `tabs` fields and filter out the same\n const formattedField: T =\n field.type === 'tabs' && 'tabs' in field\n ? {\n ...field,\n tabs: field.tabs.map((tab) => ({\n ...tab,\n fields: tab.fields.filter((tabField) => !shouldSkipField(tabField)),\n })),\n }\n : field\n\n acc.push(formattedField)\n\n return acc\n }, [])\n\n return fields\n}\n", "import type { ClientField, CollectionConfig, CollectionPreferences, Field } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nconst getRemainingColumns = <T extends ClientField[] | Field[]>(\n fields: T,\n useAsTitle: string,\n): CollectionPreferences['columns'] =>\n fields?.reduce((remaining, field) => {\n if (fieldAffectsData(field) && field.name === useAsTitle) {\n return remaining\n }\n\n if (!fieldAffectsData(field) && 'fields' in field) {\n return [...remaining, ...getRemainingColumns(field.fields, useAsTitle)]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...remaining,\n ...field.tabs.reduce(\n (tabFieldColumns, tab) => [\n ...tabFieldColumns,\n ...('name' in tab ? [tab.name] : getRemainingColumns(tab.fields, useAsTitle)),\n ],\n [],\n ),\n ]\n }\n\n return [...remaining, field.name]\n }, [])\n\n/**\n * Returns the initial columns to display in the table based on the following criteria:\n * 1. If `defaultColumns` is set in the collection config, use those columns\n * 2. Otherwise take `useAtTitle, if set, and the next 3 fields that are not hidden or disabled\n */\nexport const getInitialColumns = <T extends ClientField[] | Field[]>(\n fields: T,\n useAsTitle: CollectionConfig['admin']['useAsTitle'],\n defaultColumns: CollectionConfig['admin']['defaultColumns'],\n): CollectionPreferences['columns'] => {\n let initialColumns = []\n\n if (Array.isArray(defaultColumns) && defaultColumns.length >= 1) {\n initialColumns = defaultColumns\n } else {\n if (useAsTitle) {\n initialColumns.push(useAsTitle)\n }\n\n const remainingColumns = getRemainingColumns(fields, useAsTitle)\n\n initialColumns = initialColumns.concat(remainingColumns)\n initialColumns = initialColumns.slice(0, 4)\n }\n\n return initialColumns.map((column) => ({\n accessor: column,\n active: true,\n }))\n}\n", "export function abortAndIgnore(abortController: AbortController) {\n if (abortController) {\n try {\n abortController.abort()\n } catch (_err) {\n // swallow error\n }\n }\n}\n\n/**\n * Use this function when an effect is triggered multiple times over and you want to cancel the previous effect.\n * It will abort the previous effect and create a new AbortController for the next effect.\n * Important: You must also _reset_ the `abortControllerRef` after the effect is done, otherwise the next effect will be aborted immediately.\n * For example, run `abortControllerRef.current = null` in a `finally` block or after an awaited promise.\n * @param abortControllerRef\n * @returns {AbortController}\n */\nexport function handleAbortRef(\n abortControllerRef: React.RefObject<AbortController>,\n): AbortController {\n const newController = new AbortController()\n\n if (abortControllerRef.current) {\n try {\n abortControllerRef.current.abort()\n } catch (_err) {\n // swallow error\n }\n }\n\n abortControllerRef.current = newController\n\n return newController\n}\n", "import * as qs from 'qs-esm'\n\ntype GetOptions = {\n params?: Record<string, unknown>\n} & RequestInit\n\nexport const requests = {\n delete: (url: string, options: RequestInit = { headers: {} }): Promise<Response> => {\n const headers = options && options.headers ? { ...options.headers } : {}\n\n const formattedOptions: RequestInit = {\n ...options,\n credentials: 'include',\n headers: {\n ...headers,\n },\n method: 'delete',\n }\n\n return fetch(url, formattedOptions)\n },\n\n get: (url: string, options: GetOptions = { headers: {} }): Promise<Response> => {\n let query = ''\n if (options.params) {\n query = qs.stringify(options.params, { addQueryPrefix: true })\n }\n return fetch(`${url}${query}`, {\n credentials: 'include',\n ...options,\n })\n },\n\n patch: (url: string, options: RequestInit = { headers: {} }): Promise<Response> => {\n const headers = options && options.headers ? { ...options.headers } : {}\n\n const formattedOptions: RequestInit = {\n ...options,\n credentials: 'include',\n headers: {\n ...headers,\n },\n method: 'PATCH',\n }\n\n return fetch(url, formattedOptions)\n },\n\n post: (url: string, options: RequestInit = { headers: {} }): Promise<Response> => {\n const headers = options && options.headers ? { ...options.headers } : {}\n\n const formattedOptions: RequestInit = {\n ...options,\n credentials: 'include',\n headers: {\n ...headers,\n },\n method: 'post',\n }\n\n return fetch(`${url}`, formattedOptions)\n },\n\n put: (url: string, options: RequestInit = { headers: {} }): Promise<Response> => {\n const headers = options && options.headers ? { ...options.headers } : {}\n\n const formattedOptions: RequestInit = {\n ...options,\n credentials: 'include',\n headers: {\n ...headers,\n },\n method: 'put',\n }\n\n return fetch(url, formattedOptions)\n },\n}\n", "import type { Locale, SanitizedLocalizationConfig } from 'payload'\n/*\n return the Locale for given locale code, else return null\n*/\nexport const findLocaleFromCode = (\n localizationConfig: SanitizedLocalizationConfig,\n locale: string,\n): Locale | null => {\n if (!localizationConfig?.locales || localizationConfig.locales.length === 0) {\n return null\n }\n\n return localizationConfig.locales.find((el) => el?.code === locale)\n}\n", "/** Will read the `routes.admin` config and appropriately handle `\"/\"` admin paths */\nexport { formatAdminURL } from 'payload/shared'\n", "const offsetFormatCache = {};\nconst offsetCache = {};\n\n/**\n * The function extracts UTC offset in minutes from the given date in specified\n * time zone.\n *\n * Unlike `Date.prototype.getTimezoneOffset`, this function returns the value\n * mirrored to the sign of the offset in the time zone. For Asia/Singapore\n * (UTC+8), `tzOffset` returns 480, while `getTimezoneOffset` returns -480.\n *\n * @param timeZone - Time zone name (IANA or UTC offset)\n * @param date - Date to check the offset for\n *\n * @returns UTC offset in minutes\n */\nexport function tzOffset(timeZone, date) {\n try {\n const format = offsetFormatCache[timeZone] ||= new Intl.DateTimeFormat(\"en-GB\", {\n timeZone,\n hour: \"numeric\",\n timeZoneName: \"longOffset\"\n }).format;\n const offsetStr = format(date).split('GMT')[1] || '';\n if (offsetStr in offsetCache) return offsetCache[offsetStr];\n return calcOffset(offsetStr, offsetStr.split(\":\"));\n } catch {\n // Fallback to manual parsing if the runtime doesn't support \u00B1HH:MM/\u00B1HHMM/\u00B1HH\n // See: https://github.com/nodejs/node/issues/53419\n if (timeZone in offsetCache) return offsetCache[timeZone];\n const captures = timeZone?.match(offsetRe);\n if (captures) return calcOffset(timeZone, captures.slice(1));\n return NaN;\n }\n}\nconst offsetRe = /([+-]\\d\\d):?(\\d\\d)?/;\nfunction calcOffset(cacheStr, values) {\n const hours = +values[0];\n const minutes = +(values[1] || 0);\n return offsetCache[cacheStr] = hours > 0 ? hours * 60 + minutes : hours * 60 - minutes;\n}", "import { tzOffset } from \"../tzOffset/index.js\";\nexport class TZDateMini extends Date {\n //#region static\n\n constructor(...args) {\n super();\n if (args.length > 1 && typeof args[args.length - 1] === \"string\") {\n this.timeZone = args.pop();\n }\n this.internal = new Date();\n if (isNaN(tzOffset(this.timeZone, this))) {\n this.setTime(NaN);\n } else {\n if (!args.length) {\n this.setTime(Date.now());\n } else if (typeof args[0] === \"number\" && (args.length === 1 || args.length === 2 && typeof args[1] !== \"number\")) {\n this.setTime(args[0]);\n } else if (typeof args[0] === \"string\") {\n this.setTime(+new Date(args[0]));\n } else if (args[0] instanceof Date) {\n this.setTime(+args[0]);\n } else {\n this.setTime(+new Date(...args));\n adjustToSystemTZ(this, NaN);\n syncToInternal(this);\n }\n }\n }\n static tz(tz, ...args) {\n return args.length ? new TZDateMini(...args, tz) : new TZDateMini(Date.now(), tz);\n }\n\n //#endregion\n\n //#region time zone\n\n withTimeZone(timeZone) {\n return new TZDateMini(+this, timeZone);\n }\n getTimezoneOffset() {\n return -tzOffset(this.timeZone, this);\n }\n\n //#endregion\n\n //#region time\n\n setTime(time) {\n Date.prototype.setTime.apply(this, arguments);\n syncToInternal(this);\n return +this;\n }\n\n //#endregion\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDateMini(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}\n\n// Assign getters and setters\nconst re = /^(get|set)(?!UTC)/;\nObject.getOwnPropertyNames(Date.prototype).forEach(method => {\n if (!re.test(method)) return;\n const utcMethod = method.replace(re, \"$1UTC\");\n // Filter out methods without UTC counterparts\n if (!TZDateMini.prototype[utcMethod]) return;\n if (method.startsWith(\"get\")) {\n // Delegate to internal date's UTC method\n TZDateMini.prototype[method] = function () {\n return this.internal[utcMethod]();\n };\n } else {\n // Assign regular setter\n TZDateMini.prototype[method] = function () {\n Date.prototype[utcMethod].apply(this.internal, arguments);\n syncFromInternal(this);\n return +this;\n };\n\n // Assign UTC setter\n TZDateMini.prototype[utcMethod] = function () {\n Date.prototype[utcMethod].apply(this, arguments);\n syncToInternal(this);\n return +this;\n };\n }\n});\n\n/**\n * Function syncs time to internal date, applying the time zone offset.\n *\n * @param {Date} date - Date to sync\n */\nfunction syncToInternal(date) {\n date.internal.setTime(+date);\n date.internal.setUTCMinutes(date.internal.getUTCMinutes() - date.getTimezoneOffset());\n}\n\n/**\n * Function syncs the internal date UTC values to the date. It allows to get\n * accurate timestamp value.\n *\n * @param {Date} date - The date to sync\n */\nfunction syncFromInternal(date) {\n // First we transpose the internal values\n Date.prototype.setFullYear.call(date, date.internal.getUTCFullYear(), date.internal.getUTCMonth(), date.internal.getUTCDate());\n Date.prototype.setHours.call(date, date.internal.getUTCHours(), date.internal.getUTCMinutes(), date.internal.getUTCSeconds(), date.internal.getUTCMilliseconds());\n\n // Now we have to adjust the date to the system time zone\n adjustToSystemTZ(date);\n}\n\n/**\n * Function adjusts the date to the system time zone. It uses the time zone\n * differences to calculate the offset and adjust the date.\n *\n * @param {Date} date - Date to adjust\n */\nfunction adjustToSystemTZ(date) {\n // Save the time zone offset before all the adjustments\n const offset = tzOffset(date.timeZone, date);\n\n //#region System DST adjustment\n\n // The biggest problem with using the system time zone is that when we create\n // a date from internal values stored in UTC, the system time zone might end\n // up on the DST hour:\n //\n // $ TZ=America/New_York node\n // > new Date(2020, 2, 8, 1).toString()\n // 'Sun Mar 08 2020 01:00:00 GMT-0500 (Eastern Standard Time)'\n // > new Date(2020, 2, 8, 2).toString()\n // 'Sun Mar 08 2020 03:00:00 GMT-0400 (Eastern Daylight Time)'\n // > new Date(2020, 2, 8, 3).toString()\n // 'Sun Mar 08 2020 03:00:00 GMT-0400 (Eastern Daylight Time)'\n // > new Date(2020, 2, 8, 4).toString()\n // 'Sun Mar 08 2020 04:00:00 GMT-0400 (Eastern Daylight Time)'\n //\n // Here we get the same hour for both 2 and 3, because the system time zone\n // has DST beginning at 8 March 2020, 2 a.m. and jumps to 3 a.m. So we have\n // to adjust the internal date to reflect that.\n //\n // However we want to adjust only if that's the DST hour the change happenes,\n // not the hour where DST moves to.\n\n // We calculate the previous hour to see if the time zone offset has changed\n // and we have landed on the DST hour.\n const prevHour = new Date(+date);\n // We use UTC methods here as we don't want to land on the same hour again\n // in case of DST.\n prevHour.setUTCHours(prevHour.getUTCHours() - 1);\n\n // Calculate if we are on the system DST hour.\n const systemOffset = -new Date(+date).getTimezoneOffset();\n const prevHourSystemOffset = -new Date(+prevHour).getTimezoneOffset();\n const systemDSTChange = systemOffset - prevHourSystemOffset;\n // Detect the DST shift. System DST change will occur both on\n const dstShift = Date.prototype.getHours.apply(date) !== date.internal.getUTCHours();\n\n // Move the internal date when we are on the system DST hour.\n if (systemDSTChange && dstShift) date.internal.setUTCMinutes(date.internal.getUTCMinutes() + systemDSTChange);\n\n //#endregion\n\n //#region System diff adjustment\n\n // Now we need to adjust the date, since we just applied internal values.\n // We need to calculate the difference between the system and date time zones\n // and apply it to the date.\n\n const offsetDiff = systemOffset - offset;\n if (offsetDiff) Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetDiff);\n\n //#endregion\n\n //#region Post-adjustment DST fix\n\n const postOffset = tzOffset(date.timeZone, date);\n const postSystemOffset = -new Date(+date).getTimezoneOffset();\n const postOffsetDiff = postSystemOffset - postOffset;\n const offsetChanged = postOffset !== offset;\n const postDiff = postOffsetDiff - offsetDiff;\n if (offsetChanged && postDiff) {\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + postDiff);\n\n // Now we need to check if got offset change during the post-adjustment.\n // If so, we also need both dates to reflect that.\n\n const newOffset = tzOffset(date.timeZone, date);\n const offsetChange = postOffset - newOffset;\n if (offsetChange) {\n date.internal.setUTCMinutes(date.internal.getUTCMinutes() + offsetChange);\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetChange);\n }\n }\n\n //#endregion\n}", "import type { I18n, I18nClient } from '@payloadcms/translations'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { format, formatDistanceToNow, transpose } from 'date-fns'\n\nexport type FormatDateArgs = {\n date: Date | number | string | undefined\n i18n: I18n<unknown, unknown> | I18nClient<unknown>\n pattern: string\n timezone?: string\n}\n\nexport const formatDate = ({ date, i18n, pattern, timezone }: FormatDateArgs): string => {\n const theDate = new TZDate(new Date(date))\n\n if (timezone) {\n const DateWithOriginalTz = TZDate.tz(timezone)\n\n const modifiedDate = theDate.withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n return i18n.dateFNS\n ? format(dateWithTimezone, pattern, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n }\n\n return i18n.dateFNS\n ? format(theDate, pattern, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n\ntype FormatTimeToNowArgs = {\n date: Date | number | string | undefined\n i18n: I18n<unknown, unknown> | I18nClient<unknown>\n}\n\nexport const formatTimeToNow = ({ date, i18n }: FormatTimeToNowArgs): string => {\n const theDate = typeof date === 'string' ? new Date(date) : date\n return i18n?.dateFNS\n ? formatDistanceToNow(theDate, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n", "import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n SanitizedConfig,\n TypeWithID,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { formatDate } from './formatDateTitle.js'\nimport { formatLexicalDocTitle, isSerializedLexicalEditor } from './formatLexicalDocTitle.js'\n\nexport const formatDocTitle = ({\n collectionConfig,\n data,\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n}: {\n collectionConfig?: ClientCollectionConfig\n data: TypeWithID\n dateFormat: SanitizedConfig['admin']['dateFormat']\n fallback?: object | string\n globalConfig?: ClientGlobalConfig\n i18n: I18n<any, any>\n}): string => {\n let title: string\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n if (useAsTitle) {\n title = data?.[useAsTitle] as string\n\n if (title) {\n const fieldConfig = collectionConfig.fields.find(\n (f) => 'name' in f && f.name === useAsTitle,\n )\n\n const isDate = fieldConfig?.type === 'date'\n\n if (isDate) {\n const dateFormat =\n ('date' in fieldConfig.admin && fieldConfig?.admin?.date?.displayFormat) ||\n dateFormatFromConfig\n\n title = formatDate({ date: title, i18n, pattern: dateFormat }) || title\n }\n }\n }\n }\n\n if (globalConfig) {\n title = getTranslation(globalConfig?.label, i18n) || globalConfig?.slug\n }\n\n // richtext lexical case. We convert the first child of root to plain text\n if (title && isSerializedLexicalEditor(title)) {\n title = formatLexicalDocTitle(title.root.children?.[0]?.children || [], '')\n }\n\n if (!title && isSerializedLexicalEditor(fallback)) {\n title = formatLexicalDocTitle(fallback.root.children?.[0]?.children || [], '')\n }\n\n if (!title) {\n title = typeof fallback === 'string' ? fallback : `[${i18n.t('general:untitled')}]`\n }\n\n return title\n}\n", "type SerializedLexicalEditor = {\n root: {\n children: Array<{ children?: Array<{ type: string }>; type: string }>\n }\n}\n\nexport function isSerializedLexicalEditor(value: unknown): value is SerializedLexicalEditor {\n return typeof value === 'object' && 'root' in value\n}\n\nexport function formatLexicalDocTitle(\n editorState: Array<{ children?: Array<{ type: string }>; type: string }>,\n textContent: string,\n): string {\n for (const node of editorState) {\n if ('text' in node && node.text) {\n textContent += node.text as string\n } else {\n if (!('children' in node)) {\n textContent += `[${node.type}]`\n }\n }\n if ('children' in node && node.children) {\n textContent += formatLexicalDocTitle(node.children as Array<{ type: string }>, textContent)\n }\n }\n return textContent\n}\n", "import type { I18nClient } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n StaticLabel,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type NavGroupType = {\n entities: {\n label: StaticLabel\n slug: string\n type: EntityType\n }[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: SanitizedPermissions,\n i18n: I18nClient,\n): NavGroupType[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n // Skip entities where admin.group is explicitly false\n if (entityToGroup.entity?.admin?.group === false) {\n return groups\n }\n\n if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n\n const labelOrFunction =\n 'labels' in entityToGroup.entity\n ? entityToGroup.entity.labels.plural\n : entityToGroup.entity.label\n\n const label =\n typeof labelOrFunction === 'function'\n ? labelOrFunction({ i18n, t: i18n.t })\n : labelOrFunction\n\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as NavGroupType\n\n let matchedGroup: NavGroupType = existingGroup\n\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label,\n })\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as NavGroupType\n defaultGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label,\n })\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n", "import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js'\n\nimport { formatAdminURL } from 'payload/shared'\n\ntype BackToDashboardProps = {\n adminRoute: string\n router: AppRouterInstance\n}\n\nexport const handleBackToDashboard = ({ adminRoute, router }: BackToDashboardProps) => {\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: '/',\n })\n router.push(redirectRoute)\n}\n", "import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js'\n\nimport { formatAdminURL } from 'payload/shared'\n\ntype GoBackProps = {\n adminRoute: string\n collectionSlug: string\n router: AppRouterInstance\n}\n\nexport const handleGoBack = ({ adminRoute, collectionSlug, router }: GoBackProps) => {\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: collectionSlug ? `/collections/${collectionSlug}` : '/',\n })\n router.push(redirectRoute)\n}\n", "import type { ClientUser } from 'payload'\n\nexport const handleTakeOver = (\n id: number | string,\n collectionSlug: string,\n globalSlug: string,\n user: ClientUser | number | string,\n isWithinDoc: boolean,\n updateDocumentEditor: (\n docID: number | string,\n slug: string,\n user: ClientUser | number | string,\n ) => Promise<void>,\n setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void,\n documentLockStateRef: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n }>,\n isLockingEnabled: boolean,\n setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void,\n): void => {\n if (!isLockingEnabled) {\n return\n }\n\n try {\n // Call updateDocumentEditor to update the document's owner to the current user\n void updateDocumentEditor(id, collectionSlug ?? globalSlug, user)\n\n if (!isWithinDoc) {\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n // Update the locked state to reflect the current user as the owner\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,\n isLocked: true,\n user,\n }\n setCurrentEditor(user)\n\n // If this is a takeover within the document, ensure the document is editable\n if (isWithinDoc && setIsReadOnlyForIncomingUser) {\n setIsReadOnlyForIncomingUser(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error during document takeover:', error)\n }\n}\n", "import type {\n SanitizedCollectionPermission,\n SanitizedDocumentPermissions,\n SanitizedGlobalPermission,\n} from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: SanitizedDocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update) ||\n (!isEditing && (docPermissions as SanitizedCollectionPermission)?.create),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as SanitizedGlobalPermission)?.update)\n }\n\n return false\n}\n", "import type { ClientUser } from 'payload'\n\nexport const isClientUserObject = (user): user is ClientUser => {\n return user && typeof user === 'object'\n}\n", "export const isEditing = ({\n id,\n collectionSlug,\n globalSlug,\n}: {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n}): boolean => Boolean(globalSlug || (collectionSlug && !!id))\n", "export function sanitizeID(id: number | string): number | string {\n if (id === undefined) {\n return id\n }\n\n if (typeof id === 'number') {\n return id\n }\n\n return decodeURIComponent(id)\n}\n", "export { Translation } from '../../elements/Translation/index.js'\nexport { withMergedProps } from '../../elements/withMergedProps/index.js' // cannot be within a 'use client', thus we export this from shared\nexport { WithServerSideProps } from '../../elements/WithServerSideProps/index.js'\nexport { mergeFieldStyles } from '../../fields/mergeFieldStyles.js'\nexport { reduceToSerializableFields } from '../../forms/Form/reduceToSerializableFields.js'\nexport { PayloadIcon } from '../../graphics/Icon/index.js'\nexport { PayloadLogo } from '../../graphics/Logo/index.js'\n// IMPORTANT: the shared.ts file CANNOT contain any Server Components _that import client components_.\nexport { filterFields } from '../../providers/TableColumns/buildColumnState/filterFields.js'\nexport { getInitialColumns } from '../../providers/TableColumns/getInitialColumns.js'\nexport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nexport { requests } from '../../utilities/api.js'\nexport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nexport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nexport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nexport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nexport {\n type EntityToGroup,\n EntityType,\n groupNavItems,\n type NavGroupType,\n} from '../../utilities/groupNavItems.js'\nexport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nexport { handleGoBack } from '../../utilities/handleGoBack.js'\nexport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nexport { hasSavePermission } from '../../utilities/hasSavePermission.js'\nexport { isClientUserObject } from '../../utilities/isClientUserObject.js'\nexport { isEditing } from '../../utilities/isEditing.js'\nexport { sanitizeID } from '../../utilities/sanitizeID.js'\n/**\n * @deprecated\n * The `mergeListSearchAndWhere` function is deprecated.\n * Import this from `payload/shared` instead.\n */\nexport { mergeListSearchAndWhere } from 'payload/shared'\n"],
5
- "mappings": "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",
6
- "names": ["React", "RecursiveTranslation", "elements", "translationString", "regex", "sections", "section", "index", "elementKey", "Element", "children", "_", "group", "Translation", "i18nKey", "t", "variables", "stringWithVariables", "isReactServerComponentOrFunction", "serverProps", "React", "withMergedProps", "Component", "sanitizeServerOnlyProps", "toMergeIntoProps", "passedProps", "mergedProps", "simpleMergeProps", "prop", "props", "toMerge", "isReactServerComponentOrFunction", "React", "WithServerSideProps", "Component", "serverOnlyProps", "rest", "passedProps", "propsWithServerOnlyProps", "mergeFieldStyles", "field", "blacklistedKeys", "sanitizeField", "incomingField", "field", "key", "reduceToSerializableFields", "fields", "result", "React", "PayloadIcon", "fillFromProps", "fill", "React", "css", "PayloadLogo", "fieldIsHiddenOrDisabled", "fieldIsID", "filterFields", "incomingFields", "shouldSkipField", "field", "acc", "formattedField", "tab", "tabField", "fieldAffectsData", "getRemainingColumns", "fields", "useAsTitle", "remaining", "field", "tabFieldColumns", "tab", "getInitialColumns", "defaultColumns", "initialColumns", "remainingColumns", "column", "abortAndIgnore", "abortController", "handleAbortRef", "abortControllerRef", "newController", "qs", "requests", "url", "options", "headers", "formattedOptions", "query", "findLocaleFromCode", "localizationConfig", "locale", "el", "formatAdminURL", "offsetFormatCache", "offsetCache", "tzOffset", "timeZone", "date", "offsetStr", "calcOffset", "captures", "offsetRe", "cacheStr", "values", "hours", "minutes", "TZDateMini", "_TZDateMini", "args", "tzOffset", "adjustToSystemTZ", "syncToInternal", "tz", "timeZone", "time", "date", "re", "method", "utcMethod", "syncFromInternal", "offset", "prevHour", "systemOffset", "prevHourSystemOffset", "systemDSTChange", "dstShift", "offsetDiff", "postOffset", "postOffsetDiff", "offsetChanged", "postDiff", "newOffset", "offsetChange", "format", "formatDistanceToNow", "transpose", "formatDate", "date", "i18n", "pattern", "timezone", "theDate", "TZDateMini", "DateWithOriginalTz", "modifiedDate", "dateWithTimezone", "getTranslation", "isSerializedLexicalEditor", "value", "formatLexicalDocTitle", "editorState", "textContent", "node", "formatDocTitle", "collectionConfig", "data", "dateFormatFromConfig", "fallback", "globalConfig", "i18n", "title", "useAsTitle", "fieldConfig", "f", "dateFormat", "formatDate", "getTranslation", "isSerializedLexicalEditor", "formatLexicalDocTitle", "getTranslation", "EntityType", "groupNavItems", "entities", "permissions", "i18n", "groups", "entityToGroup", "translatedGroup", "labelOrFunction", "label", "existingGroup", "group", "matchedGroup", "formatAdminURL", "handleBackToDashboard", "adminRoute", "router", "redirectRoute", "formatAdminURL", "handleGoBack", "adminRoute", "collectionSlug", "router", "redirectRoute", "handleTakeOver", "id", "collectionSlug", "globalSlug", "user", "isWithinDoc", "updateDocumentEditor", "setCurrentEditor", "documentLockStateRef", "isLockingEnabled", "setIsReadOnlyForIncomingUser", "error", "hasSavePermission", "args", "collectionSlug", "docPermissions", "globalSlug", "isEditing", "isClientUserObject", "user", "isEditing", "id", "collectionSlug", "globalSlug", "sanitizeID", "id", "mergeListSearchAndWhere"]
5
+ "mappings": "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",
6
+ "names": ["RecursiveTranslation", "elements", "translationString", "regex", "sections", "split", "_jsx", "map", "section", "index", "startsWith", "endsWith", "elementKey", "Element", "RegExp", "children", "replace", "_", "group", "Translation", "i18nKey", "t", "variables", "stringWithVariables", "isReactServerComponentOrFunction", "serverProps", "withMergedProps", "Component", "sanitizeServerOnlyProps", "toMergeIntoProps", "undefined", "passedProps", "mergedProps", "simpleMergeProps", "forEach", "prop", "_jsx", "props", "toMerge", "isReactServerComponentOrFunction", "WithServerSideProps", "Component", "serverOnlyProps", "rest", "passedProps", "propsWithServerOnlyProps", "_jsx", "mergeFieldStyles", "field", "admin", "style", "width", "flex", "blacklistedKeys", "sanitizeField", "incomingField", "field", "key", "reduceToSerializableFields", "fields", "result", "PayloadIcon", "fill", "fillFromProps", "_jsxs", "className", "height", "viewBox", "width", "xmlns", "_jsx", "d", "css", "PayloadLogo", "_jsxs", "className", "fill", "height", "id", "viewBox", "width", "xmlns", "_jsx", "d", "fieldIsHiddenOrDisabled", "fieldIsID", "filterFields", "incomingFields", "shouldSkipField", "field", "type", "admin", "disableListColumn", "reduce", "acc", "formattedField", "tabs", "map", "tab", "fields", "filter", "tabField", "push", "fieldAffectsData", "getRemainingColumns", "fields", "useAsTitle", "reduce", "remaining", "field", "name", "type", "tabs", "tabFieldColumns", "tab", "getInitialColumns", "defaultColumns", "initialColumns", "Array", "isArray", "length", "push", "remainingColumns", "concat", "slice", "map", "column", "accessor", "active", "abortAndIgnore", "abortController", "abort", "handleAbortRef", "abortControllerRef", "newController", "AbortController", "current", "qs", "requests", "delete", "url", "options", "headers", "formattedOptions", "credentials", "method", "fetch", "get", "query", "params", "stringify", "addQueryPrefix", "patch", "post", "put", "findLocaleFromCode", "localizationConfig", "locale", "locales", "length", "find", "el", "code", "formatAdminURL", "offsetFormatCache", "offsetCache", "tzOffset", "timeZone", "date", "offsetStr", "calcOffset", "captures", "offsetRe", "cacheStr", "values", "hours", "minutes", "TZDateMini", "_TZDateMini", "args", "tzOffset", "adjustToSystemTZ", "syncToInternal", "tz", "timeZone", "time", "date", "re", "method", "utcMethod", "syncFromInternal", "offset", "prevHour", "systemOffset", "prevHourSystemOffset", "systemDSTChange", "dstShift", "offsetDiff", "postOffset", "postOffsetDiff", "offsetChanged", "postDiff", "newOffset", "offsetChange", "format", "formatDistanceToNow", "transpose", "formatDate", "date", "i18n", "pattern", "timezone", "theDate", "TZDate", "Date", "DateWithOriginalTz", "tz", "modifiedDate", "withTimeZone", "dateWithTimezone", "dateFNS", "locale", "t", "getTranslation", "isSerializedLexicalEditor", "value", "formatLexicalDocTitle", "editorState", "textContent", "node", "text", "type", "children", "formatDocTitle", "collectionConfig", "data", "dateFormat", "dateFormatFromConfig", "fallback", "globalConfig", "i18n", "title", "useAsTitle", "admin", "fieldConfig", "fields", "find", "f", "name", "type", "date", "displayFormat", "formatDate", "pattern", "getTranslation", "label", "slug", "isSerializedLexicalEditor", "formatLexicalDocTitle", "root", "children", "t", "getTranslation", "EntityType", "groupNavItems", "entities", "permissions", "i18n", "reduce", "groups", "entityToGroup", "entity", "admin", "group", "type", "toLowerCase", "slug", "read", "translatedGroup", "labelOrFunction", "labels", "plural", "label", "t", "existingGroup", "find", "matchedGroup", "push", "filter", "length", "formatAdminURL", "handleBackToDashboard", "adminRoute", "router", "redirectRoute", "path", "push", "formatAdminURL", "handleGoBack", "adminRoute", "collectionSlug", "router", "redirectRoute", "path", "push", "handleTakeOver", "id", "collectionSlug", "globalSlug", "user", "isWithinDoc", "updateDocumentEditor", "setCurrentEditor", "documentLockStateRef", "isLockingEnabled", "setIsReadOnlyForIncomingUser", "current", "hasShownLockedModal", "isLocked", "error", "console", "hasSavePermission", "args", "collectionSlug", "docPermissions", "globalSlug", "isEditing", "Boolean", "update", "create", "isClientUserObject", "user", "isEditing", "id", "collectionSlug", "globalSlug", "Boolean", "sanitizeID", "id", "undefined", "decodeURIComponent", "mergeListSearchAndWhere"]
7
7
  }
@@ -654,7 +654,7 @@ export const RelationshipInput = props => {
654
654
  // and when the devtools are closed. Temporary solution, we can probably do better.
655
655
  setTimeout(() => {
656
656
  openListDrawer();
657
- }, 50);
657
+ }, 100);
658
658
  } else if (appearance === 'select') {
659
659
  setMenuIsOpen(true);
660
660
  if (!hasLoadedFirstPageRef.current) {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["dequal","formatAdminURL","wordBoundariesRegex","qs","React","useCallback","useEffect","useMemo","useReducer","useRef","useState","AddNewRelation","useDocumentDrawer","useListDrawer","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useDebouncedCallback","useEffectEvent","useQueues","useAuth","useConfig","useLocale","useTranslation","sanitizeFilterOptionsQuery","fieldBaseClass","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","baseClass","RelationshipInput","props","AfterInput","allowCreate","allowEdit","appearance","BeforeInput","className","description","Description","Error","filterOptions","hasMany","initialValue","isSortable","label","Label","localized","maxResultsPerRequest","onChange","path","placeholder","readOnly","relationTo","required","showError","sortOptions","style","value","config","getEntityConfig","routes","api","serverURL","i18n","t","permissions","code","locale","currentlyOpenRelationship","setCurrentlyOpenRelationship","id","undefined","collectionSlug","hasReadPermission","lastFullyLoadedRelation","setLastFullyLoadedRelation","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","setMenuIsOpen","hasLoadedFirstPageRef","queueTask","options","dispatchOptions","valueRef","current","DocumentDrawer","isDrawerOpen","openDrawer","listDrawerFilterOptions","newFilterOptions","valuesByRelation","reduce","acc","val","push","Array","isArray","forEach","relation","not_in","ListDrawer","closeDrawer","closeListDrawer","isListDrawerOpen","openListDrawer","collectionSlugs","onListSelect","doc","openDrawerWhenRelationChanges","updateResults","hasManyArg","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","priorRelation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","fieldToSearch","admin","useAsTitle","fieldToSort","defaultSort","query","depth","draft","limit","page","select","where","and","like","response","fetch","body","stringify","credentials","headers","language","method","ok","data","json","prevState","nextPage","docs","length","type","status","ids","updateSearch","updateResultsEffectEvent","handleInputChange","handleValueChange","Object","entries","idsToLoad","filter","find","optionGroup","option","in","onSave","args","collectionConfig","docID","currentValue","valuesToSet","map","slug","onDuplicate","concat","onDelete","filterOption","item","searchFilter","r","breakApartThreshold","labelString","String","indexOfSpace","test","onDocumentOpen","openInNewTab","docUrl","adminRoute","window","open","exemptValues","prevValue","isFirstRenderRef","isIdOnly","idOnly","valueToRender","_jsxs","Boolean","join","replace","_jsx","CustomComponent","Fallback","backspaceRemovesValue","components","DropdownIndicator","customProps","disableKeyDown","disableMouseDown","disabled","getOptionValue","isMulti","isSearchable","selected","onInputChange","newSearch","onMenuClose","onMenuOpen","setTimeout","onMenuScrollToBottom","enableRowSelections","onSelect"],"sources":["../../../src/fields/Relationship/Input.tsx"],"sourcesContent":["'use client'\nimport type { FilterOptionsResult, PaginatedDocs, ValueWithRelation, Where } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { formatAdminURL, wordBoundariesRegex } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\nimport type { HasManyValueUnion, Option, RelationshipInputProps, UpdateResults } from './types.js'\n\nimport { AddNewRelation } from '../../elements/AddNewRelation/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueues } from '../../hooks/useQueues.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { sanitizeFilterOptionsQuery } from '../../utilities/sanitizeFilterOptionsQuery.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport './index.scss'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst baseClass = 'relationship'\n\nexport const RelationshipInput: React.FC<RelationshipInputProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n allowEdit = true,\n appearance = 'select',\n BeforeInput,\n className,\n description,\n Description,\n Error,\n filterOptions,\n hasMany,\n initialValue,\n isSortable = true,\n label,\n Label,\n localized,\n maxResultsPerRequest = 10,\n onChange,\n path,\n placeholder,\n readOnly,\n relationTo,\n required,\n showError,\n sortOptions,\n style,\n value,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n\n const [currentlyOpenRelationship, setCurrentlyOpenRelationship] = useState<\n Parameters<ReactSelectAdapterProps['customProps']['onDocumentOpen']>[0]\n >({\n id: undefined,\n collectionSlug: undefined,\n hasReadPermission: false,\n })\n\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const [menuIsOpen, setMenuIsOpen] = useState(false)\n const hasLoadedFirstPageRef = useRef(false)\n const { queueTask } = useQueues()\n\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n\n const valueRef = useRef(value)\n // the line below seems odd\n\n valueRef.current = value\n\n const [DocumentDrawer, , { isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentlyOpenRelationship.id,\n collectionSlug: currentlyOpenRelationship.collectionSlug,\n })\n\n // Filter selected values from displaying in the list drawer\n const listDrawerFilterOptions = useMemo<FilterOptionsResult>(() => {\n let newFilterOptions = filterOptions\n\n if (value) {\n const valuesByRelation = (hasMany === false ? [value] : value).reduce((acc, val) => {\n if (!acc[val.relationTo]) {\n acc[val.relationTo] = []\n }\n acc[val.relationTo].push(val.value)\n return acc\n }, {})\n\n ;(Array.isArray(relationTo) ? relationTo : [relationTo]).forEach((relation) => {\n newFilterOptions = {\n ...(newFilterOptions || {}),\n [relation]: {\n ...(typeof filterOptions?.[relation] === 'object' ? filterOptions[relation] : {}),\n ...(valuesByRelation[relation]\n ? {\n id: {\n not_in: valuesByRelation[relation],\n },\n }\n : {}),\n },\n }\n })\n }\n\n return newFilterOptions\n }, [filterOptions, value, hasMany, relationTo])\n\n const [\n ListDrawer,\n ,\n { closeDrawer: closeListDrawer, isDrawerOpen: isListDrawerOpen, openDrawer: openListDrawer },\n ] = useListDrawer({\n collectionSlugs: relationTo,\n filterOptions: listDrawerFilterOptions,\n })\n\n const onListSelect = useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n ({ collectionSlug, doc }) => {\n if (hasMany) {\n onChange([\n ...(Array.isArray(value) ? value : []),\n {\n relationTo: collectionSlug,\n value: doc.id,\n },\n ])\n } else if (hasMany === false) {\n onChange({\n relationTo: collectionSlug,\n value: doc.id,\n })\n }\n\n closeListDrawer()\n },\n [hasMany, onChange, closeListDrawer, value],\n )\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const updateResults: UpdateResults = useCallback(\n ({\n filterOptions,\n hasMany: hasManyArg,\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n queueTask(async () => {\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap(\n hasManyArg === true\n ? {\n hasMany: true,\n relationTo,\n value: valueArg,\n }\n : {\n hasMany: false,\n relationTo,\n value: valueArg,\n },\n )\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = getEntityConfig({ collectionSlug: relation })\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n let fieldToSort = collection?.defaultSort || 'id'\n if (typeof sortOptions === 'string') {\n fieldToSort = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSort = sortOptions[relation]\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n select: {\n [fieldToSearch]: true,\n },\n sort: fieldToSort,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n sanitizeFilterOptionsQuery(query.where)\n\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n }\n })\n },\n [\n permissions,\n queueTask,\n relationTo,\n errorLoading,\n search,\n getEntityConfig,\n sortOptions,\n maxResultsPerRequest,\n locale,\n serverURL,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback<{ search: string } & HasManyValueUnion>(\n ({ hasMany: hasManyArg, search: searchArg, value }) => {\n updateResultsEffectEvent({\n filterOptions,\n lastLoadedPage: {},\n search: searchArg,\n sort: true,\n ...(hasManyArg === true\n ? {\n hasMany: hasManyArg,\n value,\n }\n : {\n hasMany: hasManyArg,\n value,\n }),\n })\n setSearch(searchArg)\n },\n 300,\n )\n\n const handleInputChange = useCallback(\n (options: { search: string } & HasManyValueUnion) => {\n if (search !== options.search) {\n setLastLoadedPage({})\n updateSearch(options)\n }\n },\n [search, updateSearch],\n )\n\n const handleValueChange = useEffectEvent(({ hasMany: hasManyArg, value }: HasManyValueUnion) => {\n const relationMap = createRelationMap(\n hasManyArg === true\n ? {\n hasMany: hasManyArg,\n relationTo,\n value,\n }\n : {\n hasMany: hasManyArg,\n relationTo,\n value,\n },\n )\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n const collection = getEntityConfig({ collectionSlug: relation })\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n })\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n config,\n doc: args.doc,\n i18n,\n })\n\n const docID = args.doc.id\n\n if (hasMany) {\n const currentValue = valueRef.current\n ? Array.isArray(valueRef.current)\n ? valueRef.current\n : [valueRef.current]\n : []\n\n const valuesToSet = currentValue.map((option: ValueWithRelation) => {\n return {\n relationTo: option.value === docID ? args.collectionConfig.slug : option.relationTo,\n value: option.value,\n }\n })\n\n onChange(valuesToSet)\n } else if (hasMany === false) {\n onChange({ relationTo: args.collectionConfig.slug, value: docID })\n }\n },\n [i18n, config, hasMany, onChange],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n dispatchOptions({\n type: 'ADD',\n collection: args.collectionConfig,\n config,\n docs: [args.doc],\n i18n,\n sort: true,\n })\n\n if (hasMany) {\n onChange(\n valueRef.current\n ? (valueRef.current as ValueWithRelation[]).concat({\n relationTo: args.collectionConfig.slug,\n value: args.doc.id,\n })\n : null,\n )\n } else if (hasMany === false) {\n onChange({\n relationTo: args.collectionConfig.slug,\n value: args.doc.id,\n })\n }\n },\n [i18n, config, hasMany, onChange],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n dispatchOptions({\n id: args.id,\n type: 'REMOVE',\n collection: args.collectionConfig,\n config,\n i18n,\n })\n\n if (hasMany) {\n onChange(\n valueRef.current\n ? (valueRef.current as ValueWithRelation[]).filter((option) => {\n return option.value !== args.id\n })\n : null,\n )\n } else {\n onChange(null)\n }\n\n return\n },\n [i18n, config, hasMany, onChange],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let labelString = String(item.label)\n // strings less than breakApartThreshold length won't be chunked\n while (labelString.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = labelString.indexOf(' ', searchFilter.length)\n if (\n r.test(labelString.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))\n ) {\n return true\n }\n labelString = labelString.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(labelString.slice(-breakApartThreshold))\n }, [])\n\n const onDocumentOpen = useCallback<ReactSelectAdapterProps['customProps']['onDocumentOpen']>(\n ({ id, collectionSlug, hasReadPermission, openInNewTab }) => {\n if (openInNewTab) {\n if (hasReadPermission && id && collectionSlug) {\n const docUrl = formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${id}`,\n })\n\n window.open(docUrl, '_blank')\n }\n } else {\n openDrawerWhenRelationChanges.current = true\n\n setCurrentlyOpenRelationship({\n id,\n collectionSlug,\n hasReadPermission,\n })\n }\n },\n [config.routes.admin],\n )\n\n const updateResultsEffectEvent: UpdateResults = useEffectEvent((args) => {\n return updateResults(args)\n })\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of form state and fast clicking into this field,\n // re-fetch options\n if (hasLoadedFirstPageRef.current && menuIsOpen) {\n setIsLoading(true)\n void updateResultsEffectEvent({\n filterOptions,\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n ...(hasMany === true\n ? {\n hasMany,\n value: valueRef.current as ValueWithRelation[],\n }\n : {\n hasMany,\n value: valueRef.current as ValueWithRelation,\n }),\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu opens\n dispatchOptions({\n type: 'CLEAR',\n exemptValues: valueRef.current,\n })\n\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n }, [relationTo, filterOptions, locale, path, menuIsOpen, hasMany])\n\n const prevValue = useRef(value)\n const isFirstRenderRef = useRef(true)\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n useEffect(() => {\n if (isFirstRenderRef.current || !dequal(value, prevValue.current)) {\n handleValueChange(hasMany === true ? { hasMany, value } : { hasMany, value })\n }\n isFirstRenderRef.current = false\n prevValue.current = value\n }, [value, hasMany])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = getEntityConfig({ collectionSlug: relation })\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, getEntityConfig])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawer()\n openDrawerWhenRelationChanges.current = false\n }\n }, [openDrawer, currentlyOpenRelationship])\n\n const valueToRender = findOptionsByValue({ allowEdit, options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') {\n valueToRender.value = null\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n !readOnly && allowCreate && `${baseClass}--allow-create`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {errorLoading ? (\n <div className={`${baseClass}__error-loading`}>{errorLoading}</div>\n ) : (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!(isDrawerOpen || isListDrawerOpen)}\n components={{\n MultiValueLabel,\n SingleValue,\n ...(appearance !== 'select' && { DropdownIndicator: null }),\n }}\n customProps={{\n disableKeyDown: isDrawerOpen || isListDrawerOpen,\n disableMouseDown: isDrawerOpen || isListDrawerOpen,\n onDocumentOpen,\n onSave,\n }}\n disabled={readOnly || isDrawerOpen || isListDrawerOpen}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n getOptionValue={(option: ValueWithRelation) => {\n if (!option) {\n return undefined\n }\n return hasMany && Array.isArray(relationTo)\n ? `${option.relationTo}_${option.value}`\n : (option.value as string)\n }}\n isLoading={appearance === 'select' && isLoading}\n isMulti={hasMany}\n isSearchable={appearance === 'select'}\n isSortable={isSortable}\n menuIsOpen={appearance === 'select' ? menuIsOpen : false}\n onChange={\n !readOnly\n ? (selected) => {\n if (hasMany) {\n if (selected === null) {\n onChange([])\n } else {\n onChange(selected as ValueWithRelation[])\n }\n } else if (hasMany === false) {\n if (selected === null) {\n onChange(null)\n } else {\n onChange(selected as ValueWithRelation)\n }\n }\n }\n : undefined\n }\n onInputChange={(newSearch) =>\n handleInputChange({\n search: newSearch,\n ...(hasMany === true\n ? {\n hasMany,\n value,\n }\n : {\n hasMany,\n value,\n }),\n })\n }\n onMenuClose={() => {\n setMenuIsOpen(false)\n }}\n onMenuOpen={() => {\n if (appearance === 'drawer') {\n // TODO: This timeout is only necessary for inline blocks in the lexical editor\n // and when the devtools are closed. Temporary solution, we can probably do better.\n setTimeout(() => {\n openListDrawer()\n }, 50)\n } else if (appearance === 'select') {\n setMenuIsOpen(true)\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n updateResultsEffectEvent({\n filterOptions,\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n ...(hasMany === true\n ? {\n hasMany,\n value,\n }\n : {\n hasMany,\n value,\n }),\n })\n }\n }\n }}\n onMenuScrollToBottom={() => {\n updateResultsEffectEvent({\n filterOptions,\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n ...(hasMany === true\n ? {\n hasMany,\n value: initialValue,\n }\n : {\n hasMany,\n value: initialValue,\n }),\n })\n }}\n options={options}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n path={path}\n relationTo={relationTo}\n {...(hasMany === true\n ? {\n hasMany,\n onChange,\n value,\n }\n : {\n hasMany,\n onChange,\n value,\n })}\n />\n )}\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n {currentlyOpenRelationship.collectionSlug && currentlyOpenRelationship.hasReadPermission && (\n <DocumentDrawer onDelete={onDelete} onDuplicate={onDuplicate} onSave={onSave} />\n )}\n {appearance === 'drawer' && !readOnly && (\n <ListDrawer allowCreate={allowCreate} enableRowSelections={false} onSelect={onListSelect} />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["dequal","formatAdminURL","wordBoundariesRegex","qs","React","useCallback","useEffect","useMemo","useReducer","useRef","useState","AddNewRelation","useDocumentDrawer","useListDrawer","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useDebouncedCallback","useEffectEvent","useQueues","useAuth","useConfig","useLocale","useTranslation","sanitizeFilterOptionsQuery","fieldBaseClass","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","baseClass","RelationshipInput","props","AfterInput","allowCreate","allowEdit","appearance","BeforeInput","className","description","Description","Error","filterOptions","hasMany","initialValue","isSortable","label","Label","localized","maxResultsPerRequest","onChange","path","placeholder","readOnly","relationTo","required","showError","sortOptions","style","value","config","getEntityConfig","routes","api","serverURL","i18n","t","permissions","code","locale","currentlyOpenRelationship","setCurrentlyOpenRelationship","id","undefined","collectionSlug","hasReadPermission","lastFullyLoadedRelation","setLastFullyLoadedRelation","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","setMenuIsOpen","hasLoadedFirstPageRef","queueTask","options","dispatchOptions","valueRef","current","DocumentDrawer","isDrawerOpen","openDrawer","listDrawerFilterOptions","newFilterOptions","valuesByRelation","reduce","acc","val","push","Array","isArray","forEach","relation","not_in","ListDrawer","closeDrawer","closeListDrawer","isListDrawerOpen","openListDrawer","collectionSlugs","onListSelect","doc","openDrawerWhenRelationChanges","updateResults","hasManyArg","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","priorRelation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","fieldToSearch","admin","useAsTitle","fieldToSort","defaultSort","query","depth","draft","limit","page","select","where","and","like","response","fetch","body","stringify","credentials","headers","language","method","ok","data","json","prevState","nextPage","docs","length","type","status","ids","updateSearch","updateResultsEffectEvent","handleInputChange","handleValueChange","Object","entries","idsToLoad","filter","find","optionGroup","option","in","onSave","args","collectionConfig","docID","currentValue","valuesToSet","map","slug","onDuplicate","concat","onDelete","filterOption","item","searchFilter","r","breakApartThreshold","labelString","String","indexOfSpace","test","onDocumentOpen","openInNewTab","docUrl","adminRoute","window","open","exemptValues","prevValue","isFirstRenderRef","isIdOnly","idOnly","valueToRender","_jsxs","Boolean","join","replace","_jsx","CustomComponent","Fallback","backspaceRemovesValue","components","DropdownIndicator","customProps","disableKeyDown","disableMouseDown","disabled","getOptionValue","isMulti","isSearchable","selected","onInputChange","newSearch","onMenuClose","onMenuOpen","setTimeout","onMenuScrollToBottom","enableRowSelections","onSelect"],"sources":["../../../src/fields/Relationship/Input.tsx"],"sourcesContent":["'use client'\nimport type { FilterOptionsResult, PaginatedDocs, ValueWithRelation, Where } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { formatAdminURL, wordBoundariesRegex } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\nimport type { HasManyValueUnion, Option, RelationshipInputProps, UpdateResults } from './types.js'\n\nimport { AddNewRelation } from '../../elements/AddNewRelation/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueues } from '../../hooks/useQueues.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { sanitizeFilterOptionsQuery } from '../../utilities/sanitizeFilterOptionsQuery.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport './index.scss'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst baseClass = 'relationship'\n\nexport const RelationshipInput: React.FC<RelationshipInputProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n allowEdit = true,\n appearance = 'select',\n BeforeInput,\n className,\n description,\n Description,\n Error,\n filterOptions,\n hasMany,\n initialValue,\n isSortable = true,\n label,\n Label,\n localized,\n maxResultsPerRequest = 10,\n onChange,\n path,\n placeholder,\n readOnly,\n relationTo,\n required,\n showError,\n sortOptions,\n style,\n value,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n\n const [currentlyOpenRelationship, setCurrentlyOpenRelationship] = useState<\n Parameters<ReactSelectAdapterProps['customProps']['onDocumentOpen']>[0]\n >({\n id: undefined,\n collectionSlug: undefined,\n hasReadPermission: false,\n })\n\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const [menuIsOpen, setMenuIsOpen] = useState(false)\n const hasLoadedFirstPageRef = useRef(false)\n const { queueTask } = useQueues()\n\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n\n const valueRef = useRef(value)\n // the line below seems odd\n\n valueRef.current = value\n\n const [DocumentDrawer, , { isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentlyOpenRelationship.id,\n collectionSlug: currentlyOpenRelationship.collectionSlug,\n })\n\n // Filter selected values from displaying in the list drawer\n const listDrawerFilterOptions = useMemo<FilterOptionsResult>(() => {\n let newFilterOptions = filterOptions\n\n if (value) {\n const valuesByRelation = (hasMany === false ? [value] : value).reduce((acc, val) => {\n if (!acc[val.relationTo]) {\n acc[val.relationTo] = []\n }\n acc[val.relationTo].push(val.value)\n return acc\n }, {})\n\n ;(Array.isArray(relationTo) ? relationTo : [relationTo]).forEach((relation) => {\n newFilterOptions = {\n ...(newFilterOptions || {}),\n [relation]: {\n ...(typeof filterOptions?.[relation] === 'object' ? filterOptions[relation] : {}),\n ...(valuesByRelation[relation]\n ? {\n id: {\n not_in: valuesByRelation[relation],\n },\n }\n : {}),\n },\n }\n })\n }\n\n return newFilterOptions\n }, [filterOptions, value, hasMany, relationTo])\n\n const [\n ListDrawer,\n ,\n { closeDrawer: closeListDrawer, isDrawerOpen: isListDrawerOpen, openDrawer: openListDrawer },\n ] = useListDrawer({\n collectionSlugs: relationTo,\n filterOptions: listDrawerFilterOptions,\n })\n\n const onListSelect = useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n ({ collectionSlug, doc }) => {\n if (hasMany) {\n onChange([\n ...(Array.isArray(value) ? value : []),\n {\n relationTo: collectionSlug,\n value: doc.id,\n },\n ])\n } else if (hasMany === false) {\n onChange({\n relationTo: collectionSlug,\n value: doc.id,\n })\n }\n\n closeListDrawer()\n },\n [hasMany, onChange, closeListDrawer, value],\n )\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const updateResults: UpdateResults = useCallback(\n ({\n filterOptions,\n hasMany: hasManyArg,\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n queueTask(async () => {\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap(\n hasManyArg === true\n ? {\n hasMany: true,\n relationTo,\n value: valueArg,\n }\n : {\n hasMany: false,\n relationTo,\n value: valueArg,\n },\n )\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = getEntityConfig({ collectionSlug: relation })\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n let fieldToSort = collection?.defaultSort || 'id'\n if (typeof sortOptions === 'string') {\n fieldToSort = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSort = sortOptions[relation]\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n select: {\n [fieldToSearch]: true,\n },\n sort: fieldToSort,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n sanitizeFilterOptionsQuery(query.where)\n\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n }\n })\n },\n [\n permissions,\n queueTask,\n relationTo,\n errorLoading,\n search,\n getEntityConfig,\n sortOptions,\n maxResultsPerRequest,\n locale,\n serverURL,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback<{ search: string } & HasManyValueUnion>(\n ({ hasMany: hasManyArg, search: searchArg, value }) => {\n updateResultsEffectEvent({\n filterOptions,\n lastLoadedPage: {},\n search: searchArg,\n sort: true,\n ...(hasManyArg === true\n ? {\n hasMany: hasManyArg,\n value,\n }\n : {\n hasMany: hasManyArg,\n value,\n }),\n })\n setSearch(searchArg)\n },\n 300,\n )\n\n const handleInputChange = useCallback(\n (options: { search: string } & HasManyValueUnion) => {\n if (search !== options.search) {\n setLastLoadedPage({})\n updateSearch(options)\n }\n },\n [search, updateSearch],\n )\n\n const handleValueChange = useEffectEvent(({ hasMany: hasManyArg, value }: HasManyValueUnion) => {\n const relationMap = createRelationMap(\n hasManyArg === true\n ? {\n hasMany: hasManyArg,\n relationTo,\n value,\n }\n : {\n hasMany: hasManyArg,\n relationTo,\n value,\n },\n )\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n const collection = getEntityConfig({ collectionSlug: relation })\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n })\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n config,\n doc: args.doc,\n i18n,\n })\n\n const docID = args.doc.id\n\n if (hasMany) {\n const currentValue = valueRef.current\n ? Array.isArray(valueRef.current)\n ? valueRef.current\n : [valueRef.current]\n : []\n\n const valuesToSet = currentValue.map((option: ValueWithRelation) => {\n return {\n relationTo: option.value === docID ? args.collectionConfig.slug : option.relationTo,\n value: option.value,\n }\n })\n\n onChange(valuesToSet)\n } else if (hasMany === false) {\n onChange({ relationTo: args.collectionConfig.slug, value: docID })\n }\n },\n [i18n, config, hasMany, onChange],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n dispatchOptions({\n type: 'ADD',\n collection: args.collectionConfig,\n config,\n docs: [args.doc],\n i18n,\n sort: true,\n })\n\n if (hasMany) {\n onChange(\n valueRef.current\n ? (valueRef.current as ValueWithRelation[]).concat({\n relationTo: args.collectionConfig.slug,\n value: args.doc.id,\n })\n : null,\n )\n } else if (hasMany === false) {\n onChange({\n relationTo: args.collectionConfig.slug,\n value: args.doc.id,\n })\n }\n },\n [i18n, config, hasMany, onChange],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n dispatchOptions({\n id: args.id,\n type: 'REMOVE',\n collection: args.collectionConfig,\n config,\n i18n,\n })\n\n if (hasMany) {\n onChange(\n valueRef.current\n ? (valueRef.current as ValueWithRelation[]).filter((option) => {\n return option.value !== args.id\n })\n : null,\n )\n } else {\n onChange(null)\n }\n\n return\n },\n [i18n, config, hasMany, onChange],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let labelString = String(item.label)\n // strings less than breakApartThreshold length won't be chunked\n while (labelString.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = labelString.indexOf(' ', searchFilter.length)\n if (\n r.test(labelString.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))\n ) {\n return true\n }\n labelString = labelString.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(labelString.slice(-breakApartThreshold))\n }, [])\n\n const onDocumentOpen = useCallback<ReactSelectAdapterProps['customProps']['onDocumentOpen']>(\n ({ id, collectionSlug, hasReadPermission, openInNewTab }) => {\n if (openInNewTab) {\n if (hasReadPermission && id && collectionSlug) {\n const docUrl = formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${id}`,\n })\n\n window.open(docUrl, '_blank')\n }\n } else {\n openDrawerWhenRelationChanges.current = true\n\n setCurrentlyOpenRelationship({\n id,\n collectionSlug,\n hasReadPermission,\n })\n }\n },\n [config.routes.admin],\n )\n\n const updateResultsEffectEvent: UpdateResults = useEffectEvent((args) => {\n return updateResults(args)\n })\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of form state and fast clicking into this field,\n // re-fetch options\n if (hasLoadedFirstPageRef.current && menuIsOpen) {\n setIsLoading(true)\n void updateResultsEffectEvent({\n filterOptions,\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n ...(hasMany === true\n ? {\n hasMany,\n value: valueRef.current as ValueWithRelation[],\n }\n : {\n hasMany,\n value: valueRef.current as ValueWithRelation,\n }),\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu opens\n dispatchOptions({\n type: 'CLEAR',\n exemptValues: valueRef.current,\n })\n\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n }, [relationTo, filterOptions, locale, path, menuIsOpen, hasMany])\n\n const prevValue = useRef(value)\n const isFirstRenderRef = useRef(true)\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n useEffect(() => {\n if (isFirstRenderRef.current || !dequal(value, prevValue.current)) {\n handleValueChange(hasMany === true ? { hasMany, value } : { hasMany, value })\n }\n isFirstRenderRef.current = false\n prevValue.current = value\n }, [value, hasMany])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = getEntityConfig({ collectionSlug: relation })\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, getEntityConfig])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawer()\n openDrawerWhenRelationChanges.current = false\n }\n }, [openDrawer, currentlyOpenRelationship])\n\n const valueToRender = findOptionsByValue({ allowEdit, options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') {\n valueToRender.value = null\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n !readOnly && allowCreate && `${baseClass}--allow-create`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {errorLoading ? (\n <div className={`${baseClass}__error-loading`}>{errorLoading}</div>\n ) : (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!(isDrawerOpen || isListDrawerOpen)}\n components={{\n MultiValueLabel,\n SingleValue,\n ...(appearance !== 'select' && { DropdownIndicator: null }),\n }}\n customProps={{\n disableKeyDown: isDrawerOpen || isListDrawerOpen,\n disableMouseDown: isDrawerOpen || isListDrawerOpen,\n onDocumentOpen,\n onSave,\n }}\n disabled={readOnly || isDrawerOpen || isListDrawerOpen}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n getOptionValue={(option: ValueWithRelation) => {\n if (!option) {\n return undefined\n }\n return hasMany && Array.isArray(relationTo)\n ? `${option.relationTo}_${option.value}`\n : (option.value as string)\n }}\n isLoading={appearance === 'select' && isLoading}\n isMulti={hasMany}\n isSearchable={appearance === 'select'}\n isSortable={isSortable}\n menuIsOpen={appearance === 'select' ? menuIsOpen : false}\n onChange={\n !readOnly\n ? (selected) => {\n if (hasMany) {\n if (selected === null) {\n onChange([])\n } else {\n onChange(selected as ValueWithRelation[])\n }\n } else if (hasMany === false) {\n if (selected === null) {\n onChange(null)\n } else {\n onChange(selected as ValueWithRelation)\n }\n }\n }\n : undefined\n }\n onInputChange={(newSearch) =>\n handleInputChange({\n search: newSearch,\n ...(hasMany === true\n ? {\n hasMany,\n value,\n }\n : {\n hasMany,\n value,\n }),\n })\n }\n onMenuClose={() => {\n setMenuIsOpen(false)\n }}\n onMenuOpen={() => {\n if (appearance === 'drawer') {\n // TODO: This timeout is only necessary for inline blocks in the lexical editor\n // and when the devtools are closed. Temporary solution, we can probably do better.\n setTimeout(() => {\n openListDrawer()\n }, 100)\n } else if (appearance === 'select') {\n setMenuIsOpen(true)\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n updateResultsEffectEvent({\n filterOptions,\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n ...(hasMany === true\n ? {\n hasMany,\n value,\n }\n : {\n hasMany,\n value,\n }),\n })\n }\n }\n }}\n onMenuScrollToBottom={() => {\n updateResultsEffectEvent({\n filterOptions,\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n ...(hasMany === true\n ? {\n hasMany,\n value: initialValue,\n }\n : {\n hasMany,\n value: initialValue,\n }),\n })\n }}\n options={options}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n path={path}\n relationTo={relationTo}\n {...(hasMany === true\n ? {\n hasMany,\n onChange,\n value,\n }\n : {\n hasMany,\n onChange,\n value,\n })}\n />\n )}\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n {currentlyOpenRelationship.collectionSlug && currentlyOpenRelationship.hasReadPermission && (\n <DocumentDrawer onDelete={onDelete} onDuplicate={onDuplicate} onSave={onSave} />\n )}\n {appearance === 'drawer' && !readOnly && (\n <ListDrawer allowCreate={allowCreate} enableRowSelections={false} onSelect={onListSelect} />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}