o(c,n)))break e;e[r]=c,e[s]=n,r=s}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var l=performance;t.unstable_now=function(){return l.now()}}else{var i=Date,u=i.now();t.unstable_now=function(){return i.now()-u}}var s=[],c=[],f=1,d=null,p=3,h=!1,m=!1,v=!1,g="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(s,t)}t=r(c)}}function k(e){if(v=!1,w(e),!m)if(null!==r(s))m=!0,z(x);else{var t=r(c);null!==t&&R(k,t.startTime-e)}}function x(e,n){m=!1,v&&(v=!1,y(_),_=-1),h=!0;var o=p;try{for(w(n),d=r(s);null!==d&&(!(d.expirationTime>n)||e&&!O());){var l=d.callback;if("function"==typeof l){d.callback=null,p=d.priorityLevel;var i=l(d.expirationTime<=n);n=t.unstable_now(),"function"==typeof i?d.callback=i:d===r(s)&&a(s),w(n)}else a(s);d=r(s)}if(null!==d)var u=!0;else{var f=r(c);null!==f&&R(k,f.startTime-n),u=!1}return u}finally{d=null,p=o,h=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,C=null,_=-1,P=5,N=-1;function O(){return!(t.unstable_now()-Ne||125l?(e.sortIndex=o,n(c,e),null===r(s)&&e===r(c)&&(v?(y(_),_=-1):v=!0,R(k,o-l))):(e.sortIndex=i,n(s,e),m||h||(m=!0,z(x))),e},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},5655:(e,t,n)=>{"use strict";e.exports=n(2197)},6929:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Banner:function(){return i},default:function(){return u}});const r=o(n(9497)),a=n(3717);function o(e){return e&&e.__esModule?e:{default:e}}n(4047);const l="banner",i=({alignIcon:e="right",children:t,className:n,icon:o,onClick:i,to:u,type:s="default"})=>{const c=[l,`${l}--type-${s}`,n&&n,u&&`${l}--has-link`,(u||i)&&`${l}--has-action`,o&&`${l}--has-icon`,o&&`${l}--align-icon-${e}`].filter(Boolean).join(" ");let f="div";return i&&!u&&(f="button"),u&&(f=a.Link),r.default.createElement(f,{className:c,onClick:i,to:u||void 0},o&&"left"===e&&r.default.createElement(r.default.Fragment,null,o),r.default.createElement("span",{className:`${l}__content`},t),o&&"right"===e&&r.default.createElement(r.default.Fragment,null,o))},u=i},8564:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return y}});const r=h(n(9497)),a=n(3717),o=d(n(4795)),l=d(n(8620)),i=d(n(9102)),u=d(n(4439)),s=d(n(5254)),c=d(n(3763)),f=d(n(6623));function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}function h(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=a?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(r,o,l):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}n(4355);const m={chevron:o.default,edit:l.default,link:i.default,plus:u.default,swap:s.default,x:c.default},v="btn",g=({children:e,icon:t,showTooltip:n,tooltip:a})=>{const o=m[t];return r.default.createElement(r.Fragment,null,a&&r.default.createElement(f.default,{className:`${v}__tooltip`,show:n},a),r.default.createElement("span",{className:`${v}__content`},e&&r.default.createElement("span",{className:`${v}__label`},e),t&&r.default.createElement("span",{className:`${v}__icon`},(0,r.isValidElement)(t)&&t,o&&r.default.createElement(o,null))))},y=(0,r.forwardRef)(((e,t)=>{const{id:n,"aria-label":o,buttonStyle:l="primary",children:i,className:u,disabled:s,el:c="button",icon:f,iconPosition:d="right",iconStyle:p="without-border",newTab:h,onClick:m,round:y,size:b="medium",to:w,tooltip:k,type:x="button",url:S}=e,[E,C]=r.default.useState(!1);const _={id:n,"aria-disabled":s,"aria-label":o,className:[v,u&&u,l&&`${v}--style-${l}`,f&&`${v}--icon`,p&&`${v}--icon-style-${p}`,f&&!i&&`${v}--icon-only`,s&&`${v}--disabled`,y&&`${v}--round`,b&&`${v}--size-${b}`,d&&`${v}--icon-position-${d}`,k&&`${v}--has-tooltip`].filter(Boolean).join(" "),disabled:s,onClick:s?void 0:function(e){C(!1),"submit"!==x&&m&&e.preventDefault(),m&&m(e)},onMouseEnter:k?()=>C(!0):void 0,onMouseLeave:k?()=>C(!1):void 0,rel:h?"noopener noreferrer":void 0,target:h?"_blank":void 0,type:x};switch(c){case"link":return r.default.createElement(a.Link,{..._,to:w||S},r.default.createElement(g,{icon:f,showTooltip:E,tooltip:k},i));case"anchor":return r.default.createElement("a",{..._,href:S,ref:t},r.default.createElement(g,{icon:f,showTooltip:E,tooltip:k},i));default:const e=c;return r.default.createElement(e,{ref:t,type:"submit",..._},r.default.createElement(g,{icon:f,showTooltip:E,tooltip:k},i))}}))},8254:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useDraggableSortable",{enumerable:!0,get:function(){return a}});const r=n(9509),a=e=>{const{id:t,disabled:n}=e,{attributes:a,isDragging:o,listeners:l,setNodeRef:i,transform:u}=(0,r.useSortable)({id:t,disabled:n});return{attributes:{...a,style:{cursor:o?"grabbing":"grab"}},isDragging:o,listeners:l,setNodeRef:i,transform:u&&`translate3d(${u.x}px, ${u.y}px, 0)`}}},2946:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});const r=l(n(9497)),a=n(3717),o=n(8254);function l(e){return e&&e.__esModule?e:{default:e}}n(1997);const i="pill",u=e=>{const{id:t,className:n}=e,{attributes:a,isDragging:l,listeners:u,setNodeRef:c,transform:f}=(0,o.useDraggableSortable)({id:t});return r.default.createElement(s,{...e,className:[l&&`${i}--is-dragging`,n].filter(Boolean).join(" "),elementProps:{...u,...a,ref:c,style:{transform:f}}})},s=e=>{const{alignIcon:t="right","aria-checked":n,"aria-controls":o,"aria-expanded":l,"aria-label":u,children:s,className:c,draggable:f,elementProps:d,icon:p,onClick:h,pillStyle:m="light",rounded:v,to:g}=e,y=[i,`${i}--style-${m}`,c&&c,g&&`${i}--has-link`,(g||h)&&`${i}--has-action`,p&&`${i}--has-icon`,p&&`${i}--align-icon-${t}`,f&&`${i}--draggable`,v&&`${i}--rounded`].filter(Boolean).join(" ");let b="div";return h&&!g&&(b="button"),g&&(b=a.Link),r.default.createElement(b,{...d,"aria-checked":n,"aria-controls":o,"aria-expanded":l,"aria-label":u,className:y,onClick:h,to:g||void 0,type:"button"===b?"button":void 0},p&&"left"===t&&r.default.createElement("span",{className:`${i}__icon`},p),r.default.createElement("span",{className:`${i}__label`},s),p&&"right"===t&&r.default.createElement("span",{className:`${i}__icon`},p))},c=e=>{const{draggable:t}=e;return t?r.default.createElement(u,e):r.default.createElement(s,e)}},2377:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PopupTrigger",{enumerable:!0,get:function(){return l}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(9772);const o="popup-button",l=e=>{const{active:t,button:n,buttonType:a,className:l,setActive:i}=e,u=[o,l,`${o}--${a}`].filter(Boolean).join(" "),s=()=>{i(!t)};return"none"===a?null:"custom"===a?r.default.createElement("div",{className:u,onClick:s,onKeyDown:e=>{"Enter"===e.key&&s()},role:"button",tabIndex:0},n):r.default.createElement("button",{className:u,onClick:()=>i(!t),tabIndex:0,type:"button"},n)}},3567:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return f}});const r=n(9130),a=s(n(9497)),o=i(n(1593)),l=n(2377);function i(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}function s(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=a?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(r,o,l):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}n(3710);const c="popup",f=e=>{const{boundingRef:t,button:n,buttonClassName:i,buttonType:u="default",caret:s=!0,children:f,className:d,forceOpen:p,horizontalAlign:h="left",initActive:m=!1,onToggleOpen:v,render:g,showOnHover:y=!1,showScrollbar:b=!1,size:w="medium",verticalAlign:k="top"}=e,{height:x,width:S}=(0,r.useWindowInfo)(),[E,C]=(0,o.default)({root:t?.current||null,rootMargin:"-100px 0px 0px 0px",threshold:1}),_=(0,a.useRef)(null),[P,N]=(0,a.useState)(m),[O,T]=(0,a.useState)(k),[M,L]=(0,a.useState)(h),z=(0,a.useCallback)((({horizontal:e=!1,vertical:n=!1})=>{if(_.current){const r=_.current.getBoundingClientRect(),{bottom:a,left:o,right:l,top:i}=r;let u=100,s=document.documentElement.clientWidth,c=document.documentElement.clientHeight,f=0;t?.current&&({bottom:c,left:f,right:s,top:u}=t.current.getBoundingClientRect()),e&&(l>s&&o>f?L("right"):oc&&i>u&&T("top"))}}),[t]),R=(0,a.useCallback)((e=>{_.current.contains(e.target)||N(!1)}),[_]);(0,a.useEffect)((()=>{z({horizontal:!0})}),[C,z,S]),(0,a.useEffect)((()=>{z({vertical:!0})}),[C,z,x]),(0,a.useEffect)((()=>("function"==typeof v&&v(P),P?document.addEventListener("mousedown",R):document.removeEventListener("mousedown",R),()=>{document.removeEventListener("mousedown",R)})),[P,R,v]),(0,a.useEffect)((()=>{N(p)}),[p]);const D=[c,d,`${c}--size-${w}`,`${c}--v-align-${O}`,`${c}--h-align-${M}`,P&&`${c}--active`,b&&`${c}--show-scrollbar`].filter(Boolean).join(" ");return a.default.createElement("div",{className:D},a.default.createElement("div",{className:`${c}__trigger-wrap`},y?a.default.createElement("div",{className:`${c}__on-hover-watch`,onMouseEnter:()=>N(!0),onMouseLeave:()=>N(!1)},a.default.createElement(l.PopupTrigger,{active:P,button:n,buttonType:u,className:i,setActive:N})):a.default.createElement(l.PopupTrigger,{active:P,button:n,buttonType:u,className:i,setActive:N})),a.default.createElement("div",{className:`${c}__content`,ref:_},a.default.createElement("div",{className:`${c}__hide-scrollbar`,ref:E},a.default.createElement("div",{className:`${c}__scroll-container`},a.default.createElement("div",{className:`${c}__scroll-content`},g&&g({close:()=>N(!1)}),f&&f))),s&&a.default.createElement("div",{className:`${c}__caret`})))}},6623:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});const r=i(n(9497)),a=o(n(1593));function o(e){return e&&e.__esModule?e:{default:e}}function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}function i(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(r,o,i):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}n(2286);const u=e=>{const{alignCaret:t="center",boundingRef:n,children:o,className:l,delay:i=350,show:u=!0}=e,[s,c]=r.default.useState(u),[f,d]=r.default.useState("top"),p=e=>"string"==typeof e?e:"",[h,m]=(0,a.default)({root:n?.current||null,rootMargin:"-145px 0px 0px 100px",threshold:0});return(0,r.useEffect)((()=>{let e;return i&&u?e=setTimeout((()=>{c(u)}),i):c(u),()=>{e&&clearTimeout(e)}}),[u,i]),(0,r.useEffect)((()=>{d(m?.isIntersecting?"top":"bottom")}),[m]),r.default.createElement(r.default.Fragment,null,r.default.createElement("aside",{"aria-hidden":"true",className:["tooltip",l,`tooltip--caret-${t}`,"tooltip--position-top"].filter(Boolean).join(" "),ref:h,title:p(o)},r.default.createElement("div",{className:"tooltip-content"},o)),r.default.createElement("aside",{className:["tooltip",l,s&&"tooltip--show",`tooltip--caret-${t}`,`tooltip--position-${f}`].filter(Boolean).join(" "),title:p(o)},r.default.createElement("div",{className:"tooltip-content"},o)))}},2281:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(9498);const o=()=>r.default.createElement("svg",{className:"icon icon--check",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{className:"stroke",d:"M10.6092 16.0192L17.6477 8.98076",strokeLinecap:"square",strokeLinejoin:"bevel"}),r.default.createElement("path",{className:"stroke",d:"M7.35229 12.7623L10.6092 16.0192",strokeLinecap:"square",strokeLinejoin:"bevel"}))},4795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(7484);const o=({className:e,direction:t,size:n})=>r.default.createElement("svg",{className:["icon icon--chevron",e,n&&`icon--size-${n}`].filter(Boolean).join(" "),viewBox:"0 0 9 7",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",style:{transform:"left"===t?"rotate(90deg)":"right"===t?"rotate(-90deg)":"up"===t?"rotate(180deg)":void 0}},r.default.createElement("path",{className:"stroke",d:"M1.42871 1.5332L4.42707 4.96177L7.42543 1.5332"}))},8620:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(7601);const o=()=>r.default.createElement("svg",{className:"icon icon--edit",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("polygon",{className:"fill",points:"16.92 16.86 8.25 16.86 8.25 8.21 12.54 8.21 12.54 6.63 6.68 6.63 6.68 18.43 18.5 18.43 18.5 12.53 16.92 12.53 16.92 16.86"}),r.default.createElement("polygon",{className:"fill",points:"16.31 7.33 17.42 8.44 12.66 13.2 11.51 13.24 11.55 12.09 16.31 7.33"}),r.default.createElement("rect",{className:"fill",height:"1.15",transform:"translate(10.16 -10.48) rotate(45)",width:"1.58",x:"16.94",y:"6.44"}))},9102:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(1519);const o=()=>r.default.createElement("svg",{"aria-hidden":"true",className:"graphic link icon icon--link",fill:"currentColor",focusable:"false",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),r.default.createElement("path",{className:"fill",d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"}))},8227:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(2125);const o=()=>r.default.createElement("svg",{className:"icon icon--menu",fill:"none",height:"25",viewBox:"0 0 25 25",width:"25",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("rect",{className:"fill",height:"2",width:"18",x:"3.5",y:"4.5"}),r.default.createElement("rect",{className:"fill",height:"2",width:"18",x:"3.5",y:"11.5"}),r.default.createElement("rect",{className:"fill",height:"2",width:"18",x:"3.5",y:"18.5"}))},4439:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(3160);const o=()=>r.default.createElement("svg",{className:"icon icon--plus",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("line",{className:"stroke",x1:"12.4589",x2:"12.4589",y1:"16.9175",y2:"8.50115"}),r.default.createElement("line",{className:"stroke",x1:"8.05164",x2:"16.468",y1:"12.594",y2:"12.594"}))},454:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(9094);const o=()=>r.default.createElement("svg",{className:"icon icon--search",fill:"none",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("circle",{className:"stroke",cx:"11.2069",cy:"10.7069",r:"5"}),r.default.createElement("line",{className:"stroke",x1:"14.914",x2:"20.5002",y1:"13.9998",y2:"19.586"}))},5254:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(7889);const o=()=>r.default.createElement("svg",{className:"icon icon--swap",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{className:"stroke",d:"M9.84631 4.78679L6.00004 8.63306L9.84631 12.4793"}),r.default.createElement("path",{className:"stroke",d:"M15.1537 20.1059L19 16.2596L15.1537 12.4133"}),r.default.createElement("line",{className:"stroke",stroke:"#333333",x1:"7",x2:"15",y1:"8.7013",y2:"8.7013"}),r.default.createElement("line",{className:"stroke",x1:"18",x2:"10",y1:"16.1195",y2:"16.1195"}))},3763:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(6039);const o=({className:e})=>r.default.createElement("svg",{className:[e,"icon icon--x"].filter(Boolean).join(" "),height:"25",viewBox:"0 0 25 25",width:"25",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("line",{className:"stroke",x1:"8.74612",x2:"16.3973",y1:"16.347",y2:"8.69584"}),r.default.createElement("line",{className:"stroke",x1:"8.6027",x2:"16.2539",y1:"8.69585",y2:"16.3471"}))},7714:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Banner:function(){return r.default},Button:function(){return a.default},Check:function(){return i.default},Chevron:function(){return u.default},Menu:function(){return s.default},MinimalTemplate:function(){return d.default},Pill:function(){return o.default},Popup:function(){return l.default},Search:function(){return c.default},X:function(){return f.default}});const r=p(n(6929)),a=p(n(8564)),o=p(n(2946)),l=p(n(3567)),i=p(n(2281)),u=p(n(4795)),s=p(n(8227)),c=p(n(454)),f=p(n(3763)),d=p(n(662));function p(e){return e&&e.__esModule?e:{default:e}}},662:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});const r=a(n(9497));function a(e){return e&&e.__esModule?e:{default:e}}n(7565);const o="template-minimal",l=e=>{const{children:t,className:n,style:a={},width:l="normal"}=e,i=[n,o,`${o}--width-${l}`].filter(Boolean).join(" ");return r.default.createElement("section",{className:i,style:a},r.default.createElement("div",{className:`${o}__wrap`},t))}},1593:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});const r=n(9497),a=({root:e=null,rootMargin:t="0px",threshold:n=0}={},a)=>{const[o,l]=(0,r.useState)(),[i,u]=(0,r.useState)(null),s=(0,r.useRef)(new window.IntersectionObserver((([e])=>l(e)),{root:e,rootMargin:t,threshold:n}));return(0,r.useEffect)((()=>{if(a)return;const{current:e}=s;return e.disconnect(),i&&e.observe(i),()=>e.disconnect()}),[i,a]),[u,o]}},9497:e=>{"use strict";e.exports=require("react")}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r=n(7714);module.exports=r})();
\ No newline at end of file
diff --git a/packages/payload/components/preferences.d.ts b/packages/payload/components/preferences.d.ts
deleted file mode 100644
index 4641285b58..0000000000
--- a/packages/payload/components/preferences.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { usePreferences } from '../dist/admin/components/utilities/Preferences';
-//# sourceMappingURL=preferences.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/preferences.js b/packages/payload/components/preferences.js
deleted file mode 100644
index 55d8f951c2..0000000000
--- a/packages/payload/components/preferences.js
+++ /dev/null
@@ -1,13 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "usePreferences", {
- enumerable: true,
- get: function() {
- return _Preferences.usePreferences;
- }
-});
-const _Preferences = require("../dist/admin/components/utilities/Preferences");
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvcHJlZmVyZW5jZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgdXNlUHJlZmVyZW5jZXMgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9QcmVmZXJlbmNlcydcbiJdLCJuYW1lcyI6WyJ1c2VQcmVmZXJlbmNlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBU0E7OztlQUFBQSwyQkFBYzs7OzZCQUFRIn0=
\ No newline at end of file
diff --git a/packages/payload/components/rich-text.d.ts b/packages/payload/components/rich-text.d.ts
deleted file mode 100644
index 3071e43bb3..0000000000
--- a/packages/payload/components/rich-text.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export { default as ElementButton } from '../dist/admin/components/forms/field-types/RichText/elements/Button';
-export { default as toggleElement } from '../dist/admin/components/forms/field-types/RichText/elements/toggle';
-export { default as LeafButton } from '../dist/admin/components/forms/field-types/RichText/leaves/Button';
-//# sourceMappingURL=rich-text.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/rich-text.js b/packages/payload/components/rich-text.js
deleted file mode 100644
index 5d9888ceed..0000000000
--- a/packages/payload/components/rich-text.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-function _export(target, all) {
- for(var name in all)Object.defineProperty(target, name, {
- enumerable: true,
- get: all[name]
- });
-}
-_export(exports, {
- ElementButton: function() {
- return _Button.default;
- },
- toggleElement: function() {
- return _toggle.default;
- },
- LeafButton: function() {
- return _Button1.default;
- }
-});
-const _Button = /*#__PURE__*/ _interop_require_default(require("../dist/admin/components/forms/field-types/RichText/elements/Button"));
-const _toggle = /*#__PURE__*/ _interop_require_default(require("../dist/admin/components/forms/field-types/RichText/elements/toggle"));
-const _Button1 = /*#__PURE__*/ _interop_require_default(require("../dist/admin/components/forms/field-types/RichText/leaves/Button"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvcmljaC10ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudEJ1dHRvbiB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvZmllbGQtdHlwZXMvUmljaFRleHQvZWxlbWVudHMvQnV0dG9uJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0b2dnbGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9maWVsZC10eXBlcy9SaWNoVGV4dC9lbGVtZW50cy90b2dnbGUnXG5leHBvcnQgeyBkZWZhdWx0IGFzIExlYWZCdXR0b24gfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L2xlYXZlcy9CdXR0b24nXG4iXSwibmFtZXMiOlsiRWxlbWVudEJ1dHRvbiIsInRvZ2dsZUVsZW1lbnQiLCJMZWFmQnV0dG9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFvQkEsYUFBYTtlQUFiQSxlQUFhOztJQUNiQyxhQUFhO2VBQWJBLGVBQWE7O0lBQ2JDLFVBQVU7ZUFBVkEsZ0JBQVU7OzsrREFGVzsrREFDQTtnRUFDSCJ9
\ No newline at end of file
diff --git a/packages/payload/components/root.d.ts b/packages/payload/components/root.d.ts
deleted file mode 100644
index b2599f7830..0000000000
--- a/packages/payload/components/root.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as Root } from '../dist/admin/Root';
-//# sourceMappingURL=root.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/root.js b/packages/payload/components/root.js
deleted file mode 100644
index 12e2005051..0000000000
--- a/packages/payload/components/root.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "Root", {
- enumerable: true,
- get: function() {
- return _Root.default;
- }
-});
-const _Root = /*#__PURE__*/ _interop_require_default(require("../dist/admin/Root"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvcm9vdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIFJvb3QgfSBmcm9tICcuLi8uLi9hZG1pbi9Sb290J1xuIl0sIm5hbWVzIjpbIlJvb3QiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQW9CQTs7O2VBQUFBLGFBQUk7Ozs2REFBUSJ9
\ No newline at end of file
diff --git a/packages/payload/components/styles.css b/packages/payload/components/styles.css
deleted file mode 100644
index 8ab8eb1708..0000000000
--- a/packages/payload/components/styles.css
+++ /dev/null
@@ -1 +0,0 @@
-.banner{background:var(--theme-elevation-100);border:0;border-radius:3px;color:var(--theme-elevation-800);font-size:1rem;line-height:1.9230769231rem;margin-bottom:1.9230769231rem;padding:.9615384615rem;vertical-align:middle}.banner--has-action{cursor:pointer;-webkit-text-decoration:none;text-decoration:none}.banner--has-icon{display:flex}.banner--has-icon svg{display:block}.banner--type-default.button--has-action:hover{background:var(--theme-elevation-900)}.banner--type-default.button--has-action:active{background:var(--theme-elevation-950)}.banner--type-error{background:var(--theme-error-100);color:var(--theme-error-500)}.banner--type-error svg .stroke{stroke:var(--theme-error-500);fill:none}.banner--type-error svg .fill{fill:var(--theme-error-500)}.banner--type-error.button--has-action:hover{background:var(--theme-error-200)}.banner--type-error.button--has-action:active{background:var(--theme-error-300)}.banner--type-success{background:var(--theme-success-500);color:var(--color-base-800)}.banner--type-success.button--has-action:active,.banner--type-success.button--has-action:hover{background:var(--theme-success-200)}.icon--chevron{height:calc(var(--base)/2);width:calc(var(--base)/2)}.icon--chevron .stroke{fill:none;stroke:var(--theme-elevation-800);stroke-width:2px;vector-effect:non-scaling-stroke}.icon--chevron--size-large{height:var(--base);width:var(--base)}.icon--edit{shape-rendering:auto;height:1.9230769231rem;width:1.9230769231rem}.icon--edit .fill{fill:var(--theme-elevation-800);stroke:none}.icon--link{height:1.9230769231rem;width:1.9230769231rem}.icon--link .stroke{stroke:var(--theme-elevation-800);stroke-width:1px}.icon--plus{height:1.9230769231rem;width:1.9230769231rem}.icon--plus .stroke{stroke:var(--theme-elevation-800);stroke-width:1px}.icon--swap{height:1.9230769231rem;width:1.9230769231rem}.icon--swap .stroke{fill:none;stroke:var(--theme-elevation-800);stroke-width:2px}.icon--x line{stroke:var(--theme-elevation-800);stroke-width:1px}.tooltip{--caret-size:6px;background-color:var(--theme-elevation-800);border-radius:2px;color:var(--theme-elevation-0);font-weight:400;left:50%;line-height:1.4423076923rem;opacity:0;padding:.3846153846rem .7692307692rem;position:absolute;visibility:hidden;white-space:nowrap;z-index:2}.tooltip:after{border-left:var(--caret-size) solid transparent;border-right:var(--caret-size) solid transparent;content:" ";display:block;height:0;position:absolute;transform:translate3d(-50%,100%,0);width:0}.tooltip--show{cursor:default;opacity:1;transition:opacity .2s ease-in-out;visibility:visible}.tooltip--caret-center:after{left:50%}.tooltip--caret-left:after{left:calc(var(--base)*.5)}.tooltip--caret-right:after{right:calc(var(--base)*.5)}.tooltip--position-top{bottom:100%;transform:translate3d(-50%,calc(var(--caret-size)*-1),0)}.tooltip--position-top:after{border-top:var(--caret-size) solid var(--theme-elevation-800);bottom:1px}.tooltip--position-bottom{top:100%;transform:translate3d(-50%,var(--caret-size),0)}.tooltip--position-bottom:after{border-bottom:var(--caret-size) solid var(--theme-elevation-800);bottom:calc(100% + var(--caret-size) - 1px)}.tooltip .tooltip-content{overflow:hidden;text-overflow:ellipsis;width:100%}@media(max-width:1024px){.tooltip{display:none}}html[data-theme=light] .tooltip{background-color:var(--theme-error-250);color:var(--theme-error-750)}html[data-theme=light] .tooltip--position-top:after{border-top-color:var(--theme-error-250)}html[data-theme=light] .tooltip--position-bottom:after{border-bottom-color:var(--theme-error-250)}a.btn{display:inline-block}.btn{background:transparent;border:0;border-radius:4px;color:inherit;cursor:pointer;font-size:1rem;font-weight:400;line-height:1.9230769231rem;margin-bottom:1.9230769231rem;margin-top:1.9230769231rem;text-align:center;-webkit-text-decoration:none;text-decoration:none}.btn .btn__icon{border:1px solid;border-radius:100%}.btn .btn__icon .stroke{stroke:currentColor;fill:none}.btn .btn__icon .fill{fill:currentColor}.btn--has-tooltip{position:relative}.btn--icon-style-none .btn__icon,.btn--icon-style-without-border .btn__icon{border:none}.btn span{line-height:1.9230769231rem}.btn span,.btn svg{vertical-align:top}.btn--size-medium{padding:.9615384615rem 1.9230769231rem}.btn--size-small{padding:.4807692308rem .9615384615rem}.btn--style-primary{background-color:var(--theme-elevation-800);color:var(--theme-elevation-0)}.btn--style-primary.btn--disabled{background-color:var(--theme-elevation-400)}.btn--style-primary:not(.btn--disabled):focus-visible,.btn--style-primary:not(.btn--disabled):hover{background:var(--theme-elevation-750)}.btn--style-primary:not(.btn--disabled):active{background:var(--theme-elevation-700)}.btn--style-primary:focus:not(:focus-visible){box-shadow:0 0 0 2px var(--theme-success-500);outline:none}.btn--style-secondary{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:none;box-shadow:inset 0 0 0 1px var(--theme-elevation-800);color:var(--theme-elevation-800)}.btn--style-secondary:focus-visible,.btn--style-secondary:hover{background:var(--theme-elevation-100);box-shadow:inset 0 0 0 1px var(--theme-elevation-700)}.btn--style-secondary:active{background:var(--theme-elevation-200)}.btn--style-secondary.btn--disabled{background:none;box-shadow:inset 0 0 0 1px var(--theme-elevation-400);color:var(--theme-elevation-400)}.btn--style-secondary:focus:not(:focus-visible){box-shadow:inset 0 0 0 1px var(--theme-elevation-700),0 0 0 2px var(--theme-success-500);outline:none}.btn--style-none{border-radius:0;margin:0;padding:0}.btn--style-none:focus{opacity:.8}.btn--style-none:active{opacity:.7}.btn--round{border-radius:100%}[dir=rtl] .btn--icon span{margin-left:5px}.btn--icon span{display:flex;justify-content:space-between}.btn--icon.btn--style-primary .icon .stroke{stroke:var(--theme-elevation-0);fill:none}.btn--icon.btn--style-primary .icon .fill{fill:var(--theme-elevation-0)}.btn--style-icon-label{font-weight:600;padding:0}.btn--style-light-gray{box-shadow:inset 0 0 0 1px var(--theme-elevation-800)}.btn--icon-position-left .btn__content{flex-direction:row-reverse}.btn--icon-position-left .btn__icon{margin-right:.9615384615rem}.btn--icon-position-right .btn__icon{margin-left:.9615384615rem}.btn--icon-only .btn__icon{margin:0;padding:0}.btn--disabled{cursor:default}.btn:focus-visible .btn__icon,.btn:hover .btn__icon{background:var(--theme-elevation-800)}.btn:focus-visible .btn__icon .stroke,.btn:hover .btn__icon .stroke{stroke:var(--theme-elevation-0);fill:none}.btn:focus-visible .btn__icon .fill,.btn:hover .btn__icon .fill{fill:var(--theme-elevation-0)}.btn:focus:not(:focus-visible){outline:none}.btn:focus:not(:focus-visible) .btn__icon{background:var(--theme-elevation-150)}.btn:focus:not(:focus-visible) .btn__icon .stroke{stroke:var(--theme-elevation-800);fill:none}.btn:focus:not(:focus-visible) .btn__icon .fill{fill:var(--theme-elevation-800)}.btn:active .btn__icon{background:var(--theme-elevation-700)}.btn:active .btn__icon .stroke{stroke:var(--theme-elevation-0);fill:none}.btn:active .btn__icon .fill{fill:var(--theme-elevation-0)}.btn:focus-visible{outline:var(--accessibility-outline);outline-offset:var(--accessibility-outline-offset)}.pill{align-items:center;background:var(--theme-elevation-150);border:0;border-radius:3px;color:var(--theme-elevation-800);cursor:default;display:inline-flex;flex-shrink:0;font-size:1rem;line-height:1.9230769231rem;overflow:hidden;padding:0 .4807692308rem;text-overflow:ellipsis;white-space:nowrap}.pill--rounded{border-radius:var(--style-radius-l);font-size:12px;line-height:18px}.pill:active,.pill:focus:not(:focus-visible){outline:none}.pill:focus-visible{outline:var(--accessibility-outline);outline-offset:var(--accessibility-outline-offset)}.pill .icon{flex-shrink:0}.pill__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill__icon{padding:calc(var(--base)/4)}.pill--has-action{cursor:pointer;-webkit-text-decoration:none;text-decoration:none}.pill--is-dragging{cursor:grabbing}.pill--has-icon svg{display:block}[dir=rtl] .pill--align-icon-left{padding-left:10px;padding-right:0}[dir=rtl] .pill--align-icon-right{padding-left:0;padding-right:10px}.pill--align-icon-left{padding-left:0}.pill--align-icon-right{padding-right:0}.pill--style-white{background:var(--theme-elevation-0)}.pill--style-light-gray,.pill--style-light.pill--has-action:active,.pill--style-light.pill--has-action:hover,.pill--style-white.pill--has-action:active,.pill--style-white.pill--has-action:hover{background:var(--theme-elevation-100)}.pill--style-light-gray{color:var(--theme-elevation-800)}.pill--style-warning{background:var(--theme-warning-500)}.pill--style-success{background:var(--theme-success-500);color:var(--color-base-800)}.pill--style-dark{background:var(--theme-elevation-800);color:var(--theme-elevation-0)}.pill--style-dark svg .stroke{stroke:var(--theme-elevation-0);fill:none}.pill--style-dark svg .fill{fill:var(--theme-elevation-0)}.pill--style-dark.pill--has-action:hover{background:var(--theme-elevation-750)}.pill--style-dark.pill--has-action:active{background:var(--theme-elevation-700)}html[data-theme=dark] .pill--style-error{background:var(--theme-error-500);color:var(--color-base-1000)}html[data-theme=light] .pill--style-error{background:var(--theme-error-250);color:var(--theme-error-750)}.popup-button{background:transparent;border:0;color:currentColor;cursor:pointer;display:inline-flex;font-family:inherit;font-size:inherit;height:100%;line-height:inherit;padding:0}.popup{--popup-button-highlight:var(--theme-elevation-200);--popup-bg:var(--theme-input-bg);--popup-text:var(--theme-text);--popup-caret-size:10px;--popup-x-padding:calc(var(--base)*0.33);--popup-padding:calc(var(--base)*0.5);position:relative}.popup__content{background:var(--popup-bg);border-radius:4px;color:var(--popup-text);max-width:calc(100vw - 1.92308rem);min-width:auto;min-width:var(--popup-width,auto);opacity:0;padding-left:var(--popup-padding);padding-right:var(--popup-padding);pointer-events:none;position:absolute;visibility:hidden;z-index:var(--z-popup)}.popup__hide-scrollbar{overflow:hidden}.popup__scroll-container{overflow-y:auto;padding-bottom:var(--popup-padding);padding-top:var(--popup-padding);white-space:nowrap;width:calc(100% + var(--scrollbar-width))}.popup__scroll-content{width:calc(100% - var(--scrollbar-width))}.popup--show-scrollbar .popup__scroll-container,.popup--show-scrollbar .popup__scroll-content{width:100%}.popup:active,.popup:focus{outline:none}.popup--size-small{--popup-width:100px}.popup--size-small .popup__content{box-shadow:0 0 30px 0 rgba(0,2,4,.12),0 30px 25px -8px rgba(0,2,4,.1)}.popup--size-medium{--popup-width:150px}.popup--size-medium .popup__content{box-shadow:0 20px 35px -10px rgba(0,2,4,.2),0 6px 4px -4px rgba(0,2,4,.02)}.popup--size-large{--popup-width:200px}.popup--size-large .popup__content{box-shadow:0 20px 35px -10px rgba(0,2,4,.2),0 6px 4px -4px rgba(0,2,4,.02)}[dir=rtl] .popup--h-align-left .popup__caret{left:auto;right:var(--popup-padding)}.popup--h-align-left .popup__caret{left:var(--popup-padding)}.popup--h-align-center .popup__caret,.popup--h-align-center .popup__content{left:50%;transform:translateX(-50%)}[dir=rtl] .popup--h-align-right .popup__content{left:0;right:auto}[dir=rtl] .popup--h-align-right .popup__caret{left:var(--popup-padding);right:auto}.popup--h-align-right .popup__content{right:0}.popup--h-align-right .popup__caret{right:var(--popup-padding)}.popup__caret{border:var(--popup-caret-size) solid transparent;position:absolute}.popup--v-align-top .popup__content{bottom:calc(100% + var(--popup-caret-size));box-shadow:0 20px 35px -10px rgba(0,2,4,.2),0 6px 4px -4px rgba(0,2,4,.02)}.popup--v-align-top .popup__caret{border-top-color:var(--popup-bg);top:calc(100% - 1px)}.popup--v-align-bottom .popup__content{box-shadow:0 -20px 35px -10px rgba(0,2,4,.2),0 -6px 4px -4px rgba(0,2,4,.02);top:calc(100% + var(--popup-caret-size))}.popup--v-align-bottom .popup__caret{border-bottom-color:var(--popup-bg);bottom:calc(100% - 1px)}.popup--active .popup__content{opacity:1;pointer-events:all;visibility:visible}@media(max-width:1024px){.popup{--popup-padding:calc(var(--base)*0.25)}.popup--h-align-center .popup__caret,.popup--h-align-center .popup__content{left:50%;transform:translateX(0)}.popup--h-align-right .popup__content{right:0}.popup--h-align-right .popup__caret{right:var(--popup-padding)}.popup--force-h-align-left .popup__content{left:0;right:auto;transform:none}.popup--force-h-align-left .popup__caret{left:var(--popup-padding);right:auto;transform:none}.popup--force-h-align-right .popup__content{left:auto;right:0;transform:none}.popup--force-h-align-right .popup__caret{left:auto;right:var(--popup-padding);transform:none}}.icon--check{height:1.9230769231rem;width:1.9230769231rem}.icon--check .stroke{fill:none;stroke:var(--theme-elevation-800);stroke-width:2px}.icon--menu .fill{fill:var(--theme-text)}.icon--search{height:1.9230769231rem;width:1.9230769231rem}.icon--search .stroke{stroke:var(--theme-elevation-800);stroke-width:1px}.template-minimal{align-items:center;display:flex;justify-content:center;margin-left:auto;margin-right:auto;min-height:100%;padding:5.7692307692rem 1.9230769231rem;width:100%}.template-minimal--width-normal .template-minimal__wrap{max-width:500px;width:100%}.template-minimal--width-wide .template-minimal__wrap{max-width:1024px;width:100%}
\ No newline at end of file
diff --git a/packages/payload/components/templates.d.ts b/packages/payload/components/templates.d.ts
deleted file mode 100644
index d344dc353b..0000000000
--- a/packages/payload/components/templates.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as DefaultTemplate } from '../dist/admin/components/templates/Default';
-export { default as MinimalTemplate } from '../dist/admin/components/templates/Minimal';
-//# sourceMappingURL=templates.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/templates.js b/packages/payload/components/templates.js
deleted file mode 100644
index 1b995ee32e..0000000000
--- a/packages/payload/components/templates.js
+++ /dev/null
@@ -1,27 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-function _export(target, all) {
- for(var name in all)Object.defineProperty(target, name, {
- enumerable: true,
- get: all[name]
- });
-}
-_export(exports, {
- DefaultTemplate: function() {
- return _Default.default;
- },
- MinimalTemplate: function() {
- return _Minimal.default;
- }
-});
-const _Default = /*#__PURE__*/ _interop_require_default(require("../dist/admin/components/templates/Default"));
-const _Minimal = /*#__PURE__*/ _interop_require_default(require("../dist/admin/components/templates/Minimal"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvdGVtcGxhdGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgRGVmYXVsdFRlbXBsYXRlIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy90ZW1wbGF0ZXMvRGVmYXVsdCdcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWluaW1hbFRlbXBsYXRlIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy90ZW1wbGF0ZXMvTWluaW1hbCdcbiJdLCJuYW1lcyI6WyJEZWZhdWx0VGVtcGxhdGUiLCJNaW5pbWFsVGVtcGxhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQW9CQSxlQUFlO2VBQWZBLGdCQUFlOztJQUNmQyxlQUFlO2VBQWZBLGdCQUFlOzs7Z0VBRFE7Z0VBQ0EifQ==
\ No newline at end of file
diff --git a/packages/payload/components/utilities.d.ts b/packages/payload/components/utilities.d.ts
deleted file mode 100644
index 78fd121274..0000000000
--- a/packages/payload/components/utilities.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export {};
-//# sourceMappingURL=utilities.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/utilities.js b/packages/payload/components/utilities.js
deleted file mode 100644
index 9a2301c2a2..0000000000
--- a/packages/payload/components/utilities.js
+++ /dev/null
@@ -1,2 +0,0 @@
-
-//# sourceMappingURL=utilities.js.map
\ No newline at end of file
diff --git a/packages/payload/components/views/Cell.d.ts b/packages/payload/components/views/Cell.d.ts
deleted file mode 100644
index 7d14087050..0000000000
--- a/packages/payload/components/views/Cell.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as Cell } from '../../dist/admin/components/views/collections/List/Cell';
-export type { Props } from '../../dist/admin/components/views/collections/List/Cell/types';
-//# sourceMappingURL=Cell.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/views/Cell.js b/packages/payload/components/views/Cell.js
deleted file mode 100644
index db79f796c1..0000000000
--- a/packages/payload/components/views/Cell.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "Cell", {
- enumerable: true,
- get: function() {
- return _Cell.default;
- }
-});
-const _Cell = /*#__PURE__*/ _interop_require_default(require("../../dist/admin/components/views/collections/List/Cell"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvdmlld3MvQ2VsbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIENlbGwgfSBmcm9tICcuLi8uLi8uLi9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvQ2VsbCdcbmV4cG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvQ2VsbC90eXBlcydcbiJdLCJuYW1lcyI6WyJDZWxsIl0sIm1hcHBpbmdzIjoiOzs7OytCQUFvQkE7OztlQUFBQSxhQUFJOzs7NkRBQVEifQ==
\ No newline at end of file
diff --git a/packages/payload/components/views/Dashboard.d.ts b/packages/payload/components/views/Dashboard.d.ts
deleted file mode 100644
index f867c81be0..0000000000
--- a/packages/payload/components/views/Dashboard.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as Dashboard } from '../../dist/admin/components/views/Dashboard/Default';
-export type { Props } from '../../dist/admin/components/views/Dashboard/types';
-//# sourceMappingURL=Dashboard.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/views/Dashboard.js b/packages/payload/components/views/Dashboard.js
deleted file mode 100644
index 7c6519a6fd..0000000000
--- a/packages/payload/components/views/Dashboard.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "Dashboard", {
- enumerable: true,
- get: function() {
- return _Default.default;
- }
-});
-const _Default = /*#__PURE__*/ _interop_require_default(require("../../dist/admin/components/views/Dashboard/Default"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvdmlld3MvRGFzaGJvYXJkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgRGFzaGJvYXJkIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4vY29tcG9uZW50cy92aWV3cy9EYXNoYm9hcmQvRGVmYXVsdCdcblxuZXhwb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4uLy4uLy4uL2FkbWluL2NvbXBvbmVudHMvdmlld3MvRGFzaGJvYXJkL3R5cGVzJ1xuIl0sIm5hbWVzIjpbIkRhc2hib2FyZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBb0JBOzs7ZUFBQUEsZ0JBQVM7OztnRUFBUSJ9
\ No newline at end of file
diff --git a/packages/payload/components/views/Edit.d.ts b/packages/payload/components/views/Edit.d.ts
deleted file mode 100644
index 21340ba1e3..0000000000
--- a/packages/payload/components/views/Edit.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as Edit } from '../../dist/admin/components/views/collections/Edit/Default';
-//# sourceMappingURL=Edit.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/views/Edit.js b/packages/payload/components/views/Edit.js
deleted file mode 100644
index c01afd2af8..0000000000
--- a/packages/payload/components/views/Edit.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "Edit", {
- enumerable: true,
- get: function() {
- return _Default.default;
- }
-});
-const _Default = /*#__PURE__*/ _interop_require_default(require("../../dist/admin/components/views/collections/Edit/Default"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvdmlld3MvRWRpdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIEVkaXQgfSBmcm9tICcuLi8uLi8uLi9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvRGVmYXVsdCdcbiJdLCJuYW1lcyI6WyJFZGl0Il0sIm1hcHBpbmdzIjoiOzs7OytCQUFvQkE7OztlQUFBQSxnQkFBSTs7O2dFQUFRIn0=
\ No newline at end of file
diff --git a/packages/payload/components/views/List.d.ts b/packages/payload/components/views/List.d.ts
deleted file mode 100644
index 778c83790c..0000000000
--- a/packages/payload/components/views/List.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as List } from '../../dist/admin/components/views/collections/List/Default';
-export type { Props } from '../../dist/admin/components/views/collections/List/types';
-//# sourceMappingURL=List.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/components/views/List.js b/packages/payload/components/views/List.js
deleted file mode 100644
index 39e0bfc385..0000000000
--- a/packages/payload/components/views/List.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "List", {
- enumerable: true,
- get: function() {
- return _Default.default;
- }
-});
-const _Default = /*#__PURE__*/ _interop_require_default(require("../../dist/admin/components/views/collections/List/Default"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvdmlld3MvTGlzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIExpc3QgfSBmcm9tICcuLi8uLi8uLi9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvRGVmYXVsdCdcbmV4cG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvdHlwZXMnXG4iXSwibmFtZXMiOlsiTGlzdCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBb0JBOzs7ZUFBQUEsZ0JBQUk7OztnRUFBUSJ9
\ No newline at end of file
diff --git a/packages/payload/config.d.ts b/packages/payload/config.d.ts
deleted file mode 100644
index a90d257b27..0000000000
--- a/packages/payload/config.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export { buildConfig } from './dist/config/build.js';
-export * from './dist/config/types.js';
-export type { FieldTypes } from './dist/admin/forms/FieldTypes.js';
-export { createClientCollectionConfig } from './dist/collections/config/client.js';
-export { defaults as collectionDefaults } from './dist/collections/config/defaults.js';
-export { createClientConfig } from './dist/config/client.js';
-export { defaults } from './dist/config/defaults.js';
-export { sanitizeConfig } from './dist/config/sanitize.js';
-export { baseBlockFields } from './dist/fields/baseFields/baseBlockFields.js';
-export { baseIDField } from './dist/fields/baseFields/baseIDField.js';
-export { createClientFieldConfig } from './dist/fields/config/client.js';
-export { sanitizeFields } from './dist/fields/config/sanitize.js';
-export { createClientGlobalConfig } from './dist/globals/config/client.js';
-//# sourceMappingURL=config.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/config.js b/packages/payload/config.js
deleted file mode 100644
index e14070b411..0000000000
--- a/packages/payload/config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-export { buildConfig } from './dist/config/build.js';
-export * from './dist/config/types.js';
-export { createClientCollectionConfig } from './dist/collections/config/client.js';
-export { defaults as collectionDefaults } from './dist/collections/config/defaults.js';
-export { createClientConfig } from './dist/config/client.js';
-export { defaults } from './dist/config/defaults.js';
-export { sanitizeConfig } from './dist/config/sanitize.js';
-export { baseBlockFields } from './dist/fields/baseFields/baseBlockFields.js';
-export { baseIDField } from './dist/fields/baseFields/baseIDField.js';
-export { createClientFieldConfig } from './dist/fields/config/client.js';
-export { sanitizeFields } from './dist/fields/config/sanitize.js';
-export { createClientGlobalConfig } from './dist/globals/config/client.js';
-
-//# sourceMappingURL=config.js.map
\ No newline at end of file
diff --git a/packages/payload/database.d.ts b/packages/payload/database.d.ts
deleted file mode 100644
index fd2103c76b..0000000000
--- a/packages/payload/database.d.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-export type { BaseDatabaseAdapter, BeginTransaction, CommitTransaction, Connect, Create, CreateArgs, CreateGlobal, CreateGlobalArgs, CreateGlobalVersion, CreateGlobalVersionArgs, CreateMigration, CreateVersion, CreateVersionArgs, DBIdentifierName, DatabaseAdapterResult as DatabaseAdapterObj, DeleteMany, DeleteManyArgs, DeleteOne, DeleteOneArgs, DeleteVersions, DeleteVersionsArgs, Destroy, Find, FindArgs, FindGlobal, FindGlobalArgs, FindGlobalVersions, FindGlobalVersionsArgs, FindOne, FindOneArgs, FindVersions, FindVersionsArgs, Init, Migration, MigrationData, PaginatedDocs, QueryDrafts, QueryDraftsArgs, RollbackTransaction, Transaction, TypeWithVersion, UpdateGlobal, UpdateGlobalArgs, UpdateGlobalVersion, UpdateGlobalVersionArgs, UpdateOne, UpdateOneArgs, UpdateVersion, UpdateVersionArgs, } from './dist/database/types.js';
-export * from './dist/database/queryValidation/types.js';
-export { combineQueries } from './dist/database/combineQueries.js';
-export { createDatabaseAdapter } from './dist/database/createDatabaseAdapter.js';
-export { default as flattenWhereToOperators } from './dist/database/flattenWhereToOperators.js';
-export { getLocalizedPaths } from './dist/database/getLocalizedPaths.js';
-export { createMigration } from './dist/database/migrations/createMigration.js';
-export { getMigrations } from './dist/database/migrations/getMigrations.js';
-export { migrate } from './dist/database/migrations/migrate.js';
-export { migrateDown } from './dist/database/migrations/migrateDown.js';
-export { migrateRefresh } from './dist/database/migrations/migrateRefresh.js';
-export { migrateReset } from './dist/database/migrations/migrateReset.js';
-export { migrateStatus } from './dist/database/migrations/migrateStatus.js';
-export { migrationTemplate } from './dist/database/migrations/migrationTemplate.js';
-export { migrationsCollection } from './dist/database/migrations/migrationsCollection.js';
-export { readMigrationFiles } from './dist/database/migrations/readMigrationFiles.js';
-export type { EntityPolicies, PathToQuery } from './dist/database/queryValidation/types.js';
-export { validateQueryPaths } from './dist/database/queryValidation/validateQueryPaths.js';
-export { validateSearchParam } from './dist/database/queryValidation/validateSearchParams.js';
-export { commitTransaction } from './dist/utilities/commitTransaction.js';
-export { initTransaction } from './dist/utilities/initTransaction.js';
-export { killTransaction } from './dist/utilities/killTransaction.js';
-//# sourceMappingURL=database.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/database.js b/packages/payload/database.js
deleted file mode 100644
index 1688470349..0000000000
--- a/packages/payload/database.js
+++ /dev/null
@@ -1,22 +0,0 @@
-export * from './dist/database/queryValidation/types.js';
-export { combineQueries } from './dist/database/combineQueries.js';
-export { createDatabaseAdapter } from './dist/database/createDatabaseAdapter.js';
-export { default as flattenWhereToOperators } from './dist/database/flattenWhereToOperators.js';
-export { getLocalizedPaths } from './dist/database/getLocalizedPaths.js';
-export { createMigration } from './dist/database/migrations/createMigration.js';
-export { getMigrations } from './dist/database/migrations/getMigrations.js';
-export { migrate } from './dist/database/migrations/migrate.js';
-export { migrateDown } from './dist/database/migrations/migrateDown.js';
-export { migrateRefresh } from './dist/database/migrations/migrateRefresh.js';
-export { migrateReset } from './dist/database/migrations/migrateReset.js';
-export { migrateStatus } from './dist/database/migrations/migrateStatus.js';
-export { migrationTemplate } from './dist/database/migrations/migrationTemplate.js';
-export { migrationsCollection } from './dist/database/migrations/migrationsCollection.js';
-export { readMigrationFiles } from './dist/database/migrations/readMigrationFiles.js';
-export { validateQueryPaths } from './dist/database/queryValidation/validateQueryPaths.js';
-export { validateSearchParam } from './dist/database/queryValidation/validateSearchParams.js';
-export { commitTransaction } from './dist/utilities/commitTransaction.js';
-export { initTransaction } from './dist/utilities/initTransaction.js';
-export { killTransaction } from './dist/utilities/killTransaction.js';
-
-//# sourceMappingURL=database.js.map
\ No newline at end of file
diff --git a/packages/payload/errors.d.ts b/packages/payload/errors.d.ts
deleted file mode 100644
index 0f84d13cfb..0000000000
--- a/packages/payload/errors.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { APIError, AuthenticationError, DuplicateCollection, DuplicateGlobal, ErrorDeletingFile, FileUploadError, Forbidden, InvalidConfiguration, InvalidFieldName, InvalidFieldRelationship, LockedAuth, MissingCollectionLabel, MissingFieldInputOptions, MissingFieldType, MissingFile, NotFound, QueryError, ValidationError, } from './dist/errors/index.js';
-//# sourceMappingURL=errors.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/errors.js b/packages/payload/errors.js
deleted file mode 100644
index b3a2728aa0..0000000000
--- a/packages/payload/errors.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export { APIError, AuthenticationError, DuplicateCollection, DuplicateGlobal, ErrorDeletingFile, FileUploadError, Forbidden, InvalidConfiguration, InvalidFieldName, InvalidFieldRelationship, LockedAuth, MissingCollectionLabel, MissingFieldInputOptions, MissingFieldType, MissingFile, NotFound, QueryError, ValidationError } from './dist/errors/index.js';
-
-//# sourceMappingURL=errors.js.map
\ No newline at end of file
diff --git a/packages/payload/fields/index.d.ts b/packages/payload/fields/index.d.ts
deleted file mode 100644
index 352cb37bc1..0000000000
--- a/packages/payload/fields/index.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as getDefaultValue } from '../dist/fields/getDefaultValue.js';
-export { default as sortableFieldTypes } from '../dist/fields/sortableFieldTypes.js';
-//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/fields/index.js b/packages/payload/fields/index.js
deleted file mode 100644
index 9e778550c4..0000000000
--- a/packages/payload/fields/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-export { default as getDefaultValue } from '../dist/fields/getDefaultValue.js';
-export { default as sortableFieldTypes } from '../dist/fields/sortableFieldTypes.js';
-
-//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/packages/payload/fields/validations.d.ts b/packages/payload/fields/validations.d.ts
deleted file mode 100644
index f2bffb49de..0000000000
--- a/packages/payload/fields/validations.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '../dist/fields/validations.js';
-//# sourceMappingURL=validations.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/fields/validations.js b/packages/payload/fields/validations.js
deleted file mode 100644
index 5ad79d6b2d..0000000000
--- a/packages/payload/fields/validations.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from '../dist/fields/validations.js';
-
-//# sourceMappingURL=validations.js.map
\ No newline at end of file
diff --git a/packages/payload/graphql.d.ts b/packages/payload/graphql.d.ts
deleted file mode 100644
index dafb2a8de4..0000000000
--- a/packages/payload/graphql.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as buildPaginatedListType } from './dist/graphql/schema/buildPaginatedListType';
-export { default as GraphQL } from 'graphql';
-//# sourceMappingURL=graphql.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/graphql.js b/packages/payload/graphql.js
deleted file mode 100644
index 24f4db6087..0000000000
--- a/packages/payload/graphql.js
+++ /dev/null
@@ -1,27 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-function _export(target, all) {
- for(var name in all)Object.defineProperty(target, name, {
- enumerable: true,
- get: all[name]
- });
-}
-_export(exports, {
- GraphQL: function() {
- return _graphql.default;
- },
- buildPaginatedListType: function() {
- return _buildPaginatedListType.default;
- }
-});
-const _buildPaginatedListType = /*#__PURE__*/ _interop_require_default(require("./dist/graphql/schema/buildPaginatedListType"));
-const _graphql = /*#__PURE__*/ _interop_require_default(require("graphql"));
-function _interop_require_default(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
-}
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBvcnRzL2dyYXBocWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBidWlsZFBhZ2luYXRlZExpc3RUeXBlIH0gZnJvbSAnLi8uLi9ncmFwaHFsL3NjaGVtYS9idWlsZFBhZ2luYXRlZExpc3RUeXBlJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHcmFwaFFMIH0gZnJvbSAnZ3JhcGhxbCdcbiJdLCJuYW1lcyI6WyJHcmFwaFFMIiwiYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFDb0JBLE9BQU87ZUFBUEEsZ0JBQU87O0lBRFBDLHNCQUFzQjtlQUF0QkEsK0JBQXNCOzs7K0VBQVE7Z0VBQ2YifQ==
\ No newline at end of file
diff --git a/packages/payload/operations.d.ts b/packages/payload/operations.d.ts
deleted file mode 100644
index 2d795ebdce..0000000000
--- a/packages/payload/operations.d.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-export { accessOperation } from './dist/auth/operations/access.js';
-export { forgotPasswordOperation } from './dist/auth/operations/forgotPassword.js';
-export { initOperation } from './dist/auth/operations/init.js';
-export { loginOperation } from './dist/auth/operations/login.js';
-export { logoutOperation } from './dist/auth/operations/logout.js';
-export { meOperation } from './dist/auth/operations/me.js';
-export { refreshOperation } from './dist/auth/operations/refresh.js';
-export { registerFirstUserOperation } from './dist/auth/operations/registerFirstUser.js';
-export { resetPasswordOperation } from './dist/auth/operations/resetPassword.js';
-export { unlockOperation } from './dist/auth/operations/unlock.js';
-export { verifyEmailOperation } from './dist/auth/operations/verifyEmail.js';
-export { createOperation } from './dist/collections/operations/create.js';
-export { deleteOperation } from './dist/collections/operations/delete.js';
-export { deleteByIDOperation } from './dist/collections/operations/deleteByID.js';
-export { docAccessOperation } from './dist/collections/operations/docAccess.js';
-export { duplicateOperation } from './dist/collections/operations/duplicate.js';
-export { findOperation } from './dist/collections/operations/find.js';
-export { findByIDOperation } from './dist/collections/operations/findByID.js';
-export { findVersionByIDOperation } from './dist/collections/operations/findVersionByID.js';
-export { findVersionsOperation } from './dist/collections/operations/findVersions.js';
-export { restoreVersionOperation } from './dist/collections/operations/restoreVersion.js';
-export { updateOperation } from './dist/collections/operations/update.js';
-export { updateByIDOperation } from './dist/collections/operations/updateByID.js';
-export { docAccessOperation as docAccessOperationGlobal } from './dist/globals/operations/docAccess.js';
-export { findOneOperation } from './dist/globals/operations/findOne.js';
-export { findVersionByIDOperation as findVersionByIDOperationGlobal } from './dist/globals/operations/findVersionByID.js';
-export { findVersionsOperation as findVersionsOperationGlobal } from './dist/globals/operations/findVersions.js';
-export { restoreVersionOperation as restoreVersionOperationGlobal } from './dist/globals/operations/restoreVersion.js';
-export { updateOperation as updateOperationGlobal } from './dist/globals/operations/update.js';
-//# sourceMappingURL=operations.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/operations.js b/packages/payload/operations.js
deleted file mode 100644
index 6d1e2615bc..0000000000
--- a/packages/payload/operations.js
+++ /dev/null
@@ -1,31 +0,0 @@
-export { accessOperation } from './dist/auth/operations/access.js';
-export { forgotPasswordOperation } from './dist/auth/operations/forgotPassword.js';
-export { initOperation } from './dist/auth/operations/init.js';
-export { loginOperation } from './dist/auth/operations/login.js';
-export { logoutOperation } from './dist/auth/operations/logout.js';
-export { meOperation } from './dist/auth/operations/me.js';
-export { refreshOperation } from './dist/auth/operations/refresh.js';
-export { registerFirstUserOperation } from './dist/auth/operations/registerFirstUser.js';
-export { resetPasswordOperation } from './dist/auth/operations/resetPassword.js';
-export { unlockOperation } from './dist/auth/operations/unlock.js';
-export { verifyEmailOperation } from './dist/auth/operations/verifyEmail.js';
-export { createOperation } from './dist/collections/operations/create.js';
-export { deleteOperation } from './dist/collections/operations/delete.js';
-export { deleteByIDOperation } from './dist/collections/operations/deleteByID.js';
-export { docAccessOperation } from './dist/collections/operations/docAccess.js';
-export { duplicateOperation } from './dist/collections/operations/duplicate.js';
-export { findOperation } from './dist/collections/operations/find.js';
-export { findByIDOperation } from './dist/collections/operations/findByID.js';
-export { findVersionByIDOperation } from './dist/collections/operations/findVersionByID.js';
-export { findVersionsOperation } from './dist/collections/operations/findVersions.js';
-export { restoreVersionOperation } from './dist/collections/operations/restoreVersion.js';
-export { updateOperation } from './dist/collections/operations/update.js';
-export { updateByIDOperation } from './dist/collections/operations/updateByID.js';
-export { docAccessOperation as docAccessOperationGlobal } from './dist/globals/operations/docAccess.js';
-export { findOneOperation } from './dist/globals/operations/findOne.js';
-export { findVersionByIDOperation as findVersionByIDOperationGlobal } from './dist/globals/operations/findVersionByID.js';
-export { findVersionsOperation as findVersionsOperationGlobal } from './dist/globals/operations/findVersions.js';
-export { restoreVersionOperation as restoreVersionOperationGlobal } from './dist/globals/operations/restoreVersion.js';
-export { updateOperation as updateOperationGlobal } from './dist/globals/operations/update.js';
-
-//# sourceMappingURL=operations.js.map
\ No newline at end of file
diff --git a/packages/payload/package.json b/packages/payload/package.json
index c075efbff2..f8a66f15bf 100644
--- a/packages/payload/package.json
+++ b/packages/payload/package.json
@@ -41,18 +41,28 @@
"type": "module",
"exports": {
".": {
- "import": "./src/index.ts",
- "require": "./src/index.ts",
- "types": "./src/index.ts"
+ "import": "./src/exports/index.ts",
+ "require": "./src/exports/index.ts",
+ "types": "./src/exports/index.ts"
},
- "./*": {
- "import": "./src/exports/*.ts",
- "require": "./src/exports/*.ts",
- "types": "./src/exports/*.ts"
+ "./shared": {
+ "import": "./src/exports/shared.ts",
+ "require": "./src/exports/shared.ts",
+ "types": "./src/exports/shared.ts"
+ },
+ "./node": {
+ "import": "./src/exports/node.ts",
+ "require": "./src/exports/node.ts",
+ "types": "./src/exports/node.ts"
+ },
+ "./i18n/*": {
+ "import": "./src/exports/i18n/*.ts",
+ "require": "./src/exports/i18n/*.ts",
+ "types": "./src/exports/i18n/*.ts"
}
},
- "main": "./src/index.ts",
- "types": "./src/index.ts",
+ "main": "./src/exports/index.ts",
+ "types": "./src/exports/index.ts",
"bin": {
"payload": "bin.js"
},
@@ -66,8 +76,9 @@
"!jest.components.config.js"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "rimraf .dist && rimraf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc && pnpm build:esbuild",
+ "build:esbuild": "echo skipping esbuild",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"clean:cache": "rimraf node_modules/.cache",
@@ -80,12 +91,12 @@
"dependencies": {
"@next/env": "^15.0.0-rc.0",
"@payloadcms/translations": "workspace:*",
- "@swc-node/core": "^1.13.0",
- "@swc-node/sourcemap-support": "^0.5.0",
+ "@swc-node/core": "1.13.1",
+ "@swc-node/sourcemap-support": "0.5.0",
"ajv": "8.14.0",
"bson-objectid": "2.0.4",
"ci-info": "^4.0.0",
- "conf": "10.2.0",
+ "conf": "12.0.0",
"console-table-printer": "2.11.2",
"dataloader": "2.2.2",
"deepmerge": "4.3.1",
@@ -106,9 +117,10 @@
"sanitize-filename": "1.6.3",
"scmp": "2.1.0",
"ts-essentials": "7.0.3",
- "uuid": "^9.0.1"
+ "uuid": "10.0.0"
},
"devDependencies": {
+ "@hyrious/esbuild-plugin-commonjs": "^0.2.4",
"@monaco-editor/react": "4.5.1",
"@payloadcms/eslint-config": "workspace:*",
"@types/express-fileupload": "1.4.1",
@@ -123,12 +135,13 @@
"@types/uuid": "^9.0.8",
"copyfiles": "2.4.1",
"cross-env": "7.0.3",
+ "esbuild": "^0.21.4",
"graphql-http": "^1.22.0",
"rimraf": "3.0.2",
"sharp": "0.32.6"
},
"peerDependencies": {
- "@swc/core": "^1.4.13",
+ "@swc/core": "^1.6.1",
"graphql": "^16.8.1"
},
"peerDependenciesMeta": {
@@ -142,18 +155,28 @@
"publishConfig": {
"exports": {
".": {
- "import": "./dist/index.js",
- "require": "./dist/index.js",
- "types": "./dist/index.d.ts"
+ "import": "./dist/exports/index.js",
+ "require": "./dist/exports/index.js",
+ "types": "./dist/exports/index.d.ts"
},
- "./*": {
- "import": "./dist/exports/*.js",
- "require": "./dist/exports/*.js",
- "types": "./dist/exports/*.d.ts"
+ "./node": {
+ "import": "./dist/exports/node.js",
+ "require": "./dist/exports/node.js",
+ "types": "./dist/exports/node.d.ts"
+ },
+ "./shared": {
+ "import": "./dist/exports/shared.js",
+ "require": "./dist/exports/shared.js",
+ "types": "./dist/exports/shared.d.ts"
+ },
+ "./i18n/*": {
+ "import": "./dist/exports/i18n/*.js",
+ "require": "./dist/exports/i18n/*.js",
+ "types": "./dist/exports/i18n/*.d.ts"
}
},
- "main": "./dist/index.js",
+ "main": "./dist/exports/index.js",
"registry": "https://registry.npmjs.org/",
- "types": "./dist/index.d.ts"
+ "types": "./dist/exports/index.d.ts"
}
}
diff --git a/packages/payload/src/auth/operations/local/login.ts b/packages/payload/src/auth/operations/local/login.ts
index c5f55c3dca..cd1404700a 100644
--- a/packages/payload/src/auth/operations/local/login.ts
+++ b/packages/payload/src/auth/operations/local/login.ts
@@ -1,4 +1,4 @@
-import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'
+import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'
import type { PayloadRequestWithData } from '../../../types/index.js'
import type { Result } from '../login.js'
diff --git a/packages/payload/src/auth/operations/local/resetPassword.ts b/packages/payload/src/auth/operations/local/resetPassword.ts
index 28d6da6982..6113474ef5 100644
--- a/packages/payload/src/auth/operations/local/resetPassword.ts
+++ b/packages/payload/src/auth/operations/local/resetPassword.ts
@@ -1,4 +1,4 @@
-import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'
+import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'
import type { PayloadRequestWithData } from '../../../types/index.js'
import type { Result } from '../resetPassword.js'
diff --git a/packages/payload/src/auth/operations/local/unlock.ts b/packages/payload/src/auth/operations/local/unlock.ts
index 463518196d..196c1112f8 100644
--- a/packages/payload/src/auth/operations/local/unlock.ts
+++ b/packages/payload/src/auth/operations/local/unlock.ts
@@ -1,4 +1,4 @@
-import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'
+import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'
import type { PayloadRequestWithData } from '../../../types/index.js'
import { APIError } from '../../../errors/index.js'
diff --git a/packages/payload/src/auth/operations/local/verifyEmail.ts b/packages/payload/src/auth/operations/local/verifyEmail.ts
index 76411573e7..053ec7da09 100644
--- a/packages/payload/src/auth/operations/local/verifyEmail.ts
+++ b/packages/payload/src/auth/operations/local/verifyEmail.ts
@@ -1,4 +1,4 @@
-import type { GeneratedTypes, Payload , RequestContext } from '../../../index.js'
+import type { GeneratedTypes, Payload, RequestContext } from '../../../index.js'
import type { PayloadRequestWithData } from '../../../types/index.js'
import { APIError } from '../../../errors/index.js'
diff --git a/packages/payload/src/auth/operations/refresh.ts b/packages/payload/src/auth/operations/refresh.ts
index 6ece98f341..a3362f79b1 100644
--- a/packages/payload/src/auth/operations/refresh.ts
+++ b/packages/payload/src/auth/operations/refresh.ts
@@ -2,7 +2,7 @@ import jwt from 'jsonwebtoken'
import url from 'url'
import type { BeforeOperationHook, Collection } from '../../collections/config/types.js'
-import type { Document , PayloadRequestWithData } from '../../types/index.js'
+import type { Document, PayloadRequestWithData } from '../../types/index.js'
import { buildAfterOperation } from '../../collections/operations/utils.js'
import { Forbidden } from '../../errors/index.js'
diff --git a/packages/payload/src/collections/operations/local/create.ts b/packages/payload/src/collections/operations/local/create.ts
index c3695dc352..2cc119b1f3 100644
--- a/packages/payload/src/collections/operations/local/create.ts
+++ b/packages/payload/src/collections/operations/local/create.ts
@@ -1,6 +1,6 @@
import type { MarkOptional } from 'ts-essentials'
-import type { GeneratedTypes , Payload } from '../../../index.js'
+import type { GeneratedTypes, Payload } from '../../../index.js'
import type { Document, PayloadRequestWithData, RequestContext } from '../../../types/index.js'
import type { File } from '../../../uploads/types.js'
diff --git a/packages/payload/src/collections/operations/local/delete.ts b/packages/payload/src/collections/operations/local/delete.ts
index 6dbbed3d19..6515014f29 100644
--- a/packages/payload/src/collections/operations/local/delete.ts
+++ b/packages/payload/src/collections/operations/local/delete.ts
@@ -1,5 +1,10 @@
-import type { GeneratedTypes , Payload } from '../../../index.js'
-import type { Document, PayloadRequestWithData , RequestContext, Where } from '../../../types/index.js'
+import type { GeneratedTypes, Payload } from '../../../index.js'
+import type {
+ Document,
+ PayloadRequestWithData,
+ RequestContext,
+ Where,
+} from '../../../types/index.js'
import type { BulkOperationResult } from '../../config/types.js'
import { APIError } from '../../../errors/index.js'
diff --git a/packages/payload/src/config/shared/openGraphSchema.ts b/packages/payload/src/config/shared/openGraphSchema.ts
index 0572957181..6ce779ce07 100644
--- a/packages/payload/src/config/shared/openGraphSchema.ts
+++ b/packages/payload/src/config/shared/openGraphSchema.ts
@@ -11,6 +11,6 @@ const ogImageObj = joi.object({
export const openGraphSchema = joi.object({
description: joi.string(),
images: joi.alternatives().try(ogImageObj, joi.array().items(ogImageObj)),
- title: joi.string(),
siteName: joi.string(),
+ title: joi.string(),
})
diff --git a/packages/payload/src/exports/auth.ts b/packages/payload/src/exports/auth.ts
deleted file mode 100644
index 936016a2d2..0000000000
--- a/packages/payload/src/exports/auth.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-export * from '../auth/index.js'
-export { default as executeAccess } from '../auth/executeAccess.js'
-export { executeAuthStrategies } from '../auth/executeAuthStrategies.js'
-export { getAccessResults } from '../auth/getAccessResults.js'
-export { getFieldsToSign } from '../auth/getFieldsToSign.js'
-
-export type {
- AuthStrategyFunction,
- AuthStrategyFunctionArgs,
- CollectionPermission,
- FieldPermissions,
- GlobalPermission,
- IncomingAuthType,
- Permission,
- Permissions,
- User,
- VerifyConfig,
-} from '../auth/types.js'
diff --git a/packages/payload/src/exports/config.ts b/packages/payload/src/exports/config.ts
deleted file mode 100644
index 4ea1451239..0000000000
--- a/packages/payload/src/exports/config.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export { buildConfig } from '../config/build.js'
-export * from '../config/types.js'
-
-export type { FieldTypes } from '../admin/forms/FieldTypes.js'
-export { createClientCollectionConfig } from '../collections/config/client.js'
-export { defaults as collectionDefaults } from '../collections/config/defaults.js'
-export { createClientConfig } from '../config/client.js'
-export { defaults } from '../config/defaults.js'
-export { sanitizeConfig } from '../config/sanitize.js'
-export { baseBlockFields } from '../fields/baseFields/baseBlockFields.js'
-export { baseIDField } from '../fields/baseFields/baseIDField.js'
-export { createClientFieldConfig } from '../fields/config/client.js'
-export { sanitizeFields } from '../fields/config/sanitize.js'
-export { createClientGlobalConfig } from '../globals/config/client.js'
diff --git a/packages/payload/src/exports/database.ts b/packages/payload/src/exports/database.ts
deleted file mode 100644
index 49bb69bdfe..0000000000
--- a/packages/payload/src/exports/database.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-export type {
- BaseDatabaseAdapter,
- BeginTransaction,
- CommitTransaction,
- Connect,
- Count,
- CountArgs,
- Create,
- CreateArgs,
- CreateGlobal,
- CreateGlobalArgs,
- CreateGlobalVersion,
- CreateGlobalVersionArgs,
- CreateMigration,
- CreateVersion,
- CreateVersionArgs,
- DBIdentifierName,
- DatabaseAdapterResult as DatabaseAdapterObj,
- DeleteMany,
- DeleteManyArgs,
- DeleteOne,
- DeleteOneArgs,
- DeleteVersions,
- DeleteVersionsArgs,
- Destroy,
- Find,
- FindArgs,
- FindGlobal,
- FindGlobalArgs,
- FindGlobalVersions,
- FindGlobalVersionsArgs,
- FindOne,
- FindOneArgs,
- FindVersions,
- FindVersionsArgs,
- Init,
- Migration,
- MigrationData,
- MigrationTemplateArgs,
- PaginatedDocs,
- QueryDrafts,
- QueryDraftsArgs,
- RollbackTransaction,
- Transaction,
- TypeWithVersion,
- UpdateGlobal,
- UpdateGlobalArgs,
- UpdateGlobalVersion,
- UpdateGlobalVersionArgs,
- UpdateOne,
- UpdateOneArgs,
- UpdateVersion,
- UpdateVersionArgs,
-} from '../database/types.js'
-
-export type * from '../database/queryValidation/types.js'
-
-export { combineQueries } from '../database/combineQueries.js'
-
-export { createDatabaseAdapter } from '../database/createDatabaseAdapter.js'
-
-export { default as flattenWhereToOperators } from '../database/flattenWhereToOperators.js'
-
-export { getLocalizedPaths } from '../database/getLocalizedPaths.js'
-
-export { createMigration } from '../database/migrations/createMigration.js'
-
-export { getMigrations } from '../database/migrations/getMigrations.js'
-
-export { getPredefinedMigration } from '../database/migrations/getPredefinedMigration.js'
-
-export { migrate } from '../database/migrations/migrate.js'
-
-export { migrateDown } from '../database/migrations/migrateDown.js'
-
-export { migrateRefresh } from '../database/migrations/migrateRefresh.js'
-
-export { migrateReset } from '../database/migrations/migrateReset.js'
-
-export { migrateStatus } from '../database/migrations/migrateStatus.js'
-
-export { migrationTemplate } from '../database/migrations/migrationTemplate.js'
-
-export { migrationsCollection } from '../database/migrations/migrationsCollection.js'
-
-export { readMigrationFiles } from '../database/migrations/readMigrationFiles.js'
-
-export type { EntityPolicies, PathToQuery } from '../database/queryValidation/types.js'
-
-export { validateQueryPaths } from '../database/queryValidation/validateQueryPaths.js'
-
-export { validateSearchParam } from '../database/queryValidation/validateSearchParams.js'
-
-export { commitTransaction } from '../utilities/commitTransaction.js'
-export { initTransaction } from '../utilities/initTransaction.js'
-export { killTransaction } from '../utilities/killTransaction.js'
diff --git a/packages/payload/src/exports/errors.ts b/packages/payload/src/exports/errors.ts
deleted file mode 100644
index 05855f93e2..0000000000
--- a/packages/payload/src/exports/errors.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-export {
- APIError,
- AuthenticationError,
- DuplicateCollection,
- DuplicateFieldName,
- DuplicateGlobal,
- ErrorDeletingFile,
- FileRetrievalError,
- FileUploadError,
- Forbidden,
- InvalidConfiguration,
- InvalidFieldName,
- InvalidFieldRelationship,
- LockedAuth,
- MissingCollectionLabel,
- MissingEditorProp,
- MissingFieldInputOptions,
- MissingFieldType,
- MissingFile,
- NotFound,
- QueryError,
- ValidationError,
-} from '../errors/index.js'
diff --git a/packages/payload/src/exports/fields/index.ts b/packages/payload/src/exports/fields/index.ts
deleted file mode 100644
index c962d6b132..0000000000
--- a/packages/payload/src/exports/fields/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as getDefaultValue } from '../../fields/getDefaultValue.js'
-export { default as sortableFieldTypes } from '../../fields/sortableFieldTypes.js'
diff --git a/packages/payload/src/exports/fields/validations.ts b/packages/payload/src/exports/fields/validations.ts
deleted file mode 100644
index ce5621f412..0000000000
--- a/packages/payload/src/exports/fields/validations.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '../../fields/validations.js'
diff --git a/packages/payload/src/exports/i18n.ts b/packages/payload/src/exports/i18n.ts
deleted file mode 100644
index 6077959207..0000000000
--- a/packages/payload/src/exports/i18n.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { getLocalI18n } from '../translations/getLocalI18n.js'
diff --git a/packages/payload/src/exports/index.ts b/packages/payload/src/exports/index.ts
new file mode 100644
index 0000000000..713056d4b0
--- /dev/null
+++ b/packages/payload/src/exports/index.ts
@@ -0,0 +1,359 @@
+export * from './../types/index.js'
+export type * from '../admin/types.js'
+export type * from '../uploads/types.js'
+
+export type { MeOperationResult } from '../auth/operations/me.js'
+
+export { createDataloaderCacheKey, getDataLoader } from '../collections/dataloader.js'
+
+export { buildConfig } from '../config/build.js'
+
+export type { EmailAdapter as PayloadEmailAdapter, SendEmailOptions } from '../email/types.js'
+
+export {
+ APIError,
+ AuthenticationError,
+ DuplicateCollection,
+ DuplicateFieldName,
+ DuplicateGlobal,
+ ErrorDeletingFile,
+ FileRetrievalError,
+ FileUploadError,
+ Forbidden,
+ InvalidConfiguration,
+ InvalidFieldName,
+ InvalidFieldRelationship,
+ LockedAuth,
+ MissingCollectionLabel,
+ MissingEditorProp,
+ MissingFieldInputOptions,
+ MissingFieldType,
+ MissingFile,
+ NotFound,
+ QueryError,
+ ValidationError,
+} from '../errors/index.js'
+export { traverseFields as afterChangeTraverseFields } from '../fields/hooks/afterChange/traverseFields.js'
+export { promise as afterReadPromise } from '../fields/hooks/afterRead/promise.js'
+
+export { traverseFields as afterReadTraverseFields } from '../fields/hooks/afterRead/traverseFields.js'
+
+export { traverseFields as beforeChangeTraverseFields } from '../fields/hooks/beforeChange/traverseFields.js'
+
+export { traverseFields as beforeValidateTraverseFields } from '../fields/hooks/beforeValidate/traverseFields.js'
+
+export type {
+ CollapsedPreferences,
+ DocumentPreferences,
+ FieldsPreferences,
+ InsideFieldsPreferences,
+ PreferenceRequest,
+ PreferenceUpdateRequest,
+ TabsPreferences,
+} from '../preferences/types.js'
+export { getLocalI18n } from '../translations/getLocalI18n.js'
+
+export { combineMerge } from '../utilities/combineMerge.js'
+export {
+ configToJSONSchema,
+ entityToJSONSchema,
+ fieldsToJSONSchema,
+ withNullableJSONSchemaType,
+} from '../utilities/configToJSONSchema.js'
+export { createArrayFromCommaDelineated } from '../utilities/createArrayFromCommaDelineated.js'
+export { createLocalReq } from '../utilities/createLocalReq.js'
+
+export { default as flattenTopLevelFields } from '../utilities/flattenTopLevelFields.js'
+export { formatLabels, formatNames, toWords } from '../utilities/formatLabels.js'
+
+export { getCollectionIDFieldTypes } from '../utilities/getCollectionIDFieldTypes.js'
+export { getObjectDotNotation } from '../utilities/getObjectDotNotation.js'
+
+export { isEntityHidden } from '../utilities/isEntityHidden.js'
+
+export { isPlainObject } from '../utilities/isPlainObject.js'
+
+export { isValidID } from '../utilities/isValidID.js'
+export { default as isolateObjectProperty } from '../utilities/isolateObjectProperty.js'
+
+export { mapAsync } from '../utilities/mapAsync.js'
+
+export { mergeListSearchAndWhere } from '../utilities/mergeListSearchAndWhere.js'
+
+export { buildVersionCollectionFields } from '../versions/buildCollectionFields.js'
+export { buildVersionGlobalFields } from '../versions/buildGlobalFields.js'
+export { versionDefaults } from '../versions/defaults.js'
+export { deleteCollectionVersions } from '../versions/deleteCollectionVersions.js'
+export { enforceMaxVersions } from '../versions/enforceMaxVersions.js'
+export { getLatestCollectionVersion } from '../versions/getLatestCollectionVersion.js'
+export { getLatestGlobalVersion } from '../versions/getLatestGlobalVersion.js'
+
+export { saveVersion } from '../versions/saveVersion.js'
+export type { TypeWithVersion } from '../versions/types.js'
+export type { ClientCollectionConfig } from './../collections/config/client.js'
+export type {
+ AfterChangeHook as CollectionAfterChangeHook,
+ AfterDeleteHook as CollectionAfterDeleteHook,
+ AfterErrorHook as CollectionAfterErrorHook,
+ AfterForgotPasswordHook as CollectionAfterForgotPasswordHook,
+ AfterLoginHook as CollectionAfterLoginHook,
+ AfterOperationHook as CollectionAfterOperationHook,
+ AfterReadHook as CollectionAfterReadHook,
+ BeforeChangeHook as CollectionBeforeChangeHook,
+ BeforeDeleteHook as CollectionBeforeDeleteHook,
+ BeforeLoginHook as CollectionBeforeLoginHook,
+ BeforeOperationHook as CollectionBeforeOperationHook,
+ BeforeReadHook as CollectionBeforeReadHook,
+ BeforeValidateHook as CollectionBeforeValidateHook,
+ Collection,
+ CollectionConfig,
+ SanitizedCollectionConfig,
+ TypeWithID,
+ TypeWithTimestamps,
+} from './../collections/config/types.js'
+export type { ClientConfig } from './../config/client.js'
+export type {
+ Access,
+ AccessArgs,
+ EditViewComponent,
+ EntityDescription,
+ EntityDescriptionComponent,
+ EntityDescriptionFunction,
+ SanitizedConfig,
+} from './../config/types.js'
+export type { ClientFieldConfig } from './../fields/config/client.js'
+export type {
+ ArrayField,
+ Block,
+ BlockField,
+ CheckboxField,
+ ClientValidate,
+ CodeField,
+ CollapsibleField,
+ Condition,
+ DateField,
+ EmailField,
+ Field,
+ FieldAccess,
+ FieldAffectingData,
+ FieldBase,
+ FieldHook,
+ FieldHookArgs,
+ FieldPresentationalOnly,
+ FieldWithMany,
+ FieldWithMaxDepth,
+ FieldWithPath,
+ FieldWithSubFields,
+ FilterOptions,
+ FilterOptionsProps,
+ GroupField,
+ HookName,
+ JSONField,
+ Labels,
+ NamedTab,
+ NonPresentationalField,
+ NumberField,
+ Option,
+ OptionObject,
+ PointField,
+ PolymorphicRelationshipField,
+ RadioField,
+ RelationshipField,
+ RelationshipValue,
+ RichTextField,
+ RowAdmin,
+ RowField,
+ SelectField,
+ SingleRelationshipField,
+ Tab,
+ TabAsField,
+ TabsAdmin,
+ TabsField,
+ TextField,
+ TextareaField,
+ UIField,
+ UnnamedTab,
+ UploadField,
+ Validate,
+ ValidateOptions,
+ ValueWithRelation,
+} from './../fields/config/types.js'
+
+export type { ClientGlobalConfig } from './../globals/config/client.js'
+export type {
+ AfterChangeHook as GlobalAfterChangeHook,
+ AfterReadHook as GlobalAfterReadHook,
+ BeforeChangeHook as GlobalBeforeChangeHook,
+ BeforeReadHook as GlobalBeforeReadHook,
+ BeforeValidateHook as GlobalBeforeValidateHook,
+ GlobalConfig,
+ SanitizedGlobalConfig,
+} from './../globals/config/types.js'
+export * from '../config/types.js'
+
+export type { FieldTypes } from '../admin/forms/FieldTypes.js'
+export type {
+ AuthStrategyFunction,
+ AuthStrategyFunctionArgs,
+ CollectionPermission,
+ DocumentPermissions,
+ FieldPermissions,
+ GlobalPermission,
+ IncomingAuthType,
+ Permission,
+ Permissions,
+ User,
+ VerifyConfig,
+} from '../auth/types.js'
+export { createClientCollectionConfig } from '../collections/config/client.js'
+export { createClientConfig } from '../config/client.js'
+
+export { defaults } from '../config/defaults.js'
+export type {
+ BaseDatabaseAdapter,
+ BeginTransaction,
+ CommitTransaction,
+ Connect,
+ Count,
+ CountArgs,
+ Create,
+ CreateArgs,
+ CreateGlobal,
+ CreateGlobalArgs,
+ CreateGlobalVersion,
+ CreateGlobalVersionArgs,
+ CreateMigration,
+ CreateVersion,
+ CreateVersionArgs,
+ DBIdentifierName,
+ DatabaseAdapterResult as DatabaseAdapterObj,
+ DeleteMany,
+ DeleteManyArgs,
+ DeleteOne,
+ DeleteOneArgs,
+ DeleteVersions,
+ DeleteVersionsArgs,
+ Destroy,
+ Find,
+ FindArgs,
+ FindGlobal,
+ FindGlobalArgs,
+ FindGlobalVersions,
+ FindGlobalVersionsArgs,
+ FindOne,
+ FindOneArgs,
+ FindVersions,
+ FindVersionsArgs,
+ Init,
+ Migration,
+ MigrationData,
+ MigrationTemplateArgs,
+ PaginatedDocs,
+ QueryDrafts,
+ QueryDraftsArgs,
+ RollbackTransaction,
+ Transaction,
+ UpdateGlobal,
+ UpdateGlobalArgs,
+ UpdateGlobalVersion,
+ UpdateGlobalVersionArgs,
+ UpdateOne,
+ UpdateOneArgs,
+ UpdateVersion,
+ UpdateVersionArgs,
+} from '../database/types.js'
+export { baseBlockFields } from '../fields/baseFields/baseBlockFields.js'
+export { baseIDField } from '../fields/baseFields/baseIDField.js'
+export { createClientFieldConfig } from '../fields/config/client.js'
+export { sanitizeFields } from '../fields/config/sanitize.js'
+
+export { createClientGlobalConfig } from '../globals/config/client.js'
+
+export type * from '../database/queryValidation/types.js'
+
+export { accessOperation } from '../auth/operations/access.js'
+export { forgotPasswordOperation } from '../auth/operations/forgotPassword.js'
+export { initOperation } from '../auth/operations/init.js'
+export { loginOperation } from '../auth/operations/login.js'
+
+export { logoutOperation } from '../auth/operations/logout.js'
+export { meOperation } from '../auth/operations/me.js'
+export { refreshOperation } from '../auth/operations/refresh.js'
+export { registerFirstUserOperation } from '../auth/operations/registerFirstUser.js'
+export { resetPasswordOperation } from '../auth/operations/resetPassword.js'
+export { unlockOperation } from '../auth/operations/unlock.js'
+export { verifyEmailOperation } from '../auth/operations/verifyEmail.js'
+export { countOperation } from '../collections/operations/count.js'
+export { createOperation } from '../collections/operations/create.js'
+export { deleteOperation } from '../collections/operations/delete.js'
+export { deleteByIDOperation } from '../collections/operations/deleteByID.js'
+export { docAccessOperation } from '../collections/operations/docAccess.js'
+
+export { duplicateOperation } from '../collections/operations/duplicate.js'
+export { findOperation } from '../collections/operations/find.js'
+export { findByIDOperation } from '../collections/operations/findByID.js'
+export { findVersionByIDOperation } from '../collections/operations/findVersionByID.js'
+export { findVersionsOperation } from '../collections/operations/findVersions.js'
+export { restoreVersionOperation } from '../collections/operations/restoreVersion.js'
+export { updateOperation } from '../collections/operations/update.js'
+export { updateByIDOperation } from '../collections/operations/updateByID.js'
+export { sanitizeConfig } from '../config/sanitize.js'
+export type { EntityPolicies, PathToQuery } from '../database/queryValidation/types.js'
+export { default as getDefaultValue } from '../fields/getDefaultValue.js'
+export { default as sortableFieldTypes } from '../fields/sortableFieldTypes.js'
+
+export { docAccessOperation as docAccessOperationGlobal } from '../globals/operations/docAccess.js'
+export { findOneOperation } from '../globals/operations/findOne.js'
+export { findVersionByIDOperation as findVersionByIDOperationGlobal } from '../globals/operations/findVersionByID.js'
+export { findVersionsOperation as findVersionsOperationGlobal } from '../globals/operations/findVersions.js'
+export { restoreVersionOperation as restoreVersionOperationGlobal } from '../globals/operations/restoreVersion.js'
+export { updateOperation as updateOperationGlobal } from '../globals/operations/update.js'
+export type { DatabaseAdapter, GeneratedTypes, Payload, RequestContext } from '../index.js'
+
+export * from '../auth/index.js'
+export { default as executeAccess } from '../auth/executeAccess.js'
+export { executeAuthStrategies } from '../auth/executeAuthStrategies.js'
+export { getAccessResults } from '../auth/getAccessResults.js'
+export { getFieldsToSign } from '../auth/getFieldsToSign.js'
+export { combineQueries } from '../database/combineQueries.js'
+
+export { createDatabaseAdapter } from '../database/createDatabaseAdapter.js'
+
+export { default as flattenWhereToOperators } from '../database/flattenWhereToOperators.js'
+
+export { getLocalizedPaths } from '../database/getLocalizedPaths.js'
+
+export { createMigration } from '../database/migrations/createMigration.js'
+
+export { getMigrations } from '../database/migrations/getMigrations.js'
+
+export { getPredefinedMigration } from '../database/migrations/getPredefinedMigration.js'
+
+export { migrate } from '../database/migrations/migrate.js'
+
+export { migrateDown } from '../database/migrations/migrateDown.js'
+
+export { migrateRefresh } from '../database/migrations/migrateRefresh.js'
+
+export { migrateReset } from '../database/migrations/migrateReset.js'
+
+export { migrateStatus } from '../database/migrations/migrateStatus.js'
+
+export { migrationTemplate } from '../database/migrations/migrationTemplate.js'
+
+export { migrationsCollection } from '../database/migrations/migrationsCollection.js'
+
+export { readMigrationFiles } from '../database/migrations/readMigrationFiles.js'
+
+export { validateQueryPaths } from '../database/queryValidation/validateQueryPaths.js'
+
+export { validateSearchParam } from '../database/queryValidation/validateSearchParams.js'
+
+export { BasePayload, default, getPayload } from '../index.js'
+export { getFileByPath } from '../uploads/getFileByPath.js'
+
+export { commitTransaction } from '../utilities/commitTransaction.js'
+
+export { initTransaction } from '../utilities/initTransaction.js'
+
+export { killTransaction } from '../utilities/killTransaction.js'
diff --git a/packages/payload/src/exports/node.ts b/packages/payload/src/exports/node.ts
index 0d38bb8a39..3815010e4c 100644
--- a/packages/payload/src/exports/node.ts
+++ b/packages/payload/src/exports/node.ts
@@ -1,5 +1,5 @@
/**
- * WARNING: This file contains exports that can only be safely used on the server.
+ * WARNING: This file contains exports that can only be safely used in Node environments.
*/
export { generateTypes } from '../bin/generateTypes.js'
diff --git a/packages/payload/src/exports/operations.ts b/packages/payload/src/exports/operations.ts
deleted file mode 100644
index 878a25ebea..0000000000
--- a/packages/payload/src/exports/operations.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-export { accessOperation } from '../auth/operations/access.js'
-export { forgotPasswordOperation } from '../auth/operations/forgotPassword.js'
-export { initOperation } from '../auth/operations/init.js'
-export { loginOperation } from '../auth/operations/login.js'
-export { logoutOperation } from '../auth/operations/logout.js'
-export { meOperation } from '../auth/operations/me.js'
-export { refreshOperation } from '../auth/operations/refresh.js'
-export { registerFirstUserOperation } from '../auth/operations/registerFirstUser.js'
-export { resetPasswordOperation } from '../auth/operations/resetPassword.js'
-export { unlockOperation } from '../auth/operations/unlock.js'
-export { verifyEmailOperation } from '../auth/operations/verifyEmail.js'
-export { countOperation } from '../collections/operations/count.js'
-
-export { createOperation } from '../collections/operations/create.js'
-export { deleteOperation } from '../collections/operations/delete.js'
-export { deleteByIDOperation } from '../collections/operations/deleteByID.js'
-export { docAccessOperation } from '../collections/operations/docAccess.js'
-export { duplicateOperation } from '../collections/operations/duplicate.js'
-export { findOperation } from '../collections/operations/find.js'
-export { findByIDOperation } from '../collections/operations/findByID.js'
-export { findVersionByIDOperation } from '../collections/operations/findVersionByID.js'
-export { findVersionsOperation } from '../collections/operations/findVersions.js'
-export { restoreVersionOperation } from '../collections/operations/restoreVersion.js'
-export { updateOperation } from '../collections/operations/update.js'
-export { updateByIDOperation } from '../collections/operations/updateByID.js'
-
-export { docAccessOperation as docAccessOperationGlobal } from '../globals/operations/docAccess.js'
-export { findOneOperation } from '../globals/operations/findOne.js'
-export { findVersionByIDOperation as findVersionByIDOperationGlobal } from '../globals/operations/findVersionByID.js'
-export { findVersionsOperation as findVersionsOperationGlobal } from '../globals/operations/findVersions.js'
-export { restoreVersionOperation as restoreVersionOperationGlobal } from '../globals/operations/restoreVersion.js'
-export { updateOperation as updateOperationGlobal } from '../globals/operations/update.js'
diff --git a/packages/payload/src/exports/shared.ts b/packages/payload/src/exports/shared.ts
new file mode 100644
index 0000000000..8a2b60cffb
--- /dev/null
+++ b/packages/payload/src/exports/shared.ts
@@ -0,0 +1,51 @@
+export * from '../fields/validations.js'
+export { defaults as collectionDefaults } from '../collections/config/defaults.js'
+export { serverProps } from '../config/types.js'
+
+export {
+ fieldAffectsData,
+ fieldHasMaxDepth,
+ fieldHasSubFields,
+ fieldIsArrayType,
+ fieldIsBlockType,
+ fieldIsGroupType,
+ fieldIsLocalized,
+ fieldIsPresentationalOnly,
+ fieldSupportsMany,
+ optionIsObject,
+ optionIsValue,
+ optionsAreObjects,
+ tabHasName,
+ valueIsValueWithRelation,
+} from '../fields/config/types.js'
+
+export { validOperators } from '../types/constants.js'
+export { formatFilesize } from '../uploads/formatFilesize.js'
+
+export { isImage } from '../uploads/isImage.js'
+
+export { deepCopyObject } from '../utilities/deepCopyObject.js'
+
+export { deepMerge } from '../utilities/deepMerge.js'
+
+export { fieldSchemaToJSON } from '../utilities/fieldSchemaToJSON.js'
+
+export { getUniqueListBy } from '../utilities/getUniqueListBy.js'
+
+export { isNumber } from '../utilities/isNumber.js'
+
+export {
+ isReactClientComponent,
+ isReactComponentOrFunction,
+ isReactServerComponentOrFunction,
+} from '../utilities/isReactComponent.js'
+
+export { setsAreEqual } from '../utilities/setsAreEqual.js'
+
+export { default as toKebabCase } from '../utilities/toKebabCase.js'
+
+export { wait } from '../utilities/wait.js'
+
+export { default as wordBoundariesRegex } from '../utilities/wordBoundariesRegex.js'
+
+export { versionDefaults } from '../versions/defaults.js'
diff --git a/packages/payload/src/exports/types.ts b/packages/payload/src/exports/types.ts
deleted file mode 100644
index 493ff97082..0000000000
--- a/packages/payload/src/exports/types.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-export * from './../types/index.js'
-export type * from '../admin/types.js'
-export type * from '../uploads/types.js'
-
-export type { DocumentPermissions, FieldPermissions } from '../auth/index.js'
-export type { MeOperationResult } from '../auth/operations/me.js'
-
-export type { EmailAdapter as PayloadEmailAdapter, SendEmailOptions } from '../email/types.js'
-
-export type {
- CollapsedPreferences,
- DocumentPreferences,
- FieldsPreferences,
- InsideFieldsPreferences,
- PreferenceRequest,
- PreferenceUpdateRequest,
- TabsPreferences,
-} from '../preferences/types.js'
-
-export type { ClientCollectionConfig } from './../collections/config/client.js'
-
-export type {
- AfterChangeHook as CollectionAfterChangeHook,
- AfterDeleteHook as CollectionAfterDeleteHook,
- AfterErrorHook as CollectionAfterErrorHook,
- AfterForgotPasswordHook as CollectionAfterForgotPasswordHook,
- AfterLoginHook as CollectionAfterLoginHook,
- AfterOperationHook as CollectionAfterOperationHook,
- AfterReadHook as CollectionAfterReadHook,
- BeforeChangeHook as CollectionBeforeChangeHook,
- BeforeDeleteHook as CollectionBeforeDeleteHook,
- BeforeLoginHook as CollectionBeforeLoginHook,
- BeforeOperationHook as CollectionBeforeOperationHook,
- BeforeReadHook as CollectionBeforeReadHook,
- BeforeValidateHook as CollectionBeforeValidateHook,
- Collection,
- CollectionConfig,
- SanitizedCollectionConfig,
- TypeWithID,
- TypeWithTimestamps,
-} from './../collections/config/types.js'
-export type { ClientConfig } from './../config/client.js'
-export type {
- Access,
- AccessArgs,
- EditViewComponent,
- EntityDescription,
- EntityDescriptionComponent,
- EntityDescriptionFunction,
- SanitizedConfig,
-} from './../config/types.js'
-export type { ClientFieldConfig } from './../fields/config/client.js'
-
-export type {
- ArrayField,
- Block,
- BlockField,
- CheckboxField,
- ClientValidate,
- CodeField,
- CollapsibleField,
- Condition,
- DateField,
- EmailField,
- Field,
- FieldAccess,
- FieldAffectingData,
- FieldBase,
- FieldHook,
- FieldHookArgs,
- FieldPresentationalOnly,
- FieldWithMany,
- FieldWithMaxDepth,
- FieldWithPath,
- FieldWithSubFields,
- FilterOptions,
- FilterOptionsProps,
- GroupField,
- HookName,
- JSONField,
- Labels,
- NamedTab,
- NonPresentationalField,
- NumberField,
- Option,
- OptionObject,
- PointField,
- PolymorphicRelationshipField,
- RadioField,
- RelationshipField,
- RelationshipValue,
- RichTextField,
- RowAdmin,
- RowField,
- SelectField,
- SingleRelationshipField,
- Tab,
- TabAsField,
- TabsAdmin,
- TabsField,
- TextField,
- TextareaField,
- UIField,
- UnnamedTab,
- UploadField,
- Validate,
- ValidateOptions,
- ValueWithRelation,
-} from './../fields/config/types.js'
-
-export {
- fieldAffectsData,
- fieldHasMaxDepth,
- fieldHasSubFields,
- fieldIsArrayType,
- fieldIsBlockType,
- fieldIsGroupType,
- fieldIsLocalized,
- fieldIsPresentationalOnly,
- fieldSupportsMany,
- optionIsObject,
- optionIsValue,
- optionsAreObjects,
- tabHasName,
- valueIsValueWithRelation,
-} from './../fields/config/types.js'
-
-export type { ClientGlobalConfig } from './../globals/config/client.js'
-
-export type {
- AfterChangeHook as GlobalAfterChangeHook,
- AfterReadHook as GlobalAfterReadHook,
- BeforeChangeHook as GlobalBeforeChangeHook,
- BeforeReadHook as GlobalBeforeReadHook,
- BeforeValidateHook as GlobalBeforeValidateHook,
- GlobalConfig,
- SanitizedGlobalConfig,
-} from './../globals/config/types.js'
-export { validOperators } from './../types/constants.js'
diff --git a/packages/payload/src/exports/uploads.ts b/packages/payload/src/exports/uploads.ts
deleted file mode 100644
index 5fd9c289d4..0000000000
--- a/packages/payload/src/exports/uploads.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { getFileByPath } from '../uploads/getFileByPath.js'
diff --git a/packages/payload/src/exports/utilities.ts b/packages/payload/src/exports/utilities.ts
deleted file mode 100644
index 4528d6ae71..0000000000
--- a/packages/payload/src/exports/utilities.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * WARNING: This file contains exports that can only be safely used on the front-end
- */
-
-export { createDataloaderCacheKey, getDataLoader } from '../collections/dataloader.js'
-export { default as getDefaultValue } from '../fields/getDefaultValue.js'
-export { traverseFields as afterChangeTraverseFields } from '../fields/hooks/afterChange/traverseFields.js'
-export { promise as afterReadPromise } from '../fields/hooks/afterRead/promise.js'
-export { traverseFields as afterReadTraverseFields } from '../fields/hooks/afterRead/traverseFields.js'
-export { traverseFields as beforeChangeTraverseFields } from '../fields/hooks/beforeChange/traverseFields.js'
-export { traverseFields as beforeValidateTraverseFields } from '../fields/hooks/beforeValidate/traverseFields.js'
-
-export { formatFilesize } from '../uploads/formatFilesize.js'
-
-export { isImage } from '../uploads/isImage.js'
-
-export { combineMerge } from '../utilities/combineMerge.js'
-export {
- configToJSONSchema,
- entityToJSONSchema,
- fieldsToJSONSchema,
- withNullableJSONSchemaType,
-} from '../utilities/configToJSONSchema.js'
-
-export { createArrayFromCommaDelineated } from '../utilities/createArrayFromCommaDelineated.js'
-export { createLocalReq } from '../utilities/createLocalReq.js'
-export { deepCopyObject } from '../utilities/deepCopyObject.js'
-
-export { deepMerge } from '../utilities/deepMerge.js'
-export { fieldSchemaToJSON } from '../utilities/fieldSchemaToJSON.js'
-
-export { default as flattenTopLevelFields } from '../utilities/flattenTopLevelFields.js'
-
-export { formatLabels, formatNames, toWords } from '../utilities/formatLabels.js'
-export { getCollectionIDFieldTypes } from '../utilities/getCollectionIDFieldTypes.js'
-export { getObjectDotNotation } from '../utilities/getObjectDotNotation.js'
-
-export { default as getUniqueListBy } from '../utilities/getUniqueListBy.js'
-
-export { isEntityHidden } from '../utilities/isEntityHidden.js'
-export { isNumber } from '../utilities/isNumber.js'
-
-export { isPlainObject } from '../utilities/isPlainObject.js'
-export {
- isReactClientComponent,
- isReactComponentOrFunction,
- isReactServerComponentOrFunction,
-} from '../utilities/isReactComponent.js'
-export { isValidID } from '../utilities/isValidID.js'
-
-export { default as isolateObjectProperty } from '../utilities/isolateObjectProperty.js'
-export { mapAsync } from '../utilities/mapAsync.js'
-export { mergeListSearchAndWhere } from '../utilities/mergeListSearchAndWhere.js'
-export { setsAreEqual } from '../utilities/setsAreEqual.js'
-export { default as toKebabCase } from '../utilities/toKebabCase.js'
-export { wait } from '../utilities/wait.js'
-export { default as wordBoundariesRegex } from '../utilities/wordBoundariesRegex.js'
diff --git a/packages/payload/src/exports/versions.ts b/packages/payload/src/exports/versions.ts
deleted file mode 100644
index e911ca3a9b..0000000000
--- a/packages/payload/src/exports/versions.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export { buildVersionCollectionFields } from '../versions/buildCollectionFields.js'
-export { buildVersionGlobalFields } from '../versions/buildGlobalFields.js'
-export { versionDefaults } from '../versions/defaults.js'
-export { deleteCollectionVersions } from '../versions/deleteCollectionVersions.js'
-export { enforceMaxVersions } from '../versions/enforceMaxVersions.js'
-export { getLatestCollectionVersion } from '../versions/getLatestCollectionVersion.js'
-export { getLatestGlobalVersion } from '../versions/getLatestGlobalVersion.js'
-export { saveVersion } from '../versions/saveVersion.js'
-export type { TypeWithVersion } from '../versions/types.js'
diff --git a/packages/payload/src/globals/config/types.ts b/packages/payload/src/globals/config/types.ts
index 69c3852d7f..08f3714562 100644
--- a/packages/payload/src/globals/config/types.ts
+++ b/packages/payload/src/globals/config/types.ts
@@ -19,7 +19,7 @@ import type {
} from '../../config/types.js'
import type { DBIdentifierName } from '../../database/types.js'
import type { Field } from '../../fields/config/types.js'
-import type { PayloadRequestWithData, RequestContext , Where } from '../../types/index.js'
+import type { PayloadRequestWithData, RequestContext, Where } from '../../types/index.js'
import type { IncomingGlobalVersions, SanitizedGlobalVersions } from '../../versions/types.js'
export type TypeWithID = {
diff --git a/packages/payload/src/utilities/getUniqueListBy.ts b/packages/payload/src/utilities/getUniqueListBy.ts
index af7b688791..8fd04c7ef7 100644
--- a/packages/payload/src/utilities/getUniqueListBy.ts
+++ b/packages/payload/src/utilities/getUniqueListBy.ts
@@ -1,3 +1,3 @@
-export default function getUniqueListBy(arr: T[], key: string): T[] {
+export function getUniqueListBy(arr: T[], key: string): T[] {
return [...new Map(arr.map((item) => [item[key], item])).values()]
}
diff --git a/packages/payload/src/utilities/telemetry/index.ts b/packages/payload/src/utilities/telemetry/index.ts
index 6b95b6a01b..c240fdc5c0 100644
--- a/packages/payload/src/utilities/telemetry/index.ts
+++ b/packages/payload/src/utilities/telemetry/index.ts
@@ -1,6 +1,6 @@
import { execSync } from 'child_process'
import ciInfo from 'ci-info'
-import ConfImport from 'conf'
+import Conf from 'conf'
import { randomBytes } from 'crypto'
import { findUp } from 'find-up'
import fs from 'fs'
@@ -13,8 +13,6 @@ import type { ServerInitEvent } from './events/serverInit.js'
import { oneWayHash } from './oneWayHash.js'
-const Conf = (ConfImport.default || ConfImport) as unknown as typeof ConfImport.default
-
export type BaseEvent = {
ciName: null | string
dbAdapter: string
diff --git a/packages/payload/types.d.ts b/packages/payload/types.d.ts
deleted file mode 100644
index f857e88db5..0000000000
--- a/packages/payload/types.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-export * from './dist/types/index.js';
-export type * from './dist/admin/types.js';
-export type * from './dist/uploads/types.js';
-export type { DocumentPermissions, FieldPermissions } from './dist/auth/index.js';
-export type { MeOperationResult } from './dist/auth/operations/me.js';
-export type { CollapsedPreferences, DocumentPreferences, FieldsPreferences, InsideFieldsPreferences, PreferenceRequest, PreferenceUpdateRequest, TabsPreferences, } from './dist/preferences/types.js';
-export type { ClientCollectionConfig } from './dist/collections/config/client.js';
-export type { AfterChangeHook as CollectionAfterChangeHook, AfterDeleteHook as CollectionAfterDeleteHook, AfterErrorHook as CollectionAfterErrorHook, AfterForgotPasswordHook as CollectionAfterForgotPasswordHook, AfterLoginHook as CollectionAfterLoginHook, AfterOperationHook as CollectionAfterOperationHook, AfterReadHook as CollectionAfterReadHook, BeforeChangeHook as CollectionBeforeChangeHook, BeforeDeleteHook as CollectionBeforeDeleteHook, BeforeLoginHook as CollectionBeforeLoginHook, BeforeOperationHook as CollectionBeforeOperationHook, BeforeReadHook as CollectionBeforeReadHook, BeforeValidateHook as CollectionBeforeValidateHook, Collection, CollectionConfig, SanitizedCollectionConfig, TypeWithID, TypeWithTimestamps, } from './dist/collections/config/types.js';
-export type { ClientConfig } from './dist/config/client.js';
-export type { Access, AccessArgs, EditViewComponent, EntityDescription, EntityDescriptionComponent, EntityDescriptionFunction, SanitizedConfig, } from './dist/config/types.js';
-export type { ClientFieldConfig } from './dist/fields/config/client.js';
-export type { ArrayField, Block, BlockField, CheckboxField, ClientValidate, CodeField, CollapsibleField, Condition, DateField, EmailField, Field, FieldAccess, FieldAffectingData, FieldBase, FieldHook, FieldHookArgs, FieldPresentationalOnly, FieldWithMany, FieldWithMaxDepth, FieldWithPath, FieldWithRichTextRequiredEditor, FieldWithSubFields, FilterOptions, FilterOptionsProps, GroupField, HookName, JSONField, Labels, NamedTab, NonPresentationalField, NumberField, Option, OptionObject, PointField, PolymorphicRelationshipField, RadioField, RelationshipField, RelationshipValue, RichTextField, RichTextFieldRequiredEditor, RowAdmin, RowField, SelectField, SingleRelationshipField, Tab, TabAsField, TabsAdmin, TabsField, TextField, TextareaField, UIField, UnnamedTab, UploadField, Validate, ValidateOptions, ValueWithRelation, } from './dist/fields/config/types.js';
-export { fieldAffectsData, fieldHasMaxDepth, fieldHasSubFields, fieldIsArrayType, fieldIsBlockType, fieldIsGroupType, fieldIsLocalized, fieldIsPresentationalOnly, fieldSupportsMany, optionIsObject, optionIsValue, optionsAreObjects, tabHasName, valueIsValueWithRelation, } from './dist/fields/config/types.js';
-export type { ClientGlobalConfig } from './dist/globals/config/client.js';
-export type { AfterChangeHook as GlobalAfterChangeHook, AfterReadHook as GlobalAfterReadHook, BeforeChangeHook as GlobalBeforeChangeHook, BeforeReadHook as GlobalBeforeReadHook, BeforeValidateHook as GlobalBeforeValidateHook, GlobalConfig, SanitizedGlobalConfig, } from './dist/globals/config/types.js';
-export { validOperators } from './dist/types/constants.js';
-//# sourceMappingURL=types.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/types.js b/packages/payload/types.js
deleted file mode 100644
index bb6663e81f..0000000000
--- a/packages/payload/types.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export * from './dist/types/index.js';
-export { fieldAffectsData, fieldHasMaxDepth, fieldHasSubFields, fieldIsArrayType, fieldIsBlockType, fieldIsGroupType, fieldIsLocalized, fieldIsPresentationalOnly, fieldSupportsMany, optionIsObject, optionIsValue, optionsAreObjects, tabHasName, valueIsValueWithRelation } from './dist/fields/config/types.js';
-export { validOperators } from './dist/types/constants.js';
-
-//# sourceMappingURL=types.js.map
\ No newline at end of file
diff --git a/packages/payload/utilities.d.ts b/packages/payload/utilities.d.ts
deleted file mode 100644
index 72aa9c30f1..0000000000
--- a/packages/payload/utilities.d.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-export { getDataLoader } from './dist/collections/dataloader.js';
-export { default as getDefaultValue } from './dist/fields/getDefaultValue.js';
-export { promise as afterReadPromise } from './dist/fields/hooks/afterRead/promise.js';
-export { traverseFields as afterReadTraverseFields } from './dist/fields/hooks/afterRead/traverseFields.js';
-export { extractTranslations } from './dist/translations/extractTranslations.js';
-export { formatFilesize } from './dist/uploads/formatFilesize.js';
-export { default as isImage } from './dist/uploads/isImage.js';
-export { combineMerge } from './dist/utilities/combineMerge.js';
-export { configToJSONSchema, entityToJSONSchema, fieldsToJSONSchema, withNullableJSONSchemaType, } from './dist/utilities/configToJSONSchema.js';
-export { createArrayFromCommaDelineated } from './dist/utilities/createArrayFromCommaDelineated.js';
-export { createLocalReq } from './dist/utilities/createLocalReq.js';
-export { deepCopyObject } from './dist/utilities/deepCopyObject.js';
-export { deepMerge } from './dist/utilities/deepMerge.js';
-export { fieldSchemaToJSON } from './dist/utilities/fieldSchemaToJSON.js';
-export { default as flattenTopLevelFields } from './dist/utilities/flattenTopLevelFields.js';
-export { formatLabels, formatNames, toWords } from './dist/utilities/formatLabels.js';
-export { getCollectionIDFieldTypes } from './dist/utilities/getCollectionIDFieldTypes.js';
-export { getIDType } from './dist/utilities/getIDType.js';
-export { getObjectDotNotation } from './dist/utilities/getObjectDotNotation.js';
-export { default as getUniqueListBy } from './dist/utilities/getUniqueListBy.js';
-export { isEntityHidden } from './dist/utilities/isEntityHidden.js';
-export { isNumber } from './dist/utilities/isNumber.js';
-export { isPlainObject } from './dist/utilities/isPlainObject.js';
-export { isPlainFunction, isReactComponent } from './dist/utilities/isReactComponent.js';
-export { isValidID } from './dist/utilities/isValidID.js';
-export { default as isolateObjectProperty } from './dist/utilities/isolateObjectProperty.js';
-export { mapAsync } from './dist/utilities/mapAsync.js';
-export { mergeListSearchAndWhere } from './dist/utilities/mergeListSearchAndWhere.js';
-export { setsAreEqual } from './dist/utilities/setsAreEqual.js';
-export { default as toKebabCase } from './dist/utilities/toKebabCase.js';
-export { wait } from './dist/utilities/wait.js';
-export { default as wordBoundariesRegex } from './dist/utilities/wordBoundariesRegex.js';
-//# sourceMappingURL=utilities.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/utilities.js b/packages/payload/utilities.js
deleted file mode 100644
index 3723817c74..0000000000
--- a/packages/payload/utilities.js
+++ /dev/null
@@ -1,34 +0,0 @@
-export { getDataLoader } from './dist/collections/dataloader.js';
-export { default as getDefaultValue } from './dist/fields/getDefaultValue.js';
-export { promise as afterReadPromise } from './dist/fields/hooks/afterRead/promise.js';
-export { traverseFields as afterReadTraverseFields } from './dist/fields/hooks/afterRead/traverseFields.js';
-export { extractTranslations } from './dist/translations/extractTranslations.js';
-export { formatFilesize } from './dist/uploads/formatFilesize.js';
-export { default as isImage } from './dist/uploads/isImage.js';
-export { combineMerge } from './dist/utilities/combineMerge.js';
-export { configToJSONSchema, entityToJSONSchema, fieldsToJSONSchema, withNullableJSONSchemaType } from './dist/utilities/configToJSONSchema.js';
-export { createArrayFromCommaDelineated } from './dist/utilities/createArrayFromCommaDelineated.js';
-export { createLocalReq } from './dist/utilities/createLocalReq.js';
-export { deepCopyObject } from './dist/utilities/deepCopyObject.js';
-export { deepMerge } from './dist/utilities/deepMerge.js';
-export { fieldSchemaToJSON } from './dist/utilities/fieldSchemaToJSON.js';
-export { default as flattenTopLevelFields } from './dist/utilities/flattenTopLevelFields.js';
-export { formatLabels, formatNames, toWords } from './dist/utilities/formatLabels.js';
-export { getCollectionIDFieldTypes } from './dist/utilities/getCollectionIDFieldTypes.js';
-export { getIDType } from './dist/utilities/getIDType.js';
-export { getObjectDotNotation } from './dist/utilities/getObjectDotNotation.js';
-export { default as getUniqueListBy } from './dist/utilities/getUniqueListBy.js';
-export { isEntityHidden } from './dist/utilities/isEntityHidden.js';
-export { isNumber } from './dist/utilities/isNumber.js';
-export { isPlainObject } from './dist/utilities/isPlainObject.js';
-export { isPlainFunction, isReactComponent } from './dist/utilities/isReactComponent.js';
-export { isValidID } from './dist/utilities/isValidID.js';
-export { default as isolateObjectProperty } from './dist/utilities/isolateObjectProperty.js';
-export { mapAsync } from './dist/utilities/mapAsync.js';
-export { mergeListSearchAndWhere } from './dist/utilities/mergeListSearchAndWhere.js';
-export { setsAreEqual } from './dist/utilities/setsAreEqual.js';
-export { default as toKebabCase } from './dist/utilities/toKebabCase.js';
-export { wait } from './dist/utilities/wait.js';
-export { default as wordBoundariesRegex } from './dist/utilities/wordBoundariesRegex.js';
-
-//# sourceMappingURL=utilities.js.map
\ No newline at end of file
diff --git a/packages/payload/versions.d.ts b/packages/payload/versions.d.ts
deleted file mode 100644
index e9cb20536d..0000000000
--- a/packages/payload/versions.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export { buildVersionCollectionFields } from './dist/versions/buildCollectionFields.js';
-export { buildVersionGlobalFields } from './dist/versions/buildGlobalFields.js';
-export { deleteCollectionVersions } from './dist/versions/deleteCollectionVersions.js';
-export { enforceMaxVersions } from './dist/versions/enforceMaxVersions.js';
-export { getLatestCollectionVersion } from './dist/versions/getLatestCollectionVersion.js';
-export { getLatestGlobalVersion } from './dist/versions/getLatestGlobalVersion.js';
-export { saveVersion } from './dist/versions/saveVersion.js';
-export type { TypeWithVersion } from './dist/versions/types.js';
-//# sourceMappingURL=versions.d.ts.map
\ No newline at end of file
diff --git a/packages/payload/versions.js b/packages/payload/versions.js
deleted file mode 100644
index 03bbc60ca9..0000000000
--- a/packages/payload/versions.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export { buildVersionCollectionFields } from './dist/versions/buildCollectionFields.js';
-export { buildVersionGlobalFields } from './dist/versions/buildGlobalFields.js';
-export { deleteCollectionVersions } from './dist/versions/deleteCollectionVersions.js';
-export { enforceMaxVersions } from './dist/versions/enforceMaxVersions.js';
-export { getLatestCollectionVersion } from './dist/versions/getLatestCollectionVersion.js';
-export { getLatestGlobalVersion } from './dist/versions/getLatestGlobalVersion.js';
-export { saveVersion } from './dist/versions/saveVersion.js';
-
-//# sourceMappingURL=versions.js.map
\ No newline at end of file
diff --git a/packages/plugin-cloud-storage/README.md b/packages/plugin-cloud-storage/README.md
index 47aa4a5d3d..3c6d70d4a4 100644
--- a/packages/plugin-cloud-storage/README.md
+++ b/packages/plugin-cloud-storage/README.md
@@ -20,7 +20,7 @@ This package is now best used for implementing custom storage solutions or third
## Usage
```ts
-import { buildConfig } from 'payload/config'
+import { buildConfig } from 'payload'
import { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'
export default buildConfig({
diff --git a/packages/plugin-cloud-storage/azure.d.ts b/packages/plugin-cloud-storage/azure.d.ts
index a7191c870b..a423190a75 100644
--- a/packages/plugin-cloud-storage/azure.d.ts
+++ b/packages/plugin-cloud-storage/azure.d.ts
@@ -1,2 +1,2 @@
-export { azureBlobStorageAdapter } from './dist/adapters/azure/index.js';
-//# sourceMappingURL=azure.d.ts.map
\ No newline at end of file
+export { azureBlobStorageAdapter } from './dist/adapters/azure/index.js'
+//# sourceMappingURL=azure.d.ts.map
diff --git a/packages/plugin-cloud-storage/azure.js b/packages/plugin-cloud-storage/azure.js
index 88f94b7712..67c6b0c611 100644
--- a/packages/plugin-cloud-storage/azure.js
+++ b/packages/plugin-cloud-storage/azure.js
@@ -1,3 +1,3 @@
-export { azureBlobStorageAdapter } from './dist/adapters/azure/index.js';
+export { azureBlobStorageAdapter } from './dist/adapters/azure/index.js'
-//# sourceMappingURL=azure.js.map
\ No newline at end of file
+//# sourceMappingURL=azure.js.map
diff --git a/packages/plugin-cloud-storage/gcs.d.ts b/packages/plugin-cloud-storage/gcs.d.ts
index 1770cf935c..3f1fb9e17c 100644
--- a/packages/plugin-cloud-storage/gcs.d.ts
+++ b/packages/plugin-cloud-storage/gcs.d.ts
@@ -1,2 +1,2 @@
-export { gcsAdapter } from './dist/adapters/gcs/index.js';
-//# sourceMappingURL=gcs.d.ts.map
\ No newline at end of file
+export { gcsAdapter } from './dist/adapters/gcs/index.js'
+//# sourceMappingURL=gcs.d.ts.map
diff --git a/packages/plugin-cloud-storage/gcs.js b/packages/plugin-cloud-storage/gcs.js
index 6363d52f77..0b1f43b68a 100644
--- a/packages/plugin-cloud-storage/gcs.js
+++ b/packages/plugin-cloud-storage/gcs.js
@@ -1,3 +1,3 @@
-export { gcsAdapter } from './dist/adapters/gcs/index.js';
+export { gcsAdapter } from './dist/adapters/gcs/index.js'
-//# sourceMappingURL=gcs.js.map
\ No newline at end of file
+//# sourceMappingURL=gcs.js.map
diff --git a/packages/plugin-cloud-storage/package.json b/packages/plugin-cloud-storage/package.json
index 3e044d9f90..6a596a92f2 100644
--- a/packages/plugin-cloud-storage/package.json
+++ b/packages/plugin-cloud-storage/package.json
@@ -35,8 +35,8 @@
"*.d.ts"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm build:types && pnpm build:swc ",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build",
diff --git a/packages/plugin-cloud-storage/s3.d.ts b/packages/plugin-cloud-storage/s3.d.ts
index 42103ce61c..4359cb797d 100644
--- a/packages/plugin-cloud-storage/s3.d.ts
+++ b/packages/plugin-cloud-storage/s3.d.ts
@@ -1,2 +1,2 @@
-export { s3Adapter } from './dist/adapters/s3/index.js';
-//# sourceMappingURL=s3.d.ts.map
\ No newline at end of file
+export { s3Adapter } from './dist/adapters/s3/index.js'
+//# sourceMappingURL=s3.d.ts.map
diff --git a/packages/plugin-cloud-storage/s3.js b/packages/plugin-cloud-storage/s3.js
index 7b254f630e..ea1c67d7f1 100644
--- a/packages/plugin-cloud-storage/s3.js
+++ b/packages/plugin-cloud-storage/s3.js
@@ -1,3 +1,3 @@
-export { s3Adapter } from './dist/adapters/s3/index.js';
+export { s3Adapter } from './dist/adapters/s3/index.js'
-//# sourceMappingURL=s3.js.map
\ No newline at end of file
+//# sourceMappingURL=s3.js.map
diff --git a/packages/plugin-cloud-storage/src/adapters/azure/handleDelete.ts b/packages/plugin-cloud-storage/src/adapters/azure/handleDelete.ts
index 2f875a9449..4144f2dafc 100644
--- a/packages/plugin-cloud-storage/src/adapters/azure/handleDelete.ts
+++ b/packages/plugin-cloud-storage/src/adapters/azure/handleDelete.ts
@@ -1,5 +1,5 @@
import type { ContainerClient } from '@azure/storage-blob'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/adapters/azure/handleUpload.ts b/packages/plugin-cloud-storage/src/adapters/azure/handleUpload.ts
index ca716bfec0..331956bbeb 100644
--- a/packages/plugin-cloud-storage/src/adapters/azure/handleUpload.ts
+++ b/packages/plugin-cloud-storage/src/adapters/azure/handleUpload.ts
@@ -1,5 +1,5 @@
import type { ContainerClient } from '@azure/storage-blob'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { AbortController } from '@azure/abort-controller'
import fs from 'fs'
diff --git a/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts b/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts
index 86405c6809..ece33650eb 100644
--- a/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts
+++ b/packages/plugin-cloud-storage/src/adapters/azure/staticHandler.ts
@@ -1,5 +1,5 @@
import type { ContainerClient } from '@azure/storage-blob'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/adapters/gcs/handleUpload.ts b/packages/plugin-cloud-storage/src/adapters/gcs/handleUpload.ts
index 558bf7e44b..543fef332c 100644
--- a/packages/plugin-cloud-storage/src/adapters/gcs/handleUpload.ts
+++ b/packages/plugin-cloud-storage/src/adapters/gcs/handleUpload.ts
@@ -1,5 +1,5 @@
import type { Storage } from '@google-cloud/storage'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts b/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts
index 31f5c84d10..a844b3d6d5 100644
--- a/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts
+++ b/packages/plugin-cloud-storage/src/adapters/gcs/staticHandler.ts
@@ -1,5 +1,5 @@
import type { Storage } from '@google-cloud/storage'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/adapters/s3/handleUpload.ts b/packages/plugin-cloud-storage/src/adapters/s3/handleUpload.ts
index f2f6023f59..6ae38166e0 100644
--- a/packages/plugin-cloud-storage/src/adapters/s3/handleUpload.ts
+++ b/packages/plugin-cloud-storage/src/adapters/s3/handleUpload.ts
@@ -1,5 +1,5 @@
import type * as AWS from '@aws-sdk/client-s3'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import type stream from 'stream'
import { Upload } from '@aws-sdk/lib-storage'
diff --git a/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts b/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts
index cb14d3bbae..8fc6fa2f9e 100644
--- a/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts
+++ b/packages/plugin-cloud-storage/src/adapters/s3/staticHandler.ts
@@ -1,5 +1,5 @@
import type * as AWS from '@aws-sdk/client-s3'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/adapters/vercelBlob/staticHandler.ts b/packages/plugin-cloud-storage/src/adapters/vercelBlob/staticHandler.ts
index f77f5dec96..d49e959839 100644
--- a/packages/plugin-cloud-storage/src/adapters/vercelBlob/staticHandler.ts
+++ b/packages/plugin-cloud-storage/src/adapters/vercelBlob/staticHandler.ts
@@ -1,5 +1,5 @@
import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { head } from '@vercel/blob'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/admin/fields/getFields.ts b/packages/plugin-cloud-storage/src/admin/fields/getFields.ts
index 1b520190f6..8696654b1b 100644
--- a/packages/plugin-cloud-storage/src/admin/fields/getFields.ts
+++ b/packages/plugin-cloud-storage/src/admin/fields/getFields.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig, Field , GroupField, TextField } from 'payload/types'
+import type { CollectionConfig, Field, GroupField, TextField } from 'payload'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/admin/index.ts b/packages/plugin-cloud-storage/src/admin/index.ts
index 90dedae831..918490c637 100644
--- a/packages/plugin-cloud-storage/src/admin/index.ts
+++ b/packages/plugin-cloud-storage/src/admin/index.ts
@@ -1,4 +1,4 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { PluginOptions } from '../types.js'
diff --git a/packages/plugin-cloud-storage/src/fields/getFields.ts b/packages/plugin-cloud-storage/src/fields/getFields.ts
index 3817624fa6..39b2d54a8a 100644
--- a/packages/plugin-cloud-storage/src/fields/getFields.ts
+++ b/packages/plugin-cloud-storage/src/fields/getFields.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig, Field , GroupField, TextField } from 'payload/types'
+import type { CollectionConfig, Field, GroupField, TextField } from 'payload'
import path from 'path'
diff --git a/packages/plugin-cloud-storage/src/hooks/afterDelete.ts b/packages/plugin-cloud-storage/src/hooks/afterDelete.ts
index f4c1a9115e..7c2f90cd08 100644
--- a/packages/plugin-cloud-storage/src/hooks/afterDelete.ts
+++ b/packages/plugin-cloud-storage/src/hooks/afterDelete.ts
@@ -1,4 +1,4 @@
-import type { CollectionAfterDeleteHook, CollectionConfig , FileData, TypeWithID } from 'payload/types'
+import type { CollectionAfterDeleteHook, CollectionConfig, FileData, TypeWithID } from 'payload'
import type { GeneratedAdapter, TypeWithPrefix } from '../types.js'
diff --git a/packages/plugin-cloud-storage/src/hooks/afterRead.ts b/packages/plugin-cloud-storage/src/hooks/afterRead.ts
index 0818250e11..f96af0be4c 100644
--- a/packages/plugin-cloud-storage/src/hooks/afterRead.ts
+++ b/packages/plugin-cloud-storage/src/hooks/afterRead.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig, FieldHook, ImageSize } from 'payload/types'
+import type { CollectionConfig, FieldHook, ImageSize } from 'payload'
import type { GenerateFileURL, GeneratedAdapter } from '../types.js'
diff --git a/packages/plugin-cloud-storage/src/hooks/beforeChange.ts b/packages/plugin-cloud-storage/src/hooks/beforeChange.ts
index fb5130d327..5450683a8b 100644
--- a/packages/plugin-cloud-storage/src/hooks/beforeChange.ts
+++ b/packages/plugin-cloud-storage/src/hooks/beforeChange.ts
@@ -1,4 +1,4 @@
-import type { CollectionBeforeChangeHook, CollectionConfig , FileData, TypeWithID } from 'payload/types'
+import type { CollectionBeforeChangeHook, CollectionConfig, FileData, TypeWithID } from 'payload'
import type { GeneratedAdapter } from '../types.js'
diff --git a/packages/plugin-cloud-storage/src/plugin.ts b/packages/plugin-cloud-storage/src/plugin.ts
index 412415296e..9d8033861f 100644
--- a/packages/plugin-cloud-storage/src/plugin.ts
+++ b/packages/plugin-cloud-storage/src/plugin.ts
@@ -1,4 +1,4 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { PluginOptions } from './types.js'
diff --git a/packages/plugin-cloud-storage/src/types.ts b/packages/plugin-cloud-storage/src/types.ts
index 0bd4cb1160..f734a5faaa 100644
--- a/packages/plugin-cloud-storage/src/types.ts
+++ b/packages/plugin-cloud-storage/src/types.ts
@@ -1,4 +1,11 @@
-import type { CollectionConfig, Field, FileData , ImageSize , PayloadRequestWithData, TypeWithID } from 'payload/types'
+import type {
+ CollectionConfig,
+ Field,
+ FileData,
+ ImageSize,
+ PayloadRequestWithData,
+ TypeWithID,
+} from 'payload'
export interface File {
buffer: Buffer
diff --git a/packages/plugin-cloud-storage/src/utilities/getFilePrefix.ts b/packages/plugin-cloud-storage/src/utilities/getFilePrefix.ts
index 4efddfd9cb..43a4ee630c 100644
--- a/packages/plugin-cloud-storage/src/utilities/getFilePrefix.ts
+++ b/packages/plugin-cloud-storage/src/utilities/getFilePrefix.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig, PayloadRequestWithData, UploadConfig } from 'payload/types'
+import type { CollectionConfig, PayloadRequestWithData, UploadConfig } from 'payload'
export async function getFilePrefix({
collection,
diff --git a/packages/plugin-cloud-storage/src/utilities/getIncomingFiles.ts b/packages/plugin-cloud-storage/src/utilities/getIncomingFiles.ts
index b04ff1e3b1..18746341d2 100644
--- a/packages/plugin-cloud-storage/src/utilities/getIncomingFiles.ts
+++ b/packages/plugin-cloud-storage/src/utilities/getIncomingFiles.ts
@@ -1,4 +1,4 @@
-import type { FileData, PayloadRequestWithData } from 'payload/types'
+import type { FileData, PayloadRequestWithData } from 'payload'
import type { File } from '../types.js'
diff --git a/packages/plugin-cloud/README.md b/packages/plugin-cloud/README.md
index 3e8b7212fb..2d7ddc3f78 100644
--- a/packages/plugin-cloud/README.md
+++ b/packages/plugin-cloud/README.md
@@ -22,7 +22,7 @@ Add the plugin to your Payload config
```ts
import { payloadCloud } from '@payloadcms/plugin-cloud'
-import { buildConfig } from 'payload/config'
+import { buildConfig } from 'payload'
export default buildConfig({
plugins: [payloadCloud()],
diff --git a/packages/plugin-cloud/package.json b/packages/plugin-cloud/package.json
index e00a1ffa84..bc914d8888 100644
--- a/packages/plugin-cloud/package.json
+++ b/packages/plugin-cloud/package.json
@@ -23,8 +23,8 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc-build",
+ "build": "pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc-build --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo} && rimraf dev/yarn.lock",
"prepublishOnly": "pnpm clean && pnpm turbo build",
diff --git a/packages/plugin-cloud/src/email.spec.ts b/packages/plugin-cloud/src/email.spec.ts
index 596c91a548..8e01eb5feb 100644
--- a/packages/plugin-cloud/src/email.spec.ts
+++ b/packages/plugin-cloud/src/email.spec.ts
@@ -1,9 +1,9 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { Payload } from 'payload'
import nodemailer from 'nodemailer'
import { jest } from '@jest/globals'
-import { defaults } from 'payload/config'
+import { defaults } from 'payload'
import { payloadCloudEmail } from './email.js'
diff --git a/packages/plugin-cloud/src/hooks/afterDelete.ts b/packages/plugin-cloud/src/hooks/afterDelete.ts
index e29dff3101..820896b426 100644
--- a/packages/plugin-cloud/src/hooks/afterDelete.ts
+++ b/packages/plugin-cloud/src/hooks/afterDelete.ts
@@ -1,9 +1,4 @@
-import type {
- CollectionAfterDeleteHook,
- CollectionConfig,
- FileData,
- TypeWithID,
-} from 'payload/types'
+import type { CollectionAfterDeleteHook, CollectionConfig, FileData, TypeWithID } from 'payload'
import type { TypeWithPrefix } from '../types.js'
diff --git a/packages/plugin-cloud/src/hooks/beforeChange.ts b/packages/plugin-cloud/src/hooks/beforeChange.ts
index c715f46f94..7fd66c7354 100644
--- a/packages/plugin-cloud/src/hooks/beforeChange.ts
+++ b/packages/plugin-cloud/src/hooks/beforeChange.ts
@@ -1,9 +1,4 @@
-import type {
- CollectionBeforeChangeHook,
- CollectionConfig,
- FileData,
- TypeWithID,
-} from 'payload/types'
+import type { CollectionBeforeChangeHook, CollectionConfig, FileData, TypeWithID } from 'payload'
import type stream from 'stream'
import { Upload } from '@aws-sdk/lib-storage'
diff --git a/packages/plugin-cloud/src/hooks/uploadCache.ts b/packages/plugin-cloud/src/hooks/uploadCache.ts
index 1e8a884a4c..2078f38197 100644
--- a/packages/plugin-cloud/src/hooks/uploadCache.ts
+++ b/packages/plugin-cloud/src/hooks/uploadCache.ts
@@ -2,7 +2,7 @@ import type {
CollectionAfterChangeHook,
CollectionAfterDeleteHook,
PayloadRequestWithData,
-} from 'payload/types'
+} from 'payload'
interface Args {
endpoint: string
diff --git a/packages/plugin-cloud/src/plugin.spec.ts b/packages/plugin-cloud/src/plugin.spec.ts
index 109976a8a7..ee99dc5e5d 100644
--- a/packages/plugin-cloud/src/plugin.spec.ts
+++ b/packages/plugin-cloud/src/plugin.spec.ts
@@ -1,9 +1,9 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { Payload } from 'payload'
import { jest } from '@jest/globals'
import nodemailer from 'nodemailer'
-import { defaults } from 'payload/config'
+import { defaults } from 'payload'
import { payloadCloudPlugin } from './plugin.js'
import { nodemailerAdapter } from '@payloadcms/email-nodemailer'
diff --git a/packages/plugin-cloud/src/plugin.ts b/packages/plugin-cloud/src/plugin.ts
index 62a432b6b5..f0d0e56d3f 100644
--- a/packages/plugin-cloud/src/plugin.ts
+++ b/packages/plugin-cloud/src/plugin.ts
@@ -1,4 +1,4 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { PluginOptions } from './types.js'
diff --git a/packages/plugin-cloud/src/staticHandler.ts b/packages/plugin-cloud/src/staticHandler.ts
index 36fba38227..f9c46b9609 100644
--- a/packages/plugin-cloud/src/staticHandler.ts
+++ b/packages/plugin-cloud/src/staticHandler.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import type { CollectionCachingConfig, PluginOptions, StaticHandler } from './types.js'
diff --git a/packages/plugin-cloud/src/types.ts b/packages/plugin-cloud/src/types.ts
index 3540f92c17..49a8fbbc2a 100644
--- a/packages/plugin-cloud/src/types.ts
+++ b/packages/plugin-cloud/src/types.ts
@@ -1,5 +1,10 @@
-import type { Config } from 'payload/config'
-import type { CollectionConfig, FileData, PayloadRequestWithData, TypeWithID } from 'payload/types'
+import type {
+ CollectionConfig,
+ Config,
+ FileData,
+ PayloadRequestWithData,
+ TypeWithID,
+} from 'payload'
export interface File {
buffer: Buffer
diff --git a/packages/plugin-cloud/src/utilities/getIncomingFiles.ts b/packages/plugin-cloud/src/utilities/getIncomingFiles.ts
index b04ff1e3b1..18746341d2 100644
--- a/packages/plugin-cloud/src/utilities/getIncomingFiles.ts
+++ b/packages/plugin-cloud/src/utilities/getIncomingFiles.ts
@@ -1,4 +1,4 @@
-import type { FileData, PayloadRequestWithData } from 'payload/types'
+import type { FileData, PayloadRequestWithData } from 'payload'
import type { File } from '../types.js'
diff --git a/packages/plugin-form-builder/package.json b/packages/plugin-form-builder/package.json
index b916514a5f..e2b44995ac 100644
--- a/packages/plugin-form-builder/package.json
+++ b/packages/plugin-form-builder/package.json
@@ -39,8 +39,8 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build",
diff --git a/packages/plugin-form-builder/src/collections/FormSubmissions/index.ts b/packages/plugin-form-builder/src/collections/FormSubmissions/index.ts
index c9b54417d8..19d7fd9afe 100644
--- a/packages/plugin-form-builder/src/collections/FormSubmissions/index.ts
+++ b/packages/plugin-form-builder/src/collections/FormSubmissions/index.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig, Field } from 'payload/types'
+import type { CollectionConfig, Field } from 'payload'
import type { FormBuilderPluginConfig } from '../../types.js'
diff --git a/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx b/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx
index 76e9d9125a..e56c8f4534 100644
--- a/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx
+++ b/packages/plugin-form-builder/src/collections/Forms/DynamicPriceSelector.tsx
@@ -1,7 +1,7 @@
'use client'
import type { TextFieldProps } from '@payloadcms/ui/fields/Text'
-import type { Data } from 'payload/types'
+import type { Data } from 'payload'
import { Text } from '@payloadcms/ui/fields/Text'
import { useWatchForm } from '@payloadcms/ui/forms/Form'
diff --git a/packages/plugin-form-builder/src/collections/Forms/fields.ts b/packages/plugin-form-builder/src/collections/Forms/fields.ts
index a9d505488d..8b393b8734 100644
--- a/packages/plugin-form-builder/src/collections/Forms/fields.ts
+++ b/packages/plugin-form-builder/src/collections/Forms/fields.ts
@@ -1,4 +1,4 @@
-import type { Block, Field } from 'payload/types'
+import type { Block, Field } from 'payload'
import type { FieldConfig, PaymentFieldConfig } from '../../types.js'
diff --git a/packages/plugin-form-builder/src/collections/Forms/index.ts b/packages/plugin-form-builder/src/collections/Forms/index.ts
index 094c6c4c0f..f87756ff6c 100644
--- a/packages/plugin-form-builder/src/collections/Forms/index.ts
+++ b/packages/plugin-form-builder/src/collections/Forms/index.ts
@@ -1,4 +1,4 @@
-import type { Block, CollectionConfig, Field } from 'payload/types'
+import type { Block, CollectionConfig, Field } from 'payload'
import merge from 'deepmerge'
diff --git a/packages/plugin-form-builder/src/index.ts b/packages/plugin-form-builder/src/index.ts
index d6f78ea8c1..56cd9fd031 100644
--- a/packages/plugin-form-builder/src/index.ts
+++ b/packages/plugin-form-builder/src/index.ts
@@ -1,4 +1,4 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { FormBuilderPluginConfig } from './types.js'
diff --git a/packages/plugin-form-builder/src/types.ts b/packages/plugin-form-builder/src/types.ts
index 44db8911a6..61021c9bd9 100644
--- a/packages/plugin-form-builder/src/types.ts
+++ b/packages/plugin-form-builder/src/types.ts
@@ -1,4 +1,4 @@
-import type { Block, CollectionConfig, Field } from 'payload/types'
+import type { Block, CollectionConfig, Field } from 'payload'
export interface BlockConfig {
block: Block
diff --git a/packages/plugin-nested-docs/package.json b/packages/plugin-nested-docs/package.json
index 2d08905e13..85af62953f 100644
--- a/packages/plugin-nested-docs/package.json
+++ b/packages/plugin-nested-docs/package.json
@@ -29,8 +29,8 @@
"dist"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
diff --git a/packages/plugin-nested-docs/src/fields/breadcrumbs.ts b/packages/plugin-nested-docs/src/fields/breadcrumbs.ts
index 262a21a76e..28400242fe 100644
--- a/packages/plugin-nested-docs/src/fields/breadcrumbs.ts
+++ b/packages/plugin-nested-docs/src/fields/breadcrumbs.ts
@@ -1,4 +1,4 @@
-import type { ArrayField, Field } from 'payload/types'
+import type { ArrayField, Field } from 'payload'
export const createBreadcrumbsField = (
relationTo: string,
diff --git a/packages/plugin-nested-docs/src/fields/parent.ts b/packages/plugin-nested-docs/src/fields/parent.ts
index 67b6d09b95..3e982d1ec7 100644
--- a/packages/plugin-nested-docs/src/fields/parent.ts
+++ b/packages/plugin-nested-docs/src/fields/parent.ts
@@ -1,4 +1,4 @@
-import type { SingleRelationshipField } from 'payload/types'
+import type { SingleRelationshipField } from 'payload'
export const createParentField = (
relationTo: string,
diff --git a/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts b/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts
index 13ddc51efc..1c38e14cd4 100644
--- a/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts
+++ b/packages/plugin-nested-docs/src/fields/parentFilterOptions.ts
@@ -1,4 +1,4 @@
-import type { FilterOptions } from 'payload/types'
+import type { FilterOptions } from 'payload'
export const parentFilterOptions: (breadcrumbsFieldSlug?: string) => FilterOptions =
(breadcrumbsFieldSlug = 'breadcrumbs') =>
diff --git a/packages/plugin-nested-docs/src/hooks/resaveChildren.ts b/packages/plugin-nested-docs/src/hooks/resaveChildren.ts
index b8491d5caa..48e2f8fa0f 100644
--- a/packages/plugin-nested-docs/src/hooks/resaveChildren.ts
+++ b/packages/plugin-nested-docs/src/hooks/resaveChildren.ts
@@ -1,8 +1,4 @@
-import type {
- CollectionAfterChangeHook,
- CollectionConfig,
- PayloadRequestWithData,
-} from 'payload/types'
+import type { CollectionAfterChangeHook, CollectionConfig, PayloadRequestWithData } from 'payload'
import type { NestedDocsPluginConfig } from '../types.js'
diff --git a/packages/plugin-nested-docs/src/hooks/resaveSelfAfterCreate.ts b/packages/plugin-nested-docs/src/hooks/resaveSelfAfterCreate.ts
index eb605ac235..b912560511 100644
--- a/packages/plugin-nested-docs/src/hooks/resaveSelfAfterCreate.ts
+++ b/packages/plugin-nested-docs/src/hooks/resaveSelfAfterCreate.ts
@@ -1,4 +1,4 @@
-import type { CollectionAfterChangeHook, CollectionConfig } from 'payload/types'
+import type { CollectionAfterChangeHook, CollectionConfig } from 'payload'
import type { NestedDocsPluginConfig } from '../types.js'
diff --git a/packages/plugin-nested-docs/src/index.ts b/packages/plugin-nested-docs/src/index.ts
index 2275f6d0ca..c3aad4f199 100644
--- a/packages/plugin-nested-docs/src/index.ts
+++ b/packages/plugin-nested-docs/src/index.ts
@@ -1,5 +1,4 @@
-import type { Plugin } from 'payload/config'
-import type { SingleRelationshipField } from 'payload/types'
+import type { Plugin, SingleRelationshipField } from 'payload'
import type { NestedDocsPluginConfig } from './types.js'
diff --git a/packages/plugin-nested-docs/src/utilities/formatBreadcrumb.ts b/packages/plugin-nested-docs/src/utilities/formatBreadcrumb.ts
index 290277a3b1..b7ee116e9f 100644
--- a/packages/plugin-nested-docs/src/utilities/formatBreadcrumb.ts
+++ b/packages/plugin-nested-docs/src/utilities/formatBreadcrumb.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import type { Breadcrumb, NestedDocsPluginConfig } from '../types.js'
diff --git a/packages/plugin-nested-docs/src/utilities/getParents.ts b/packages/plugin-nested-docs/src/utilities/getParents.ts
index 4fab944176..c64df1bdc8 100644
--- a/packages/plugin-nested-docs/src/utilities/getParents.ts
+++ b/packages/plugin-nested-docs/src/utilities/getParents.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import type { NestedDocsPluginConfig } from '../types.js'
diff --git a/packages/plugin-nested-docs/src/utilities/populateBreadcrumbs.ts b/packages/plugin-nested-docs/src/utilities/populateBreadcrumbs.ts
index 1d69992a4f..671db1d51c 100644
--- a/packages/plugin-nested-docs/src/utilities/populateBreadcrumbs.ts
+++ b/packages/plugin-nested-docs/src/utilities/populateBreadcrumbs.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import type { NestedDocsPluginConfig } from '../types.js'
diff --git a/packages/plugin-redirects/package.json b/packages/plugin-redirects/package.json
index ae93b23052..e61fa8a171 100644
--- a/packages/plugin-redirects/package.json
+++ b/packages/plugin-redirects/package.json
@@ -39,8 +39,8 @@
"types.d.ts"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
diff --git a/packages/plugin-redirects/src/index.ts b/packages/plugin-redirects/src/index.ts
index 51a200b073..c3ff6974a5 100644
--- a/packages/plugin-redirects/src/index.ts
+++ b/packages/plugin-redirects/src/index.ts
@@ -1,5 +1,4 @@
-import type { Config } from 'payload/config'
-import type { CollectionConfig, Field } from 'payload/types'
+import type { CollectionConfig, Config, Field } from 'payload'
import type { RedirectsPluginConfig } from './types.js'
diff --git a/packages/plugin-redirects/src/types.ts b/packages/plugin-redirects/src/types.ts
index 35473d8691..4ced52cd53 100644
--- a/packages/plugin-redirects/src/types.ts
+++ b/packages/plugin-redirects/src/types.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig, Field } from 'payload/types'
+import type { CollectionConfig, Field } from 'payload'
export type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]
diff --git a/packages/plugin-relationship-object-ids/README.md b/packages/plugin-relationship-object-ids/README.md
index 0571f1a268..c21931e3dc 100644
--- a/packages/plugin-relationship-object-ids/README.md
+++ b/packages/plugin-relationship-object-ids/README.md
@@ -14,7 +14,7 @@ Simply import and install the plugin to make it work:
```ts
import { relationshipsAsObjectID } from '@payloadcms/plugin-relationship-object-ids'
-import { buildConfig } from 'payload/config'
+import { buildConfig } from 'payload'
export default buildConfig({
// your config here
diff --git a/packages/plugin-relationship-object-ids/package.json b/packages/plugin-relationship-object-ids/package.json
index 48b8712e01..d042e27561 100644
--- a/packages/plugin-relationship-object-ids/package.json
+++ b/packages/plugin-relationship-object-ids/package.json
@@ -30,8 +30,8 @@
"dist"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
diff --git a/packages/plugin-relationship-object-ids/src/hooks/beforeChange.ts b/packages/plugin-relationship-object-ids/src/hooks/beforeChange.ts
index d7a79af933..f099499069 100644
--- a/packages/plugin-relationship-object-ids/src/hooks/beforeChange.ts
+++ b/packages/plugin-relationship-object-ids/src/hooks/beforeChange.ts
@@ -1,8 +1,7 @@
-import type { Config } from 'payload/config'
-import type { CollectionConfig, FieldHook, RelationshipField, UploadField } from 'payload/types'
+import type { CollectionConfig, Config, FieldHook, RelationshipField, UploadField } from 'payload'
import mongoose from 'mongoose'
-import { fieldAffectsData } from 'payload/types'
+import { fieldAffectsData } from 'payload/shared'
const convertValue = ({
relatedCollection,
diff --git a/packages/plugin-relationship-object-ids/src/index.ts b/packages/plugin-relationship-object-ids/src/index.ts
index 7ae188861d..4a3bc4b8a1 100644
--- a/packages/plugin-relationship-object-ids/src/index.ts
+++ b/packages/plugin-relationship-object-ids/src/index.ts
@@ -1,5 +1,4 @@
-import type { Config } from 'payload/config'
-import type { Field } from 'payload/types'
+import type { Config, Field } from 'payload'
import { getBeforeChangeHook } from './hooks/beforeChange.js'
diff --git a/packages/plugin-search/package.json b/packages/plugin-search/package.json
index 40c4ead17c..f1095242a8 100644
--- a/packages/plugin-search/package.json
+++ b/packages/plugin-search/package.json
@@ -36,8 +36,8 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build",
diff --git a/packages/plugin-search/src/Search/hooks/deleteFromSearch.ts b/packages/plugin-search/src/Search/hooks/deleteFromSearch.ts
index 7b0857b0d8..67bbc25ec7 100644
--- a/packages/plugin-search/src/Search/hooks/deleteFromSearch.ts
+++ b/packages/plugin-search/src/Search/hooks/deleteFromSearch.ts
@@ -1,4 +1,4 @@
-import type { CollectionAfterDeleteHook } from 'payload/types'
+import type { CollectionAfterDeleteHook } from 'payload'
export const deleteFromSearch: CollectionAfterDeleteHook = async ({
doc,
diff --git a/packages/plugin-search/src/Search/index.ts b/packages/plugin-search/src/Search/index.ts
index d4aca75152..224f250f04 100644
--- a/packages/plugin-search/src/Search/index.ts
+++ b/packages/plugin-search/src/Search/index.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import deepMerge from 'deepmerge'
diff --git a/packages/plugin-search/src/Search/ui/index.client.tsx b/packages/plugin-search/src/Search/ui/index.client.tsx
index dc6a9f7d42..49788ed0bd 100644
--- a/packages/plugin-search/src/Search/ui/index.client.tsx
+++ b/packages/plugin-search/src/Search/ui/index.client.tsx
@@ -1,6 +1,6 @@
'use client'
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
import { useWatchForm } from '@payloadcms/ui/forms/Form'
import { useConfig } from '@payloadcms/ui/providers/Config'
diff --git a/packages/plugin-search/src/Search/ui/index.tsx b/packages/plugin-search/src/Search/ui/index.tsx
index fb619224f1..65d12217de 100644
--- a/packages/plugin-search/src/Search/ui/index.tsx
+++ b/packages/plugin-search/src/Search/ui/index.tsx
@@ -1,4 +1,4 @@
-import type { UIField } from 'payload/types'
+import type { UIField } from 'payload'
import React from 'react'
diff --git a/packages/plugin-search/src/index.ts b/packages/plugin-search/src/index.ts
index cdf500f270..fe8a026bf8 100644
--- a/packages/plugin-search/src/index.ts
+++ b/packages/plugin-search/src/index.ts
@@ -1,4 +1,4 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { SearchPluginConfig } from './types.js'
diff --git a/packages/plugin-search/src/types.ts b/packages/plugin-search/src/types.ts
index 97873475f6..38722734fc 100644
--- a/packages/plugin-search/src/types.ts
+++ b/packages/plugin-search/src/types.ts
@@ -1,9 +1,9 @@
-import type { Payload } from 'payload'
import type {
CollectionAfterChangeHook,
CollectionConfig,
+ Payload,
PayloadRequestWithData,
-} from 'payload/types'
+} from 'payload'
export type DocToSync = {
[key: string]: any
diff --git a/packages/plugin-sentry/package.json b/packages/plugin-sentry/package.json
index 5f8b24b1dc..dde5728d9d 100644
--- a/packages/plugin-sentry/package.json
+++ b/packages/plugin-sentry/package.json
@@ -32,7 +32,7 @@
],
"scripts": {
"build": "echo \"Build temporarily disabled.\" && exit 0",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc-build",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc-build --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build"
diff --git a/packages/plugin-sentry/src/plugin.spec.ts b/packages/plugin-sentry/src/plugin.spec.ts
index 10d2fa7870..8961c0a003 100644
--- a/packages/plugin-sentry/src/plugin.spec.ts
+++ b/packages/plugin-sentry/src/plugin.spec.ts
@@ -1,5 +1,5 @@
-import type { Config } from 'payload/config'
-import { defaults } from 'payload/config'
+import type { Config } from 'payload'
+import { defaults } from 'payload'
import { sentryPlugin } from './plugin'
diff --git a/packages/plugin-sentry/src/plugin.ts b/packages/plugin-sentry/src/plugin.ts
index bc85f118ef..4761623dde 100644
--- a/packages/plugin-sentry/src/plugin.ts
+++ b/packages/plugin-sentry/src/plugin.ts
@@ -1,5 +1,5 @@
/* eslint-disable no-console */
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { PluginOptions } from './types.js'
diff --git a/packages/plugin-seo/package.json b/packages/plugin-seo/package.json
index 6a29fbee11..eda123ce19 100644
--- a/packages/plugin-seo/package.json
+++ b/packages/plugin-seo/package.json
@@ -37,8 +37,8 @@
"dist"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
diff --git a/packages/plugin-seo/src/fields/MetaDescription.tsx b/packages/plugin-seo/src/fields/MetaDescription.tsx
index 2cdedfc8a7..245f2724df 100644
--- a/packages/plugin-seo/src/fields/MetaDescription.tsx
+++ b/packages/plugin-seo/src/fields/MetaDescription.tsx
@@ -3,8 +3,8 @@
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
import type { FieldType, Options } from '@payloadcms/ui/forms/useField'
+import { FieldLabel } from '@payloadcms/ui/fields/FieldLabel'
import { TextareaInput } from '@payloadcms/ui/fields/Textarea'
-import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
import { useAllFormFields } from '@payloadcms/ui/forms/Form'
import { useField } from '@payloadcms/ui/forms/useField'
diff --git a/packages/plugin-seo/src/fields/MetaImage.tsx b/packages/plugin-seo/src/fields/MetaImage.tsx
index 13b0f9ae74..11bd834cbf 100644
--- a/packages/plugin-seo/src/fields/MetaImage.tsx
+++ b/packages/plugin-seo/src/fields/MetaImage.tsx
@@ -3,8 +3,8 @@
import type { UploadInputProps } from '@payloadcms/ui/fields/Upload'
import type { FieldType, Options } from '@payloadcms/ui/forms/useField'
+import { FieldLabel } from '@payloadcms/ui/fields/FieldLabel'
import { UploadInput } from '@payloadcms/ui/fields/Upload'
-import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'
import { useAllFormFields } from '@payloadcms/ui/forms/Form'
import { useField } from '@payloadcms/ui/forms/useField'
import { useConfig } from '@payloadcms/ui/providers/Config'
diff --git a/packages/plugin-seo/src/fields/MetaTitle.tsx b/packages/plugin-seo/src/fields/MetaTitle.tsx
index 109e33504d..28b98dc5b5 100644
--- a/packages/plugin-seo/src/fields/MetaTitle.tsx
+++ b/packages/plugin-seo/src/fields/MetaTitle.tsx
@@ -1,11 +1,10 @@
'use client'
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
-import type { Options } from '@payloadcms/ui/forms/useField'
-import type { FieldType } from '@payloadcms/ui/forms/useField'
+import type { FieldType, Options } from '@payloadcms/ui/forms/useField'
+import { FieldLabel } from '@payloadcms/ui/fields/FieldLabel'
import { TextInput } from '@payloadcms/ui/fields/Text'
-import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
import { useAllFormFields } from '@payloadcms/ui/forms/Form'
import { useField } from '@payloadcms/ui/forms/useField'
diff --git a/packages/plugin-seo/src/fields/index.scss b/packages/plugin-seo/src/fields/index.scss
index 27f37aea7d..bd00870c4e 100644
--- a/packages/plugin-seo/src/fields/index.scss
+++ b/packages/plugin-seo/src/fields/index.scss
@@ -1,5 +1,5 @@
.plugin-seo__field {
.field-label {
- display: inline!important;
+ display: inline !important;
}
}
diff --git a/packages/plugin-seo/src/index.tsx b/packages/plugin-seo/src/index.tsx
index 3c9423bef8..ea5f1ea8c5 100644
--- a/packages/plugin-seo/src/index.tsx
+++ b/packages/plugin-seo/src/index.tsx
@@ -1,9 +1,8 @@
-import type { Config } from 'payload/config'
-import type { Field, GroupField, TabsField, TextField } from 'payload/types'
+import type { Config, Field, GroupField, TabsField, TextField } from 'payload'
import { addDataAndFileToRequest } from '@payloadcms/next/utilities'
import { withMergedProps } from '@payloadcms/ui/elements/withMergedProps'
-import { deepMerge } from 'payload/utilities'
+import { deepMerge } from 'payload/shared'
import type {
GenerateDescription,
diff --git a/packages/plugin-seo/src/types.ts b/packages/plugin-seo/src/types.ts
index 596ff884a8..2b59b7c4a2 100644
--- a/packages/plugin-seo/src/types.ts
+++ b/packages/plugin-seo/src/types.ts
@@ -1,5 +1,5 @@
import type { DocumentInfoContext } from '@payloadcms/ui/providers/DocumentInfo'
-import type { Field, TextField, TextareaField, UploadField } from 'payload/types'
+import type { Field, TextField, TextareaField, UploadField } from 'payload'
export type GenerateTitle = (
args: DocumentInfoContext & { doc: T; locale?: string },
diff --git a/packages/plugin-seo/src/ui/Overview.tsx b/packages/plugin-seo/src/ui/Overview.tsx
index f1b891c143..2385bcc6ca 100644
--- a/packages/plugin-seo/src/ui/Overview.tsx
+++ b/packages/plugin-seo/src/ui/Overview.tsx
@@ -1,6 +1,6 @@
'use client'
-import type { FormField } from 'payload/types'
+import type { FormField } from 'payload'
import { useAllFormFields, useForm } from '@payloadcms/ui/forms/Form'
import { useTranslation } from '@payloadcms/ui/providers/Translation'
diff --git a/packages/plugin-seo/src/ui/Preview.tsx b/packages/plugin-seo/src/ui/Preview.tsx
index 3b214d00c7..f055dfdd5e 100644
--- a/packages/plugin-seo/src/ui/Preview.tsx
+++ b/packages/plugin-seo/src/ui/Preview.tsx
@@ -1,6 +1,6 @@
'use client'
-import type { FormField, UIField } from 'payload/types'
+import type { FormField, UIField } from 'payload'
import { useAllFormFields } from '@payloadcms/ui/forms/Form'
import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
diff --git a/packages/plugin-stripe/package.json b/packages/plugin-stripe/package.json
index fddf8f66e9..7a3a218f01 100644
--- a/packages/plugin-stripe/package.json
+++ b/packages/plugin-stripe/package.json
@@ -39,8 +39,8 @@
"dist"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
@@ -52,7 +52,7 @@
"@payloadcms/ui": "workspace:*",
"lodash.get": "^4.4.2",
"stripe": "^10.2.0",
- "uuid": "^9.0.0"
+ "uuid": "10.0.0"
},
"devDependencies": {
"@payloadcms/eslint-config": "workspace:*",
diff --git a/packages/plugin-stripe/src/admin.ts b/packages/plugin-stripe/src/admin.ts
index 9927efc837..f154af2091 100644
--- a/packages/plugin-stripe/src/admin.ts
+++ b/packages/plugin-stripe/src/admin.ts
@@ -1,4 +1,4 @@
-import type { Config } from 'payload/config'
+import type { Config } from 'payload'
import type { SanitizedStripePluginConfig, StripePluginConfig } from './types.js'
diff --git a/packages/plugin-stripe/src/fields/getFields.ts b/packages/plugin-stripe/src/fields/getFields.ts
index 36a560b2cc..d8aa1ec0a8 100644
--- a/packages/plugin-stripe/src/fields/getFields.ts
+++ b/packages/plugin-stripe/src/fields/getFields.ts
@@ -1,4 +1,4 @@
-import type { CollectionConfig, Field } from 'payload/types'
+import type { CollectionConfig, Field } from 'payload'
import type { SanitizedStripePluginConfig } from '../types.js'
diff --git a/packages/plugin-stripe/src/hooks/createNewInStripe.ts b/packages/plugin-stripe/src/hooks/createNewInStripe.ts
index 2339f18701..c6e67c3d4f 100644
--- a/packages/plugin-stripe/src/hooks/createNewInStripe.ts
+++ b/packages/plugin-stripe/src/hooks/createNewInStripe.ts
@@ -1,6 +1,6 @@
-import type { CollectionBeforeValidateHook, CollectionConfig } from 'payload/types'
+import type { CollectionBeforeValidateHook, CollectionConfig } from 'payload'
-import { APIError } from 'payload/errors'
+import { APIError } from 'payload'
import Stripe from 'stripe'
import type { StripePluginConfig } from '../types.js'
diff --git a/packages/plugin-stripe/src/hooks/deleteFromStripe.ts b/packages/plugin-stripe/src/hooks/deleteFromStripe.ts
index 0a9e3e934e..8b6cee68ee 100644
--- a/packages/plugin-stripe/src/hooks/deleteFromStripe.ts
+++ b/packages/plugin-stripe/src/hooks/deleteFromStripe.ts
@@ -1,6 +1,6 @@
-import type { CollectionAfterDeleteHook, CollectionConfig } from 'payload/types'
+import type { CollectionAfterDeleteHook, CollectionConfig } from 'payload'
-import { APIError } from 'payload/errors'
+import { APIError } from 'payload'
import Stripe from 'stripe'
import type { StripePluginConfig } from '../types.js'
diff --git a/packages/plugin-stripe/src/hooks/syncExistingWithStripe.ts b/packages/plugin-stripe/src/hooks/syncExistingWithStripe.ts
index be0032805e..12ceae8873 100644
--- a/packages/plugin-stripe/src/hooks/syncExistingWithStripe.ts
+++ b/packages/plugin-stripe/src/hooks/syncExistingWithStripe.ts
@@ -1,6 +1,6 @@
-import type { CollectionBeforeChangeHook, CollectionConfig } from 'payload/types'
+import type { CollectionBeforeChangeHook, CollectionConfig } from 'payload'
-import { APIError } from 'payload/errors'
+import { APIError } from 'payload'
import Stripe from 'stripe'
import type { StripePluginConfig } from '../types.js'
diff --git a/packages/plugin-stripe/src/index.ts b/packages/plugin-stripe/src/index.ts
index bfcf150ad2..45169ca1ce 100644
--- a/packages/plugin-stripe/src/index.ts
+++ b/packages/plugin-stripe/src/index.ts
@@ -1,4 +1,4 @@
-import type { Config, Endpoint } from 'payload/config'
+import type { Config, Endpoint } from 'payload'
import type { SanitizedStripePluginConfig, StripePluginConfig } from './types.js'
diff --git a/packages/plugin-stripe/src/routes/rest.ts b/packages/plugin-stripe/src/routes/rest.ts
index 1a55870b49..768258e50f 100644
--- a/packages/plugin-stripe/src/routes/rest.ts
+++ b/packages/plugin-stripe/src/routes/rest.ts
@@ -1,7 +1,7 @@
-import type { PayloadRequest, PayloadRequestWithData } from 'payload/types'
+import type { PayloadRequest, PayloadRequestWithData } from 'payload'
import { addDataAndFileToRequest } from '@payloadcms/next/utilities'
-import { Forbidden } from 'payload/errors'
+import { Forbidden } from 'payload'
import type { StripePluginConfig } from '../types.js'
diff --git a/packages/plugin-stripe/src/routes/webhooks.ts b/packages/plugin-stripe/src/routes/webhooks.ts
index 0871f4a3a7..3373b9da32 100644
--- a/packages/plugin-stripe/src/routes/webhooks.ts
+++ b/packages/plugin-stripe/src/routes/webhooks.ts
@@ -1,5 +1,4 @@
-import type { Config as PayloadConfig } from 'payload/config'
-import type { PayloadRequest } from 'payload/types'
+import type { Config as PayloadConfig, PayloadRequest } from 'payload'
import Stripe from 'stripe'
diff --git a/packages/plugin-stripe/src/types.ts b/packages/plugin-stripe/src/types.ts
index 4e7784c020..f1901e5560 100644
--- a/packages/plugin-stripe/src/types.ts
+++ b/packages/plugin-stripe/src/types.ts
@@ -1,6 +1,4 @@
-import type { Payload } from 'payload'
-import type { Config as PayloadConfig } from 'payload/config'
-import type { PayloadRequest } from 'payload/types'
+import type { Payload, Config as PayloadConfig, PayloadRequest } from 'payload'
import type Stripe from 'stripe'
export type StripeWebhookHandler = (args: {
diff --git a/packages/plugin-stripe/src/ui/LinkToDoc.tsx b/packages/plugin-stripe/src/ui/LinkToDoc.tsx
index f6ff4f4d1f..a66e5665cc 100644
--- a/packages/plugin-stripe/src/ui/LinkToDoc.tsx
+++ b/packages/plugin-stripe/src/ui/LinkToDoc.tsx
@@ -1,6 +1,5 @@
'use client'
-import type { CustomComponent } from 'payload/config'
-import type { UIField } from 'payload/types'
+import type { CustomComponent, UIField } from 'payload'
import { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
diff --git a/packages/richtext-lexical/.eslintrc.cjs b/packages/richtext-lexical/.eslintrc.cjs
index 5147b5d25a..954fc11fb4 100644
--- a/packages/richtext-lexical/.eslintrc.cjs
+++ b/packages/richtext-lexical/.eslintrc.cjs
@@ -4,7 +4,5 @@ module.exports = {
project: ['./tsconfig.json'],
tsconfigRootDir: __dirname,
},
- extends: [
- 'plugin:@lexical/recommended'
- ],
+ extends: ['plugin:@lexical/recommended'],
}
diff --git a/packages/richtext-lexical/.swcrc b/packages/richtext-lexical/.swcrc
index b4fb882caa..63ccf12876 100644
--- a/packages/richtext-lexical/.swcrc
+++ b/packages/richtext-lexical/.swcrc
@@ -16,6 +16,16 @@
"development": false,
"useBuiltins": true
}
+ },
+ "experimental": {
+ "plugins": [
+ [
+ "swc-plugin-transform-remove-imports",
+ {
+ "test": "\\.(scss)$"
+ }
+ ]
+ ]
}
},
"module": {
diff --git a/packages/richtext-lexical/README.md b/packages/richtext-lexical/README.md
index 7aba3b34c4..3b045623f3 100644
--- a/packages/richtext-lexical/README.md
+++ b/packages/richtext-lexical/README.md
@@ -14,7 +14,7 @@ npm install @payloadcms/richtext-lexical
## Usage
```ts
-import { buildConfig } from 'payload/config'
+import { buildConfig } from 'payload'
import { lexicalEditor } from '@payloadcms/richtext-lexical'
export default buildConfig({
diff --git a/packages/richtext-lexical/bundle.js b/packages/richtext-lexical/bundle.js
new file mode 100644
index 0000000000..f0f5feb5c4
--- /dev/null
+++ b/packages/richtext-lexical/bundle.js
@@ -0,0 +1,105 @@
+import * as esbuild from 'esbuild'
+import fs from 'fs'
+import path from 'path'
+import { fileURLToPath } from 'url'
+const filename = fileURLToPath(import.meta.url)
+const dirname = path.dirname(filename)
+import { sassPlugin } from 'esbuild-sass-plugin'
+
+const removeCSSImports = {
+ name: 'remove-css-imports',
+ setup(build) {
+ build.onLoad({ filter: /.*/ }, async (args) => {
+ if (args.path.includes('node_modules') || !args.path.includes(dirname)) return
+ const contents = await fs.promises.readFile(args.path, 'utf8')
+ const withRemovedImports = contents.replace(/import\s+.*\.scss';?[\r\n\s]*/g, '')
+ return { contents: withRemovedImports, loader: 'default' }
+ })
+ },
+}
+
+// Bundle only the .scss files into a single css file
+await esbuild
+ .build({
+ entryPoints: ['src/exports/client/index.ts'],
+ bundle: true,
+ minify: true,
+ outdir: 'dist/field',
+ loader: { '.svg': 'dataurl' },
+ packages: 'external',
+ //external: ['*.svg'],
+ plugins: [sassPlugin({ css: 'external' })],
+ })
+ .then(() => {
+ fs.rename('dist/field/index.css', 'dist/exports/client/bundled.css', (err) => {
+ if (err) console.error(`Error while renaming index.css: ${err}`)
+ })
+
+ console.log('dist/field/bundled.css bundled successfully')
+ })
+ .catch(() => process.exit(1))
+
+// Bundle `client.ts`
+const resultClient = await esbuild
+ .build({
+ entryPoints: ['src/exports/client/index.ts'],
+ bundle: true,
+ platform: 'browser',
+ format: 'esm',
+ outdir: 'dist/exports/client',
+ //outfile: 'index.js',
+ // IMPORTANT: splitting the client bundle means that the `use client` directive will be lost for every chunk
+ splitting: true,
+ external: [
+ '*.scss',
+ '*.css',
+ '*.svg',
+ 'qs',
+ '@dnd-kit/core',
+ '@payloadcms/graphql',
+ '@payloadcms/translations',
+ 'deep-equal',
+ 'react-toastify',
+
+ //'side-channel',
+ '@payloadcms/ui',
+ '@payloadcms/ui/*',
+ '@payloadcms/ui/client',
+ '@payloadcms/ui/shared',
+ 'lexical',
+ 'lexical/*',
+ '@lexical',
+ '@lexical/*',
+ '@faceless-ui/*',
+ 'bson-objectid',
+ 'payload',
+ 'payload/*',
+ 'react',
+ 'react-dom',
+ 'next',
+ 'react-animate-height',
+ 'crypto',
+ 'lodash',
+ 'ui',
+ ],
+ packages: 'external',
+ minify: true,
+ metafile: true,
+ treeShaking: true,
+
+ tsconfig: path.resolve(dirname, './tsconfig.json'),
+ plugins: [
+ removeCSSImports,
+ /*commonjs({
+ ignore: ['date-fns', '@floating-ui/react'],
+ }),*/
+ ],
+ sourcemap: true,
+ })
+ .then((res, err) => {
+ console.log('client/index.ts bundled successfully')
+ return res
+ })
+ .catch(() => process.exit(1))
+
+fs.writeFileSync('meta_client.json', JSON.stringify(resultClient.metafile))
diff --git a/packages/richtext-lexical/components.d.ts b/packages/richtext-lexical/components.d.ts
deleted file mode 100644
index 5a0008d875..0000000000
--- a/packages/richtext-lexical/components.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export { RichTextCell } from './dist/cell/index.js';
-export { RichTextField } from './dist/field/index.js';
-export { defaultEditorLexicalConfig } from './dist/field/lexical/config/client/default.js';
-export { ToolbarButton } from './dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js';
-export { ToolbarDropdown } from './dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js';
-//# sourceMappingURL=components.d.ts.map
\ No newline at end of file
diff --git a/packages/richtext-lexical/components.js b/packages/richtext-lexical/components.js
deleted file mode 100644
index 8e5d73c9f1..0000000000
--- a/packages/richtext-lexical/components.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export { RichTextCell } from './dist/cell/index.js';
-export { RichTextField } from './dist/field/index.js';
-export { defaultEditorLexicalConfig } from './dist/field/lexical/config/client/default.js';
-export { ToolbarButton } from './dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js';
-export { ToolbarDropdown } from './dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js';
-
-//# sourceMappingURL=components.js.map
\ No newline at end of file
diff --git a/packages/richtext-lexical/package.json b/packages/richtext-lexical/package.json
index 1f6ae17efb..72e74ccf27 100644
--- a/packages/richtext-lexical/package.json
+++ b/packages/richtext-lexical/package.json
@@ -10,6 +10,7 @@
},
"license": "MIT",
"author": "Payload (https://payloadcms.com)",
+ "sideEffects": false,
"type": "module",
"exports": {
".": {
@@ -17,26 +18,25 @@
"require": "./src/index.ts",
"types": "./src/index.ts"
},
- "./*": {
- "import": "./src/exports/*.ts",
- "require": "./src/exports/*.ts",
- "types": "./src/exports/*.ts"
+ "./client": {
+ "import": "./src/exports/client/index.ts",
+ "require": "./src/exports/client/index.ts",
+ "types": "./src/exports/client/index.ts"
}
},
"main": "./src/index.ts",
"types": "./src/index.ts",
"files": [
- "dist",
- "components.js",
- "components.d.ts"
+ "dist"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
+ "build": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc && pnpm build:esbuild",
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build:esbuild": "node bundle.js",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
- "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
+ "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"prepublishOnly": "pnpm clean && pnpm turbo build",
"translateNewKeys": "tsx scripts/translateNewKeys.ts"
},
@@ -54,13 +54,11 @@
"@lexical/utils": "0.16.0",
"@types/uuid": "^9.0.8",
"bson-objectid": "2.0.4",
- "classnames": "^2.3.2",
"deep-equal": "2.2.3",
"json-schema": "^0.4.0",
"lexical": "0.16.0",
- "lodash": "4.17.21",
"react-error-boundary": "4.0.13",
- "uuid": "^9.0.1"
+ "uuid": "10.0.0"
},
"devDependencies": {
"@lexical/eslint-plugin": "0.15.0",
@@ -72,6 +70,8 @@
"@types/node": "20.12.5",
"@types/react": "npm:types-react@19.0.0-beta.2",
"@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
+ "esbuild": "^0.21.4",
+ "esbuild-sass-plugin": "^3.3.0",
"payload": "workspace:*"
},
"peerDependencies": {
@@ -104,10 +104,10 @@
"require": "./dist/index.js",
"types": "./dist/index.d.ts"
},
- "./*": {
- "import": "./dist/exports/*.js",
- "require": "./dist/exports/*.js",
- "types": "./dist/exports/*.d.ts"
+ "./client": {
+ "import": "./dist/exports/client/index.js",
+ "require": "./dist/exports/*client/index.js",
+ "types": "./dist/exports/client/index.d.ts"
}
},
"main": "./dist/index.js",
diff --git a/packages/richtext-lexical/src/cell/index.tsx b/packages/richtext-lexical/src/cell/index.tsx
index 695866537d..5f865ebd0a 100644
--- a/packages/richtext-lexical/src/cell/index.tsx
+++ b/packages/richtext-lexical/src/cell/index.tsx
@@ -1,10 +1,9 @@
'use client'
import type { EditorConfig as LexicalEditorConfig } from 'lexical'
-import type { CellComponentProps } from 'payload/types'
+import type { CellComponentProps } from 'payload'
import { createHeadlessEditor } from '@lexical/headless'
-import { useTableCell } from '@payloadcms/ui/elements/Table'
-import { useClientFunctions } from '@payloadcms/ui/providers/ClientFunction'
+import { useClientFunctions, useTableCell } from '@payloadcms/ui/client'
import { $getRoot } from 'lexical'
import React, { useEffect, useState } from 'react'
diff --git a/packages/richtext-lexical/src/exports/client/index.ts b/packages/richtext-lexical/src/exports/client/index.ts
new file mode 100644
index 0000000000..9bd9d9c38a
--- /dev/null
+++ b/packages/richtext-lexical/src/exports/client/index.ts
@@ -0,0 +1,73 @@
+/* eslint-disable perfectionist/sort-exports */
+'use client'
+
+export { RichTextCell } from '../../cell/index.js'
+export { AlignFeatureClientComponent } from '../../field/features/align/feature.client.js'
+export { BlockquoteFeatureClientComponent } from '../../field/features/blockquote/feature.client.js'
+export { BlocksFeatureClientComponent } from '../../field/features/blocks/feature.client.js'
+export { createClientComponent } from '../../field/features/createClientComponent.js'
+export { TestRecorderFeatureClientComponent } from '../../field/features/debug/testRecorder/feature.client.js'
+export { TreeViewFeatureClientComponent } from '../../field/features/debug/treeView/feature.client.js'
+export { BoldFeatureClientComponent } from '../../field/features/format/bold/feature.client.js'
+export { InlineCodeFeatureClientComponent } from '../../field/features/format/inlineCode/feature.client.js'
+export { ItalicFeatureClientComponent } from '../../field/features/format/italic/feature.client.js'
+export { toolbarFormatGroupWithItems } from '../../field/features/format/shared/toolbarFormatGroup.js'
+export { StrikethroughFeatureClientComponent } from '../../field/features/format/strikethrough/feature.client.js'
+export { SubscriptFeatureClientComponent } from '../../field/features/format/subscript/feature.client.js'
+export { SuperscriptFeatureClientComponent } from '../../field/features/format/superscript/feature.client.js'
+export { UnderlineFeatureClientComponent } from '../../field/features/format/underline/feature.client.js'
+export { HeadingFeatureClientComponent } from '../../field/features/heading/feature.client.js'
+export { HorizontalRuleFeatureClientComponent } from '../../field/features/horizontalRule/feature.client.js'
+export { IndentFeatureClientComponent } from '../../field/features/indent/feature.client.js'
+export { LinkFeatureClientComponent } from '../../field/features/link/feature.client.js'
+export { ChecklistFeatureClientComponent } from '../../field/features/lists/checklist/feature.client.js'
+export { OrderedListFeatureClientComponent } from '../../field/features/lists/orderedList/feature.client.js'
+export { UnorderedListFeatureClientComponent } from '../../field/features/lists/unorderedList/feature.client.js'
+export { LexicalPluginToLexicalFeatureClientComponent } from '../../field/features/migrations/lexicalPluginToLexical/feature.client.js'
+export { SlateToLexicalFeatureClientComponent } from '../../field/features/migrations/slateToLexical/feature.client.js'
+export { ParagraphFeatureClientComponent } from '../../field/features/paragraph/feature.client.js'
+
+export { RelationshipFeatureClientComponent } from '../../field/features/relationship/feature.client.js'
+
+export { toolbarAddDropdownGroupWithItems } from '../../field/features/shared/toolbar/addDropdownGroup.js'
+export { toolbarFeatureButtonsGroupWithItems } from '../../field/features/shared/toolbar/featureButtonsGroup.js'
+export { toolbarTextDropdownGroupWithItems } from '../../field/features/shared/toolbar/textDropdownGroup.js'
+export { FixedToolbarFeatureClientComponent } from '../../field/features/toolbars/fixed/feature.client.js'
+export { InlineToolbarFeatureClientComponent } from '../../field/features/toolbars/inline/feature.client.js'
+export { ToolbarButton } from '../../field/features/toolbars/shared/ToolbarButton/index.js'
+
+export { ToolbarDropdown } from '../../field/features/toolbars/shared/ToolbarDropdown/index.js'
+export { UploadFeatureClientComponent } from '../../field/features/upload/feature.client.js'
+
+export { RichTextField } from '../../field/index.js'
+export {
+ type EditorConfigContextType,
+ EditorConfigProvider,
+ useEditorConfigContext,
+} from '../../field/lexical/config/client/EditorConfigProvider.js'
+export { defaultEditorLexicalConfig } from '../../field/lexical/config/client/default.js'
+
+export {
+ sanitizeClientEditorConfig,
+ sanitizeClientFeatures,
+} from '../../field/lexical/config/client/sanitize.js'
+export { CAN_USE_DOM } from '../../field/lexical/utils/canUseDOM.js'
+export { cloneDeep } from '../../field/lexical/utils/cloneDeep.js'
+export { getDOMRangeRect } from '../../field/lexical/utils/getDOMRangeRect.js'
+export { getSelectedNode } from '../../field/lexical/utils/getSelectedNode.js'
+export { isHTMLElement } from '../../field/lexical/utils/guard.js'
+export { invariant } from '../../field/lexical/utils/invariant.js'
+export { joinClasses } from '../../field/lexical/utils/joinClasses.js'
+
+export { createBlockNode } from '../../field/lexical/utils/markdown/createBlockNode.js'
+export { Point, isPoint } from '../../field/lexical/utils/point.js'
+export { Rect } from '../../field/lexical/utils/rect.js'
+export { setFloatingElemPosition } from '../../field/lexical/utils/setFloatingElemPosition.js'
+export { setFloatingElemPositionForLinkEditor } from '../../field/lexical/utils/setFloatingElemPositionForLinkEditor.js'
+
+export {
+ addSwipeDownListener,
+ addSwipeLeftListener,
+ addSwipeRightListener,
+ addSwipeUpListener,
+} from '../../field/lexical/utils/swipe.js'
diff --git a/packages/richtext-lexical/src/exports/components.ts b/packages/richtext-lexical/src/exports/components.ts
deleted file mode 100644
index 6a038988be..0000000000
--- a/packages/richtext-lexical/src/exports/components.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-export { RichTextCell } from '../cell/index.js'
-export { createClientComponent } from '../field/features/createClientComponent.js'
-
-export { toolbarFormatGroupWithItems } from '../field/features/format/shared/toolbarFormatGroup.js'
-export { toolbarAddDropdownGroupWithItems } from '../field/features/shared/toolbar/addDropdownGroup.js'
-export { toolbarFeatureButtonsGroupWithItems } from '../field/features/shared/toolbar/featureButtonsGroup.js'
-export { toolbarTextDropdownGroupWithItems } from '../field/features/shared/toolbar/textDropdownGroup.js'
-export { ToolbarButton } from '../field/features/toolbars/shared/ToolbarButton/index.js'
-export { ToolbarDropdown } from '../field/features/toolbars/shared/ToolbarDropdown/index.js'
-
-export { RichTextField } from '../field/index.js'
-
-export { defaultEditorLexicalConfig } from '../field/lexical/config/client/default.js'
diff --git a/packages/richtext-lexical/src/field/Field.tsx b/packages/richtext-lexical/src/field/Field.tsx
index b1eca441ea..05ccf18c8d 100644
--- a/packages/richtext-lexical/src/field/Field.tsx
+++ b/packages/richtext-lexical/src/field/Field.tsx
@@ -2,18 +2,21 @@
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
import type { SerializedEditorState } from 'lexical'
-import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'
-import { FieldError } from '@payloadcms/ui/forms/FieldError'
-import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useField } from '@payloadcms/ui/forms/useField'
-import { withCondition } from '@payloadcms/ui/forms/withCondition'
+import {
+ FieldDescription,
+ FieldError,
+ FieldLabel,
+ useField,
+ useFieldProps,
+ withCondition,
+} from '@payloadcms/ui/client'
import React, { useCallback } from 'react'
import { ErrorBoundary } from 'react-error-boundary'
import type { SanitizedClientEditorConfig } from './lexical/config/types.js'
import './index.scss'
+import './bundled.css'
import { LexicalProvider } from './lexical/LexicalProvider.js'
const baseClass = 'rich-text-lexical'
diff --git a/packages/payload/src/exports/components/utilities.ts b/packages/richtext-lexical/src/field/bundled.css
similarity index 100%
rename from packages/payload/src/exports/components/utilities.ts
rename to packages/richtext-lexical/src/field/bundled.css
diff --git a/packages/richtext-lexical/src/field/features/align/feature.server.ts b/packages/richtext-lexical/src/field/features/align/feature.server.ts
index e4fd5a080a..19c4a19393 100644
--- a/packages/richtext-lexical/src/field/features/align/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/align/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../types.js'
-import { AlignFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { AlignFeatureClientComponent } from '../../../exports/client/index.js'
import { i18n } from './i18n.js'
export const AlignFeature: FeatureProviderProviderServer = (props) => {
diff --git a/packages/richtext-lexical/src/field/features/blockquote/feature.server.ts b/packages/richtext-lexical/src/field/features/blockquote/feature.server.ts
index 40c9b64799..1facc5ab62 100644
--- a/packages/richtext-lexical/src/field/features/blockquote/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/blockquote/feature.server.ts
@@ -2,9 +2,10 @@ import { QuoteNode } from '@lexical/rich-text'
import type { FeatureProviderProviderServer } from '../types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { BlockquoteFeatureClientComponent } from '../../../exports/client/index.js'
import { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'
import { createNode } from '../typeUtilities.js'
-import { BlockquoteFeatureClientComponent } from './feature.client.js'
import { i18n } from './i18n.js'
import { MarkdownTransformer } from './markdownTransformer.js'
diff --git a/packages/richtext-lexical/src/field/features/blocks/component/BlockContent.tsx b/packages/richtext-lexical/src/field/features/blocks/component/BlockContent.tsx
index 7859aee473..bf8fd4df3b 100644
--- a/packages/richtext-lexical/src/field/features/blocks/component/BlockContent.tsx
+++ b/packages/richtext-lexical/src/field/features/blocks/component/BlockContent.tsx
@@ -1,20 +1,20 @@
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
import type { FieldMap, ReducedBlock } from '@payloadcms/ui/utilities/buildComponentMap'
-import type { FormState } from 'payload/types'
-import type { Data } from 'payload/types'
-import type { CollapsedPreferences } from 'payload/types'
+import type { CollapsedPreferences, Data, FormState } from 'payload'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
import { getTranslation } from '@payloadcms/translations'
-import { Button } from '@payloadcms/ui/elements/Button'
-import { Collapsible } from '@payloadcms/ui/elements/Collapsible'
-import { ErrorPill } from '@payloadcms/ui/elements/ErrorPill'
-import { Pill } from '@payloadcms/ui/elements/Pill'
-import { SectionTitle } from '@payloadcms/ui/fields/Blocks/SectionTitle'
-import { useFormSubmitted } from '@payloadcms/ui/forms/Form'
-import { RenderFields } from '@payloadcms/ui/forms/RenderFields'
-import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import {
+ Button,
+ Collapsible,
+ ErrorPill,
+ Pill,
+ RenderFields,
+ SectionTitle,
+ useDocumentInfo,
+ useFormSubmitted,
+ useTranslation,
+} from '@payloadcms/ui/client'
import isDeepEqual from 'deep-equal'
import { $getNodeByKey } from 'lexical'
import React, { useCallback } from 'react'
diff --git a/packages/richtext-lexical/src/field/features/blocks/component/FormSavePlugin.tsx b/packages/richtext-lexical/src/field/features/blocks/component/FormSavePlugin.tsx
index d2ee081986..bee78880bc 100644
--- a/packages/richtext-lexical/src/field/features/blocks/component/FormSavePlugin.tsx
+++ b/packages/richtext-lexical/src/field/features/blocks/component/FormSavePlugin.tsx
@@ -1,9 +1,8 @@
-import type { FormState } from 'payload/types'
-import type { Data } from 'payload/types'
+import type { Data, FormState } from 'payload'
import type React from 'react'
-import { useAllFormFields } from '@payloadcms/ui/forms/Form'
-import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'
+import { useAllFormFields } from '@payloadcms/ui/client'
+import { reduceFieldsToValues } from '@payloadcms/ui/shared'
import { useEffect } from 'react'
import { removeEmptyArrayValues } from './removeEmptyArrayValues.js'
diff --git a/packages/richtext-lexical/src/field/features/blocks/component/index.tsx b/packages/richtext-lexical/src/field/features/blocks/component/index.tsx
index 2989824047..215b6c52ae 100644
--- a/packages/richtext-lexical/src/field/features/blocks/component/index.tsx
+++ b/packages/richtext-lexical/src/field/features/blocks/component/index.tsx
@@ -2,25 +2,27 @@
import type { FormProps } from '@payloadcms/ui/forms/Form'
-import { Form } from '@payloadcms/ui/forms/Form'
+import {
+ Collapsible,
+ Form,
+ Pill,
+ SectionTitle,
+ ShimmerEffect,
+ useConfig,
+ useDocumentInfo,
+ useFieldProps,
+ useFormSubmitted,
+ useTranslation,
+} from '@payloadcms/ui/client'
import React, { useCallback, useEffect, useMemo, useState } from 'react'
import { type BlockFields } from '../nodes/BlocksNode.js'
const baseClass = 'lexical-block'
import type { ReducedBlock } from '@payloadcms/ui/utilities/buildComponentMap'
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
import { getTranslation } from '@payloadcms/translations'
-import { Collapsible } from '@payloadcms/ui/elements/Collapsible'
-import { Pill } from '@payloadcms/ui/elements/Pill'
-import { ShimmerEffect } from '@payloadcms/ui/elements/ShimmerEffect'
-import { SectionTitle } from '@payloadcms/ui/fields/Blocks/SectionTitle'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useFormSubmitted } from '@payloadcms/ui/forms/Form'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { getFormState } from '@payloadcms/ui/utilities/getFormState'
+import { getFormState } from '@payloadcms/ui/shared'
import { v4 as uuid } from 'uuid'
import type { ClientComponentProps } from '../../types.js'
diff --git a/packages/richtext-lexical/src/field/features/blocks/component/removeEmptyArrayValues.ts b/packages/richtext-lexical/src/field/features/blocks/component/removeEmptyArrayValues.ts
index 800d256751..7d2216a7ed 100644
--- a/packages/richtext-lexical/src/field/features/blocks/component/removeEmptyArrayValues.ts
+++ b/packages/richtext-lexical/src/field/features/blocks/component/removeEmptyArrayValues.ts
@@ -1,4 +1,4 @@
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
/**
* By default, if an array field is empty, it will be included in the form state with a value of 0.
diff --git a/packages/richtext-lexical/src/field/features/blocks/drawer/index.tsx b/packages/richtext-lexical/src/field/features/blocks/drawer/index.tsx
index 51c8934b8a..f532635a51 100644
--- a/packages/richtext-lexical/src/field/features/blocks/drawer/index.tsx
+++ b/packages/richtext-lexical/src/field/features/blocks/drawer/index.tsx
@@ -3,10 +3,7 @@ import type { LexicalCommand, LexicalEditor } from 'lexical'
import { useModal } from '@faceless-ui/modal'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
-import { formatDrawerSlug } from '@payloadcms/ui/elements/Drawer'
-import { BlocksDrawer } from '@payloadcms/ui/fields/Blocks/BlocksDrawer'
-import { useEditDepth } from '@payloadcms/ui/providers/EditDepth'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import { BlocksDrawer, formatDrawerSlug, useEditDepth, useTranslation } from '@payloadcms/ui/client'
import { $getNodeByKey, COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical'
import React, { useCallback, useEffect, useState } from 'react'
diff --git a/packages/richtext-lexical/src/field/features/blocks/feature.server.ts b/packages/richtext-lexical/src/field/features/blocks/feature.server.ts
index 95e841290b..a6f34d3b2c 100644
--- a/packages/richtext-lexical/src/field/features/blocks/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/blocks/feature.server.ts
@@ -1,15 +1,14 @@
-import type { Config } from 'payload/config'
-import type { Block, BlockField, Field } from 'payload/types'
+import type { Block, BlockField, Config, Field } from 'payload'
import { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields'
-import { baseBlockFields, sanitizeFields } from 'payload/config'
-import { fieldsToJSONSchema, formatLabels } from 'payload/utilities'
+import { baseBlockFields, fieldsToJSONSchema, formatLabels, sanitizeFields } from 'payload'
import type { FeatureProviderProviderServer } from '../types.js'
import type { BlocksFeatureClientProps } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { BlocksFeatureClientComponent } from '../../../exports/client/index.js'
import { createNode } from '../typeUtilities.js'
-import { BlocksFeatureClientComponent } from './feature.client.js'
import { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'
import { i18n } from './i18n.js'
import { BlockNode } from './nodes/BlocksNode.js'
diff --git a/packages/richtext-lexical/src/field/features/converters/html/field/index.ts b/packages/richtext-lexical/src/field/features/converters/html/field/index.ts
index 9f7be10b7c..d98394c659 100644
--- a/packages/richtext-lexical/src/field/features/converters/html/field/index.ts
+++ b/packages/richtext-lexical/src/field/features/converters/html/field/index.ts
@@ -1,5 +1,5 @@
import type { SerializedEditorState } from 'lexical'
-import type { Field, FieldAffectingData, RichTextField } from 'payload/types'
+import type { Field, FieldAffectingData, RichTextField } from 'payload'
import type { AdapterProps, LexicalRichTextAdapter } from '../../../../../types.js'
import type { SanitizedServerEditorConfig } from '../../../../lexical/config/types.js'
diff --git a/packages/richtext-lexical/src/field/features/createFeaturePropComponent.tsx b/packages/richtext-lexical/src/field/features/createFeaturePropComponent.tsx
index b96a7a4e38..7c0e022466 100644
--- a/packages/richtext-lexical/src/field/features/createFeaturePropComponent.tsx
+++ b/packages/richtext-lexical/src/field/features/createFeaturePropComponent.tsx
@@ -2,9 +2,7 @@
import type React from 'react'
-import { useTableCell } from '@payloadcms/ui/elements/Table'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useAddClientFunction } from '@payloadcms/ui/providers/ClientFunction'
+import { useAddClientFunction, useFieldProps, useTableCell } from '@payloadcms/ui/client'
const useLexicalFeatureProp = (featureKey: string, componentKey: string, prop: T) => {
const { schemaPath: schemaPathFromFieldProps } = useFieldProps()
diff --git a/packages/richtext-lexical/src/field/features/debug/testRecorder/feature.server.ts b/packages/richtext-lexical/src/field/features/debug/testRecorder/feature.server.ts
index 8639091649..a7110743b2 100644
--- a/packages/richtext-lexical/src/field/features/debug/testRecorder/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/debug/testRecorder/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { TestRecorderFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { TestRecorderFeatureClientComponent } from '../../../../exports/client/index.js'
export const TestRecorderFeature: FeatureProviderProviderServer = (props) => {
return {
diff --git a/packages/richtext-lexical/src/field/features/debug/treeView/feature.server.ts b/packages/richtext-lexical/src/field/features/debug/treeView/feature.server.ts
index b4859d7d50..9c0a80cb2e 100644
--- a/packages/richtext-lexical/src/field/features/debug/treeView/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/debug/treeView/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { TreeViewFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { TreeViewFeatureClientComponent } from '../../../../exports/client/index.js'
export const TreeViewFeature: FeatureProviderProviderServer = (props) => {
return {
diff --git a/packages/richtext-lexical/src/field/features/format/bold/feature.server.ts b/packages/richtext-lexical/src/field/features/format/bold/feature.server.ts
index 77337c5c3d..abcb78e614 100644
--- a/packages/richtext-lexical/src/field/features/format/bold/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/format/bold/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { BoldFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { BoldFeatureClientComponent } from '../../../../exports/client/index.js'
import {
BOLD_ITALIC_STAR,
BOLD_ITALIC_UNDERSCORE,
diff --git a/packages/richtext-lexical/src/field/features/format/inlineCode/feature.server.ts b/packages/richtext-lexical/src/field/features/format/inlineCode/feature.server.ts
index c7d2d2136f..ca839c2374 100644
--- a/packages/richtext-lexical/src/field/features/format/inlineCode/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/format/inlineCode/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { InlineCodeFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { InlineCodeFeatureClientComponent } from '../../../../exports/client/index.js'
import { INLINE_CODE } from './markdownTransformers.js'
export const InlineCodeFeature: FeatureProviderProviderServer = (props) => {
diff --git a/packages/richtext-lexical/src/field/features/format/italic/feature.server.ts b/packages/richtext-lexical/src/field/features/format/italic/feature.server.ts
index 8c32151a28..1c731b0332 100644
--- a/packages/richtext-lexical/src/field/features/format/italic/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/format/italic/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { ItalicFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { ItalicFeatureClientComponent } from '../../../../exports/client/index.js'
import { ITALIC_STAR, ITALIC_UNDERSCORE } from './markdownTransformers.js'
export const ItalicFeature: FeatureProviderProviderServer = (props) => {
diff --git a/packages/richtext-lexical/src/field/features/format/strikethrough/feature.server.ts b/packages/richtext-lexical/src/field/features/format/strikethrough/feature.server.ts
index ef65e05e72..bc15079ee3 100644
--- a/packages/richtext-lexical/src/field/features/format/strikethrough/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/format/strikethrough/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { StrikethroughFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { StrikethroughFeatureClientComponent } from '../../../../exports/client/index.js'
import { STRIKETHROUGH } from './markdownTransformers.js'
export const StrikethroughFeature: FeatureProviderProviderServer = (
diff --git a/packages/richtext-lexical/src/field/features/format/subscript/feature.server.ts b/packages/richtext-lexical/src/field/features/format/subscript/feature.server.ts
index 2484782a75..08d5e125ec 100644
--- a/packages/richtext-lexical/src/field/features/format/subscript/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/format/subscript/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { SubscriptFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { SubscriptFeatureClientComponent } from '../../../../exports/client/index.js'
export const SubscriptFeature: FeatureProviderProviderServer = (props) => {
return {
diff --git a/packages/richtext-lexical/src/field/features/format/superscript/feature.server.ts b/packages/richtext-lexical/src/field/features/format/superscript/feature.server.ts
index 02509efc3d..0b0f90072c 100644
--- a/packages/richtext-lexical/src/field/features/format/superscript/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/format/superscript/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { SuperscriptFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { SuperscriptFeatureClientComponent } from '../../../../exports/client/index.js'
export const SuperscriptFeature: FeatureProviderProviderServer = (props) => {
return {
diff --git a/packages/richtext-lexical/src/field/features/format/underline/feature.server.ts b/packages/richtext-lexical/src/field/features/format/underline/feature.server.ts
index b06a501bcd..939278004b 100644
--- a/packages/richtext-lexical/src/field/features/format/underline/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/format/underline/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { UnderlineFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { UnderlineFeatureClientComponent } from '../../../../exports/client/index.js'
export const UnderlineFeature: FeatureProviderProviderServer = (props) => {
return {
diff --git a/packages/richtext-lexical/src/field/features/heading/feature.client.tsx b/packages/richtext-lexical/src/field/features/heading/feature.client.tsx
index 71172644cf..ea37a08af1 100644
--- a/packages/richtext-lexical/src/field/features/heading/feature.client.tsx
+++ b/packages/richtext-lexical/src/field/features/heading/feature.client.tsx
@@ -2,8 +2,7 @@
import type { HeadingTagType } from '@lexical/rich-text'
-import { $isHeadingNode } from '@lexical/rich-text'
-import { $createHeadingNode, HeadingNode } from '@lexical/rich-text'
+import { $createHeadingNode, $isHeadingNode, HeadingNode } from '@lexical/rich-text'
import { $setBlocksType } from '@lexical/selection'
import { $getSelection, $isRangeSelection } from 'lexical'
diff --git a/packages/richtext-lexical/src/field/features/heading/feature.server.ts b/packages/richtext-lexical/src/field/features/heading/feature.server.ts
index 1890131dcf..0a460e134a 100644
--- a/packages/richtext-lexical/src/field/features/heading/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/heading/feature.server.ts
@@ -4,9 +4,10 @@ import { HeadingNode } from '@lexical/rich-text'
import type { FeatureProviderProviderServer } from '../types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { HeadingFeatureClientComponent } from '../../../exports/client/index.js'
import { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'
import { createNode } from '../typeUtilities.js'
-import { HeadingFeatureClientComponent } from './feature.client.js'
import { i18n } from './i18n.js'
import { MarkdownTransformer } from './markdownTransformer.js'
diff --git a/packages/richtext-lexical/src/field/features/horizontalRule/feature.server.ts b/packages/richtext-lexical/src/field/features/horizontalRule/feature.server.ts
index 11fbb9ed14..96f293a275 100644
--- a/packages/richtext-lexical/src/field/features/horizontalRule/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/horizontalRule/feature.server.ts
@@ -1,7 +1,8 @@
import type { FeatureProviderProviderServer } from '../types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { HorizontalRuleFeatureClientComponent } from '../../../exports/client/index.js'
import { createNode } from '../typeUtilities.js'
-import { HorizontalRuleFeatureClientComponent } from './feature.client.js'
import { i18n } from './i18n.js'
import { MarkdownTransformer } from './markdownTransformer.js'
import { HorizontalRuleNode } from './nodes/HorizontalRuleNode.js'
diff --git a/packages/richtext-lexical/src/field/features/indent/feature.server.ts b/packages/richtext-lexical/src/field/features/indent/feature.server.ts
index 9ed6a9be33..10c8dd89a1 100644
--- a/packages/richtext-lexical/src/field/features/indent/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/indent/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../types.js'
-import { IndentFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { IndentFeatureClientComponent } from '../../../exports/client/index.js'
import { i18n } from './i18n.js'
export const IndentFeature: FeatureProviderProviderServer = (props) => {
diff --git a/packages/richtext-lexical/src/field/features/link/drawer/baseFields.ts b/packages/richtext-lexical/src/field/features/link/drawer/baseFields.ts
index be58cc065b..08428c09fb 100644
--- a/packages/richtext-lexical/src/field/features/link/drawer/baseFields.ts
+++ b/packages/richtext-lexical/src/field/features/link/drawer/baseFields.ts
@@ -1,6 +1,4 @@
-import type { User } from 'payload/auth'
-import type { SanitizedConfig } from 'payload/config'
-import type { FieldAffectingData, RadioField, TextField } from 'payload/types'
+import type { FieldAffectingData, RadioField, SanitizedConfig, TextField, User } from 'payload'
import { validateUrl } from '../../../lexical/utils/url.js'
diff --git a/packages/richtext-lexical/src/field/features/link/drawer/index.tsx b/packages/richtext-lexical/src/field/features/link/drawer/index.tsx
index 11efc18552..07f9866729 100644
--- a/packages/richtext-lexical/src/field/features/link/drawer/index.tsx
+++ b/packages/richtext-lexical/src/field/features/link/drawer/index.tsx
@@ -1,15 +1,17 @@
import type { FormProps } from '@payloadcms/ui/forms/Form'
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
-import { Drawer } from '@payloadcms/ui/elements/Drawer'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { Form } from '@payloadcms/ui/forms/Form'
-import { RenderFields } from '@payloadcms/ui/forms/RenderFields'
-import { FormSubmit } from '@payloadcms/ui/forms/Submit'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { getFormState } from '@payloadcms/ui/utilities/getFormState'
+import {
+ Drawer,
+ Form,
+ FormSubmit,
+ RenderFields,
+ useConfig,
+ useDocumentInfo,
+ useFieldProps,
+ useTranslation,
+} from '@payloadcms/ui/client'
+import { getFormState } from '@payloadcms/ui/shared'
import React, { useCallback, useEffect, useState } from 'react'
import { v4 as uuid } from 'uuid'
diff --git a/packages/richtext-lexical/src/field/features/link/drawer/types.ts b/packages/richtext-lexical/src/field/features/link/drawer/types.ts
index 5899c5ac52..cb85606ab5 100644
--- a/packages/richtext-lexical/src/field/features/link/drawer/types.ts
+++ b/packages/richtext-lexical/src/field/features/link/drawer/types.ts
@@ -1,4 +1,4 @@
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
import type { LinkFields } from '../nodes/types.js'
diff --git a/packages/richtext-lexical/src/field/features/link/feature.server.ts b/packages/richtext-lexical/src/field/features/link/feature.server.ts
index 61ee87e972..c4842dd1f9 100644
--- a/packages/richtext-lexical/src/field/features/link/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/link/feature.server.ts
@@ -1,16 +1,16 @@
-import type { Config, SanitizedConfig } from 'payload/config'
-import type { Field, FieldAffectingData } from 'payload/types'
+import type { Config, Field, FieldAffectingData, SanitizedConfig } from 'payload'
import { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields'
-import { sanitizeFields } from 'payload/config'
-import { deepCopyObject } from 'payload/utilities'
+import { sanitizeFields } from 'payload'
+import { deepCopyObject } from 'payload/shared'
import type { FeatureProviderProviderServer } from '../types.js'
import type { ClientProps } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { LinkFeatureClientComponent } from '../../../exports/client/index.js'
import { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'
import { createNode } from '../typeUtilities.js'
-import { LinkFeatureClientComponent } from './feature.client.js'
import { linkPopulationPromiseHOC } from './graphQLPopulationPromise.js'
import { i18n } from './i18n.js'
import { LinkMarkdownTransformer } from './markdownTransformer.js'
@@ -186,7 +186,7 @@ export const LinkFeature: FeatureProviderProviderServer {
+ getSubFields: () => {
return sanitizedFieldsWithoutText
},
getSubFieldsData: ({ node }) => {
diff --git a/packages/richtext-lexical/src/field/features/link/nodes/LinkNode.ts b/packages/richtext-lexical/src/field/features/link/nodes/LinkNode.ts
index e6e699374b..1feb05b78a 100644
--- a/packages/richtext-lexical/src/field/features/link/nodes/LinkNode.ts
+++ b/packages/richtext-lexical/src/field/features/link/nodes/LinkNode.ts
@@ -1,4 +1,5 @@
-import type { BaseSelection ,
+import type {
+ BaseSelection,
DOMConversionMap,
DOMConversionOutput,
EditorConfig,
diff --git a/packages/richtext-lexical/src/field/features/link/plugins/autoLink/index.tsx b/packages/richtext-lexical/src/field/features/link/plugins/autoLink/index.tsx
index 906b7decab..c65e7afde1 100644
--- a/packages/richtext-lexical/src/field/features/link/plugins/autoLink/index.tsx
+++ b/packages/richtext-lexical/src/field/features/link/plugins/autoLink/index.tsx
@@ -11,9 +11,9 @@ import {
$isNodeSelection,
$isRangeSelection,
$isTextNode,
+ type TextNode,
TextNode as TextNodeValue,
} from 'lexical'
-import { type TextNode } from 'lexical'
import { useEffect } from 'react'
import type { PluginComponent } from '../../../types.js'
diff --git a/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.tsx b/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.tsx
index ebb07d298d..f496daa8a0 100644
--- a/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.tsx
+++ b/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.tsx
@@ -1,19 +1,15 @@
'use client'
import type { LexicalNode } from 'lexical'
-import type { FormState } from 'payload/types'
-import type { Data } from 'payload/types'
+import type { Data, FormState } from 'payload'
import { useModal } from '@faceless-ui/modal'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
import { $findMatchingParent, mergeRegister } from '@lexical/utils'
import { getTranslation } from '@payloadcms/translations'
-import { formatDrawerSlug } from '@payloadcms/ui/elements/Drawer'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useEditDepth } from '@payloadcms/ui/providers/EditDepth'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { $isLineBreakNode } from 'lexical'
+import { formatDrawerSlug, useConfig, useEditDepth, useTranslation } from '@payloadcms/ui/client'
import {
$getSelection,
+ $isLineBreakNode,
$isRangeSelection,
COMMAND_PRIORITY_HIGH,
COMMAND_PRIORITY_LOW,
@@ -31,8 +27,7 @@ import { getSelectedNode } from '../../../../../lexical/utils/getSelectedNode.js
import { setFloatingElemPositionForLinkEditor } from '../../../../../lexical/utils/setFloatingElemPositionForLinkEditor.js'
import { LinkDrawer } from '../../../drawer/index.js'
import { $isAutoLinkNode } from '../../../nodes/AutoLinkNode.js'
-import { $createLinkNode } from '../../../nodes/LinkNode.js'
-import { $isLinkNode, TOGGLE_LINK_COMMAND } from '../../../nodes/LinkNode.js'
+import { $createLinkNode, $isLinkNode, TOGGLE_LINK_COMMAND } from '../../../nodes/LinkNode.js'
import { TOGGLE_LINK_WITH_MODAL_COMMAND } from './commands.js'
export function LinkEditor({ anchorElem }: { anchorElem: HTMLElement }): React.ReactNode {
diff --git a/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/utilities.ts b/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/utilities.ts
index 40efad636d..e167784a65 100644
--- a/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/utilities.ts
+++ b/packages/richtext-lexical/src/field/features/link/plugins/floatingLinkEditor/utilities.ts
@@ -1,5 +1,4 @@
-import type { SanitizedConfig } from 'payload/config'
-import type { Field, FieldAffectingData } from 'payload/types'
+import type { Field, FieldAffectingData, SanitizedConfig } from 'payload'
import { getBaseFields } from '../../drawer/baseFields.js'
diff --git a/packages/richtext-lexical/src/field/features/link/validate.ts b/packages/richtext-lexical/src/field/features/link/validate.ts
index 86250254c1..832d4ad1e8 100644
--- a/packages/richtext-lexical/src/field/features/link/validate.ts
+++ b/packages/richtext-lexical/src/field/features/link/validate.ts
@@ -1,4 +1,4 @@
-import type { Field } from 'payload/types'
+import type { Field } from 'payload'
import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'
diff --git a/packages/richtext-lexical/src/field/features/lists/checklist/feature.server.ts b/packages/richtext-lexical/src/field/features/lists/checklist/feature.server.ts
index ca4f4a6cd7..7aa9cbd467 100644
--- a/packages/richtext-lexical/src/field/features/lists/checklist/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/lists/checklist/feature.server.ts
@@ -2,9 +2,10 @@ import { ListItemNode, ListNode } from '@lexical/list'
import type { FeatureProviderProviderServer } from '../../types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { ChecklistFeatureClientComponent } from '../../../../exports/client/index.js'
import { createNode } from '../../typeUtilities.js'
import { ListHTMLConverter, ListItemHTMLConverter } from '../htmlConverter.js'
-import { ChecklistFeatureClientComponent } from './feature.client.js'
import { i18n } from './i18n.js'
import { CHECK_LIST } from './markdownTransformers.js'
diff --git a/packages/richtext-lexical/src/field/features/lists/orderedList/feature.server.ts b/packages/richtext-lexical/src/field/features/lists/orderedList/feature.server.ts
index 4f515ca430..58947de342 100644
--- a/packages/richtext-lexical/src/field/features/lists/orderedList/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/lists/orderedList/feature.server.ts
@@ -2,9 +2,10 @@ import { ListItemNode, ListNode } from '@lexical/list'
import type { FeatureProviderProviderServer } from '../../types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { OrderedListFeatureClientComponent } from '../../../../exports/client/index.js'
import { createNode } from '../../typeUtilities.js'
import { ListHTMLConverter, ListItemHTMLConverter } from '../htmlConverter.js'
-import { OrderedListFeatureClientComponent } from './feature.client.js'
import { i18n } from './i18n.js'
import { ORDERED_LIST } from './markdownTransformer.js'
diff --git a/packages/richtext-lexical/src/field/features/lists/unorderedList/feature.server.ts b/packages/richtext-lexical/src/field/features/lists/unorderedList/feature.server.ts
index 30fb23efce..48516e72a8 100644
--- a/packages/richtext-lexical/src/field/features/lists/unorderedList/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/lists/unorderedList/feature.server.ts
@@ -2,9 +2,10 @@ import { ListItemNode, ListNode } from '@lexical/list'
import type { FeatureProviderProviderServer } from '../../types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { UnorderedListFeatureClientComponent } from '../../../../exports/client/index.js'
import { createNode } from '../../typeUtilities.js'
import { ListHTMLConverter, ListItemHTMLConverter } from '../htmlConverter.js'
-import { UnorderedListFeatureClientComponent } from './feature.client.js'
import { i18n } from './i18n.js'
import { UNORDERED_LIST } from './markdownTransformer.js'
diff --git a/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/feature.server.ts b/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/feature.server.ts
index e0bd0fc778..1022a1856c 100644
--- a/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/feature.server.ts
@@ -3,8 +3,9 @@ import type React from 'react'
import type { FeatureProviderProviderServer } from '../../types.js'
import type { LexicalPluginNodeConverterProvider } from './converter/types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { LexicalPluginToLexicalFeatureClientComponent } from '../../../../exports/client/index.js'
import { defaultConverters } from './converter/defaultConverters.js'
-import { LexicalPluginToLexicalFeatureClientComponent } from './feature.client.js'
import { UnknownConvertedNode } from './nodes/unknownConvertedNode/index.js'
export type LexicalPluginToLexicalFeatureProps = {
diff --git a/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.tsx b/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.tsx
index 2c13b5946c..3f62c05c05 100644
--- a/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.tsx
+++ b/packages/richtext-lexical/src/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.tsx
@@ -1,5 +1,4 @@
-import type { SerializedLexicalNode, Spread } from 'lexical'
-import type { EditorConfig, LexicalNode, NodeKey } from 'lexical'
+import type { EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from 'lexical'
import type { JSX } from 'react'
import { addClassNamesToElement } from '@lexical/utils'
diff --git a/packages/richtext-lexical/src/field/features/migrations/slateToLexical/feature.server.ts b/packages/richtext-lexical/src/field/features/migrations/slateToLexical/feature.server.ts
index e27b6e3c34..6f9944cdba 100644
--- a/packages/richtext-lexical/src/field/features/migrations/slateToLexical/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/migrations/slateToLexical/feature.server.ts
@@ -3,8 +3,9 @@ import type React from 'react'
import type { FeatureProviderProviderServer } from '../../types.js'
import type { SlateNodeConverterProvider } from './converter/types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { SlateToLexicalFeatureClientComponent } from '../../../../exports/client/index.js'
import { defaultSlateConverters } from './converter/defaultConverters.js'
-import { SlateToLexicalFeatureClientComponent } from './feature.client.js'
import { UnknownConvertedNode } from './nodes/unknownConvertedNode/index.js'
export type SlateToLexicalFeatureProps = {
diff --git a/packages/richtext-lexical/src/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.tsx b/packages/richtext-lexical/src/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.tsx
index 2c13b5946c..3f62c05c05 100644
--- a/packages/richtext-lexical/src/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.tsx
+++ b/packages/richtext-lexical/src/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.tsx
@@ -1,5 +1,4 @@
-import type { SerializedLexicalNode, Spread } from 'lexical'
-import type { EditorConfig, LexicalNode, NodeKey } from 'lexical'
+import type { EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from 'lexical'
import type { JSX } from 'react'
import { addClassNamesToElement } from '@lexical/utils'
diff --git a/packages/richtext-lexical/src/field/features/paragraph/feature.server.ts b/packages/richtext-lexical/src/field/features/paragraph/feature.server.ts
index a8b8efa64b..721bceebeb 100644
--- a/packages/richtext-lexical/src/field/features/paragraph/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/paragraph/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../types.js'
-import { ParagraphFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { ParagraphFeatureClientComponent } from '../../../exports/client/index.js'
import { i18n } from './i18n.js'
export const ParagraphFeature: FeatureProviderProviderServer = (props) => {
diff --git a/packages/richtext-lexical/src/field/features/relationship/drawer/index.tsx b/packages/richtext-lexical/src/field/features/relationship/drawer/index.tsx
index f9be27b5c0..226ea2c474 100644
--- a/packages/richtext-lexical/src/field/features/relationship/drawer/index.tsx
+++ b/packages/richtext-lexical/src/field/features/relationship/drawer/index.tsx
@@ -2,7 +2,7 @@
import type { LexicalEditor } from 'lexical'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
-import { useListDrawer } from '@payloadcms/ui/elements/ListDrawer'
+import { useListDrawer } from '@payloadcms/ui/client'
import { $getNodeByKey, COMMAND_PRIORITY_EDITOR } from 'lexical'
import React, { useCallback, useEffect, useState } from 'react'
diff --git a/packages/richtext-lexical/src/field/features/relationship/feature.server.ts b/packages/richtext-lexical/src/field/features/relationship/feature.server.ts
index b0733342aa..03ad9d1a02 100644
--- a/packages/richtext-lexical/src/field/features/relationship/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/relationship/feature.server.ts
@@ -1,8 +1,9 @@
import type { FeatureProviderProviderServer } from '../types.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { RelationshipFeatureClientComponent } from '../../../exports/client/index.js'
import { populate } from '../../../populateGraphQL/populate.js'
import { createNode } from '../typeUtilities.js'
-import { RelationshipFeatureClientComponent } from './feature.client.js'
import { relationshipPopulationPromiseHOC } from './graphQLPopulationPromise.js'
import { i18n } from './i18n.js'
import { RelationshipNode } from './nodes/RelationshipNode.js'
diff --git a/packages/richtext-lexical/src/field/features/relationship/nodes/components/RelationshipComponent.tsx b/packages/richtext-lexical/src/field/features/relationship/nodes/components/RelationshipComponent.tsx
index ea4f6ec57e..f0dfd8d1d7 100644
--- a/packages/richtext-lexical/src/field/features/relationship/nodes/components/RelationshipComponent.tsx
+++ b/packages/richtext-lexical/src/field/features/relationship/nodes/components/RelationshipComponent.tsx
@@ -5,12 +5,15 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext
import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js'
import { mergeRegister } from '@lexical/utils'
import { getTranslation } from '@payloadcms/translations'
-import { Button } from '@payloadcms/ui/elements/Button'
-import { useDocumentDrawer } from '@payloadcms/ui/elements/DocumentDrawer'
-import usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
import {
+ Button,
+ useConfig,
+ useDocumentDrawer,
+ usePayloadAPI,
+ useTranslation,
+} from '@payloadcms/ui/client'
+import {
+ $getNodeByKey,
$getSelection,
$isNodeSelection,
CLICK_COMMAND,
@@ -18,7 +21,6 @@ import {
KEY_BACKSPACE_COMMAND,
KEY_DELETE_COMMAND,
} from 'lexical'
-import { $getNodeByKey } from 'lexical'
import React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'
import type { RelationshipData } from '../RelationshipNode.js'
diff --git a/packages/richtext-lexical/src/field/features/relationship/plugins/index.tsx b/packages/richtext-lexical/src/field/features/relationship/plugins/index.tsx
index 215dd31057..fffcc07c3b 100644
--- a/packages/richtext-lexical/src/field/features/relationship/plugins/index.tsx
+++ b/packages/richtext-lexical/src/field/features/relationship/plugins/index.tsx
@@ -3,7 +3,7 @@ import type { LexicalCommand } from 'lexical'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
import { $insertNodeToNearestRoot } from '@lexical/utils'
-import { useConfig } from '@payloadcms/ui/providers/Config'
+import { useConfig } from '@payloadcms/ui/client'
import {
$getPreviousSelection,
$getSelection,
@@ -12,8 +12,7 @@ import {
COMMAND_PRIORITY_EDITOR,
createCommand,
} from 'lexical'
-import { useEffect } from 'react'
-import React from 'react'
+import React, { useEffect } from 'react'
import type { PluginComponent } from '../../types.js'
import type { RelationshipFeatureProps } from '../feature.server.js'
diff --git a/packages/richtext-lexical/src/field/features/relationship/utils/EnabledRelationshipsCondition.tsx b/packages/richtext-lexical/src/field/features/relationship/utils/EnabledRelationshipsCondition.tsx
index 8bcf4639c2..af0f478e9f 100644
--- a/packages/richtext-lexical/src/field/features/relationship/utils/EnabledRelationshipsCondition.tsx
+++ b/packages/richtext-lexical/src/field/features/relationship/utils/EnabledRelationshipsCondition.tsx
@@ -1,9 +1,6 @@
-import type { ClientUser } from 'payload/auth'
-import type { ClientCollectionConfig, VisibleEntities } from 'payload/types'
+import type { ClientCollectionConfig, ClientUser, VisibleEntities } from 'payload'
-import { useAuth } from '@payloadcms/ui/providers/Auth'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useEntityVisibility } from '@payloadcms/ui/providers/EntityVisibility'
+import { useAuth, useConfig, useEntityVisibility } from '@payloadcms/ui/client'
import * as React from 'react'
type Options = {
diff --git a/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.scss b/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.scss
index f964b041be..7d6656514f 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.scss
+++ b/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.scss
@@ -104,14 +104,13 @@ html[data-theme='dark'] {
}
}
-
.rich-text-lexical--show-gutter {
.fixed-toolbar {
+ .editor-container {
> .editor-scroller > .editor {
> .ContentEditable__root::before {
- top: calc(var(--base) * 1.25)!important;
- height: calc(100% - calc(var(--base) * 1.25) - 8px)!important;
+ top: calc(var(--base) * 1.25) !important;
+ height: calc(100% - calc(var(--base) * 1.25) - 8px) !important;
}
}
}
diff --git a/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.tsx b/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.tsx
index b70cf66fbb..ab67e61da8 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.tsx
+++ b/packages/richtext-lexical/src/field/features/toolbars/fixed/Toolbar/index.tsx
@@ -3,8 +3,7 @@ import type { LexicalEditor } from 'lexical'
import * as scrollInfoImport from '@faceless-ui/scroll-info'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
-import useThrottledEffect from '@payloadcms/ui/hooks/useThrottledEffect'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import { useThrottledEffect, useTranslation } from '@payloadcms/ui/client'
import * as React from 'react'
import { useMemo } from 'react'
diff --git a/packages/richtext-lexical/src/field/features/toolbars/fixed/feature.server.ts b/packages/richtext-lexical/src/field/features/toolbars/fixed/feature.server.ts
index 42cafdc25a..a278c29d97 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/fixed/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/toolbars/fixed/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { FixedToolbarFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { FixedToolbarFeatureClientComponent } from '../../../../exports/client/index.js'
export type FixedToolbarFeatureProps = {
/**
diff --git a/packages/richtext-lexical/src/field/features/toolbars/inline/Toolbar/index.scss b/packages/richtext-lexical/src/field/features/toolbars/inline/Toolbar/index.scss
index e2a69d00c8..f4c8dbc7fc 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/inline/Toolbar/index.scss
+++ b/packages/richtext-lexical/src/field/features/toolbars/inline/Toolbar/index.scss
@@ -49,5 +49,4 @@ html[data-theme='light'] {
margin: 0 6.25px;
}
}
-
}
diff --git a/packages/richtext-lexical/src/field/features/toolbars/inline/feature.server.ts b/packages/richtext-lexical/src/field/features/toolbars/inline/feature.server.ts
index f34190fa6c..97d81a4dea 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/inline/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/toolbars/inline/feature.server.ts
@@ -1,6 +1,7 @@
import type { FeatureProviderProviderServer } from '../../types.js'
-import { InlineToolbarFeatureClientComponent } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { InlineToolbarFeatureClientComponent } from '../../../../exports/client/index.js'
export const InlineToolbarFeature: FeatureProviderProviderServer = (
props,
diff --git a/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/DropDown.tsx b/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/DropDown.tsx
index d167abc301..7f4bf78dc8 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/DropDown.tsx
+++ b/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/DropDown.tsx
@@ -1,8 +1,7 @@
'use client'
import type { LexicalEditor } from 'lexical'
-import { type ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react'
-import React from 'react'
+import React, { type ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react'
import { createPortal } from 'react-dom'
import type { ToolbarGroupItem } from '../../types.js'
diff --git a/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.scss b/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.scss
index 1a581cd35b..4f62a71e2a 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.scss
+++ b/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.scss
@@ -79,7 +79,8 @@
text-overflow: ellipsis;
}
- &:hover:not([disabled]), &.active {
+ &:hover:not([disabled]),
+ &.active {
background-color: var(--color-base-100);
}
diff --git a/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.tsx b/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.tsx
index 0c944e4639..fd8fca4a7d 100644
--- a/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.tsx
+++ b/packages/richtext-lexical/src/field/features/toolbars/shared/ToolbarDropdown/index.tsx
@@ -6,7 +6,7 @@ const baseClass = 'toolbar-popup__dropdown'
import type { LexicalEditor } from 'lexical'
import { mergeRegister } from '@lexical/utils'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import { useTranslation } from '@payloadcms/ui/client'
import { $getSelection } from 'lexical'
import type { ToolbarGroupItem } from '../../types.js'
diff --git a/packages/richtext-lexical/src/field/features/types.ts b/packages/richtext-lexical/src/field/features/types.ts
index 1b0430546d..95a0aaa257 100644
--- a/packages/richtext-lexical/src/field/features/types.ts
+++ b/packages/richtext-lexical/src/field/features/types.ts
@@ -1,16 +1,23 @@
import type { Transformer } from '@lexical/markdown'
import type { GenericLanguages, I18nClient } from '@payloadcms/translations'
import type { JSONSchema4 } from 'json-schema'
-import type { Klass, LexicalEditor, LexicalNode, LexicalNodeReplacement , SerializedEditorState , SerializedLexicalNode } from 'lexical'
-import type { RequestContext } from 'payload'
-import type { SanitizedConfig } from 'payload/config'
+import type {
+ Klass,
+ LexicalEditor,
+ LexicalNode,
+ LexicalNodeReplacement,
+ SerializedEditorState,
+ SerializedLexicalNode,
+} from 'lexical'
import type {
Field,
PayloadRequestWithData,
ReplaceAny,
+ RequestContext,
RichTextField,
+ SanitizedConfig,
ValidateOptions,
-} from 'payload/types'
+} from 'payload'
import type React from 'react'
import type { AdapterProps } from '../../types.js'
diff --git a/packages/richtext-lexical/src/field/features/upload/component/ExtraFieldsDrawer/index.tsx b/packages/richtext-lexical/src/field/features/upload/component/ExtraFieldsDrawer/index.tsx
index dc336bcbb7..8394359c11 100644
--- a/packages/richtext-lexical/src/field/features/upload/component/ExtraFieldsDrawer/index.tsx
+++ b/packages/richtext-lexical/src/field/features/upload/component/ExtraFieldsDrawer/index.tsx
@@ -1,21 +1,23 @@
'use client'
import type { FormProps } from '@payloadcms/ui/forms/Form'
-import type { ClientCollectionConfig, FormState } from 'payload/types'
+import type { ClientCollectionConfig, FormState } from 'payload'
import { useModal } from '@faceless-ui/modal'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
import { getTranslation } from '@payloadcms/translations'
-import { Drawer } from '@payloadcms/ui/elements/Drawer'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { Form } from '@payloadcms/ui/forms/Form'
-import { RenderFields } from '@payloadcms/ui/forms/RenderFields'
-import { FormSubmit } from '@payloadcms/ui/forms/Submit'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { getFormState } from '@payloadcms/ui/utilities/getFormState'
+import {
+ Drawer,
+ Form,
+ FormSubmit,
+ RenderFields,
+ useConfig,
+ useDocumentInfo,
+ useFieldProps,
+ useTranslation,
+} from '@payloadcms/ui/client'
+import { getFormState } from '@payloadcms/ui/shared'
import { $getNodeByKey } from 'lexical'
-import { deepCopyObject } from 'payload/utilities'
+import { deepCopyObject } from 'payload/shared'
import React, { useCallback, useEffect, useState } from 'react'
import { v4 as uuid } from 'uuid'
diff --git a/packages/richtext-lexical/src/field/features/upload/component/index.tsx b/packages/richtext-lexical/src/field/features/upload/component/index.tsx
index 0568548b61..71072b1055 100644
--- a/packages/richtext-lexical/src/field/features/upload/component/index.tsx
+++ b/packages/richtext-lexical/src/field/features/upload/component/index.tsx
@@ -1,18 +1,20 @@
'use client'
-import type { ClientCollectionConfig } from 'payload/types'
+import type { ClientCollectionConfig } from 'payload'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection.js'
import { mergeRegister } from '@lexical/utils'
import { getTranslation } from '@payloadcms/translations'
-import { Button } from '@payloadcms/ui/elements/Button'
-import { useDocumentDrawer } from '@payloadcms/ui/elements/DocumentDrawer'
-import { DrawerToggler } from '@payloadcms/ui/elements/Drawer'
-import { useDrawerSlug } from '@payloadcms/ui/elements/Drawer'
-import { File } from '@payloadcms/ui/graphics/File'
-import usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import {
+ Button,
+ DrawerToggler,
+ File,
+ useConfig,
+ useDocumentDrawer,
+ useDrawerSlug,
+ usePayloadAPI,
+ useTranslation,
+} from '@payloadcms/ui/client'
import {
$getNodeByKey,
$getSelection,
diff --git a/packages/richtext-lexical/src/field/features/upload/drawer/index.tsx b/packages/richtext-lexical/src/field/features/upload/drawer/index.tsx
index e49387f065..750d9ab4e5 100644
--- a/packages/richtext-lexical/src/field/features/upload/drawer/index.tsx
+++ b/packages/richtext-lexical/src/field/features/upload/drawer/index.tsx
@@ -2,7 +2,7 @@
import type { LexicalEditor } from 'lexical'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
-import { useListDrawer } from '@payloadcms/ui/elements/ListDrawer'
+import { useListDrawer } from '@payloadcms/ui/client'
import { $getNodeByKey, COMMAND_PRIORITY_EDITOR } from 'lexical'
import React, { useCallback, useEffect, useState } from 'react'
diff --git a/packages/richtext-lexical/src/field/features/upload/feature.server.ts b/packages/richtext-lexical/src/field/features/upload/feature.server.ts
index 1e70a33b5e..1a13601e43 100644
--- a/packages/richtext-lexical/src/field/features/upload/feature.server.ts
+++ b/packages/richtext-lexical/src/field/features/upload/feature.server.ts
@@ -1,15 +1,15 @@
-import type { Config } from 'payload/config'
-import type { Field, FileData, FileSize, Payload, TypeWithID } from 'payload/types'
+import type { Config, Field, FileData, FileSize, Payload, TypeWithID } from 'payload'
import { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields'
-import { sanitizeFields } from 'payload/config'
+import { sanitizeFields } from 'payload'
import type { FeatureProviderProviderServer } from '../types.js'
import type { UploadFeaturePropsClient } from './feature.client.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { UploadFeatureClientComponent } from '../../../exports/client/index.js'
import { populate } from '../../../populateGraphQL/populate.js'
import { createNode } from '../typeUtilities.js'
-import { UploadFeatureClientComponent } from './feature.client.js'
import { uploadPopulationPromiseHOC } from './graphQLPopulationPromise.js'
import { i18n } from './i18n.js'
import { UploadNode } from './nodes/UploadNode.js'
diff --git a/packages/richtext-lexical/src/field/features/upload/nodes/UploadNode.tsx b/packages/richtext-lexical/src/field/features/upload/nodes/UploadNode.tsx
index feac83a268..0e9d8415ad 100644
--- a/packages/richtext-lexical/src/field/features/upload/nodes/UploadNode.tsx
+++ b/packages/richtext-lexical/src/field/features/upload/nodes/UploadNode.tsx
@@ -1,10 +1,11 @@
import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'
-import type { ElementFormatType, NodeKey } from 'lexical'
import type {
DOMConversionMap,
DOMConversionOutput,
DOMExportOutput,
+ ElementFormatType,
LexicalNode,
+ NodeKey,
Spread,
} from 'lexical'
import type { JSX } from 'react'
diff --git a/packages/richtext-lexical/src/field/features/upload/plugin/index.tsx b/packages/richtext-lexical/src/field/features/upload/plugin/index.tsx
index c757162746..5f225328d8 100644
--- a/packages/richtext-lexical/src/field/features/upload/plugin/index.tsx
+++ b/packages/richtext-lexical/src/field/features/upload/plugin/index.tsx
@@ -3,7 +3,7 @@ import type { LexicalCommand } from 'lexical'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
import { $insertNodeToNearestRoot, mergeRegister } from '@lexical/utils'
-import { useConfig } from '@payloadcms/ui/providers/Config'
+import { useConfig } from '@payloadcms/ui/client'
import {
$getPreviousSelection,
$getSelection,
diff --git a/packages/richtext-lexical/src/field/features/upload/validate.ts b/packages/richtext-lexical/src/field/features/upload/validate.ts
index 73f58c16c6..4f62c40ea4 100644
--- a/packages/richtext-lexical/src/field/features/upload/validate.ts
+++ b/packages/richtext-lexical/src/field/features/upload/validate.ts
@@ -1,5 +1,5 @@
import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'
-import { isValidID } from 'payload/utilities'
+import { isValidID } from 'payload'
import type { NodeValidation } from '../types.js'
import type { UploadFeatureProps } from './feature.server.js'
diff --git a/packages/richtext-lexical/src/field/index.scss b/packages/richtext-lexical/src/field/index.scss
index 949f77c71d..62fd322630 100644
--- a/packages/richtext-lexical/src/field/index.scss
+++ b/packages/richtext-lexical/src/field/index.scss
@@ -22,4 +22,3 @@
}
}
}
-
diff --git a/packages/richtext-lexical/src/field/index.tsx b/packages/richtext-lexical/src/field/index.tsx
index b72daeb2cb..f5541d7265 100644
--- a/packages/richtext-lexical/src/field/index.tsx
+++ b/packages/richtext-lexical/src/field/index.tsx
@@ -2,9 +2,7 @@
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
import type { EditorConfig as LexicalEditorConfig } from 'lexical'
-import { ShimmerEffect } from '@payloadcms/ui/elements/ShimmerEffect'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useClientFunctions } from '@payloadcms/ui/providers/ClientFunction'
+import { ShimmerEffect, useClientFunctions, useFieldProps } from '@payloadcms/ui/client'
import React, { Suspense, lazy, useEffect, useState } from 'react'
import type { GeneratedFeatureProviderComponent, LexicalFieldAdminProps } from '../types.js'
diff --git a/packages/richtext-lexical/src/field/lexical/LexicalEditor.scss b/packages/richtext-lexical/src/field/lexical/LexicalEditor.scss
index ad7497b4f6..8823c51b22 100644
--- a/packages/richtext-lexical/src/field/lexical/LexicalEditor.scss
+++ b/packages/richtext-lexical/src/field/lexical/LexicalEditor.scss
@@ -22,7 +22,7 @@
}
}
- &--show-gutter {
+ &--show-gutter {
> .rich-text-lexical__wrap > .editor-container > .editor-placeholder {
left: 3rem;
}
diff --git a/packages/richtext-lexical/src/field/lexical/LexicalEditor.tsx b/packages/richtext-lexical/src/field/lexical/LexicalEditor.tsx
index 24346b5855..599ad066f2 100644
--- a/packages/richtext-lexical/src/field/lexical/LexicalEditor.tsx
+++ b/packages/richtext-lexical/src/field/lexical/LexicalEditor.tsx
@@ -5,7 +5,7 @@ import { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin.js'
import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin.js'
import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin.js'
import { TabIndentationPlugin } from '@lexical/react/LexicalTabIndentationPlugin.js'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import { useTranslation } from '@payloadcms/ui/client'
import { BLUR_COMMAND, COMMAND_PRIORITY_LOW, FOCUS_COMMAND } from 'lexical'
import * as React from 'react'
import { useEffect, useState } from 'react'
diff --git a/packages/richtext-lexical/src/field/lexical/LexicalProvider.tsx b/packages/richtext-lexical/src/field/lexical/LexicalProvider.tsx
index adc605133a..a790398c9c 100644
--- a/packages/richtext-lexical/src/field/lexical/LexicalProvider.tsx
+++ b/packages/richtext-lexical/src/field/lexical/LexicalProvider.tsx
@@ -1,8 +1,7 @@
'use client'
import type { InitialConfigType } from '@lexical/react/LexicalComposer.js'
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
-import type { EditorState, SerializedEditorState } from 'lexical'
-import type { LexicalEditor } from 'lexical'
+import type { EditorState, LexicalEditor, SerializedEditorState } from 'lexical'
import { LexicalComposer } from '@lexical/react/LexicalComposer.js'
import * as React from 'react'
@@ -30,13 +29,12 @@ export type LexicalProviderProps = {
value: SerializedEditorState
}
export const LexicalProvider: React.FC = (props) => {
- const { editorConfig, fieldProps, value, onChange, path, readOnly } = props
+ const { editorConfig, fieldProps, onChange, path, readOnly, value } = props
const parentContext = useEditorConfigContext()
const editorContainerRef = React.useRef(null)
-
const processedValue = useMemo(() => {
let processed = value
if (editorConfig?.features?.hooks?.load?.length) {
diff --git a/packages/richtext-lexical/src/field/lexical/config/server/loader.ts b/packages/richtext-lexical/src/field/lexical/config/server/loader.ts
index 3ca4a159c6..5440033bcb 100644
--- a/packages/richtext-lexical/src/field/lexical/config/server/loader.ts
+++ b/packages/richtext-lexical/src/field/lexical/config/server/loader.ts
@@ -1,4 +1,4 @@
-import type { SanitizedConfig } from 'payload/config'
+import type { SanitizedConfig } from 'payload'
import type {
FeatureProviderServer,
diff --git a/packages/richtext-lexical/src/field/lexical/config/server/sanitize.ts b/packages/richtext-lexical/src/field/lexical/config/server/sanitize.ts
index 84a27f4ffc..2fa528514e 100644
--- a/packages/richtext-lexical/src/field/lexical/config/server/sanitize.ts
+++ b/packages/richtext-lexical/src/field/lexical/config/server/sanitize.ts
@@ -1,4 +1,4 @@
-import type { SanitizedConfig } from 'payload/config'
+import type { SanitizedConfig } from 'payload'
import type { ResolvedServerFeatureMap, SanitizedServerFeatures } from '../../../features/types.js'
import type { SanitizedServerEditorConfig, ServerEditorConfig } from '../types.js'
diff --git a/packages/richtext-lexical/src/field/lexical/nodes/index.ts b/packages/richtext-lexical/src/field/lexical/nodes/index.ts
index 80ed1a7dba..69dc1b6728 100644
--- a/packages/richtext-lexical/src/field/lexical/nodes/index.ts
+++ b/packages/richtext-lexical/src/field/lexical/nodes/index.ts
@@ -1,4 +1,4 @@
-import type { Klass, LexicalNode , LexicalNodeReplacement } from 'lexical'
+import type { Klass, LexicalNode, LexicalNodeReplacement } from 'lexical'
import type { SanitizedClientEditorConfig, SanitizedServerEditorConfig } from '../config/types.js'
diff --git a/packages/richtext-lexical/src/field/lexical/plugins/SlashMenu/index.tsx b/packages/richtext-lexical/src/field/lexical/plugins/SlashMenu/index.tsx
index fb78bbec44..1fe5d7056d 100644
--- a/packages/richtext-lexical/src/field/lexical/plugins/SlashMenu/index.tsx
+++ b/packages/richtext-lexical/src/field/lexical/plugins/SlashMenu/index.tsx
@@ -2,7 +2,7 @@
import type { TextNode } from 'lexical'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import { useTranslation } from '@payloadcms/ui/client'
import { useCallback, useMemo, useState } from 'react'
import * as React from 'react'
import * as ReactDOM from 'react-dom'
@@ -58,7 +58,7 @@ function SlashMenuItem({
onClick={onClick}
onMouseEnter={onMouseEnter}
ref={item.ref}
- role="item"
+ role="option"
tabIndex={-1}
type="button"
>
diff --git a/packages/richtext-lexical/src/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss b/packages/richtext-lexical/src/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss
index 4b3bca8b26..c952c055e1 100644
--- a/packages/richtext-lexical/src/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss
+++ b/packages/richtext-lexical/src/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss
@@ -36,7 +36,11 @@
}
}
-.rich-text-lexical--show-gutter > .rich-text-lexical__wrap > .editor-container > .editor-scroller > .editor {
+.rich-text-lexical--show-gutter
+ > .rich-text-lexical__wrap
+ > .editor-container
+ > .editor-scroller
+ > .editor {
> .draggable-block-target-line {
left: 3rem;
}
@@ -63,10 +67,11 @@
}
}
-
.rich-text-lexical {
.ContentEditable__root > * {
will-change: margin-top, margin-bottom;
- transition: margin-top 0.08s, margin-bottom 0.08s;
+ transition:
+ margin-top 0.08s,
+ margin-bottom 0.08s;
}
}
diff --git a/packages/richtext-lexical/src/field/lexical/ui/ContentEditable.scss b/packages/richtext-lexical/src/field/lexical/ui/ContentEditable.scss
index a812e3e8ad..f5fa0d6540 100644
--- a/packages/richtext-lexical/src/field/lexical/ui/ContentEditable.scss
+++ b/packages/richtext-lexical/src/field/lexical/ui/ContentEditable.scss
@@ -3,7 +3,6 @@
$lexical-contenteditable-top-padding: 8px;
$lexical-contenteditable-bottom-padding: 8px;
-
.ContentEditable__root {
border: 0;
font-size: 15px;
@@ -25,7 +24,6 @@ $lexical-contenteditable-bottom-padding: 8px;
}
}
-
@media (max-width: 768px) {
.ContentEditable__root {
padding-left: 0;
@@ -34,7 +32,11 @@ $lexical-contenteditable-bottom-padding: 8px;
}
@media (min-width: 769px) {
- .rich-text-lexical--show-gutter > .rich-text-lexical__wrap > .editor-container > .editor-scroller > .editor {
+ .rich-text-lexical--show-gutter
+ > .rich-text-lexical__wrap
+ > .editor-container
+ > .editor-scroller
+ > .editor {
> .ContentEditable__root {
padding-left: 3rem;
}
@@ -43,7 +45,9 @@ $lexical-contenteditable-bottom-padding: 8px;
position: absolute;
top: $lexical-contenteditable-top-padding;
left: 0;
- height: calc(100% - #{$lexical-contenteditable-top-padding} - #{$lexical-contenteditable-bottom-padding});
+ height: calc(
+ 100% - #{$lexical-contenteditable-top-padding} - #{$lexical-contenteditable-bottom-padding}
+ );
border-left: 1px solid var(--theme-elevation-100);
}
}
@@ -52,13 +56,21 @@ $lexical-contenteditable-bottom-padding: 8px;
html[data-theme='light'] {
.rich-text-lexical.rich-text-lexical--show-gutter {
&.error:not(:hover) {
- > .rich-text-lexical__wrap > .editor-container > .editor-scroller > .editor > .ContentEditable__root::before {
+ > .rich-text-lexical__wrap
+ > .editor-container
+ > .editor-scroller
+ > .editor
+ > .ContentEditable__root::before {
border-left: 2px solid var(--theme-error-400);
}
}
&.error:hover {
- > .rich-text-lexical__wrap > .editor-container > .editor-scroller > .editor > .ContentEditable__root::before {
+ > .rich-text-lexical__wrap
+ > .editor-container
+ > .editor-scroller
+ > .editor
+ > .ContentEditable__root::before {
border-left: 2px solid var(--theme-error-500);
}
}
@@ -68,7 +80,11 @@ html[data-theme='light'] {
html[data-theme='dark'] {
.rich-text-lexical.rich-text-lexical--show-gutter {
&.error {
- > .rich-text-lexical__wrap > .editor-container > .editor-scroller > .editor > .ContentEditable__root::before {
+ > .rich-text-lexical__wrap
+ > .editor-container
+ > .editor-scroller
+ > .editor
+ > .ContentEditable__root::before {
border-left: 2px solid var(--theme-error-500);
}
}
diff --git a/packages/richtext-lexical/src/generateComponentMap.tsx b/packages/richtext-lexical/src/generateComponentMap.tsx
index 565b51a7a4..e1e36fec15 100644
--- a/packages/richtext-lexical/src/generateComponentMap.tsx
+++ b/packages/richtext-lexical/src/generateComponentMap.tsx
@@ -1,4 +1,4 @@
-import type { RichTextAdapter } from 'payload/types'
+import type { RichTextAdapter } from 'payload'
import { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'
import React from 'react'
diff --git a/packages/richtext-lexical/src/generateSchemaMap.ts b/packages/richtext-lexical/src/generateSchemaMap.ts
index f0bcd6dbce..368e7b0979 100644
--- a/packages/richtext-lexical/src/generateSchemaMap.ts
+++ b/packages/richtext-lexical/src/generateSchemaMap.ts
@@ -1,4 +1,4 @@
-import type { RichTextAdapter } from 'payload/types'
+import type { RichTextAdapter } from 'payload'
import type { ResolvedServerFeatureMap } from './field/features/types.js'
diff --git a/packages/richtext-lexical/src/index.ts b/packages/richtext-lexical/src/index.ts
index 86009666f8..d457bfa738 100644
--- a/packages/richtext-lexical/src/index.ts
+++ b/packages/richtext-lexical/src/index.ts
@@ -12,7 +12,7 @@ import {
beforeChangeTraverseFields,
beforeValidateTraverseFields,
withNullableJSONSchemaType,
-} from 'payload/utilities'
+} from 'payload'
import type { FeatureProviderServer, ResolvedServerFeatureMap } from './field/features/types.js'
import type { SanitizedServerEditorConfig } from './field/lexical/config/types.js'
@@ -23,8 +23,8 @@ import type {
LexicalRichTextAdapterProvider,
} from './types.js'
-import { RichTextCell } from './cell/index.js'
-import { RichTextField } from './field/index.js'
+// eslint-disable-next-line payload/no-imports-from-exports-dir
+import { RichTextCell, RichTextField } from './exports/client/index.js'
import {
defaultEditorConfig,
defaultEditorFeatures,
@@ -805,7 +805,6 @@ export { BoldFeature } from './field/features/format/bold/feature.server.js'
export { InlineCodeFeature } from './field/features/format/inlineCode/feature.server.js'
export { ItalicFeature } from './field/features/format/italic/feature.server.js'
-export { toolbarFormatGroupWithItems } from './field/features/format/shared/toolbarFormatGroup.js'
export { StrikethroughFeature } from './field/features/format/strikethrough/feature.server.js'
export { SubscriptFeature } from './field/features/format/subscript/feature.server.js'
export { SuperscriptFeature } from './field/features/format/superscript/feature.server.js'
@@ -873,10 +872,7 @@ export {
RelationshipNode,
type SerializedRelationshipNode,
} from './field/features/relationship/nodes/RelationshipNode.js'
-export { toolbarAddDropdownGroupWithItems } from './field/features/shared/toolbar/addDropdownGroup.js'
-export { toolbarFeatureButtonsGroupWithItems } from './field/features/shared/toolbar/featureButtonsGroup.js'
-export { toolbarTextDropdownGroupWithItems } from './field/features/shared/toolbar/textDropdownGroup.js'
export { FixedToolbarFeature } from './field/features/toolbars/fixed/feature.server.js'
export { InlineToolbarFeature } from './field/features/toolbars/inline/feature.server.js'
@@ -926,15 +922,6 @@ export {
UploadNode,
} from './field/features/upload/nodes/UploadNode.js'
-export {
- type EditorConfigContextType,
- EditorConfigProvider,
- useEditorConfigContext,
-} from './field/lexical/config/client/EditorConfigProvider.js'
-export {
- sanitizeClientEditorConfig,
- sanitizeClientFeatures,
-} from './field/lexical/config/client/sanitize.js'
export {
defaultEditorConfig,
defaultEditorFeatures,
@@ -964,14 +951,7 @@ export type {
SlashMenuGroup,
SlashMenuItem,
} from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'
-export { CAN_USE_DOM } from './field/lexical/utils/canUseDOM.js'
-export { cloneDeep } from './field/lexical/utils/cloneDeep.js'
-export { getDOMRangeRect } from './field/lexical/utils/getDOMRangeRect.js'
-export { getSelectedNode } from './field/lexical/utils/getSelectedNode.js'
-export { isHTMLElement } from './field/lexical/utils/guard.js'
-export { invariant } from './field/lexical/utils/invariant.js'
-export { joinClasses } from './field/lexical/utils/joinClasses.js'
-export { createBlockNode } from './field/lexical/utils/markdown/createBlockNode.js'
+
export {
DETAIL_TYPE_TO_DETAIL,
DOUBLE_LINE_BREAK,
@@ -986,16 +966,7 @@ export {
TEXT_TYPE_TO_FORMAT,
TEXT_TYPE_TO_MODE,
} from './field/lexical/utils/nodeFormat.js'
-export { Point, isPoint } from './field/lexical/utils/point.js'
-export { Rect } from './field/lexical/utils/rect.js'
-export { setFloatingElemPosition } from './field/lexical/utils/setFloatingElemPosition.js'
-export { setFloatingElemPositionForLinkEditor } from './field/lexical/utils/setFloatingElemPositionForLinkEditor.js'
-export {
- addSwipeDownListener,
- addSwipeLeftListener,
- addSwipeRightListener,
- addSwipeUpListener,
-} from './field/lexical/utils/swipe.js'
+
export { sanitizeUrl, validateUrl } from './field/lexical/utils/url.js'
export { defaultRichTextValue } from './populateGraphQL/defaultValue.js'
diff --git a/packages/richtext-lexical/src/populateGraphQL/populate.ts b/packages/richtext-lexical/src/populateGraphQL/populate.ts
index f518954e9f..4685515b58 100644
--- a/packages/richtext-lexical/src/populateGraphQL/populate.ts
+++ b/packages/richtext-lexical/src/populateGraphQL/populate.ts
@@ -1,6 +1,6 @@
-import type { Collection , PayloadRequestWithData } from 'payload/types'
+import type { Collection, PayloadRequestWithData } from 'payload'
-import { createDataloaderCacheKey } from 'payload/utilities'
+import { createDataloaderCacheKey } from 'payload'
type Arguments = {
currentDepth?: number
diff --git a/packages/richtext-lexical/src/populateGraphQL/populateLexicalPopulationPromises.ts b/packages/richtext-lexical/src/populateGraphQL/populateLexicalPopulationPromises.ts
index 4a67ac07da..6f7e281f9a 100644
--- a/packages/richtext-lexical/src/populateGraphQL/populateLexicalPopulationPromises.ts
+++ b/packages/richtext-lexical/src/populateGraphQL/populateLexicalPopulationPromises.ts
@@ -1,5 +1,5 @@
import type { SerializedEditorState } from 'lexical'
-import type { RichTextAdapter } from 'payload/types'
+import type { RichTextAdapter } from 'payload'
import type { PopulationPromise } from '../field/features/types.js'
import type { AdapterProps } from '../types.js'
diff --git a/packages/richtext-lexical/src/populateGraphQL/recursivelyPopulateFieldsForGraphQL.ts b/packages/richtext-lexical/src/populateGraphQL/recursivelyPopulateFieldsForGraphQL.ts
index 25f37ad699..3f8d3c31d8 100644
--- a/packages/richtext-lexical/src/populateGraphQL/recursivelyPopulateFieldsForGraphQL.ts
+++ b/packages/richtext-lexical/src/populateGraphQL/recursivelyPopulateFieldsForGraphQL.ts
@@ -1,7 +1,6 @@
-import type { RequestContext } from 'payload'
-import type { Field, PayloadRequestWithData } from 'payload/types'
+import type { Field, PayloadRequestWithData, RequestContext } from 'payload'
-import { afterReadTraverseFields } from 'payload/utilities'
+import { afterReadTraverseFields } from 'payload'
import type { PopulationPromise } from '../field/features/types.js'
diff --git a/packages/richtext-lexical/src/types.ts b/packages/richtext-lexical/src/types.ts
index 8475090708..93657a6c7a 100644
--- a/packages/richtext-lexical/src/types.ts
+++ b/packages/richtext-lexical/src/types.ts
@@ -1,7 +1,11 @@
import type { EditorConfig as LexicalEditorConfig, SerializedEditorState } from 'lexical'
-import type { FieldPermissions } from 'payload/auth'
-import type { FieldTypes, SanitizedConfig } from 'payload/config'
-import type { RichTextAdapter, RichTextFieldProps } from 'payload/types'
+import type {
+ FieldPermissions,
+ FieldTypes,
+ RichTextAdapter,
+ RichTextFieldProps,
+ SanitizedConfig,
+} from 'payload'
import type React from 'react'
import type { FeatureProviderServer } from './field/features/types.js'
diff --git a/packages/richtext-lexical/src/useLexicalFeature.tsx b/packages/richtext-lexical/src/useLexicalFeature.tsx
index aedf91b7bf..f8aea3d5a3 100644
--- a/packages/richtext-lexical/src/useLexicalFeature.tsx
+++ b/packages/richtext-lexical/src/useLexicalFeature.tsx
@@ -1,8 +1,6 @@
'use client'
-import { useTableCell } from '@payloadcms/ui/elements/Table'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useAddClientFunction } from '@payloadcms/ui/providers/ClientFunction'
+import { useAddClientFunction, useFieldProps, useTableCell } from '@payloadcms/ui/client'
import type { FeatureProviderClient } from './field/features/types.js'
diff --git a/packages/richtext-lexical/src/validate/index.ts b/packages/richtext-lexical/src/validate/index.ts
index 24497e7ac8..e14203c9bf 100644
--- a/packages/richtext-lexical/src/validate/index.ts
+++ b/packages/richtext-lexical/src/validate/index.ts
@@ -1,5 +1,5 @@
import type { SerializedEditorState, SerializedParagraphNode } from 'lexical'
-import type { RichTextField, Validate } from 'payload/types'
+import type { RichTextField, Validate } from 'payload'
import type { SanitizedServerEditorConfig } from '../field/lexical/config/types.js'
diff --git a/packages/richtext-lexical/src/validate/validateNodes.ts b/packages/richtext-lexical/src/validate/validateNodes.ts
index 4dffda31ff..e3ac54b148 100644
--- a/packages/richtext-lexical/src/validate/validateNodes.ts
+++ b/packages/richtext-lexical/src/validate/validateNodes.ts
@@ -1,5 +1,5 @@
import type { SerializedEditorState, SerializedLexicalNode } from 'lexical'
-import type { RichTextField, ValidateOptions } from 'payload/types'
+import type { RichTextField, ValidateOptions } from 'payload'
import type { NodeValidation } from '../field/features/types.js'
diff --git a/packages/richtext-slate/README.md b/packages/richtext-slate/README.md
index 879244e366..a1537558ac 100644
--- a/packages/richtext-slate/README.md
+++ b/packages/richtext-slate/README.md
@@ -14,7 +14,7 @@ npm install @payloadcms/richtext-slate
## Usage
```ts
-import { buildConfig } from 'payload/config'
+import { buildConfig } from 'payload'
import { slateEditor } from '@payloadcms/richtext-slate'
export default buildConfig({
diff --git a/packages/richtext-slate/package.json b/packages/richtext-slate/package.json
index 53b078974f..f122fef2bb 100644
--- a/packages/richtext-slate/package.json
+++ b/packages/richtext-slate/package.json
@@ -24,8 +24,8 @@
"dist"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
diff --git a/packages/richtext-slate/src/cell/index.tsx b/packages/richtext-slate/src/cell/index.tsx
index 8d5e7a380a..67bf711a29 100644
--- a/packages/richtext-slate/src/cell/index.tsx
+++ b/packages/richtext-slate/src/cell/index.tsx
@@ -1,7 +1,7 @@
'use client'
-import type { DefaultCellComponentProps } from 'payload/types'
+import type { DefaultCellComponentProps } from 'payload'
-import { useTableCell } from '@payloadcms/ui/elements/Table'
+import { useTableCell } from '@payloadcms/ui/client'
import React from 'react'
export const RichTextCell: React.FC> = () => {
diff --git a/packages/richtext-slate/src/data/populate.ts b/packages/richtext-slate/src/data/populate.ts
index 277edb26c9..0967c32f9d 100644
--- a/packages/richtext-slate/src/data/populate.ts
+++ b/packages/richtext-slate/src/data/populate.ts
@@ -1,6 +1,6 @@
-import type { Collection, Field, PayloadRequestWithData, RichTextField } from 'payload/types'
+import type { Collection, Field, PayloadRequestWithData, RichTextField } from 'payload'
-import { createDataloaderCacheKey } from 'payload/utilities'
+import { createDataloaderCacheKey } from 'payload'
import type { AdapterArguments } from '../types.js'
diff --git a/packages/richtext-slate/src/data/recurseNestedFields.ts b/packages/richtext-slate/src/data/recurseNestedFields.ts
index 76fe3da251..5bd267e5e3 100644
--- a/packages/richtext-slate/src/data/recurseNestedFields.ts
+++ b/packages/richtext-slate/src/data/recurseNestedFields.ts
@@ -1,6 +1,6 @@
-import type { Field, PayloadRequestWithData } from 'payload/types'
+import type { Field, PayloadRequestWithData } from 'payload'
-import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/types'
+import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/shared'
import { populate } from './populate.js'
import { recurseRichText } from './richTextRelationshipPromise.js'
diff --git a/packages/richtext-slate/src/data/richTextRelationshipPromise.ts b/packages/richtext-slate/src/data/richTextRelationshipPromise.ts
index 7f301ab6d5..a379f85731 100644
--- a/packages/richtext-slate/src/data/richTextRelationshipPromise.ts
+++ b/packages/richtext-slate/src/data/richTextRelationshipPromise.ts
@@ -1,4 +1,4 @@
-import type { PayloadRequestWithData, RichTextAdapter, RichTextField } from 'payload/types'
+import type { PayloadRequestWithData, RichTextAdapter, RichTextField } from 'payload'
import type { AdapterArguments } from '../types.js'
diff --git a/packages/richtext-slate/src/data/validation.ts b/packages/richtext-slate/src/data/validation.ts
index ebf7a49012..a304b098f1 100644
--- a/packages/richtext-slate/src/data/validation.ts
+++ b/packages/richtext-slate/src/data/validation.ts
@@ -1,4 +1,4 @@
-import type { RichTextField, Validate } from 'payload/types'
+import type { RichTextField, Validate } from 'payload'
import type { AdapterArguments } from '../types.js'
diff --git a/packages/richtext-slate/src/field/RichText.tsx b/packages/richtext-slate/src/field/RichText.tsx
index 35d01bbfd9..4f2d72dca9 100644
--- a/packages/richtext-slate/src/field/RichText.tsx
+++ b/packages/richtext-slate/src/field/RichText.tsx
@@ -1,20 +1,22 @@
'use client'
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
-import type { ClientValidate } from 'payload/types'
+import type { ClientValidate } from 'payload'
import type { BaseEditor, BaseOperation } from 'slate'
import type { HistoryEditor } from 'slate-history'
import type { ReactEditor } from 'slate-react'
import { getTranslation } from '@payloadcms/translations'
-import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'
-import { FieldError } from '@payloadcms/ui/forms/FieldError'
-import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useField } from '@payloadcms/ui/forms/useField'
-import { withCondition } from '@payloadcms/ui/forms/withCondition'
-import { useEditDepth } from '@payloadcms/ui/providers/EditDepth'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import {
+ FieldDescription,
+ FieldError,
+ FieldLabel,
+ useEditDepth,
+ useField,
+ useFieldProps,
+ useTranslation,
+ withCondition,
+} from '@payloadcms/ui/client'
import { isHotkey } from 'is-hotkey'
import React, { useCallback, useEffect, useMemo, useRef } from 'react'
import { Node, Element as SlateElement, Text, Transforms, createEditor } from 'slate'
diff --git a/packages/richtext-slate/src/field/elements/Button.tsx b/packages/richtext-slate/src/field/elements/Button.tsx
index a671b0eae4..3c00ff0e77 100644
--- a/packages/richtext-slate/src/field/elements/Button.tsx
+++ b/packages/richtext-slate/src/field/elements/Button.tsx
@@ -1,7 +1,7 @@
'use client'
import type { ElementType } from 'react'
-import { Tooltip } from '@payloadcms/ui/elements/Tooltip'
+import { Tooltip } from '@payloadcms/ui/client'
import React, { useCallback, useState } from 'react'
import { useSlate } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/EnabledRelationshipsCondition.tsx b/packages/richtext-slate/src/field/elements/EnabledRelationshipsCondition.tsx
index 9a0642a92a..7ce7e3e2d4 100644
--- a/packages/richtext-slate/src/field/elements/EnabledRelationshipsCondition.tsx
+++ b/packages/richtext-slate/src/field/elements/EnabledRelationshipsCondition.tsx
@@ -1,11 +1,8 @@
'use client'
-import type { ClientUser } from 'payload/auth'
-import type { ClientCollectionConfig, VisibleEntities } from 'payload/types'
+import type { ClientCollectionConfig, ClientUser, VisibleEntities } from 'payload'
-import { useAuth } from '@payloadcms/ui/providers/Auth'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useEntityVisibility } from '@payloadcms/ui/providers/EntityVisibility'
+import { useAuth, useConfig, useEntityVisibility } from '@payloadcms/ui/client'
import * as React from 'react'
type Options = {
diff --git a/packages/richtext-slate/src/field/elements/indent/Button.tsx b/packages/richtext-slate/src/field/elements/indent/Button.tsx
index c9d09cba0c..3a5bfb27b8 100644
--- a/packages/richtext-slate/src/field/elements/indent/Button.tsx
+++ b/packages/richtext-slate/src/field/elements/indent/Button.tsx
@@ -1,7 +1,6 @@
'use client'
-import React from 'react'
-import { useCallback } from 'react'
+import React, { useCallback } from 'react'
import { Editor, Element, Text, Transforms } from 'slate'
import { ReactEditor, useSlate } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/link/Button/index.tsx b/packages/richtext-slate/src/field/elements/link/Button/index.tsx
index 9a54e1944c..0b1f33dd3a 100644
--- a/packages/richtext-slate/src/field/elements/link/Button/index.tsx
+++ b/packages/richtext-slate/src/field/elements/link/Button/index.tsx
@@ -1,14 +1,10 @@
'use client'
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
import { useModal } from '@faceless-ui/modal'
-import { useDrawerSlug } from '@payloadcms/ui/elements/Drawer'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { getFormState } from '@payloadcms/ui/utilities/getFormState'
-import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'
+import { useConfig, useDrawerSlug, useFieldProps, useTranslation } from '@payloadcms/ui/client'
+import { getFormState, reduceFieldsToValues } from '@payloadcms/ui/shared'
import React, { Fragment, useState } from 'react'
import { Editor, Range, Transforms } from 'slate'
import { ReactEditor, useSlate } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/link/Element/index.tsx b/packages/richtext-slate/src/field/elements/link/Element/index.tsx
index 3b30f1491e..d62d72267e 100644
--- a/packages/richtext-slate/src/field/elements/link/Element/index.tsx
+++ b/packages/richtext-slate/src/field/elements/link/Element/index.tsx
@@ -1,21 +1,21 @@
'use client'
-
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
import { useModal } from '@faceless-ui/modal'
import { getTranslation } from '@payloadcms/translations'
-import { Button } from '@payloadcms/ui/elements/Button'
-import { useDrawerSlug } from '@payloadcms/ui/elements/Drawer'
-import { Popup } from '@payloadcms/ui/elements/Popup'
-import { Translation } from '@payloadcms/ui/elements/Translation'
-import { useAuth } from '@payloadcms/ui/providers/Auth'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
-import { useLocale } from '@payloadcms/ui/providers/Locale'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { getFormState } from '@payloadcms/ui/utilities/getFormState'
-import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'
-import { deepCopyObject } from 'payload/utilities'
+import {
+ Button,
+ Popup,
+ Translation,
+ useAuth,
+ useConfig,
+ useDocumentInfo,
+ useDrawerSlug,
+ useLocale,
+ useTranslation,
+} from '@payloadcms/ui/client'
+import { getFormState, reduceFieldsToValues } from '@payloadcms/ui/shared'
+import { deepCopyObject } from 'payload/shared'
import React, { useCallback, useEffect, useState } from 'react'
import { Editor, Node, Transforms } from 'slate'
import { ReactEditor, useSlate } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/link/LinkDrawer/baseFields.ts b/packages/richtext-slate/src/field/elements/link/LinkDrawer/baseFields.ts
index 8ffaab052d..0afbee6ff0 100644
--- a/packages/richtext-slate/src/field/elements/link/LinkDrawer/baseFields.ts
+++ b/packages/richtext-slate/src/field/elements/link/LinkDrawer/baseFields.ts
@@ -1,6 +1,4 @@
-import type { User } from 'payload/auth'
-import type { SanitizedConfig } from 'payload/config'
-import type { Field } from 'payload/types'
+import type { Field, SanitizedConfig, User } from 'payload'
export const getBaseFields = (config: SanitizedConfig): Field[] => [
{
diff --git a/packages/richtext-slate/src/field/elements/link/LinkDrawer/index.tsx b/packages/richtext-slate/src/field/elements/link/LinkDrawer/index.tsx
index 5529768ae1..4faef5c73c 100644
--- a/packages/richtext-slate/src/field/elements/link/LinkDrawer/index.tsx
+++ b/packages/richtext-slate/src/field/elements/link/LinkDrawer/index.tsx
@@ -2,17 +2,19 @@
import type { FormProps } from '@payloadcms/ui/forms/Form'
-import { Drawer } from '@payloadcms/ui/elements/Drawer'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { Form } from '@payloadcms/ui/forms/Form'
-import { RenderFields } from '@payloadcms/ui/forms/RenderFields'
-import { FormSubmit } from '@payloadcms/ui/forms/Submit'
-import { useHotkey } from '@payloadcms/ui/hooks/useHotkey'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
-import { useEditDepth } from '@payloadcms/ui/providers/EditDepth'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { getFormState } from '@payloadcms/ui/utilities/getFormState'
+import {
+ Drawer,
+ Form,
+ FormSubmit,
+ RenderFields,
+ useConfig,
+ useDocumentInfo,
+ useEditDepth,
+ useFieldProps,
+ useHotkey,
+ useTranslation,
+} from '@payloadcms/ui/client'
+import { getFormState } from '@payloadcms/ui/shared'
import React, { useCallback, useRef } from 'react'
import type { Props } from './types.js'
diff --git a/packages/richtext-slate/src/field/elements/link/LinkDrawer/types.ts b/packages/richtext-slate/src/field/elements/link/LinkDrawer/types.ts
index 0416694573..fc0d9ca6e7 100644
--- a/packages/richtext-slate/src/field/elements/link/LinkDrawer/types.ts
+++ b/packages/richtext-slate/src/field/elements/link/LinkDrawer/types.ts
@@ -1,5 +1,5 @@
import type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'
-import type { FormState } from 'payload/types'
+import type { FormState } from 'payload'
export type Props = {
drawerSlug: string
diff --git a/packages/richtext-slate/src/field/elements/link/utilities.tsx b/packages/richtext-slate/src/field/elements/link/utilities.tsx
index d09dbb4a7f..c55af77183 100644
--- a/packages/richtext-slate/src/field/elements/link/utilities.tsx
+++ b/packages/richtext-slate/src/field/elements/link/utilities.tsx
@@ -1,5 +1,4 @@
-import type { SanitizedConfig } from 'payload/config'
-import type { Field } from 'payload/types'
+import type { Field, SanitizedConfig } from 'payload'
import type { Editor } from 'slate'
import { Element, Range, Transforms } from 'slate'
diff --git a/packages/richtext-slate/src/field/elements/relationship/Button/index.tsx b/packages/richtext-slate/src/field/elements/relationship/Button/index.tsx
index d60c621ff8..ff92534e4a 100644
--- a/packages/richtext-slate/src/field/elements/relationship/Button/index.tsx
+++ b/packages/richtext-slate/src/field/elements/relationship/Button/index.tsx
@@ -1,7 +1,6 @@
'use client'
-import { useListDrawer } from '@payloadcms/ui/elements/ListDrawer'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import { useListDrawer, useTranslation } from '@payloadcms/ui/client'
import React, { Fragment, useCallback, useEffect, useState } from 'react'
import { ReactEditor, useSlate } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/relationship/Element/index.tsx b/packages/richtext-slate/src/field/elements/relationship/Element/index.tsx
index fe933b49a9..34dd60f378 100644
--- a/packages/richtext-slate/src/field/elements/relationship/Element/index.tsx
+++ b/packages/richtext-slate/src/field/elements/relationship/Element/index.tsx
@@ -3,12 +3,14 @@
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
import { getTranslation } from '@payloadcms/translations'
-import { Button } from '@payloadcms/ui/elements/Button'
-import { useDocumentDrawer } from '@payloadcms/ui/elements/DocumentDrawer'
-import { useListDrawer } from '@payloadcms/ui/elements/ListDrawer'
-import usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import {
+ Button,
+ useConfig,
+ useDocumentDrawer,
+ useListDrawer,
+ usePayloadAPI,
+ useTranslation,
+} from '@payloadcms/ui/client'
import React, { useCallback, useReducer, useState } from 'react'
import { Transforms } from 'slate'
import { ReactEditor, useFocused, useSelected, useSlateStatic } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/upload/Button/index.tsx b/packages/richtext-slate/src/field/elements/upload/Button/index.tsx
index 4cc06a07f4..1ee5ba4280 100644
--- a/packages/richtext-slate/src/field/elements/upload/Button/index.tsx
+++ b/packages/richtext-slate/src/field/elements/upload/Button/index.tsx
@@ -1,7 +1,6 @@
'use client'
-import { useListDrawer } from '@payloadcms/ui/elements/ListDrawer'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
+import { useListDrawer, useTranslation } from '@payloadcms/ui/client'
import React, { Fragment, useCallback } from 'react'
import { ReactEditor, useSlate } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/upload/Element/UploadDrawer/index.tsx b/packages/richtext-slate/src/field/elements/upload/Element/UploadDrawer/index.tsx
index b54380e3fe..a49ed5621c 100644
--- a/packages/richtext-slate/src/field/elements/upload/Element/UploadDrawer/index.tsx
+++ b/packages/richtext-slate/src/field/elements/upload/Element/UploadDrawer/index.tsx
@@ -1,21 +1,24 @@
'use client'
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
-import type { ClientCollectionConfig } from 'payload/types'
+import type { ClientCollectionConfig } from 'payload'
import { useModal } from '@faceless-ui/modal'
import { getTranslation } from '@payloadcms/translations'
-import { Drawer } from '@payloadcms/ui/elements/Drawer'
-import { Form, type FormProps } from '@payloadcms/ui/forms/Form'
+import {
+ Drawer,
+ Form,
+ FormSubmit,
+ useAuth,
+ useConfig,
+ useDocumentInfo,
+ useLocale,
+ useTranslation,
+} from '@payloadcms/ui/client'
+import { type FormProps } from '@payloadcms/ui/forms/Form'
import { RenderFields } from '@payloadcms/ui/forms/RenderFields'
-import { FormSubmit } from '@payloadcms/ui/forms/Submit'
-import { useAuth } from '@payloadcms/ui/providers/Auth'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'
-import { useLocale } from '@payloadcms/ui/providers/Locale'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
-import { getFormState } from '@payloadcms/ui/utilities/getFormState'
-import { deepCopyObject } from 'payload/utilities'
+import { getFormState } from '@payloadcms/ui/shared'
+import { deepCopyObject } from 'payload/shared'
import React, { useCallback, useEffect, useState } from 'react'
import { Transforms } from 'slate'
import { ReactEditor, useSlateStatic } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/elements/upload/Element/index.tsx b/packages/richtext-slate/src/field/elements/upload/Element/index.tsx
index 0dfeecbcb0..76fbabc31a 100644
--- a/packages/richtext-slate/src/field/elements/upload/Element/index.tsx
+++ b/packages/richtext-slate/src/field/elements/upload/Element/index.tsx
@@ -1,17 +1,20 @@
'use client'
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
-import type { ClientCollectionConfig } from 'payload/types'
+import type { ClientCollectionConfig } from 'payload'
import { getTranslation } from '@payloadcms/translations'
-import { Button } from '@payloadcms/ui/elements/Button'
-import { useDocumentDrawer } from '@payloadcms/ui/elements/DocumentDrawer'
-import { DrawerToggler, useDrawerSlug } from '@payloadcms/ui/elements/Drawer'
-import { useListDrawer } from '@payloadcms/ui/elements/ListDrawer'
+import {
+ Button,
+ DrawerToggler,
+ useConfig,
+ useDocumentDrawer,
+ useDrawerSlug,
+ useListDrawer,
+ usePayloadAPI,
+ useTranslation,
+} from '@payloadcms/ui/client'
import { File } from '@payloadcms/ui/graphics/File'
-import usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI'
-import { useConfig } from '@payloadcms/ui/providers/Config'
-import { useTranslation } from '@payloadcms/ui/providers/Translation'
import React, { useCallback, useReducer, useState } from 'react'
import { Transforms } from 'slate'
import { ReactEditor, useFocused, useSelected, useSlateStatic } from 'slate-react'
diff --git a/packages/richtext-slate/src/field/index.tsx b/packages/richtext-slate/src/field/index.tsx
index 5bf1813c82..859c9a1625 100644
--- a/packages/richtext-slate/src/field/index.tsx
+++ b/packages/richtext-slate/src/field/index.tsx
@@ -2,9 +2,7 @@
import type { FormFieldBase } from '@payloadcms/ui/fields/shared'
-import { ShimmerEffect } from '@payloadcms/ui/elements/ShimmerEffect'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useClientFunctions } from '@payloadcms/ui/providers/ClientFunction'
+import { ShimmerEffect, useClientFunctions, useFieldProps } from '@payloadcms/ui/client'
import React, { Suspense, lazy, useEffect, useState } from 'react'
import type { RichTextPlugin } from '../types.js'
diff --git a/packages/richtext-slate/src/generateComponentMap.tsx b/packages/richtext-slate/src/generateComponentMap.tsx
index 4def6f1958..3f2c096c63 100644
--- a/packages/richtext-slate/src/generateComponentMap.tsx
+++ b/packages/richtext-slate/src/generateComponentMap.tsx
@@ -1,4 +1,4 @@
-import type { Field, RichTextAdapter } from 'payload/types'
+import type { Field, RichTextAdapter } from 'payload'
import { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'
import React from 'react'
diff --git a/packages/richtext-slate/src/generateSchemaMap.ts b/packages/richtext-slate/src/generateSchemaMap.ts
index 4f46e81ea8..9b134ae6fe 100644
--- a/packages/richtext-slate/src/generateSchemaMap.ts
+++ b/packages/richtext-slate/src/generateSchemaMap.ts
@@ -1,4 +1,4 @@
-import type { Field, RichTextAdapter } from 'payload/types'
+import type { Field, RichTextAdapter } from 'payload'
import type { AdapterArguments, RichTextCustomElement } from './types.js'
diff --git a/packages/richtext-slate/src/index.tsx b/packages/richtext-slate/src/index.tsx
index 8b9940e21d..62ccb8b058 100644
--- a/packages/richtext-slate/src/index.tsx
+++ b/packages/richtext-slate/src/index.tsx
@@ -1,8 +1,6 @@
-import type { Config } from 'payload/config'
-import type { RichTextAdapterProvider } from 'payload/types'
+import type { Config, RichTextAdapterProvider } from 'payload'
-import { sanitizeFields } from 'payload/config'
-import { withNullableJSONSchemaType } from 'payload/utilities'
+import { sanitizeFields, withNullableJSONSchemaType } from 'payload'
import type { AdapterArguments } from './types.js'
diff --git a/packages/richtext-slate/src/types.ts b/packages/richtext-slate/src/types.ts
index 4da723d1a6..52a4ad85c4 100644
--- a/packages/richtext-slate/src/types.ts
+++ b/packages/richtext-slate/src/types.ts
@@ -1,5 +1,4 @@
-import type { SanitizedConfig } from 'payload/config'
-import type { Field, RichTextFieldProps } from 'payload/types'
+import type { Field, RichTextFieldProps, SanitizedConfig } from 'payload'
import type { Editor } from 'slate'
export type TextNode = { [x: string]: unknown; text: string }
diff --git a/packages/richtext-slate/src/utilities/useSlatePlugin.tsx b/packages/richtext-slate/src/utilities/useSlatePlugin.tsx
index 34cd7de6f9..f12459f660 100644
--- a/packages/richtext-slate/src/utilities/useSlatePlugin.tsx
+++ b/packages/richtext-slate/src/utilities/useSlatePlugin.tsx
@@ -1,7 +1,6 @@
import type { Editor } from 'slate'
-import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'
-import { useAddClientFunction } from '@payloadcms/ui/providers/ClientFunction'
+import { useAddClientFunction, useFieldProps } from '@payloadcms/ui/client'
type Plugin = (editor: Editor) => Editor
diff --git a/packages/storage-azure/package.json b/packages/storage-azure/package.json
index a3eb18b74a..30268592d8 100644
--- a/packages/storage-azure/package.json
+++ b/packages/storage-azure/package.json
@@ -24,9 +24,9 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
+ "build": "pnpm build:types && pnpm build:swc",
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build"
diff --git a/packages/storage-azure/src/handleDelete.ts b/packages/storage-azure/src/handleDelete.ts
index 2ebaeebc76..93fee17378 100644
--- a/packages/storage-azure/src/handleDelete.ts
+++ b/packages/storage-azure/src/handleDelete.ts
@@ -1,6 +1,6 @@
import type { ContainerClient } from '@azure/storage-blob'
import type { HandleDelete } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import path from 'path'
diff --git a/packages/storage-azure/src/handleUpload.ts b/packages/storage-azure/src/handleUpload.ts
index 3b48a1a2d7..d4cec89136 100644
--- a/packages/storage-azure/src/handleUpload.ts
+++ b/packages/storage-azure/src/handleUpload.ts
@@ -1,6 +1,6 @@
import type { ContainerClient } from '@azure/storage-blob'
import type { HandleUpload } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { AbortController } from '@azure/abort-controller'
import fs from 'fs'
diff --git a/packages/storage-azure/src/index.ts b/packages/storage-azure/src/index.ts
index de908a0fcc..cd1c4bd74e 100644
--- a/packages/storage-azure/src/index.ts
+++ b/packages/storage-azure/src/index.ts
@@ -5,7 +5,7 @@ import type {
CollectionOptions,
GeneratedAdapter,
} from '@payloadcms/plugin-cloud-storage/types'
-import type { Config, Plugin } from 'payload/config'
+import type { Config, Plugin } from 'payload'
import { BlobServiceClient } from '@azure/storage-blob'
import { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'
diff --git a/packages/storage-azure/src/staticHandler.ts b/packages/storage-azure/src/staticHandler.ts
index ca328a720c..b05c493dff 100644
--- a/packages/storage-azure/src/staticHandler.ts
+++ b/packages/storage-azure/src/staticHandler.ts
@@ -1,6 +1,6 @@
import type { ContainerClient } from '@azure/storage-blob'
import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { getFilePrefix } from '@payloadcms/plugin-cloud-storage/utilities'
import path from 'path'
diff --git a/packages/storage-azure/tsconfig.json b/packages/storage-azure/tsconfig.json
index 5880d1adca..ecb0fe770e 100644
--- a/packages/storage-azure/tsconfig.json
+++ b/packages/storage-azure/tsconfig.json
@@ -6,15 +6,9 @@
"emitDeclarationOnly": true,
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
"rootDir": "./src" /* Specify the root folder within your source files. */,
- "strict": true,
+ "strict": true
},
- "exclude": [
- "dist",
- "node_modules",
- ],
+ "exclude": ["dist", "node_modules"],
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts", "src/**/*.json"],
- "references": [
- { "path": "../payload" },
- { "path": "../plugin-cloud-storage" },
- ]
+ "references": [{ "path": "../payload" }, { "path": "../plugin-cloud-storage" }]
}
diff --git a/packages/storage-gcs/package.json b/packages/storage-gcs/package.json
index 07a739cb9e..02cc095f47 100644
--- a/packages/storage-gcs/package.json
+++ b/packages/storage-gcs/package.json
@@ -24,9 +24,9 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
+ "build": "pnpm build:types && pnpm build:swc",
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build"
diff --git a/packages/storage-gcs/src/handleUpload.ts b/packages/storage-gcs/src/handleUpload.ts
index 3b7cfe4a51..2f7f4f29af 100644
--- a/packages/storage-gcs/src/handleUpload.ts
+++ b/packages/storage-gcs/src/handleUpload.ts
@@ -1,6 +1,6 @@
import type { Storage } from '@google-cloud/storage'
import type { HandleUpload } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import path from 'path'
diff --git a/packages/storage-gcs/src/index.ts b/packages/storage-gcs/src/index.ts
index 36341b311c..f1b3a9b9f6 100644
--- a/packages/storage-gcs/src/index.ts
+++ b/packages/storage-gcs/src/index.ts
@@ -5,7 +5,7 @@ import type {
CollectionOptions,
GeneratedAdapter,
} from '@payloadcms/plugin-cloud-storage/types'
-import type { Config, Plugin } from 'payload/config'
+import type { Config, Plugin } from 'payload'
import { Storage } from '@google-cloud/storage'
import { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'
diff --git a/packages/storage-gcs/src/staticHandler.ts b/packages/storage-gcs/src/staticHandler.ts
index bc6b5610fd..51baa5d0b0 100644
--- a/packages/storage-gcs/src/staticHandler.ts
+++ b/packages/storage-gcs/src/staticHandler.ts
@@ -1,6 +1,6 @@
import type { Storage } from '@google-cloud/storage'
import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { getFilePrefix } from '@payloadcms/plugin-cloud-storage/utilities'
import path from 'path'
diff --git a/packages/storage-gcs/tsconfig.json b/packages/storage-gcs/tsconfig.json
index 5880d1adca..ecb0fe770e 100644
--- a/packages/storage-gcs/tsconfig.json
+++ b/packages/storage-gcs/tsconfig.json
@@ -6,15 +6,9 @@
"emitDeclarationOnly": true,
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
"rootDir": "./src" /* Specify the root folder within your source files. */,
- "strict": true,
+ "strict": true
},
- "exclude": [
- "dist",
- "node_modules",
- ],
+ "exclude": ["dist", "node_modules"],
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts", "src/**/*.json"],
- "references": [
- { "path": "../payload" },
- { "path": "../plugin-cloud-storage" },
- ]
+ "references": [{ "path": "../payload" }, { "path": "../plugin-cloud-storage" }]
}
diff --git a/packages/storage-s3/package.json b/packages/storage-s3/package.json
index c019e8decf..d0742d769a 100644
--- a/packages/storage-s3/package.json
+++ b/packages/storage-s3/package.json
@@ -24,9 +24,9 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
+ "build": "pnpm build:types && pnpm build:swc",
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build"
diff --git a/packages/storage-s3/src/handleUpload.ts b/packages/storage-s3/src/handleUpload.ts
index ce74a24033..5591e71a6d 100644
--- a/packages/storage-s3/src/handleUpload.ts
+++ b/packages/storage-s3/src/handleUpload.ts
@@ -1,6 +1,6 @@
import type * as AWS from '@aws-sdk/client-s3'
import type { HandleUpload } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { Upload } from '@aws-sdk/lib-storage'
import fs from 'fs'
diff --git a/packages/storage-s3/src/index.ts b/packages/storage-s3/src/index.ts
index 28ff6b81a6..04aed8a8d3 100644
--- a/packages/storage-s3/src/index.ts
+++ b/packages/storage-s3/src/index.ts
@@ -4,7 +4,7 @@ import type {
CollectionOptions,
GeneratedAdapter,
} from '@payloadcms/plugin-cloud-storage/types'
-import type { Config, Plugin } from 'payload/config'
+import type { Config, Plugin } from 'payload'
import * as AWS from '@aws-sdk/client-s3'
import { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'
diff --git a/packages/storage-s3/src/staticHandler.ts b/packages/storage-s3/src/staticHandler.ts
index f904cdaf9e..5c375cc7f8 100644
--- a/packages/storage-s3/src/staticHandler.ts
+++ b/packages/storage-s3/src/staticHandler.ts
@@ -1,6 +1,6 @@
import type * as AWS from '@aws-sdk/client-s3'
import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { getFilePrefix } from '@payloadcms/plugin-cloud-storage/utilities'
import path from 'path'
diff --git a/packages/storage-s3/tsconfig.json b/packages/storage-s3/tsconfig.json
index 5880d1adca..ecb0fe770e 100644
--- a/packages/storage-s3/tsconfig.json
+++ b/packages/storage-s3/tsconfig.json
@@ -6,15 +6,9 @@
"emitDeclarationOnly": true,
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
"rootDir": "./src" /* Specify the root folder within your source files. */,
- "strict": true,
+ "strict": true
},
- "exclude": [
- "dist",
- "node_modules",
- ],
+ "exclude": ["dist", "node_modules"],
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts", "src/**/*.json"],
- "references": [
- { "path": "../payload" },
- { "path": "../plugin-cloud-storage" },
- ]
+ "references": [{ "path": "../payload" }, { "path": "../plugin-cloud-storage" }]
}
diff --git a/packages/storage-uploadthing/package.json b/packages/storage-uploadthing/package.json
index bb8654d55b..a91a8e8017 100644
--- a/packages/storage-uploadthing/package.json
+++ b/packages/storage-uploadthing/package.json
@@ -24,9 +24,9 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
+ "build": "pnpm build:types && pnpm build:swc",
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build"
diff --git a/packages/storage-uploadthing/src/handleDelete.ts b/packages/storage-uploadthing/src/handleDelete.ts
index bc51c11392..541d38b022 100644
--- a/packages/storage-uploadthing/src/handleDelete.ts
+++ b/packages/storage-uploadthing/src/handleDelete.ts
@@ -1,7 +1,7 @@
import type { HandleDelete } from '@payloadcms/plugin-cloud-storage/types'
import type { UTApi } from 'uploadthing/server'
-import { APIError } from 'payload/errors'
+import { APIError } from 'payload'
import { getKeyFromFilename } from './utilities.js'
diff --git a/packages/storage-uploadthing/src/handleUpload.ts b/packages/storage-uploadthing/src/handleUpload.ts
index f140252a6a..a20f590587 100644
--- a/packages/storage-uploadthing/src/handleUpload.ts
+++ b/packages/storage-uploadthing/src/handleUpload.ts
@@ -1,7 +1,7 @@
import type { HandleUpload } from '@payloadcms/plugin-cloud-storage/types'
import type { UTApi } from 'uploadthing/server'
-import { APIError } from 'payload/errors'
+import { APIError } from 'payload'
import { UTFile } from 'uploadthing/server'
import type { ACL } from './index.js'
diff --git a/packages/storage-uploadthing/src/index.ts b/packages/storage-uploadthing/src/index.ts
index 88e44b643a..fbc15386f0 100644
--- a/packages/storage-uploadthing/src/index.ts
+++ b/packages/storage-uploadthing/src/index.ts
@@ -4,8 +4,7 @@ import type {
CollectionOptions,
GeneratedAdapter,
} from '@payloadcms/plugin-cloud-storage/types'
-import type { Config, Plugin } from 'payload/config'
-import type { Field } from 'payload/types'
+import type { Config, Field, Plugin } from 'payload'
import type { UTApiOptions } from 'uploadthing/types'
import { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'
diff --git a/packages/storage-uploadthing/src/staticHandler.ts b/packages/storage-uploadthing/src/staticHandler.ts
index 91677bd688..9ce481f3d5 100644
--- a/packages/storage-uploadthing/src/staticHandler.ts
+++ b/packages/storage-uploadthing/src/staticHandler.ts
@@ -1,5 +1,5 @@
import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'
-import type { Where } from 'payload/types'
+import type { Where } from 'payload'
import type { UTApi } from 'uploadthing/server'
import { getKeyFromFilename } from './utilities.js'
diff --git a/packages/storage-uploadthing/tsconfig.json b/packages/storage-uploadthing/tsconfig.json
index 5880d1adca..ecb0fe770e 100644
--- a/packages/storage-uploadthing/tsconfig.json
+++ b/packages/storage-uploadthing/tsconfig.json
@@ -6,15 +6,9 @@
"emitDeclarationOnly": true,
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
"rootDir": "./src" /* Specify the root folder within your source files. */,
- "strict": true,
+ "strict": true
},
- "exclude": [
- "dist",
- "node_modules",
- ],
+ "exclude": ["dist", "node_modules"],
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts", "src/**/*.json"],
- "references": [
- { "path": "../payload" },
- { "path": "../plugin-cloud-storage" },
- ]
+ "references": [{ "path": "../payload" }, { "path": "../plugin-cloud-storage" }]
}
diff --git a/packages/storage-vercel-blob/package.json b/packages/storage-vercel-blob/package.json
index 2a74a24a2a..c993570b25 100644
--- a/packages/storage-vercel-blob/package.json
+++ b/packages/storage-vercel-blob/package.json
@@ -24,9 +24,9 @@
"dist"
],
"scripts": {
- "build": "pnpm build:swc && pnpm build:types",
+ "build": "pnpm build:types && pnpm build:swc",
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm turbo build"
diff --git a/packages/storage-vercel-blob/src/index.ts b/packages/storage-vercel-blob/src/index.ts
index c6807fcf45..aacf4885bd 100644
--- a/packages/storage-vercel-blob/src/index.ts
+++ b/packages/storage-vercel-blob/src/index.ts
@@ -1,8 +1,10 @@
import type {
Adapter,
PluginOptions as CloudStoragePluginOptions,
- CollectionOptions, GeneratedAdapter } from '@payloadcms/plugin-cloud-storage/types'
-import type { Config, Plugin } from 'payload/config'
+ CollectionOptions,
+ GeneratedAdapter,
+} from '@payloadcms/plugin-cloud-storage/types'
+import type { Config, Plugin } from 'payload'
import { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'
diff --git a/packages/storage-vercel-blob/src/staticHandler.ts b/packages/storage-vercel-blob/src/staticHandler.ts
index de70773869..5eca404dc7 100644
--- a/packages/storage-vercel-blob/src/staticHandler.ts
+++ b/packages/storage-vercel-blob/src/staticHandler.ts
@@ -1,5 +1,5 @@
import type { StaticHandler } from '@payloadcms/plugin-cloud-storage/types'
-import type { CollectionConfig } from 'payload/types'
+import type { CollectionConfig } from 'payload'
import { getFilePrefix } from '@payloadcms/plugin-cloud-storage/utilities'
import { head } from '@vercel/blob'
diff --git a/packages/storage-vercel-blob/tsconfig.json b/packages/storage-vercel-blob/tsconfig.json
index 5880d1adca..ecb0fe770e 100644
--- a/packages/storage-vercel-blob/tsconfig.json
+++ b/packages/storage-vercel-blob/tsconfig.json
@@ -6,15 +6,9 @@
"emitDeclarationOnly": true,
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
"rootDir": "./src" /* Specify the root folder within your source files. */,
- "strict": true,
+ "strict": true
},
- "exclude": [
- "dist",
- "node_modules",
- ],
+ "exclude": ["dist", "node_modules"],
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts", "src/**/*.json"],
- "references": [
- { "path": "../payload" },
- { "path": "../plugin-cloud-storage" },
- ]
+ "references": [{ "path": "../payload" }, { "path": "../plugin-cloud-storage" }]
}
diff --git a/packages/translations/package.json b/packages/translations/package.json
index c95d7ad885..ff69cb8acf 100644
--- a/packages/translations/package.json
+++ b/packages/translations/package.json
@@ -39,7 +39,7 @@
},
"devDependencies": {
"@payloadcms/eslint-config": "workspace:*",
- "@swc/core": "^1.4.13",
+ "@swc/core": "^1.6.1",
"@types/react": "npm:types-react@19.0.0-beta.2",
"@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
"dotenv": "16.4.5",
diff --git a/packages/translations/src/utilities/init.ts b/packages/translations/src/utilities/init.ts
index 7528b9e2df..ded7cebce2 100644
--- a/packages/translations/src/utilities/init.ts
+++ b/packages/translations/src/utilities/init.ts
@@ -4,7 +4,8 @@ import type {
I18n,
InitI18n,
InitTFunction,
- Language } from '../types.js'
+ Language,
+} from '../types.js'
import { importDateFNSLocale } from '../importDateFNSLocale.js'
import { deepMerge } from './deepMerge.js'
diff --git a/packages/translations/tsconfig.json b/packages/translations/tsconfig.json
index 9885eb76a4..4bf581f22d 100644
--- a/packages/translations/tsconfig.json
+++ b/packages/translations/tsconfig.json
@@ -11,5 +11,5 @@
"noEmit": false /* Do not emit outputs. */,
"emitDeclarationOnly": false
},
- "include": ["src/**/*.ts", "src/**/*.js"],
+ "include": ["src/**/*.ts", "src/**/*.js"]
}
diff --git a/packages/ui/.swcrc b/packages/ui/.swcrc
index 662e653e57..b4fb882caa 100644
--- a/packages/ui/.swcrc
+++ b/packages/ui/.swcrc
@@ -16,16 +16,6 @@
"development": false,
"useBuiltins": true
}
- },
- "experimental": {
- "plugins": [
- [
- "swc-plugin-transform-remove-imports",
- {
- "test": "\\.(scss|css)$"
- }
- ]
- ]
}
},
"module": {
diff --git a/packages/ui/babel.config.cjs b/packages/ui/babel.config.cjs
index a4167afe94..41d25beeee 100644
--- a/packages/ui/babel.config.cjs
+++ b/packages/ui/babel.config.cjs
@@ -2,26 +2,25 @@ const fs = require('fs')
const ReactCompilerConfig = {
sources: (filename) => {
-
- if(!filename.endsWith('.tsx') && !filename.endsWith('.jsx')) {
+ if (!filename.endsWith('.tsx') && !filename.endsWith('.jsx')) {
return false
}
// read file and check if 'use client' is at top. if not, return false
// if it is, return true
const file = fs.readFileSync(filename, 'utf8')
- if(file.includes("'use client'")) {
+ if (file.includes("'use client'")) {
//console.log("Compiling: " + filename)
return true
}
- console.log("Skipping: " + filename)
+ console.log('Skipping: ' + filename)
return false
},
//runtimeModule: "react"
}
module.exports = function (api) {
- api.cache(false);
+ api.cache(false)
return {
plugins: [
diff --git a/packages/ui/bundle.js b/packages/ui/bundle.js
new file mode 100644
index 0000000000..a98b84b73b
--- /dev/null
+++ b/packages/ui/bundle.js
@@ -0,0 +1,140 @@
+import * as esbuild from 'esbuild'
+import fs from 'fs'
+import path from 'path'
+import { fileURLToPath } from 'url'
+const filename = fileURLToPath(import.meta.url)
+const dirname = path.dirname(filename)
+import { sassPlugin } from 'esbuild-sass-plugin'
+import { commonjs } from '@hyrious/esbuild-plugin-commonjs'
+
+const removeCSSImports = {
+ name: 'remove-css-imports',
+ setup(build) {
+ build.onLoad({ filter: /.*/ }, async (args) => {
+ if (args.path.includes('node_modules') || !args.path.includes(dirname)) return
+ const contents = await fs.promises.readFile(args.path, 'utf8')
+ const withRemovedImports = contents.replace(/import\s+.*\.scss';?[\r\n\s]*/g, '')
+ return { contents: withRemovedImports, loader: 'default' }
+ })
+ },
+}
+
+// Bundle only the .scss files into a single css file
+await esbuild
+ .build({
+ entryPoints: ['src/exports/client/index.ts'],
+ bundle: true,
+ minify: true,
+ outdir: 'dist',
+ packages: 'external',
+ plugins: [sassPlugin({ css: 'external' })],
+ })
+ .then(() => {
+ fs.rename('dist/index.css', 'dist/styles.css', (err) => {
+ if (err) console.error(`Error while renaming index.css: ${err}`)
+ })
+
+ fs.unlink('dist/index.js', (err) => {
+ if (err) console.error(`Error while deleting index.js: ${err}`)
+ })
+
+ console.log('styles.css bundled successfully')
+ })
+ .catch(() => process.exit(1))
+
+// Bundle `client.ts`
+const resultClient = await esbuild
+ .build({
+ entryPoints: ['src/exports/client/index.ts'],
+ bundle: true,
+ platform: 'browser',
+ format: 'esm',
+ outdir: 'dist/exports/client',
+ //outfile: 'index.js',
+ // IMPORTANT: splitting the client bundle means that the `use client` directive will be lost for every chunk
+ splitting: true,
+ external: [
+ '*.scss',
+ '*.css',
+ 'qs',
+ '@dnd-kit/core',
+ '@payloadcms/graphql',
+ '@payloadcms/translations',
+ 'deep-equal',
+ 'react-toastify',
+
+ //'side-channel',
+ 'payload',
+ 'payload/*',
+ 'react',
+ 'react-dom',
+ 'next',
+ 'react-animate-height',
+ 'crypto',
+ ],
+ //packages: 'external',
+ minify: true,
+ metafile: true,
+ treeShaking: true,
+
+ tsconfig: path.resolve(dirname, './tsconfig.json'),
+ plugins: [
+ removeCSSImports,
+ /*commonjs({
+ ignore: ['date-fns', '@floating-ui/react'],
+ }),*/
+ ],
+ sourcemap: true,
+ })
+ .then((res, err) => {
+ console.log('client.ts bundled successfully')
+ return res
+ })
+ .catch(() => process.exit(1))
+
+const resultShared = await esbuild
+ .build({
+ entryPoints: ['src/exports/shared/index.ts'],
+ bundle: true,
+ platform: 'node',
+ format: 'esm',
+ outdir: 'dist/exports/shared',
+ //outfile: 'index.js',
+ // IMPORTANT: splitting the client bundle means that the `use client` directive will be lost for every chunk
+ splitting: false,
+ treeShaking: true,
+ external: [
+ '*.scss',
+ '*.css',
+ 'qs',
+ '@dnd-kit/core',
+ '@payloadcms/graphql',
+ '@payloadcms/translations',
+ 'deep-equal',
+ 'react-toastify',
+ 'payload',
+ 'payload/*',
+ 'react',
+ 'react-dom',
+ 'next',
+ 'react-animate-height',
+ 'crypto',
+ '@floating-ui/react',
+ 'date-fns',
+ 'react-datepicker',
+ ],
+ //packages: 'external',
+ minify: true,
+ metafile: true,
+ tsconfig: path.resolve(dirname, './tsconfig.json'),
+ plugins: [removeCSSImports, commonjs()],
+ sourcemap: true,
+ })
+ .then((res, err) => {
+ console.log('shared.ts bundled successfully')
+ return res
+ })
+ .catch(() => process.exit(1))
+
+fs.writeFileSync('meta_client.json', JSON.stringify(resultClient.metafile))
+fs.writeFileSync('meta_shared.json', JSON.stringify(resultShared.metafile))
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 8a52cbfc75..d5547df8db 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -7,6 +7,7 @@
"url": "https://github.com/payloadcms/payload.git",
"directory": "packages/ui"
},
+ "sideEffects": false,
"type": "module",
"exports": {
"./assets": {
@@ -15,6 +16,11 @@
"default": "./src/assets/index.ts",
"types": "./src/assets/index.tsx"
},
+ "./client": {
+ "import": "./src/exports/client/index.ts",
+ "require": "./src/exports/client/index.ts",
+ "types": "./src/exports/client/index.ts"
+ },
"./elements/*": {
"import": "./src/elements/*/index.tsx",
"require": "./src/elements/*/index.tsx",
@@ -57,11 +63,10 @@
"default": "./src/providers/*/index.tsx",
"types": "./src/providers/*/index.tsx"
},
- "./templates/*": {
- "import": "./src/templates/*/index.tsx",
- "require": "./src/templates/*/index.tsx",
- "default": "./src/templates/*/index.tsx",
- "types": "./src/templates/*/index.tsx"
+ "./shared": {
+ "import": "./src/exports/shared/index.ts",
+ "require": "./src/exports/shared/index.ts",
+ "types": "./src/exports/shared/index.ts"
},
"./utilities/*": {
"import": "./src/utilities/*.ts",
@@ -74,19 +79,20 @@
"require": "./src/scss/styles.scss",
"default": "./src/scss/styles.scss"
},
- "./scss/app.scss": "./src/scss/app.scss"
+ "./scss/app.scss": "./src/scss/app.scss",
+ "./styles.css": "./dist/styles.css"
},
"files": [
"dist"
],
"scripts": {
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
+ "build": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc && pnpm build:esbuild",
"build:babel": "babel src --out-dir dist --source-maps --extensions .ts,.js,.tsx,.jsx,.cjs,.mjs",
+ "build:esbuild": "node bundle.js",
"build:reactcompiler": "pnpm copyfiles && pnpm build:babel && pnpm build:types",
"build:remove-artifact": "rm dist/prod/index.js",
- "build:swc": "swc ./src -d dist --config-file .swcrc",
+ "build:swc": "swc ./src -d dist --config-file .swcrc --strip-leading-paths",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
- "build:webpack": "webpack --config webpack.config.js",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
@@ -116,7 +122,7 @@
"scheduler": "0.25.0-rc-f994737d14-20240522",
"sonner": "^1.5.0",
"use-context-selector": "2.0.0",
- "uuid": "^9.0.1"
+ "uuid": "10.0.0"
},
"devDependencies": {
"@babel/cli": "^7.24.5",
@@ -124,6 +130,7 @@
"@babel/preset-env": "^7.24.5",
"@babel/preset-react": "^7.24.1",
"@babel/preset-typescript": "^7.24.1",
+ "@hyrious/esbuild-plugin-commonjs": "^0.2.4",
"@payloadcms/eslint-config": "workspace:*",
"@types/body-scroll-lock": "^3.1.0",
"@types/qs": "6.9.7",
@@ -132,19 +139,16 @@
"@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
"@types/uuid": "^9.0.8",
"babel-plugin-react-compiler": "0.0.0-experimental-592953e-20240517",
- "babel-plugin-transform-remove-imports": "^1.7.1",
"css-loader": "^6.10.0",
- "css-minimizer-webpack-plugin": "^6.0.0",
+ "esbuild": "^0.21.4",
+ "esbuild-sass-plugin": "^3.3.0",
"mini-css-extract-plugin": "1.6.2",
"payload": "workspace:*",
"postcss-loader": "^8.1.1",
"postcss-preset-env": "^9.5.14",
"sass-loader": "14.2.1",
"swc-loader": "^0.2.6",
- "swc-plugin-transform-remove-imports": "^1.12.1",
- "terser-webpack-plugin": "^5.3.10",
- "webpack": "^5.78.0",
- "webpack-cli": "^5.1.4"
+ "turbopack": "^0.0.1"
},
"peerDependencies": {
"next": "^15.0.0-rc.0",
@@ -157,19 +161,18 @@
},
"publishConfig": {
"exports": {
- ".": "./dist/exports/index.js",
"./assets/*": "./dist/assets/*",
- "./*": {
- "import": "./dist/exports/*.js",
- "require": "./dist/exports/*.js",
- "types": "./dist/exports/*.d.ts"
- },
"./assets": {
"import": "./dist/assets/index.js",
"require": "./dist/assets/index.js",
"default": "./dist/assets/index.js",
"types": "./dist/assets/index.d.ts"
},
+ "./client": {
+ "import": "./dist/exports/client/index.js",
+ "require": "./dist/exports/client/index.js",
+ "types": "./dist/exports/client/index.d.ts"
+ },
"./elements/*": {
"import": "./dist/elements/*/index.js",
"require": "./dist/elements/*/index.js",
@@ -212,11 +215,10 @@
"default": "./dist/providers/*/index.js",
"types": "./dist/providers/*/index.d.ts"
},
- "./templates/*": {
- "import": "./dist/templates/*/index.js",
- "require": "./dist/templates/*/index.js",
- "default": "./dist/templates/*/index.js",
- "types": "./dist/templates/*/index.d.ts"
+ "./shared": {
+ "import": "./dist/exports/shared/index.js",
+ "require": "./dist/exports/shared/index.js",
+ "types": "./dist/exports/shared/index.d.ts"
},
"./utilities/*": {
"import": "./dist/utilities/*.js",
@@ -234,7 +236,8 @@
"require": "./dist/scss/styles.scss",
"default": "./dist/scss/styles.scss"
},
- "./scss/app.scss": "./dist/scss/app.scss"
+ "./scss/app.scss": "./dist/scss/app.scss",
+ "./styles.css": "./dist/styles.css"
}
},
"overrides": {
diff --git a/packages/ui/src/elements/AppHeader/index.scss b/packages/ui/src/elements/AppHeader/index.scss
index f4ff2c14d1..81aba4b67d 100644
--- a/packages/ui/src/elements/AppHeader/index.scss
+++ b/packages/ui/src/elements/AppHeader/index.scss
@@ -16,7 +16,7 @@
right: unset;
left: base(4.5);
}
- &__localizer {
+ &__localizer.localizer {
position: absolute;
top: 50%;
right: base(4.5);
diff --git a/packages/ui/src/elements/ArrayAction/index.tsx b/packages/ui/src/elements/ArrayAction/index.tsx
index 6c48125c95..ea015c6837 100644
--- a/packages/ui/src/elements/ArrayAction/index.tsx
+++ b/packages/ui/src/elements/ArrayAction/index.tsx
@@ -1,14 +1,13 @@
'use client'
import React from 'react'
-import { Chevron } from '../../icons/Chevron/index.js'
-import { Copy } from '../../icons/Copy/index.js'
+import { ChevronIcon } from '../../icons/Chevron/index.js'
+import { CopyIcon } from '../../icons/Copy/index.js'
import { MoreIcon } from '../../icons/More/index.js'
-import { Plus } from '../../icons/Plus/index.js'
-import { X } from '../../icons/X/index.js'
+import { PlusIcon } from '../../icons/Plus/index.js'
+import { XIcon } from '../../icons/X/index.js'
import { useTranslation } from '../../providers/Translation/index.js'
-import { PopupList } from '../Popup/index.js'
-import { Popup } from '../Popup/index.js'
+import { Popup, PopupList } from '../Popup/index.js'
import './index.scss'
const baseClass = 'array-actions'
@@ -54,7 +53,7 @@ export const ArrayAction: React.FC = ({
}}
>
-
+
{t('general:moveUp')}
@@ -68,7 +67,7 @@ export const ArrayAction: React.FC = ({
}}
>
-
+
{t('general:moveDown')}
@@ -82,7 +81,7 @@ export const ArrayAction: React.FC = ({
close()
}}
>
-
+
{t('general:addBelow')}
= ({
close()
}}
>
-
+
{t('general:duplicate')}
@@ -104,7 +103,7 @@ export const ArrayAction: React.FC = ({
close()
}}
>
-
+
{t('general:remove')}
diff --git a/packages/ui/src/elements/Autosave/index.tsx b/packages/ui/src/elements/Autosave/index.tsx
index 0c87152da6..02fe04c663 100644
--- a/packages/ui/src/elements/Autosave/index.tsx
+++ b/packages/ui/src/elements/Autosave/index.tsx
@@ -1,8 +1,8 @@
'use client'
// TODO: abstract the `next/navigation` dependency out from this component
-import type { ClientCollectionConfig, ClientGlobalConfig } from 'payload/types'
+import type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'
-import { versionDefaults } from 'payload/versions'
+import { versionDefaults } from 'payload/shared'
import React, { useEffect, useRef, useState } from 'react'
import { toast } from 'sonner'
diff --git a/packages/ui/src/elements/Button/index.tsx b/packages/ui/src/elements/Button/index.tsx
index c6dc2ec289..394414a68b 100644
--- a/packages/ui/src/elements/Button/index.tsx
+++ b/packages/ui/src/elements/Button/index.tsx
@@ -3,22 +3,22 @@ import React, { Fragment, forwardRef, isValidElement } from 'react'
import type { Props } from './types.js'
-import { Chevron } from '../../icons/Chevron/index.js'
-import { Edit } from '../../icons/Edit/index.js'
+import { ChevronIcon } from '../../icons/Chevron/index.js'
+import { EditIcon } from '../../icons/Edit/index.js'
import { LinkIcon } from '../../icons/Link/index.js'
-import { Plus } from '../../icons/Plus/index.js'
-import { Swap } from '../../icons/Swap/index.js'
-import { X } from '../../icons/X/index.js'
+import { PlusIcon } from '../../icons/Plus/index.js'
+import { SwapIcon } from '../../icons/Swap/index.js'
+import { XIcon } from '../../icons/X/index.js'
import { Tooltip } from '../Tooltip/index.js'
import './index.scss'
const icons = {
- chevron: Chevron,
- edit: Edit,
+ chevron: ChevronIcon,
+ edit: EditIcon,
link: LinkIcon,
- plus: Plus,
- swap: Swap,
- x: X,
+ plus: PlusIcon,
+ swap: SwapIcon,
+ x: XIcon,
}
const baseClass = 'btn'
diff --git a/packages/ui/src/elements/Collapsible/index.tsx b/packages/ui/src/elements/Collapsible/index.tsx
index 8037837ffa..8f094c0bbd 100644
--- a/packages/ui/src/elements/Collapsible/index.tsx
+++ b/packages/ui/src/elements/Collapsible/index.tsx
@@ -7,8 +7,8 @@ import type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem
const AnimateHeight = (AnimateHeightImport.default ||
AnimateHeightImport) as typeof AnimateHeightImport.default
-import { Chevron } from '../../icons/Chevron/index.js'
-import { DragHandle } from '../../icons/DragHandle/index.js'
+import { ChevronIcon } from '../../icons/Chevron/index.js'
+import { DragHandleIcon } from '../../icons/DragHandle/index.js'
import { useTranslation } from '../../providers/Translation/index.js'
import './index.scss'
import { CollapsibleProvider, useCollapsible } from './provider.js'
@@ -78,7 +78,7 @@ export const Collapsible: React.FC = ({
{...dragHandleProps.attributes}
{...dragHandleProps.listeners}
>
-
+