UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

2 lines 32.5 kB
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/JSONPreview-C1IiR1q5.js","assets/web-BWdORzMO.js","assets/dist-CrVLAEWP.js","assets/ErrorBlock-CuwX01Wv.js","assets/userStore-BExk_Pfb.js","assets/codemirror-theme-BOECWlIc.js","assets/dist-H6yvDjb0.js","assets/dist-CdzpWFT_.js","assets/dist-CJH2NxBr.js"])))=>i.map(i=>d[i]); import{Rn as e,Rt as t,W as n,X as r,_ as i,dn as a,en as o,fn as s,ft as c,in as l,kt as u,l as d,m as f,n as ee,o as p,q as m,r as h}from"./ErrorBlock-CuwX01Wv.js";import{A as g,C as _,D as v,F as y,M as b,S as x,a as S,c as C,j as w,m as T,o as E,s as D,w as O,x as k,y as A,z as j}from"./web-BWdORzMO.js";import{h as M,m as N,t as P}from"./userStore-BExk_Pfb.js";import{t as te}from"./permissions-kIH5Rv10.js";import{a as ne}from"./Layout-4UKP18vE.js";import{T as re,at as F,ft as I,un as L,y as ie}from"./Form-Cbz3dIAq.js";import{c as R,n as ae,s as z,x as B}from"./PageBuilder-PhDEJNHy.js";import{E as oe,G as V,J as H,S as se,T as ce,Y as U,m as le,p as W,s as G}from"./publish-operations-D4J5WbXS.js";var K=e(a(),1),q=T(`<div class="relative mt-3 ml-1 pl-7 space-y-3">`),J=T(`<div>`),ue=T(`<span>`),Y=T(`<div class=relative><span></span><span></span><button type=button max-w-72><span></span><div class="flex items-start justify-between gap-3 w-full"><div class="min-w-0 flex-1"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-semibold text-title truncate capitalize"></h3></div><div class="mt-1 flex items-center gap-2 text-sm text-body">`),de=e=>{let t=w(()=>e.state.isItemSelected(e.item));return(()=>{var n=J();return D(n,v(O,{get children(){return[v(k,{get when(){return e.item.type===`latest`},get children(){return v(X,{get item(){return e.item},get parentType(){return e.parentType},get isSelected(){return t()},onClick:()=>e.state.handleSelectItem(e.item)})}}),v(k,{get when(){return e.item.type===`revision`},get children(){return v(X,{get item(){return e.item},get parentType(){return e.parentType},get isSelected(){return t()},onClick:()=>e.state.handleSelectItem(e.item)})}}),v(k,{get when(){return e.item.type===`snapshot`},get children(){return v(X,{get item(){return e.item},get parentType(){return e.parentType},get isSelected(){return t()},onClick:()=>e.state.handleSelectItem(e.item)})}}),v(k,{get when(){return e.item.type===`environment`},get children(){return v(X,{get item(){return e.item},get parentType(){return e.parentType},get isSelected(){return t()},onClick:()=>e.state.handleSelectItem(e.item),get isLastSibling(){return e.isLastSibling}})}})]}}),null),D(n,v(x,{get when(){return C(()=>!!e.item.environmentVersions)()&&e.item.environmentVersions.length>0},get children(){var t=q();return D(t,v(A,{get each(){return e.item.environmentVersions},children:(t,n)=>v(de,{item:t,get state(){return e.state},level:1,get parentType(){return e.item.type},get isLastSibling(){return n()===(e.item.environmentVersions?.length??0)-1}})})),t}}),null),b(()=>S(n,(0,K.default)(`relative flex flex-col`,{"mb-3 last:mb-0":e.level>0}))),n})()},X=e=>{let t=w(()=>e.item.type===`environment`&&!e.item.isReleased),n=w(()=>e.item.type===`environment`&&e.item.isReleased&&e.item.inSyncWithPromotedFrom);return[v(x,{get when(){return e.item.type===`environment`},get children(){var t=ue();return b(()=>S(t,(0,K.default)(`absolute -left-4 -top-2.5 border-l border-dashed border-secondary-base/40`,{"bottom-0":!e.isLastSibling,"bottom-1/2":e.isLastSibling}))),t}}),(()=>{var r=Y(),i=r.firstChild,a=i.nextSibling,o=a.nextSibling,c=o.firstChild,l=c.nextSibling.firstChild.firstChild,u=l.firstChild,d=l.nextSibling;return o.$$click=()=>{t()||e.onClick()},D(u,v(O,{get children(){return[v(k,{get when(){return e.item.type===`latest`},get children(){return s()(`common.status.latest`)}}),v(k,{get when(){return e.item.type===`environment`},get children(){return e.item.version}}),v(k,{get when(){return e.item.type===`revision`},get children(){return[C(()=>s()(`common.revision`)),` #`,C(()=>e.item.id)]}}),v(k,{get when(){return e.item.type===`snapshot`},get children(){return[C(()=>s()(`common.snapshot`)),` #`,C(()=>e.item.id)]}})]}})),D(d,v(V,{get date(){return e.item.timelineAt},class:`text-body`})),b(r=>{var s=(0,K.default)(`absolute -left-4 top-1/2 -translate-y-1/2 -translate-x-1/2 w-3.5 h-3.5 rounded-full border flex items-center justify-center transition-colors duration-200`,{"border-primary-muted-border bg-primary-muted-bg":e.isSelected,"border-secondary-base/60 bg-background-base":!e.isSelected}),l=(0,K.default)(`absolute -left-4 top-1/2 -translate-y-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transition-colors duration-200`,{"bg-primary-base":e.isSelected,"bg-secondary-base":!e.isSelected}),u=(0,K.default)(`group relative flex w-full text-left overflow-hidden rounded-md border border-border p-3 md:p-4 transition-colors duration-200 outline-none bg-card-base focus-visible:ring-1 focus-visible:ring-primary-base`,{"hover:bg-card-hover":!t(),"opacity-70 cursor-not-allowed":t()}),d=(0,K.default)(`absolute inset-x-0 top-0 h-0.5 bg-gradient-to-r`,{"from-primary-muted-bg to-primary-muted-bg":e.item.type===`latest`||n(),"from-warning-base/60 to-warning-base/20":e.item.type===`environment`&&!t()&&!n(),"from-error-base/60 to-error-base/20":t()});return s!==r.e&&S(i,r.e=s),l!==r.t&&S(a,r.t=l),u!==r.a&&S(o,r.a=u),d!==r.o&&S(c,r.o=d),r},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()]};E([`click`]);var fe=T(`<div class="grid gap-3"><div class="grid gap-2 text-sm">`),pe=T(`<div class="grid grid-cols-3 gap-2"><span class="h-16 rounded-md skeleton"></span><span class="h-16 rounded-md skeleton"></span><span class="h-16 rounded-md skeleton">`),me=T(`<div class="grid grid-cols-3 gap-2">`),he=T(`<div class=min-w-0><div class="flex flex-wrap items-center gap-2"></div><p class="mt-2 text-sm text-body">`),ge=T(`<div class="mb-3 grid grid-cols-3 gap-2">`),_e=T(`<div class="grid gap-2"><span class="h-24 rounded-md skeleton"></span><span class="h-24 rounded-md skeleton">`),ve=T(`<div class="rounded-md border border-border bg-input-base/50 p-3"><p class="text-sm text-body">`),ye=T(`<div class="overflow-hidden rounded-md border border-border bg-card-base">`),be=T(`<span class="block h-56 rounded-md skeleton">`),xe=T(`<aside class="mt-4 lg:mt-6 mx-4 md:mx-6 lg:mx-0 lg:mr-6 mb-6 md:mb-8 pb-6 lg:pb-8 space-y-4"><section class="rounded-md border border-border bg-card-base p-4 md:p-5"><div class="flex items-start justify-between gap-4"><div class=min-w-0><p class="text-xs font-medium uppercase text-body"></p><h3 class="mt-1 truncate text-lg font-semibold text-title"></h3></div></div><div class="mt-3 flex flex-wrap gap-2"></div><div>`),Se=T(`<div class="grid gap-3 pb-4 md:pb-6">`),Ce=T(`<span class=text-body>-`),we=T(`<span class="text-xs text-body"> `),Te=T(`<div class="flex min-w-0 items-center gap-2 text-title"><span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-input-base text-body"></span><h4 class="truncate text-sm font-semibold">`),Ee=T(`<div class="flex shrink-0 items-center gap-2">`),De=T(`<section class="rounded-md border border-border bg-card-base p-4">`),Oe=T(`<div class="min-w-0 rounded-md border border-border bg-input-base/50 px-3 py-2"><p class="text-base font-semibold text-title"></p><p class="mt-0.5 truncate text-xs text-body">`),ke=T(`<div><span class="text-sm font-medium text-subtitle"></span><span class="min-w-0 text-sm font-medium text-unfocused">`),Ae=T(`<span class="inline-flex items-center gap-2">`),je=j(()=>I(()=>import(`./JSONPreview-C1IiR1q5.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),Me=e=>{switch(e){case`protected`:return`grey`;case`retained`:return`outline`;case`expiring`:return`warning-opaque`;case`expired`:return`error-opaque`;case`unknown`:return`grey`}},Ne=e=>{let[n,i]=y(),[a,o]=y(``),[l,d]=y(``),[g,T]=y(W()),[E,j]=y(),M=t=>{let n=e.collection()?.environments.find(e=>e.key===t);return f.getLocaleValue({value:n?.name,fallback:t})||t},N=()=>{o(``),d(``),T(W())},P=p.publishOperations.useReschedule({onSuccess:()=>{i(void 0),N(),j(void 0)}}),te=w(()=>e.item.type===`latest`?s()(`common.status.latest`):e.item.type===`revision`?`${s()(`common.revision`)} #${e.item.id}`:e.item.type===`snapshot`?`${s()(`common.snapshot`)} #${e.item.id}`:M(e.item.version)),I=w(()=>e.item.type===`environment`?s()(`common.environment`):e.item.type===`latest`?s()(`common.current.version`):e.item.type===`snapshot`?s()(`common.snapshot`):s()(`common.saved.revision`)),L=w(()=>ne(`edit`,{collectionKey:e.collection()?.key??``,documentId:e.document()?.id,version:e.item.version,versionId:e.item.id})),R=w(()=>e.selectedVersionDocument()),z=w(()=>R()?.bricks?.filter(e=>e.type===`builder`).length??e.item.bricks?.builder?.length??0),B=w(()=>R()?.bricks?.filter(e=>e.type===`fixed`).length??e.item.bricks?.fixed?.length??0),oe=w(()=>R()?.fields?.length??0),H=w(()=>e.releaseOperations()),se=w(()=>H().filter(e=>e.status===`pending`).length),ce=w(()=>H().filter(e=>e.executionStatus===`scheduled`).length),U=w(()=>H().filter(e=>e.executionStatus===`executing`).length),q=w(()=>!!n()?.scheduledAt),J=w(()=>E()||P.errors()?.message),ue=e=>{if(i(e),j(void 0),P.reset(),e.scheduledAt){let t=new Date(e.scheduledAt);o(t.toISOString().slice(0,10)),d(t.toISOString().slice(11,16)),T(e.scheduledTimezone??W());return}N()},Y=async()=>{let e=n();if(!e)return;let t=le({date:a(),time:l(),timezone:g()});if(!t){j(s()(`documents.release.schedule.validation.required`));return}await P.action.mutateAsync({id:e.id,body:{scheduledAt:t,scheduledTimezone:g()}})},de=async()=>{let e=n();e&&await P.action.mutateAsync({id:e.id,body:{scheduledAt:null,scheduledTimezone:null}})};return[(()=>{var n=xe(),i=n.firstChild.firstChild,a=i.firstChild.firstChild,o=a.nextSibling,l=i.nextSibling,d=l.nextSibling;return D(a,I),D(o,te),D(i,v(F,{theme:`outline`,class:`shrink-0`,get children(){return[`#`,C(()=>e.item.id)]}}),null),D(l,v(Ie,{get item(){return e.item}})),D(d,v(ee,{theme:`border-outline`,size:`small`,get href(){return L()},classes:`w-full`,get children(){return C(()=>e.item.type===`latest`)()?s()(`common.edit`):s()(`common.view`)}}),null),D(d,v(x,{get when(){return e.item.type===`revision`},get children(){return v(h,{type:`button`,theme:`secondary`,size:`small`,classes:`w-full`,get loading(){return e.restore.loading},get permission(){return e.restore.permission},get onClick(){return e.onRestore},get children(){return s()(`documents.revisions.restore.to.latest.action`)}})}}),null),D(n,v(Z,{get title(){return s()(`common.version.details`)},get icon(){return v(m,{size:14})},preferenceKey:`history.inspector.versionDetails`,get children(){var t=fe(),n=t.firstChild;return D(n,v($,{get label(){return s()(`common.type`)},get value(){return v(Fe,{get item(){return e.item}})}}),null),D(n,v($,{get label(){return s()(`common.created.at`)},get value(){return v(V,{get date(){return e.item.createdAt}})}}),null),D(n,v($,{get label(){return s()(`common.updated.at`)},get value(){return v(V,{get date(){return e.item.updatedAt}})},get show(){return C(()=>e.item.type===`latest`)()&&e.item.updatedAt!==null}}),null),D(n,v($,{get label(){return s()(`common.created.by`)},get value(){return v(Pe,{get user(){return e.createdByUser()},get fallbackId(){return e.item.createdBy}})}}),null),D(n,v($,{get label(){return s()(`common.promoted.from`)},get value(){return`#${e.item.promotedFrom}`},get show(){return e.item.promotedFrom!==null}}),null),D(n,v($,{get label(){return s()(`common.content.id`)},get value(){return v(x,{get when(){return e.item.contentId},get fallback(){return Ce()},children:e=>v(re,{type:`simple`,get text(){return e()},get value(){return e()},class:`text-xs`})})},stacked:!0}),null),t}}),null),D(n,v(Z,{get title(){return s()(`common.content.summary`)},get icon(){return v(u,{size:14})},preferenceKey:`history.inspector.contentSummary`,get children(){return v(O,{get children(){return[v(k,{get when(){return e.selectedVersionDocumentLoading()},get children(){return pe()}}),v(k,{when:!0,get children(){var e=me();return D(e,v(Q,{get label(){return s()(`common.bricks`)},get value(){return z()}}),null),D(e,v(Q,{get label(){return s()(`builder.bricks.fixed`)},get value(){return B()}}),null),D(e,v(Q,{get label(){return s()(`common.fields`)},get value(){return oe()}}),null),e}})]}})}}),null),D(n,v(x,{get when(){return e.item.type===`revision`},get children(){return v(Z,{get title(){return s()(`documents.revisions.retention.title`)},get icon(){return v(r,{size:14})},preferenceKey:`history.inspector.revisionRetention`,get children(){var t=he(),n=t.firstChild,r=n.nextSibling;return D(n,v(F,{get theme(){return Me(e.retention().state)},get children(){return e.retention().label}}),null),D(n,v(x,{get when(){return e.retention().expiresAt},children:e=>(()=>{var t=we(),n=t.firstChild;return D(t,()=>s()(`documents.revisions.retention.cleanup.after`),n),D(t,v(V,{get date(){return e()},class:`text-xs`}),null),t})()}),null),D(r,()=>e.retention().description),t}})}}),null),D(n,v(x,{get when(){return e.item.type===`environment`},get children(){return v(Z,{get title(){return s()(`documents.release.activity`)},get icon(){return v(t,{size:14})},get meta(){return H().length},preferenceKey:`history.inspector.releaseActivity`,get children(){return[(()=>{var e=ge();return D(e,v(Q,{get label(){return s()(`common.status.pending`)},get value(){return se()}}),null),D(e,v(Q,{get label(){return s()(`common.status.scheduled`)},get value(){return ce()}}),null),D(e,v(Q,{get label(){return s()(`common.status.executing`)},get value(){return U()}}),null),e})(),v(O,{get children(){return[v(k,{get when(){return e.releaseOperationsLoading()},get children(){return _e()}}),v(k,{get when(){return H().length===0},get children(){var e=ve(),t=e.firstChild;return D(t,()=>s()(`empty.states.release.activity`)),e}}),v(k,{when:!0,get children(){var t=ye();return D(t,v(A,{get each(){return H()},children:t=>v(ae,{get collection(){return e.collection},request:t,onSchedule:ue})})),t}})]}})]}})}}),null),D(n,v(Z,{get title(){return s()(`common.document.payload`)},get icon(){return v(c,{size:14})},preferenceKey:`history.inspector.documentPayload`,get children(){return v(O,{get children(){return[v(k,{get when(){return e.selectedVersionDocumentLoading()},get children(){return be()}}),v(k,{get when(){return R()},children:e=>v(_,{get fallback(){return be()},get children(){return v(je,{get title(){return s()(`common.document.payload`)},get json(){return e()}})}})})]}})}}),null),b(()=>S(d,(0,K.default)(`mt-4 grid gap-2`,{"sm:grid-cols-2":e.item.type===`revision`}))),n})(),v(ie,{theme:`primary`,get state(){return{open:n()!==void 0,setOpen:e=>{e||i(void 0)},isLoading:P.action.isPending,isError:!!J()}},get copy(){return{title:q()?s()(`common.reschedule.release`):s()(`documents.release.schedule.action`),description:s()(`modals.common.schedule.release.description`),confirm:s()(`actions.update.schedule`),error:J()}},callbacks:{onConfirm:Y,onCancel:()=>{i(void 0),N(),j(void 0),P.reset()}},get slots(){return{actions:[v(h,{theme:`border-outline`,size:`medium`,type:`button`,get disabled(){return P.action.isPending},onClick:()=>{i(void 0),N(),j(void 0),P.reset()},get children(){return s()(`common.cancel`)}}),v(x,{get when(){return q()},get children(){return v(h,{theme:`danger-outline`,size:`medium`,type:`button`,get loading(){return P.action.isPending},onClick:de,get children(){return s()(`documents.release.schedule.remove`)}})}}),v(h,{theme:`primary`,size:`medium`,type:`button`,get loading(){return P.action.isPending},onClick:Y,get children(){return C(()=>!!q())()?s()(`actions.update.schedule`):s()(`documents.release.schedule.action`)}})]}},get children(){var e=Se();return D(e,v(G,{get date(){return a()},setDate:o,get time(){return l()},setTime:d,get timezone(){return g()},setTimezone:T,onChange:()=>j(void 0)})),e}})]},Z=e=>{let[t,r]=U({value:()=>H.getSectionOpen(e.preferenceKey),setValue:t=>H.setSectionOpen(e.preferenceKey,t),defaultValue:!0});return v(B.Root,{get open(){return t()},onOpenChange:r,get children(){var r=De();return D(r,v(B.Trigger,{class:`group flex w-full items-center justify-between gap-3 rounded-md text-left focus:outline-hidden focus-visible:ring-1 ring-primary-base`,get children(){return[(()=>{var t=Te(),n=t.firstChild,r=n.nextSibling;return D(n,()=>e.icon),D(r,()=>e.title),t})(),(()=>{var r=Ee();return D(r,v(x,{get when(){return e.meta!==void 0},get children(){return v(F,{theme:`outline`,get children(){return e.meta}})}}),null),D(r,v(n,{size:12,get class(){return(0,K.default)(`shrink-0 text-body transition-transform duration-200`,{"rotate-90":t()})}}),null),r})()]}}),null),D(r,v(B.Content,{class:`mt-3`,get children(){return e.children}}),null),r}})},Q=e=>(()=>{var t=Oe(),n=t.firstChild,r=n.nextSibling;return D(n,()=>e.value),D(r,()=>e.label),t})(),$=e=>v(x,{get when(){return e.show!==!1},get children(){var t=ke(),n=t.firstChild,r=n.nextSibling;return D(n,()=>e.label),D(r,()=>e.value),b(()=>S(t,(0,K.default)(`flex gap-2 border-b border-border pb-2 last:border-b-0 last:pb-0`,{"flex-col items-start":e.stacked,"items-center justify-between":!e.stacked}))),t}}),Pe=e=>v(x,{get when(){return e.user},get fallback(){return(()=>{var t=Ae();return D(t,v(l,{size:12}),null),D(t,(()=>{var t=C(()=>!!e.fallbackId);return()=>t()?`#${e.fallbackId}`:`-`})(),null),t})()},children:e=>v(L,{get user(){return{username:e().username??e().email??s()(`media.types.unknown`),firstName:e().firstName,lastName:e().lastName,profilePicture:e().profilePicture}},mode:`short`,size:`x-small`,nameFormat:`simple`})}),Fe=e=>v(O,{get children(){return[v(k,{get when(){return e.item.type===`latest`},get children(){return s()(`common.status.latest`)}}),v(k,{get when(){return e.item.type===`environment`},get children(){return s()(`common.environment`)}}),v(k,{get when(){return e.item.type===`revision`},get children(){return s()(`common.revision`)}}),v(k,{get when(){return e.item.type===`snapshot`},get children(){return s()(`common.snapshot`)}})]}}),Ie=e=>[v(O,{get children(){return[v(k,{get when(){return e.item.type===`latest`},get children(){return v(F,{theme:`primary-opaque`,get children(){return s()(`common.current.version`)}})}}),v(k,{get when(){return e.item.type===`revision`},get children(){return v(F,{theme:`info-opaque`,get children(){return s()(`common.saved.revision`)}})}}),v(k,{get when(){return e.item.type===`snapshot`},get children(){return v(F,{theme:`info-opaque`,get children(){return s()(`common.snapshot`)}})}}),v(k,{get when(){return C(()=>e.item.type===`environment`)()&&e.item.isReleased},get children(){return v(F,{theme:`secondary`,get children(){return s()(`common.status.released`)}})}})]}}),v(x,{get when(){return e.item.type===`environment`},get children(){return v(x,{get when(){return e.item.inSyncWithPromotedFrom},get fallback(){return v(F,{theme:`warning-opaque`,get children(){return s()(`common.status.out.of.sync`)}})},get children(){return v(F,{theme:`primary-opaque`,get children(){return s()(`common.status.in.sync`)}})}})}}),v(x,{get when(){return C(()=>e.item.type===`environment`)()&&e.item.promotedFromLatest},get children(){return v(F,{theme:`outline`,get children(){return s()(`common.from.latest`)}})}}),v(x,{get when(){return C(()=>e.item.type===`environment`&&!e.item.promotedFromLatest)()&&e.item.promotedFrom},get children(){return v(F,{theme:`warning-opaque`,get children(){return[v(o,{size:10,class:`mr-1.5`}),C(()=>s()(`common.status.not.latest`))]}})}})],Le=20,Re=e=>{if(!e)return`Unknown`;let t=new Date(e),n=new Date,r=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),i=Math.max(0,Math.round((r(n)-r(t))/(1e3*60*60*24)));return i===0?`Today`:i===1?`Yesterday`:i<7?`${i} days ago`:t.toLocaleDateString(`en-gb`,{day:`numeric`,month:`long`})};function ze(){let e=M(),t=N(),n=se({mode:`memory`,schema:{sorts:{createdAt:oe({defaultValue:`desc`})},pagination:ce({defaultPerPage:Le})},options:{singleSort:!0}}),[r,a]=y([]),[o,c]=y(``),[l,u]=y(null),[ee,m]=y(!1),h=w(()=>e.collectionKey||``),_=w(()=>e.documentId?Number.parseInt(e.documentId,10):void 0),v=w(()=>d.get.contentLocale),b=w(()=>v()!==void 0&&_()!==void 0&&n.ready()),x=w(()=>{let e=l();if(e){if(e.type===`latest`)return`latest`;if(e.type===`revision`||e.type===`snapshot`)return e.id;if(e.type===`environment`)return e.version}}),S=w(()=>{let e=l();return e?.type===`environment`?e.version:void 0}),C=p.collections.useGetSingle({queryParams:{location:{collectionKey:h}},enabled:()=>!!h(),refetchOnWindowFocus:!1}),T=p.documents.useGetMultipleRevisions({queryParams:{queryString:n.queryString,location:{collectionKey:h,documentId:_}},enabled:()=>b(),refetchOnWindowFocus:!1}),E=p.documents.useGetSingle({queryParams:{location:{collectionKey:h,id:_,version:`latest`},include:{bricks:!1}},enabled:()=>b(),refetchOnWindowFocus:!1}),D=p.documents.useGetSingle({queryParams:{location:{collectionKey:h,id:_,version:x},include:{bricks:!0,refs:!0}},enabled:()=>b()&&x()!==void 0,refetchOnWindowFocus:!1}),O=p.publishOperations.useGetMultiple({queryParams:{filters:{collectionKey:h,documentId:_,target:S,status:()=>[`pending`,`approved`],executionStatus:()=>[`awaiting_approval`,`scheduled`,`executing`]},perPage:6},enabled:()=>b()&&S()!==void 0&&C.data?.data!==void 0&&P.get.hasPermission([te.PublishOperationsRead,C.data.data.permissions.review]).all}),k=w(()=>C.data?.data),A=w(()=>C.isLoading||T.isLoading||E.isLoading),j=w(()=>C.isSuccess&&T.isSuccess&&E.isSuccess),re=w(()=>C.isError||T.isError||E.isError),F=w(()=>j()&&r().length===0),I=w(()=>T.data?.meta),L=w(()=>{let e=I();return!e||e.currentPage===null||e.lastPage===null?!1:e.currentPage<e.lastPage}),ie=w(()=>f.getLocaleValue({value:k()?.details.name})||s()(`common.collection`)),R=w(()=>f.getLocaleValue({value:k()?.details.singularName})||s()(`common.collection`)),ae=w(()=>{let e=r(),t=new Map;for(let n of e){let e=Re(n.createdAt),r=t.get(e)||[];t.set(e,[...r,n])}return Array.from(t.entries()).map(([e,t])=>({dateLabel:e,revisions:t}))}),z=w(()=>E.data?.data),B=w(()=>C.isError&&i(C.error)),V=w(()=>E.isError&&i(E.error)),H=w(()=>{let e=z(),t=r(),n=[],i,a=e=>{let t=n.find(t=>t.id===e.promotedFrom);return t?t.contentId===e.contentId:!1};if(e?.versions?.latest){let t=e.versions.latest;i={type:`latest`,id:t.id,version:`latest`,createdAt:t.createdAt,updatedAt:t.updatedAt,timelineAt:t.updatedAt??t.createdAt,createdBy:t.createdBy,promotedFrom:t.promotedFrom,contentId:t.contentId,isReleased:!0,promotedFromLatest:!0,inSyncWithPromotedFrom:a(t)},n.push(i)}for(let r of t){let t=r.versionType===`snapshot`?`snapshot`:`revision`;n.push({type:t,version:t,id:r.id,createdAt:r.createdAt,updatedAt:null,timelineAt:r.createdAt,createdBy:r.createdBy,promotedFrom:r.promotedFrom,contentId:r.contentId,bricks:r.bricks,isReleased:!1,promotedFromLatest:e?.versions?.latest?.id===r.promotedFrom,inSyncWithPromotedFrom:a(r)})}let o=[];if(e?.versions){let t=0;for(let[n,r]of Object.entries(e.versions))n!==`latest`&&(r&&o.push({type:`environment`,id:r.id,version:n,createdAt:r.createdAt,updatedAt:r.updatedAt,timelineAt:r.createdAt,createdBy:r.createdBy,promotedFrom:r.promotedFrom,contentId:r.contentId,isReleased:!0,promotedFromLatest:e?.versions?.latest?.id===r.promotedFrom,inSyncWithPromotedFrom:a(r)}),r===null&&i&&(i.environmentVersions||=[],i.environmentVersions.push({type:`environment`,id:-1*(1e3+t++),version:n,createdAt:null,updatedAt:null,timelineAt:null,createdBy:null,promotedFrom:null,contentId:null,isReleased:!1,promotedFromLatest:!1,inSyncWithPromotedFrom:!1})))}let s=new Map,c=new Map;for(let e of n)e.contentId&&s.set(e.contentId,e),c.set(e.id,e);for(let e of o){let t;e.promotedFrom&&(t=c.get(e.promotedFrom)),!t&&e.contentId&&(t=s.get(e.contentId)),t?(e.inSyncWithPromotedFrom=t.contentId===e.contentId,e.promotedFromLatest=t.type===`latest`,t.environmentVersions||=[],t.environmentVersions.push(e)):n.push(e)}for(let e of n){if(!e.environmentVersions||e.environmentVersions.length===0)continue;let t=e.environmentVersions.map((e,t)=>({v:e,idx:t}));t.sort((e,t)=>{let n=e.v.type===`environment`&&!e.v.isReleased;return n===(t.v.type===`environment`&&!t.v.isReleased)?e.idx-t.idx:n?1:-1}),e.environmentVersions=t.map(e=>e.v)}n.sort((e,t)=>e.timelineAt?t.timelineAt?new Date(t.timelineAt).getTime()-new Date(e.timelineAt).getTime():-1:1);let l=new Map;for(let e of n){let t=Re(e.timelineAt),n=l.get(t)||[];l.set(t,[...n,e])}return Array.from(l.entries()).map(([e,t])=>({dateLabel:e,items:t}))}),U=w(()=>D.data?.data.createdBy??void 0),le=w(()=>{let e=l(),t=k()?.revisionRetentionDays;if(e?.type!==`revision`)return{state:`protected`,label:s()(`documents.revisions.retention.current.version.title`),description:s()(`documents.revisions.retention.current.version.description`)};let n=Object.entries(z()?.versions??{}).filter(([t,n])=>t!==`revision`&&n?.promotedFrom===e.id).map(([e])=>e);if(n.length>0)return{state:`protected`,label:s()(`documents.revisions.retention.protected.title`),description:s()(`documents.revisions.retention.protected.description`,{versions:n.join(`, `)})};if(t===!1)return{state:`retained`,label:s()(`documents.revisions.retention.indefinite.title`),description:s()(`documents.revisions.retention.indefinite.description`)};if(t===void 0||!e.createdAt)return{state:`unknown`,label:s()(`documents.revisions.retention.unknown.title`),description:s()(`documents.revisions.retention.unknown.description`)};let r=new Date(e.createdAt);r.setDate(r.getDate()+t);let i=r.getTime()-Date.now(),a=Math.ceil(i/(1e3*60*60*24));return a<=0?{state:`expired`,label:s()(`documents.revisions.retention.cleanup.eligible.title`),description:s()(`documents.revisions.retention.cleanup.eligible.description`),expiresAt:r.toISOString(),daysRemaining:a}:a<=7?{state:`expiring`,label:s()(`documents.revisions.retention.expiring.title`),description:s()(`documents.revisions.retention.expiring.description`,{count:a}),expiresAt:r.toISOString(),daysRemaining:a}:{state:`retained`,label:s()(`documents.revisions.retention.retained.title`),description:s()(`documents.revisions.retention.retained.description`,{count:a}),expiresAt:r.toISOString(),daysRemaining:a}}),W=w(()=>{let e=k()?.permissions.restore,t=l();return!e||!t||t.type!==`revision`||z()?.isDeleted?!1:P.get.hasPermission([e]).all}),G=p.documents.useRestoreRevision({getCollectionName:R,onSuccess:()=>{m(!1),u(null),E.refetch(),T.refetch()}});return g(()=>{let e=H();e.length>0&&e[0].items.length>0&&!l()&&u(e[0].items[0])}),g(()=>{let e=T.data?.data,t=n.pagination().page;e&&a(t===1?e:t=>{let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return[...t,...r]})}),{collectionQuery:C,revisionsQuery:T,selectedVersionDocumentQuery:D,releaseOperationsQuery:O,collection:k,document:z,documentQuery:E,collectionAccessError:B,documentAccessError:V,selectedVersionDocument:()=>D.data?.data,collectionKey:h,documentId:_,searchParams:n,isLoading:A,isSuccess:j,isError:re,isEmpty:F,collectionName:ie,collectionSingularName:R,accumulatedRevisions:r,groupedRevisions:ae,hasMore:L,loadMore:()=>{if(L()&&!A()){let e=n.pagination().page;n.setParams({pagination:{page:e+1,perPage:Le}})}},meta:I,revisionName:o,selectedItem:l,selectedCreatedByUser:U,selectedRetention:le,canRestoreSelectedItem:W,handleSelectItem:e=>{u(e),c(``)},handleRestoreRevision:()=>{W()&&m(!0)},confirmRestoreRevision:async e=>{let n=_();n&&(await G.action.mutateAsync({collectionKey:h(),id:n,versionId:e}),t(ne(`edit`,{collectionKey:h(),documentId:n,version:`latest`})))},cancelRestoreRevision:()=>{m(!1),G.reset()},restoreRevisionOpen:ee,setRestoreRevisionOpen:m,restoreRevision:G,isItemSelected:e=>{let t=l();return t?t.id===e.id&&t.type===e.type:!1},timelineData:H,setRevisionName:c}}function Be(e){let[t,n]=y(!1),[r,i]=y(!1),[a,o]=y(null),[s,c]=y(!1),[l,u]=y(!1),[d,f]=y(null),[ee,p]=y(null),m=w(()=>e.collectionQuery.isLoading),h=w(()=>e.collectionQuery.isSuccess),g=w(()=>!1),_=w(()=>!1),v=w(()=>!1),b=w(()=>!1),x=w(()=>e.collection()?.migrationStatus?.requiresMigration===!0),S=w(()=>e.collection()?.autoSave),C=w(()=>!1),T=w(()=>!0),E=w(()=>!1),D=w(()=>!0),O=w(()=>!1),k=w(()=>!0),A=w(()=>!1),j=w(()=>!1),M=w(()=>!1),N=w(()=>!1),P=w(()=>!1);return{getDeleteOpen:t,setDeleteOpen:n,getRestoreRevisionOpen:r,setRestoreRevisionOpen:i,getRestoreRevisionVersionId:a,setRestoreRevisionVersionId:o,getPreviewOpen:s,setPreviewOpen:c,getReleaseEnvironmentOpen:l,setReleaseEnvironmentOpen:u,getReleaseEnvironmentTarget:d,setReleaseEnvironmentTarget:f,getReleaseEnvironmentAction:ee,setReleaseEnvironmentAction:p,isLoading:m,isSuccess:h,isSaving:g,isAutoSaving:_,brickTranslationErrors:b,saveDisabled:T,canPublishDocument:E,isBuilderLocked:D,isPublished:O,showRevisionNavigation:k,showUpsertButton:A,hasSavePermission:N,hasPublishPermission:w(()=>!1),showPublishButton:j,showDeleteButton:M,hasDeletePermission:w(()=>!1),collectionNeedsMigrating:x,autoSave:S,hasAutoSavePermission:P,isCreatingPublishOperation:v,isAutoSaveActive:C,showRestoreRevisionButton:w(()=>!1),showPreview:w(()=>!1),hasRestorePermission:w(()=>!1),autoSaveUserEnabled:w(()=>!1)}}var Ve=T(`<span class="absolute top-0 left-0 md:left-55 right-4 h-32 bg-background-hover z-5">`),He=T(`<div class="fixed top-4 left-4 md:left-55 bottom-4 right-4 flex flex-col z-10"><span class="h-32 w-full skeleton block mb-4"></span><span class="h-full w-full skeleton block">`),Ue=T(`<div class="mt-6 ml-4">`),We=T(`<div class="flex flex-col lg:flex-row gap-10 items-start mt-2 bg-background-base dotted-background rounded-t-xl border border-border grow"><div class="w-full lg:w-182 p-6 pl-12 md:pl-20 relative before:absolute before:left-12 md:before:left-20 before:top-0 before:bottom-0 before:w-0.5 before:bg-secondary-base/20 before:z-0 before:-translate-x-1/2 h-full"></div><div class="w-full z-10 sticky top-0"style="top:var(--document-header-bar-height, 100px)">`),Ge=T(`<div class="mb-6 last:mb-0 ml-4"><div class=mb-4><span class="inline-block px-2 py-1 text-xs font-medium text-secondary-contrast bg-secondary-base rounded-full -ml-8 md:-ml-4 md:-translate-x-1/2"></span></div><div class=space-y-3>`),Ke=()=>{let e=N(),t=ze(),n=Be({collectionQuery:t.collectionQuery,collection:t.collection});return g(()=>{if(t.collectionAccessError()){e(`/lucid`,{replace:!0});return}if(t.documentAccessError()){if(t.collection()?.mode===`multiple`){e(`/lucid/collections/${t.collectionKey()}`,{replace:!0});return}e(`/lucid`,{replace:!0})}}),v(O,{get children(){return[v(k,{get when(){return C(()=>!!t.isLoading())()&&t.searchParams.pagination().page===1},get children(){return[Ve(),He()]}}),v(k,{get when(){return t.isSuccess()},get children(){return[v(R,{mode:void 0,trailingBreadcrumbs:()=>[{label:s()(`common.history`)}],get state(){return{collection:t.collection,collectionKey:t.collectionKey,collectionName:t.collectionName,collectionSingularName:t.collectionSingularName,documentID:t.documentId,document:t.document,ui:n,showRevisionNavigation:()=>!0}},actions:{}}),(()=>{var e=We(),n=e.firstChild,r=n.nextSibling;return D(n,v(A,{get each(){return t.timelineData()},children:e=>(()=>{var n=Ge(),r=n.firstChild,i=r.firstChild,a=r.nextSibling;return D(i,()=>e.dateLabel),D(a,v(A,{get each(){return e.items},children:e=>v(de,{item:e,state:t,level:0})})),n})()}),null),D(n,v(x,{get when(){return t.hasMore()},get children(){var e=Ue();return D(e,v(h,{theme:`border-outline`,size:`small`,get onClick(){return t.loadMore},get loading(){return t.isLoading()},classes:`w-full`,get children(){return s()(`common.load.more`)}})),e}}),null),D(r,v(x,{get when(){return t.selectedItem()},children:e=>v(Ne,{get item(){return e()},get revisionName(){return t.revisionName()},get onRevisionNameChange(){return t.setRevisionName},get onRestore(){return t.handleRestoreRevision},get restore(){return{loading:t.restoreRevision.action.isPending,permission:t.canRestoreSelectedItem()}},get collection(){return t.collection},get document(){return t.document},get selectedVersionDocument(){return t.selectedVersionDocument},selectedVersionDocumentLoading:()=>t.selectedVersionDocumentQuery.isLoading,get createdByUser(){return t.selectedCreatedByUser},get retention(){return t.selectedRetention},releaseOperations:()=>t.releaseOperationsQuery.data?.data??[],releaseOperationsLoading:()=>t.releaseOperationsQuery.isLoading})})),e})(),v(z,{versionId:()=>t.selectedItem()?.id??null,get state(){return{open:t.restoreRevisionOpen(),setOpen:t.setRestoreRevisionOpen}},get loading(){return t.restoreRevision.action.isPending},get error(){return t.restoreRevision.errors()?.message},get callbacks(){return{onConfirm:t.confirmRestoreRevision,onCancel:t.cancelRestoreRevision}}})]}})]}})};export{Ke as default};