convex-cms 0.0.8 → 0.0.9-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/admin/src/components/BulkActionBar.tsx +6 -5
- package/admin/src/components/ContentEntryEditor.tsx +10 -9
- package/admin/src/components/ContentTypeFormModal.tsx +4 -3
- package/admin/src/components/Sidebar.tsx +3 -2
- package/admin/src/components/TaxonomyEditor.tsx +4 -3
- package/admin/src/components/TermTree.tsx +8 -6
- package/admin/src/components/VersionCompare.tsx +3 -2
- package/admin/src/components/VersionHistory.tsx +4 -3
- package/admin/src/components/fields/CategoryField.tsx +3 -2
- package/admin/src/components/fields/MediaField.tsx +6 -5
- package/admin/src/components/fields/ReferenceField.tsx +6 -5
- package/admin/src/components/fields/TagField.tsx +5 -4
- package/admin/src/components/filters/TaxonomyFilter.tsx +4 -3
- package/admin/src/components/media/MediaAssetEditDialog.tsx +4 -3
- package/admin/src/components/media/MediaFolderEditDialog.tsx +3 -2
- package/admin/src/components/media/MediaMoveModal.tsx +4 -3
- package/admin/src/components/media/MediaTaxonomyPicker.tsx +6 -5
- package/admin/src/contexts/SettingsConfigContext.tsx +19 -5
- package/admin/src/embed/contexts/ApiContext.tsx +6 -2
- package/admin/src/routes/__root.tsx +7 -3
- package/admin-dist/nitro.json +1 -1
- package/admin-dist/public/assets/{CmsEmptyState-6-PLaXtD.js → CmsEmptyState-BM4e6N83.js} +1 -1
- package/admin-dist/public/assets/{CmsPageHeader-SoF4Epu9.js → CmsPageHeader-uor3DPIk.js} +1 -1
- package/admin-dist/public/assets/{CmsStatusBadge-D7kYaohx.js → CmsStatusBadge-D8N18LJx.js} +1 -1
- package/admin-dist/public/assets/{CmsSurface-BvksBm6W.js → CmsSurface-BEcY-WpI.js} +1 -1
- package/admin-dist/public/assets/{CmsToolbar-DlZPMe2B.js → CmsToolbar-DE-bu3W8.js} +1 -1
- package/admin-dist/public/assets/ContentEntryEditor-BdkIMCUk.js +4 -0
- package/admin-dist/public/assets/TaxonomyFilter-a1-O9DPs.js +1 -0
- package/admin-dist/public/assets/{_contentTypeId-DTv8UoTp.js → _contentTypeId-XIkYOLyY.js} +1 -1
- package/admin-dist/public/assets/{_entryId-D3lr5Dvy.js → _entryId-DyP15QpI.js} +1 -1
- package/admin-dist/public/assets/{alert-BAHTL6ao.js → alert-DHBQuuib.js} +1 -1
- package/admin-dist/public/assets/{badge-oJv4Eai8.js → badge-BOhWFWzb.js} +1 -1
- package/admin-dist/public/assets/{circle-check-big-3OHxNDhO.js → circle-check-big-DjTNapen.js} +1 -1
- package/admin-dist/public/assets/{command-DwgQs69u.js → command-BIc5_8gL.js} +1 -1
- package/admin-dist/public/assets/content-C3N8Ugra.js +1 -0
- package/admin-dist/public/assets/content-types-D0wh1eUF.js +1 -0
- package/admin-dist/public/assets/{index-DOkgTSx0.js → index-B-g3F_ri.js} +1 -1
- package/admin-dist/public/assets/main-BapBJgQD.js +102 -0
- package/admin-dist/public/assets/media-8uh1MwDi.js +1 -0
- package/admin-dist/public/assets/{new._contentTypeId-VF63rpic.js → new._contentTypeId-S96rFbgY.js} +1 -1
- package/admin-dist/public/assets/{pencil-CX1CiTDD.js → pencil-DgaZav4e.js} +1 -1
- package/admin-dist/public/assets/{refresh-cw-Cm-YOeFI.js → refresh-cw-BBut4hAU.js} +1 -1
- package/admin-dist/public/assets/{rotate-ccw-B45JsL5f.js → rotate-ccw-DVCkojZZ.js} +1 -1
- package/admin-dist/public/assets/{scroll-area-b3A1HHR7.js → scroll-area-DPC4uXzf.js} +1 -1
- package/admin-dist/public/assets/{search-DKKh_DdH.js → search-CSyHHglh.js} +1 -1
- package/admin-dist/public/assets/{settings-CGVDEV1r.js → settings-cEqPsoJ0.js} +1 -1
- package/admin-dist/public/assets/{switch-BTMY8Qnk.js → switch-O2BviO8Q.js} +1 -1
- package/admin-dist/public/assets/{tabs-DUQwUoIb.js → tabs-p1MWhOqY.js} +1 -1
- package/admin-dist/public/assets/{tanstack-adapter-f7AHmQ5L.js → tanstack-adapter-CDrxoPZD.js} +1 -1
- package/admin-dist/public/assets/taxonomies-DJ9UbjXW.js +1 -0
- package/admin-dist/public/assets/{trash-D7e0uKd9.js → trash-RnpP6lXF.js} +1 -1
- package/admin-dist/public/assets/{useBreadcrumbLabel-CF2KYwsw.js → useBreadcrumbLabel-zbIWXlkc.js} +1 -1
- package/admin-dist/public/assets/{usePermissions-DWBImEOW.js → usePermissions-4CTlK-vU.js} +1 -1
- package/admin-dist/server/_chunks/_libs/@floating-ui/core.mjs +71 -65
- package/admin-dist/server/_chunks/_libs/@floating-ui/dom.mjs +1 -1
- package/admin-dist/server/_chunks/_libs/@floating-ui/utils.mjs +8 -8
- package/admin-dist/server/_chunks/_libs/@tanstack/react-router.mjs +12 -30
- package/admin-dist/server/_chunks/_libs/@tanstack/react-store.mjs +1 -56
- package/admin-dist/server/_chunks/_libs/@tanstack/router-core.mjs +130 -114
- package/admin-dist/server/_chunks/_libs/@tanstack/store.mjs +1 -134
- package/admin-dist/server/_chunks/_libs/react-dom.mjs +5 -5
- package/admin-dist/server/_chunks/_libs/react.mjs +1 -1
- package/admin-dist/server/_libs/isbot.mjs +1 -1
- package/admin-dist/server/_libs/use-sync-external-store.mjs +1 -76
- package/admin-dist/server/_ssr/{CmsEmptyState-BM8DghTl.mjs → CmsEmptyState-BA0Lc5xs.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsPageHeader-BHUmrIWD.mjs → CmsPageHeader-PMyecILZ.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsStatusBadge-D0Zb0oRl.mjs → CmsStatusBadge-CInuN2bZ.mjs} +2 -2
- package/admin-dist/server/_ssr/{CmsSurface-B2eBr-47.mjs → CmsSurface-CH1PIfcS.mjs} +1 -1
- package/admin-dist/server/_ssr/{CmsToolbar-BCrwg7OL.mjs → CmsToolbar-IuhSA7gR.mjs} +1 -1
- package/admin-dist/server/_ssr/{ContentEntryEditor-Cjfm0uhr.mjs → ContentEntryEditor-Bzhir4fQ.mjs} +38 -31
- package/admin-dist/server/_ssr/{TaxonomyFilter-C4pD0kfM.mjs → TaxonomyFilter-r4izSMBh.mjs} +6 -5
- package/admin-dist/server/_ssr/{_contentTypeId-CiDiX-p7.mjs → _contentTypeId-BWEbjqxY.mjs} +11 -13
- package/admin-dist/server/_ssr/{_entryId-9GxatOkL.mjs → _entryId-B5xoXoJf.mjs} +12 -14
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-CBTan6ii.mjs +4 -0
- package/admin-dist/server/_ssr/{badge-EI998zba.mjs → badge-DXrjBRqZ.mjs} +1 -1
- package/admin-dist/server/_ssr/{command-BLAWQhUw.mjs → command-Cj90OdCX.mjs} +1 -1
- package/admin-dist/server/_ssr/config.server-BOr7Jxr4.mjs +0 -3
- package/admin-dist/server/_ssr/{content-BHX39L4D.mjs → content-DKRI-YqL.mjs} +14 -15
- package/admin-dist/server/_ssr/{content-types-DCzrBhTH.mjs → content-types-BzgRcS8K.mjs} +7 -9
- package/admin-dist/server/_ssr/{index-DwM_5VNP.mjs → index-BPf6_agY.mjs} +4 -6
- package/admin-dist/server/_ssr/index.mjs +11 -10
- package/admin-dist/server/_ssr/{media-CbzgTRRQ.mjs → media-MpjxOZL8.mjs} +23 -21
- package/admin-dist/server/_ssr/{new._contentTypeId-6Ph-Gtlw.mjs → new._contentTypeId-DSb4qR9j.mjs} +11 -13
- package/admin-dist/server/_ssr/{router-vd1nySeP.mjs → router-Dk9ikPNc.mjs} +61 -47
- package/admin-dist/server/_ssr/{scroll-area--B9snFTJ.mjs → scroll-area-JwVD_6MZ.mjs} +1 -1
- package/admin-dist/server/_ssr/{settings-DlTO2JSj.mjs → settings-KVJNe0GM.mjs} +8 -10
- package/admin-dist/server/_ssr/{switch-C05NgNW0.mjs → switch-DvREvRv4.mjs} +1 -1
- package/admin-dist/server/_ssr/{tabs-DAk2J5xy.mjs → tabs-B0h57pFf.mjs} +1 -1
- package/admin-dist/server/_ssr/{tanstack-adapter-DWbaPByn.mjs → tanstack-adapter-gmM64LnW.mjs} +1 -1
- package/admin-dist/server/_ssr/{taxonomies-B8nqce6u.mjs → taxonomies-BbBNx260.mjs} +17 -16
- package/admin-dist/server/_ssr/{trash-zdlZgpTo.mjs → trash-JAzYGh7A.mjs} +8 -10
- package/admin-dist/server/_ssr/{useBreadcrumbLabel-DpEKyG1h.mjs → useBreadcrumbLabel-BWIujj97.mjs} +1 -1
- package/admin-dist/server/_ssr/{usePermissions-olYRd9S9.mjs → usePermissions-CcLDCSwa.mjs} +1 -1
- package/admin-dist/server/index.mjs +162 -162
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +18 -29
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/templates/admin.d.ts +4 -3
- package/dist/cli/templates/admin.d.ts.map +1 -1
- package/dist/cli/templates/admin.js +152 -195
- package/dist/cli/templates/admin.js.map +1 -1
- package/dist/cli/templates/cmsClient.d.ts +2 -2
- package/dist/cli/templates/cmsClient.d.ts.map +1 -1
- package/dist/cli/templates/cmsClient.js +58 -27
- package/dist/cli/templates/cmsClient.js.map +1 -1
- package/dist/cli/templates/content.d.ts +10 -0
- package/dist/cli/templates/content.d.ts.map +1 -0
- package/dist/cli/templates/content.js +257 -0
- package/dist/cli/templates/content.js.map +1 -0
- package/dist/cli/templates/index.d.ts +3 -2
- package/dist/cli/templates/index.d.ts.map +1 -1
- package/dist/cli/templates/index.js +3 -2
- package/dist/cli/templates/index.js.map +1 -1
- package/dist/cli/templates/schemas/blog.d.ts +4 -3
- package/dist/cli/templates/schemas/blog.d.ts.map +1 -1
- package/dist/cli/templates/schemas/blog.js +44 -13
- package/dist/cli/templates/schemas/blog.js.map +1 -1
- package/dist/cli/templates/schemas/docs.d.ts +4 -3
- package/dist/cli/templates/schemas/docs.d.ts.map +1 -1
- package/dist/cli/templates/schemas/docs.js +43 -12
- package/dist/cli/templates/schemas/docs.js.map +1 -1
- package/dist/cli/templates/schemas/index.d.ts +6 -4
- package/dist/cli/templates/schemas/index.d.ts.map +1 -1
- package/dist/cli/templates/schemas/index.js +6 -4
- package/dist/cli/templates/schemas/index.js.map +1 -1
- package/dist/cli/templates/schemas/landing.d.ts +4 -3
- package/dist/cli/templates/schemas/landing.d.ts.map +1 -1
- package/dist/cli/templates/schemas/landing.js +62 -15
- package/dist/cli/templates/schemas/landing.js.map +1 -1
- package/dist/cli/utils/fileUtils.d.ts.map +1 -1
- package/dist/cli/utils/fileUtils.js +6 -5
- package/dist/cli/utils/fileUtils.js.map +1 -1
- package/dist/client/admin/index.d.ts +2 -1
- package/dist/client/admin/index.d.ts.map +1 -1
- package/dist/client/admin/index.js.map +1 -1
- package/dist/client/admin/types.d.ts +14 -1
- package/dist/client/admin/types.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/react/index.d.ts +176 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +162 -0
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
- package/admin-dist/public/assets/ContentEntryEditor-C6n9xLS9.js +0 -4
- package/admin-dist/public/assets/TaxonomyFilter-CFX1_g8s.js +0 -1
- package/admin-dist/public/assets/content-CKQ4QwW2.js +0 -1
- package/admin-dist/public/assets/content-types-BrttaLpc.js +0 -1
- package/admin-dist/public/assets/main-DV6oxWnU.js +0 -102
- package/admin-dist/public/assets/media-B2i-mCbx.js +0 -1
- package/admin-dist/public/assets/taxonomies-DvMppdiD.js +0 -1
- package/admin-dist/server/_ssr/_tanstack-start-manifest_v-CC7UrHKE.mjs +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,aI as L,y as A,aN as Se,aO as Ce,aP as Ie,aQ as Re,aR as z,j as C,h as P}from"./main-DV6oxWnU.js";import{S as Ae}from"./search-DKKh_DdH.js";var me=1,je=.9,Me=.8,$e=.17,ee=.1,te=.999,De=.9999,Ne=.99,Fe=/[\\\/_+.#"@\[\(\{&]/,Ke=/[\\\/_+.#"@\[\(\{&]/g,Le=/[\s-]/,he=/[\s-]/g;function ne(e,n,r,f,u,c,d){if(c===n.length)return u===e.length?me:Ne;var m=`${u},${c}`;if(d[m]!==void 0)return d[m];for(var b=f.charAt(c),o=r.indexOf(b,u),v=0,h,S,w,I;o>=0;)h=ne(e,n,r,f,o+1,c+1,d),h>v&&(o===u?h*=me:Fe.test(e.charAt(o-1))?(h*=Me,w=e.slice(u,o-1).match(Ke),w&&u>0&&(h*=Math.pow(te,w.length))):Le.test(e.charAt(o-1))?(h*=je,I=e.slice(u,o-1).match(he),I&&u>0&&(h*=Math.pow(te,I.length))):(h*=$e,u>0&&(h*=Math.pow(te,o-u))),e.charAt(o)!==n.charAt(c)&&(h*=De)),(h<ee&&r.charAt(o-1)===f.charAt(c+1)||f.charAt(c+1)===f.charAt(c)&&r.charAt(o-1)!==f.charAt(c))&&(S=ne(e,n,r,f,o+1,c+2,d),S*ee>h&&(h=S*ee)),h>v&&(v=h),o=r.indexOf(b,o+1);return d[m]=v,v}function pe(e){return e.toLowerCase().replace(he," ")}function Pe(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,ne(e,n,pe(e),pe(n),0,0,{})}var V='[cmdk-group=""]',re='[cmdk-group-items=""]',qe='[cmdk-group-heading=""]',ge='[cmdk-item=""]',ve=`${ge}:not([aria-disabled="true"])`,le="cmdk-item-select",F="data-value",Ve=(e,n,r)=>Pe(e,n,r),be=l.createContext(void 0),O=()=>l.useContext(be),xe=l.createContext(void 0),ae=()=>l.useContext(xe),ye=l.createContext(void 0),we=l.forwardRef((e,n)=>{let r=K(()=>{var t,i;return{search:"",value:(i=(t=e.value)!=null?t:e.defaultValue)!=null?i:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),f=K(()=>new Set),u=K(()=>new Map),c=K(()=>new Map),d=K(()=>new Set),m=ke(e),{label:b,children:o,value:v,onValueChange:h,filter:S,shouldFilter:w,loop:I,disablePointerSelection:H=!1,vimBindings:j=!0,...B}=e,T=L(),ue=L(),W=L(),M=l.useRef(null),x=Qe();$(()=>{if(v!==void 0){let t=v.trim();r.current.value=t,k.emit()}},[v]),$(()=>{x(6,ie)},[]);let k=l.useMemo(()=>({subscribe:t=>(d.current.add(t),()=>d.current.delete(t)),snapshot:()=>r.current,setState:(t,i,s)=>{var a,p,g,E;if(!Object.is(r.current[t],i)){if(r.current[t]=i,t==="search")X(),J(),x(1,Q);else if(t==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let y=document.getElementById(W);y?y.focus():(a=document.getElementById(T))==null||a.focus()}if(x(7,()=>{var y;r.current.selectedItemId=(y=N())==null?void 0:y.id,k.emit()}),s||x(5,ie),((p=m.current)==null?void 0:p.value)!==void 0){let y=i??"";(E=(g=m.current).onValueChange)==null||E.call(g,y);return}}k.emit()}},emit:()=>{d.current.forEach(t=>t())}}),[]),_=l.useMemo(()=>({value:(t,i,s)=>{var a;i!==((a=c.current.get(t))==null?void 0:a.value)&&(c.current.set(t,{value:i,keywords:s}),r.current.filtered.items.set(t,oe(i,s)),x(2,()=>{J(),k.emit()}))},item:(t,i)=>(f.current.add(t),i&&(u.current.has(i)?u.current.get(i).add(t):u.current.set(i,new Set([t]))),x(3,()=>{X(),J(),r.current.value||Q(),k.emit()}),()=>{c.current.delete(t),f.current.delete(t),r.current.filtered.items.delete(t);let s=N();x(4,()=>{X(),s?.getAttribute("id")===t&&Q(),k.emit()})}),group:t=>(u.current.has(t)||u.current.set(t,new Set),()=>{c.current.delete(t),u.current.delete(t)}),filter:()=>m.current.shouldFilter,label:b||e["aria-label"],getDisablePointerSelection:()=>m.current.disablePointerSelection,listId:T,inputId:W,labelId:ue,listInnerRef:M}),[]);function oe(t,i){var s,a;let p=(a=(s=m.current)==null?void 0:s.filter)!=null?a:Ve;return t?p(t,r.current.search,i):0}function J(){if(!r.current.search||m.current.shouldFilter===!1)return;let t=r.current.filtered.items,i=[];r.current.filtered.groups.forEach(a=>{let p=u.current.get(a),g=0;p.forEach(E=>{let y=t.get(E);g=Math.max(y,g)}),i.push([a,g])});let s=M.current;q().sort((a,p)=>{var g,E;let y=a.getAttribute("id"),G=p.getAttribute("id");return((g=t.get(G))!=null?g:0)-((E=t.get(y))!=null?E:0)}).forEach(a=>{let p=a.closest(re);p?p.appendChild(a.parentElement===p?a:a.closest(`${re} > *`)):s.appendChild(a.parentElement===s?a:a.closest(`${re} > *`))}),i.sort((a,p)=>p[1]-a[1]).forEach(a=>{var p;let g=(p=M.current)==null?void 0:p.querySelector(`${V}[${F}="${encodeURIComponent(a[0])}"]`);g?.parentElement.appendChild(g)})}function Q(){let t=q().find(s=>s.getAttribute("aria-disabled")!=="true"),i=t?.getAttribute(F);k.setState("value",i||void 0)}function X(){var t,i,s,a;if(!r.current.search||m.current.shouldFilter===!1){r.current.filtered.count=f.current.size;return}r.current.filtered.groups=new Set;let p=0;for(let g of f.current){let E=(i=(t=c.current.get(g))==null?void 0:t.value)!=null?i:"",y=(a=(s=c.current.get(g))==null?void 0:s.keywords)!=null?a:[],G=oe(E,y);r.current.filtered.items.set(g,G),G>0&&p++}for(let[g,E]of u.current)for(let y of E)if(r.current.filtered.items.get(y)>0){r.current.filtered.groups.add(g);break}r.current.filtered.count=p}function ie(){var t,i,s;let a=N();a&&(((t=a.parentElement)==null?void 0:t.firstChild)===a&&((s=(i=a.closest(V))==null?void 0:i.querySelector(qe))==null||s.scrollIntoView({block:"nearest"})),a.scrollIntoView({block:"nearest"}))}function N(){var t;return(t=M.current)==null?void 0:t.querySelector(`${ge}[aria-selected="true"]`)}function q(){var t;return Array.from(((t=M.current)==null?void 0:t.querySelectorAll(ve))||[])}function Y(t){let i=q()[t];i&&k.setState("value",i.getAttribute(F))}function Z(t){var i;let s=N(),a=q(),p=a.findIndex(E=>E===s),g=a[p+t];(i=m.current)!=null&&i.loop&&(g=p+t<0?a[a.length-1]:p+t===a.length?a[0]:a[p+t]),g&&k.setState("value",g.getAttribute(F))}function ce(t){let i=N(),s=i?.closest(V),a;for(;s&&!a;)s=t>0?_e(s,V):Je(s,V),a=s?.querySelector(ve);a?k.setState("value",a.getAttribute(F)):Z(t)}let de=()=>Y(q().length-1),se=t=>{t.preventDefault(),t.metaKey?de():t.altKey?ce(1):Z(1)},fe=t=>{t.preventDefault(),t.metaKey?Y(0):t.altKey?ce(-1):Z(-1)};return l.createElement(A.div,{ref:n,tabIndex:-1,...B,"cmdk-root":"",onKeyDown:t=>{var i;(i=B.onKeyDown)==null||i.call(B,t);let s=t.nativeEvent.isComposing||t.keyCode===229;if(!(t.defaultPrevented||s))switch(t.key){case"n":case"j":{j&&t.ctrlKey&&se(t);break}case"ArrowDown":{se(t);break}case"p":case"k":{j&&t.ctrlKey&&fe(t);break}case"ArrowUp":{fe(t);break}case"Home":{t.preventDefault(),Y(0);break}case"End":{t.preventDefault(),de();break}case"Enter":{t.preventDefault();let a=N();if(a){let p=new Event(le);a.dispatchEvent(p)}}}}},l.createElement("label",{"cmdk-label":"",htmlFor:_.inputId,id:_.labelId,style:Ye},b),U(e,t=>l.createElement(xe.Provider,{value:k},l.createElement(be.Provider,{value:_},t))))}),ze=l.forwardRef((e,n)=>{var r,f;let u=L(),c=l.useRef(null),d=l.useContext(ye),m=O(),b=ke(e),o=(f=(r=b.current)==null?void 0:r.forceMount)!=null?f:d?.forceMount;$(()=>{if(!o)return m.item(u,d?.id)},[o]);let v=Ee(u,c,[e.value,e.children,c],e.keywords),h=ae(),S=R(x=>x.value&&x.value===v.current),w=R(x=>o||m.filter()===!1?!0:x.search?x.filtered.items.get(u)>0:!0);l.useEffect(()=>{let x=c.current;if(!(!x||e.disabled))return x.addEventListener(le,I),()=>x.removeEventListener(le,I)},[w,e.onSelect,e.disabled]);function I(){var x,k;H(),(k=(x=b.current).onSelect)==null||k.call(x,v.current)}function H(){h.setState("value",v.current,!0)}if(!w)return null;let{disabled:j,value:B,onSelect:T,forceMount:ue,keywords:W,...M}=e;return l.createElement(A.div,{ref:z(c,n),...M,id:u,"cmdk-item":"",role:"option","aria-disabled":!!j,"aria-selected":!!S,"data-disabled":!!j,"data-selected":!!S,onPointerMove:j||m.getDisablePointerSelection()?void 0:H,onClick:j?void 0:I},e.children)}),Oe=l.forwardRef((e,n)=>{let{heading:r,children:f,forceMount:u,...c}=e,d=L(),m=l.useRef(null),b=l.useRef(null),o=L(),v=O(),h=R(w=>u||v.filter()===!1?!0:w.search?w.filtered.groups.has(d):!0);$(()=>v.group(d),[]),Ee(d,m,[e.value,e.heading,b]);let S=l.useMemo(()=>({id:d,forceMount:u}),[u]);return l.createElement(A.div,{ref:z(m,n),...c,"cmdk-group":"",role:"presentation",hidden:h?void 0:!0},r&&l.createElement("div",{ref:b,"cmdk-group-heading":"","aria-hidden":!0,id:o},r),U(e,w=>l.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?o:void 0},l.createElement(ye.Provider,{value:S},w))))}),Be=l.forwardRef((e,n)=>{let{alwaysRender:r,...f}=e,u=l.useRef(null),c=R(d=>!d.search);return!r&&!c?null:l.createElement(A.div,{ref:z(u,n),...f,"cmdk-separator":"",role:"separator"})}),Ge=l.forwardRef((e,n)=>{let{onValueChange:r,...f}=e,u=e.value!=null,c=ae(),d=R(o=>o.search),m=R(o=>o.selectedItemId),b=O();return l.useEffect(()=>{e.value!=null&&c.setState("search",e.value)},[e.value]),l.createElement(A.input,{ref:n,...f,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":b.listId,"aria-labelledby":b.labelId,"aria-activedescendant":m,id:b.inputId,type:"text",value:u?e.value:d,onChange:o=>{u||c.setState("search",o.target.value),r?.(o.target.value)}})}),Ue=l.forwardRef((e,n)=>{let{children:r,label:f="Suggestions",...u}=e,c=l.useRef(null),d=l.useRef(null),m=R(o=>o.selectedItemId),b=O();return l.useEffect(()=>{if(d.current&&c.current){let o=d.current,v=c.current,h,S=new ResizeObserver(()=>{h=requestAnimationFrame(()=>{let w=o.offsetHeight;v.style.setProperty("--cmdk-list-height",w.toFixed(1)+"px")})});return S.observe(o),()=>{cancelAnimationFrame(h),S.unobserve(o)}}},[]),l.createElement(A.div,{ref:z(c,n),...u,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":m,"aria-label":f,id:b.listId},U(e,o=>l.createElement("div",{ref:z(d,b.listInnerRef),"cmdk-list-sizer":""},o)))}),He=l.forwardRef((e,n)=>{let{open:r,onOpenChange:f,overlayClassName:u,contentClassName:c,container:d,...m}=e;return l.createElement(Se,{open:r,onOpenChange:f},l.createElement(Ce,{container:d},l.createElement(Ie,{"cmdk-overlay":"",className:u}),l.createElement(Re,{"aria-label":e.label,"cmdk-dialog":"",className:c},l.createElement(we,{ref:n,...m}))))}),Te=l.forwardRef((e,n)=>R(r=>r.filtered.count===0)?l.createElement(A.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),We=l.forwardRef((e,n)=>{let{progress:r,children:f,label:u="Loading...",...c}=e;return l.createElement(A.div,{ref:n,...c,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":u},U(e,d=>l.createElement("div",{"aria-hidden":!0},d)))}),D=Object.assign(we,{List:Ue,Item:ze,Input:Ge,Group:Oe,Separator:Be,Dialog:He,Empty:Te,Loading:We});function _e(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function Je(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function ke(e){let n=l.useRef(e);return $(()=>{n.current=e}),n}var $=typeof window>"u"?l.useEffect:l.useLayoutEffect;function K(e){let n=l.useRef();return n.current===void 0&&(n.current=e()),n}function R(e){let n=ae(),r=()=>e(n.snapshot());return l.useSyncExternalStore(n.subscribe,r,r)}function Ee(e,n,r,f=[]){let u=l.useRef(),c=O();return $(()=>{var d;let m=(()=>{var o;for(let v of r){if(typeof v=="string")return v.trim();if(typeof v=="object"&&"current"in v)return v.current?(o=v.current.textContent)==null?void 0:o.trim():u.current}})(),b=f.map(o=>o.trim());c.value(e,m,b),(d=n.current)==null||d.setAttribute(F,m),u.current=m}),u}var Qe=()=>{let[e,n]=l.useState(),r=K(()=>new Map);return $(()=>{r.current.forEach(f=>f()),r.current=new Map},[e]),(f,u)=>{r.current.set(f,u),n({})}};function Xe(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function U({asChild:e,children:n},r){return e&&l.isValidElement(n)?l.cloneElement(Xe(n),{ref:n.ref},r(n.props.children)):r(n)}var Ye={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function tt({className:e,...n}){return C.jsx(D,{"data-slot":"command",className:P("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...n})}function rt({className:e,...n}){return C.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[C.jsx(Ae,{className:"size-4 shrink-0 opacity-50"}),C.jsx(D.Input,{"data-slot":"command-input",className:P("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function nt({className:e,...n}){return C.jsx(D.List,{"data-slot":"command-list",className:P("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function lt({...e}){return C.jsx(D.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function at({className:e,...n}){return C.jsx(D.Group,{"data-slot":"command-group",className:P("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...n})}function ut({className:e,...n}){return C.jsx(D.Separator,{"data-slot":"command-separator",className:P("bg-border -mx-1 h-px",e),...n})}function ot({className:e,...n}){return C.jsx(D.Item,{"data-slot":"command-item",className:P("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n})}export{tt as C,rt as a,nt as b,lt as c,at as d,ut as e,ot as f};
|
|
1
|
+
import{r as l,aJ as L,z as A,aO as Se,aP as Ce,aQ as Ie,aR as Re,aS as V,j as C,h as P}from"./main-BapBJgQD.js";import{S as Ae}from"./search-CSyHHglh.js";var me=1,je=.9,Me=.8,$e=.17,ee=.1,te=.999,De=.9999,Ne=.99,Fe=/[\\\/_+.#"@\[\(\{&]/,Ke=/[\\\/_+.#"@\[\(\{&]/g,Le=/[\s-]/,he=/[\s-]/g;function ne(e,n,r,f,u,c,d){if(c===n.length)return u===e.length?me:Ne;var m=`${u},${c}`;if(d[m]!==void 0)return d[m];for(var b=f.charAt(c),o=r.indexOf(b,u),v=0,h,S,w,I;o>=0;)h=ne(e,n,r,f,o+1,c+1,d),h>v&&(o===u?h*=me:Fe.test(e.charAt(o-1))?(h*=Me,w=e.slice(u,o-1).match(Ke),w&&u>0&&(h*=Math.pow(te,w.length))):Le.test(e.charAt(o-1))?(h*=je,I=e.slice(u,o-1).match(he),I&&u>0&&(h*=Math.pow(te,I.length))):(h*=$e,u>0&&(h*=Math.pow(te,o-u))),e.charAt(o)!==n.charAt(c)&&(h*=De)),(h<ee&&r.charAt(o-1)===f.charAt(c+1)||f.charAt(c+1)===f.charAt(c)&&r.charAt(o-1)!==f.charAt(c))&&(S=ne(e,n,r,f,o+1,c+2,d),S*ee>h&&(h=S*ee)),h>v&&(v=h),o=r.indexOf(b,o+1);return d[m]=v,v}function pe(e){return e.toLowerCase().replace(he," ")}function Pe(e,n,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,ne(e,n,pe(e),pe(n),0,0,{})}var z='[cmdk-group=""]',re='[cmdk-group-items=""]',qe='[cmdk-group-heading=""]',ge='[cmdk-item=""]',ve=`${ge}:not([aria-disabled="true"])`,le="cmdk-item-select",F="data-value",ze=(e,n,r)=>Pe(e,n,r),be=l.createContext(void 0),O=()=>l.useContext(be),xe=l.createContext(void 0),ae=()=>l.useContext(xe),ye=l.createContext(void 0),we=l.forwardRef((e,n)=>{let r=K(()=>{var t,i;return{search:"",value:(i=(t=e.value)!=null?t:e.defaultValue)!=null?i:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),f=K(()=>new Set),u=K(()=>new Map),c=K(()=>new Map),d=K(()=>new Set),m=ke(e),{label:b,children:o,value:v,onValueChange:h,filter:S,shouldFilter:w,loop:I,disablePointerSelection:H=!1,vimBindings:j=!0,...B}=e,J=L(),ue=L(),T=L(),M=l.useRef(null),x=Qe();$(()=>{if(v!==void 0){let t=v.trim();r.current.value=t,k.emit()}},[v]),$(()=>{x(6,ie)},[]);let k=l.useMemo(()=>({subscribe:t=>(d.current.add(t),()=>d.current.delete(t)),snapshot:()=>r.current,setState:(t,i,s)=>{var a,p,g,E;if(!Object.is(r.current[t],i)){if(r.current[t]=i,t==="search")X(),_(),x(1,Q);else if(t==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let y=document.getElementById(T);y?y.focus():(a=document.getElementById(J))==null||a.focus()}if(x(7,()=>{var y;r.current.selectedItemId=(y=N())==null?void 0:y.id,k.emit()}),s||x(5,ie),((p=m.current)==null?void 0:p.value)!==void 0){let y=i??"";(E=(g=m.current).onValueChange)==null||E.call(g,y);return}}k.emit()}},emit:()=>{d.current.forEach(t=>t())}}),[]),W=l.useMemo(()=>({value:(t,i,s)=>{var a;i!==((a=c.current.get(t))==null?void 0:a.value)&&(c.current.set(t,{value:i,keywords:s}),r.current.filtered.items.set(t,oe(i,s)),x(2,()=>{_(),k.emit()}))},item:(t,i)=>(f.current.add(t),i&&(u.current.has(i)?u.current.get(i).add(t):u.current.set(i,new Set([t]))),x(3,()=>{X(),_(),r.current.value||Q(),k.emit()}),()=>{c.current.delete(t),f.current.delete(t),r.current.filtered.items.delete(t);let s=N();x(4,()=>{X(),s?.getAttribute("id")===t&&Q(),k.emit()})}),group:t=>(u.current.has(t)||u.current.set(t,new Set),()=>{c.current.delete(t),u.current.delete(t)}),filter:()=>m.current.shouldFilter,label:b||e["aria-label"],getDisablePointerSelection:()=>m.current.disablePointerSelection,listId:J,inputId:T,labelId:ue,listInnerRef:M}),[]);function oe(t,i){var s,a;let p=(a=(s=m.current)==null?void 0:s.filter)!=null?a:ze;return t?p(t,r.current.search,i):0}function _(){if(!r.current.search||m.current.shouldFilter===!1)return;let t=r.current.filtered.items,i=[];r.current.filtered.groups.forEach(a=>{let p=u.current.get(a),g=0;p.forEach(E=>{let y=t.get(E);g=Math.max(y,g)}),i.push([a,g])});let s=M.current;q().sort((a,p)=>{var g,E;let y=a.getAttribute("id"),G=p.getAttribute("id");return((g=t.get(G))!=null?g:0)-((E=t.get(y))!=null?E:0)}).forEach(a=>{let p=a.closest(re);p?p.appendChild(a.parentElement===p?a:a.closest(`${re} > *`)):s.appendChild(a.parentElement===s?a:a.closest(`${re} > *`))}),i.sort((a,p)=>p[1]-a[1]).forEach(a=>{var p;let g=(p=M.current)==null?void 0:p.querySelector(`${z}[${F}="${encodeURIComponent(a[0])}"]`);g?.parentElement.appendChild(g)})}function Q(){let t=q().find(s=>s.getAttribute("aria-disabled")!=="true"),i=t?.getAttribute(F);k.setState("value",i||void 0)}function X(){var t,i,s,a;if(!r.current.search||m.current.shouldFilter===!1){r.current.filtered.count=f.current.size;return}r.current.filtered.groups=new Set;let p=0;for(let g of f.current){let E=(i=(t=c.current.get(g))==null?void 0:t.value)!=null?i:"",y=(a=(s=c.current.get(g))==null?void 0:s.keywords)!=null?a:[],G=oe(E,y);r.current.filtered.items.set(g,G),G>0&&p++}for(let[g,E]of u.current)for(let y of E)if(r.current.filtered.items.get(y)>0){r.current.filtered.groups.add(g);break}r.current.filtered.count=p}function ie(){var t,i,s;let a=N();a&&(((t=a.parentElement)==null?void 0:t.firstChild)===a&&((s=(i=a.closest(z))==null?void 0:i.querySelector(qe))==null||s.scrollIntoView({block:"nearest"})),a.scrollIntoView({block:"nearest"}))}function N(){var t;return(t=M.current)==null?void 0:t.querySelector(`${ge}[aria-selected="true"]`)}function q(){var t;return Array.from(((t=M.current)==null?void 0:t.querySelectorAll(ve))||[])}function Y(t){let i=q()[t];i&&k.setState("value",i.getAttribute(F))}function Z(t){var i;let s=N(),a=q(),p=a.findIndex(E=>E===s),g=a[p+t];(i=m.current)!=null&&i.loop&&(g=p+t<0?a[a.length-1]:p+t===a.length?a[0]:a[p+t]),g&&k.setState("value",g.getAttribute(F))}function ce(t){let i=N(),s=i?.closest(z),a;for(;s&&!a;)s=t>0?We(s,z):_e(s,z),a=s?.querySelector(ve);a?k.setState("value",a.getAttribute(F)):Z(t)}let de=()=>Y(q().length-1),se=t=>{t.preventDefault(),t.metaKey?de():t.altKey?ce(1):Z(1)},fe=t=>{t.preventDefault(),t.metaKey?Y(0):t.altKey?ce(-1):Z(-1)};return l.createElement(A.div,{ref:n,tabIndex:-1,...B,"cmdk-root":"",onKeyDown:t=>{var i;(i=B.onKeyDown)==null||i.call(B,t);let s=t.nativeEvent.isComposing||t.keyCode===229;if(!(t.defaultPrevented||s))switch(t.key){case"n":case"j":{j&&t.ctrlKey&&se(t);break}case"ArrowDown":{se(t);break}case"p":case"k":{j&&t.ctrlKey&&fe(t);break}case"ArrowUp":{fe(t);break}case"Home":{t.preventDefault(),Y(0);break}case"End":{t.preventDefault(),de();break}case"Enter":{t.preventDefault();let a=N();if(a){let p=new Event(le);a.dispatchEvent(p)}}}}},l.createElement("label",{"cmdk-label":"",htmlFor:W.inputId,id:W.labelId,style:Ye},b),U(e,t=>l.createElement(xe.Provider,{value:k},l.createElement(be.Provider,{value:W},t))))}),Ve=l.forwardRef((e,n)=>{var r,f;let u=L(),c=l.useRef(null),d=l.useContext(ye),m=O(),b=ke(e),o=(f=(r=b.current)==null?void 0:r.forceMount)!=null?f:d?.forceMount;$(()=>{if(!o)return m.item(u,d?.id)},[o]);let v=Ee(u,c,[e.value,e.children,c],e.keywords),h=ae(),S=R(x=>x.value&&x.value===v.current),w=R(x=>o||m.filter()===!1?!0:x.search?x.filtered.items.get(u)>0:!0);l.useEffect(()=>{let x=c.current;if(!(!x||e.disabled))return x.addEventListener(le,I),()=>x.removeEventListener(le,I)},[w,e.onSelect,e.disabled]);function I(){var x,k;H(),(k=(x=b.current).onSelect)==null||k.call(x,v.current)}function H(){h.setState("value",v.current,!0)}if(!w)return null;let{disabled:j,value:B,onSelect:J,forceMount:ue,keywords:T,...M}=e;return l.createElement(A.div,{ref:V(c,n),...M,id:u,"cmdk-item":"",role:"option","aria-disabled":!!j,"aria-selected":!!S,"data-disabled":!!j,"data-selected":!!S,onPointerMove:j||m.getDisablePointerSelection()?void 0:H,onClick:j?void 0:I},e.children)}),Oe=l.forwardRef((e,n)=>{let{heading:r,children:f,forceMount:u,...c}=e,d=L(),m=l.useRef(null),b=l.useRef(null),o=L(),v=O(),h=R(w=>u||v.filter()===!1?!0:w.search?w.filtered.groups.has(d):!0);$(()=>v.group(d),[]),Ee(d,m,[e.value,e.heading,b]);let S=l.useMemo(()=>({id:d,forceMount:u}),[u]);return l.createElement(A.div,{ref:V(m,n),...c,"cmdk-group":"",role:"presentation",hidden:h?void 0:!0},r&&l.createElement("div",{ref:b,"cmdk-group-heading":"","aria-hidden":!0,id:o},r),U(e,w=>l.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?o:void 0},l.createElement(ye.Provider,{value:S},w))))}),Be=l.forwardRef((e,n)=>{let{alwaysRender:r,...f}=e,u=l.useRef(null),c=R(d=>!d.search);return!r&&!c?null:l.createElement(A.div,{ref:V(u,n),...f,"cmdk-separator":"",role:"separator"})}),Ge=l.forwardRef((e,n)=>{let{onValueChange:r,...f}=e,u=e.value!=null,c=ae(),d=R(o=>o.search),m=R(o=>o.selectedItemId),b=O();return l.useEffect(()=>{e.value!=null&&c.setState("search",e.value)},[e.value]),l.createElement(A.input,{ref:n,...f,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":b.listId,"aria-labelledby":b.labelId,"aria-activedescendant":m,id:b.inputId,type:"text",value:u?e.value:d,onChange:o=>{u||c.setState("search",o.target.value),r?.(o.target.value)}})}),Ue=l.forwardRef((e,n)=>{let{children:r,label:f="Suggestions",...u}=e,c=l.useRef(null),d=l.useRef(null),m=R(o=>o.selectedItemId),b=O();return l.useEffect(()=>{if(d.current&&c.current){let o=d.current,v=c.current,h,S=new ResizeObserver(()=>{h=requestAnimationFrame(()=>{let w=o.offsetHeight;v.style.setProperty("--cmdk-list-height",w.toFixed(1)+"px")})});return S.observe(o),()=>{cancelAnimationFrame(h),S.unobserve(o)}}},[]),l.createElement(A.div,{ref:V(c,n),...u,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":m,"aria-label":f,id:b.listId},U(e,o=>l.createElement("div",{ref:V(d,b.listInnerRef),"cmdk-list-sizer":""},o)))}),He=l.forwardRef((e,n)=>{let{open:r,onOpenChange:f,overlayClassName:u,contentClassName:c,container:d,...m}=e;return l.createElement(Se,{open:r,onOpenChange:f},l.createElement(Ce,{container:d},l.createElement(Ie,{"cmdk-overlay":"",className:u}),l.createElement(Re,{"aria-label":e.label,"cmdk-dialog":"",className:c},l.createElement(we,{ref:n,...m}))))}),Je=l.forwardRef((e,n)=>R(r=>r.filtered.count===0)?l.createElement(A.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),Te=l.forwardRef((e,n)=>{let{progress:r,children:f,label:u="Loading...",...c}=e;return l.createElement(A.div,{ref:n,...c,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":u},U(e,d=>l.createElement("div",{"aria-hidden":!0},d)))}),D=Object.assign(we,{List:Ue,Item:Ve,Input:Ge,Group:Oe,Separator:Be,Dialog:He,Empty:Je,Loading:Te});function We(e,n){let r=e.nextElementSibling;for(;r;){if(r.matches(n))return r;r=r.nextElementSibling}}function _e(e,n){let r=e.previousElementSibling;for(;r;){if(r.matches(n))return r;r=r.previousElementSibling}}function ke(e){let n=l.useRef(e);return $(()=>{n.current=e}),n}var $=typeof window>"u"?l.useEffect:l.useLayoutEffect;function K(e){let n=l.useRef();return n.current===void 0&&(n.current=e()),n}function R(e){let n=ae(),r=()=>e(n.snapshot());return l.useSyncExternalStore(n.subscribe,r,r)}function Ee(e,n,r,f=[]){let u=l.useRef(),c=O();return $(()=>{var d;let m=(()=>{var o;for(let v of r){if(typeof v=="string")return v.trim();if(typeof v=="object"&&"current"in v)return v.current?(o=v.current.textContent)==null?void 0:o.trim():u.current}})(),b=f.map(o=>o.trim());c.value(e,m,b),(d=n.current)==null||d.setAttribute(F,m),u.current=m}),u}var Qe=()=>{let[e,n]=l.useState(),r=K(()=>new Map);return $(()=>{r.current.forEach(f=>f()),r.current=new Map},[e]),(f,u)=>{r.current.set(f,u),n({})}};function Xe(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function U({asChild:e,children:n},r){return e&&l.isValidElement(n)?l.cloneElement(Xe(n),{ref:n.ref},r(n.props.children)):r(n)}var Ye={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function tt({className:e,...n}){return C.jsx(D,{"data-slot":"command",className:P("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...n})}function rt({className:e,...n}){return C.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[C.jsx(Ae,{className:"size-4 shrink-0 opacity-50"}),C.jsx(D.Input,{"data-slot":"command-input",className:P("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...n})]})}function nt({className:e,...n}){return C.jsx(D.List,{"data-slot":"command-list",className:P("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...n})}function lt({...e}){return C.jsx(D.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function at({className:e,...n}){return C.jsx(D.Group,{"data-slot":"command-group",className:P("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...n})}function ut({className:e,...n}){return C.jsx(D.Separator,{"data-slot":"command-separator",className:P("bg-border -mx-1 h-px",e),...n})}function ot({className:e,...n}){return C.jsx(D.Item,{"data-slot":"command-item",className:P("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n})}export{tt as C,rt as a,nt as b,lt as c,at as d,ut as e,ot as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,n as Q,f as q,C as p,m as G,r as i,a as T,X as H,u as D,J,K,P as W,q as X,M as Y,N as Z,I as ee,S as _,b as I,c as U,d as B,e as j,F as se,g as L,h as te,k as ae}from"./main-BapBJgQD.js";import{u as ne}from"./usePermissions-4CTlK-vU.js";import{C as ie}from"./circle-check-big-DjTNapen.js";import{B as le}from"./badge-BOhWFWzb.js";import{C as P}from"./CmsPageHeader-uor3DPIk.js";import{C as re}from"./CmsToolbar-DE-bu3W8.js";import{C as ce}from"./CmsEmptyState-BM4e6N83.js";import{C as de}from"./CmsStatusBadge-D8N18LJx.js";import{S as oe}from"./search-CSyHHglh.js";import{u as me}from"./tanstack-adapter-CDrxoPZD.js";const ue={publish:{title:"Publish Items",description:"This will publish all selected items, making them publicly visible.",confirmLabel:"Publish All",confirmVariant:"success"},unpublish:{title:"Unpublish Items",description:"This will unpublish all selected items, changing them back to draft status.",confirmLabel:"Unpublish All",confirmVariant:"warning"},delete:{title:"Delete Items",description:"This will move all selected items to trash.",warning:"Items in trash can be restored within the retention period.",confirmLabel:"Delete All",confirmVariant:"danger"},archive:{title:"Archive Items",description:"This will archive all selected items.",confirmLabel:"Archive All",confirmVariant:"secondary"}};function he({action:a,count:l,isProcessing:u,result:t,onConfirm:r,onCancel:h}){const c=ue[a];return e.jsx(Q,{open:!0,onOpenChange:f=>!f&&!u&&h(),title:c.title,size:"sm",footer:t?e.jsx(p,{variant:"primary",onClick:h,children:t.failed===0?"Done":"Close"}):e.jsxs(e.Fragment,{children:[e.jsx(p,{variant:"outline",onClick:h,disabled:u,children:"Cancel"}),e.jsx(p,{variant:c.confirmVariant,onClick:r,loading:u,children:c.confirmLabel})]}),children:t?e.jsx("div",{className:"space-y-4",children:t.failed===0?e.jsxs("div",{className:"flex flex-col items-center gap-3 py-4 text-center",children:[e.jsx("div",{className:"flex size-12 items-center justify-center rounded-full bg-diff-added-bg text-diff-added",children:e.jsx(ie,{className:"size-6"})}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Successfully processed"," ",e.jsx("span",{className:"font-semibold text-foreground",children:t.succeeded})," ",t.succeeded===1?"item":"items"]})]}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"diff-added rounded-lg border p-3 text-center",children:[e.jsx("p",{className:"text-2xl font-semibold text-diff-added",children:t.succeeded}),e.jsx("p",{className:"text-xs text-diff-added-foreground",children:"Succeeded"})]}),e.jsxs("div",{className:"diff-removed rounded-lg border p-3 text-center",children:[e.jsx("p",{className:"text-2xl font-semibold text-diff-removed",children:t.failed}),e.jsx("p",{className:"text-xs text-diff-removed-foreground",children:"Failed"})]})]}),t.errors&&t.errors.length>0&&e.jsxs("div",{className:"diff-modified rounded-lg border p-3",children:[e.jsx("p",{className:"mb-2 text-sm font-medium text-diff-modified",children:"Errors:"}),e.jsxs("ul",{className:"space-y-1 text-xs text-diff-modified-foreground",children:[t.errors.slice(0,5).map((f,d)=>e.jsxs("li",{className:"truncate",children:["• ",f]},d)),t.errors.length>5&&e.jsxs("li",{className:"text-diff-modified-foreground/80",children:["...and ",t.errors.length-5," more errors"]})]})]})]})}):e.jsxs("div",{className:"space-y-3",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:["You are about to ",a," ",e.jsxs("span",{className:"font-semibold text-foreground",children:[l," ",l===1?"item":"items"]}),"."]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:c.description}),c.warning&&e.jsxs("div",{className:"diff-modified flex items-start gap-2 rounded-lg border p-3",children:[e.jsx(q,{className:"mt-0.5 size-4 shrink-0 text-diff-modified"}),e.jsxs("p",{className:"text-sm",children:[e.jsx("span",{className:"font-medium",children:"Note:"})," ",c.warning]})]})]})})}function xe({selectedIds:a,onClearSelection:l,onOperationComplete:u}){const t=G(),[r,h]=i.useState(null),[c,f]=i.useState(!1),[d,o]=i.useState(null),y=T(t.bulkPublish),k=T(t.bulkUnpublish),v=T(t.bulkDelete),x=T(t.bulkUpdate),b=i.useCallback(n=>{h(n),o(null)},[]),S=i.useCallback(async()=>{if(!(!r||a.length===0)){f(!0),o(null);try{let n;switch(r){case"publish":n=await y({ids:a,changeDescription:"Bulk published from admin"});break;case"unpublish":n=await k({ids:a});break;case"delete":n=await v({ids:a,hardDelete:!1});break;case"archive":n=await x({ids:a,status:"archived"});break;default:throw new Error(`Unknown action: ${r}`)}o({succeeded:n.succeeded,failed:n.failed,errors:n.errors?.map(N=>`${N.id}: ${N.error}`)}),n.failed===0&&setTimeout(()=>{h(null),l(),u?.()},1500)}catch(n){const N=n instanceof Error?n.message:"Operation failed";o({succeeded:0,failed:a.length,errors:[N]})}finally{f(!1)}}},[r,a,y,k,v,x,l,u]),m=i.useCallback(()=>{h(null),o(null)},[]);return a.length===0?null:e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-x-0 bottom-0 z-50 border-t bg-background/95 px-6 py-3 shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/80",children:e.jsxs("div",{className:"mx-auto flex max-w-7xl items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(le,{variant:"secondary",className:"text-sm font-semibold",children:a.length}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:[a.length===1?"item":"items"," selected"]}),e.jsxs("button",{type:"button",onClick:l,className:"flex items-center gap-1 text-sm text-muted-foreground transition-colors hover:text-foreground",children:[e.jsx(H,{className:"size-3"}),"Clear"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(p,{variant:"success",size:"sm",onClick:()=>b("publish"),children:"Publish"}),e.jsx(p,{variant:"warning",size:"sm",onClick:()=>b("unpublish"),children:"Unpublish"}),e.jsx(p,{variant:"secondary",size:"sm",onClick:()=>b("archive"),children:"Archive"}),e.jsx(p,{variant:"danger",size:"sm",onClick:()=>b("delete"),children:"Delete"})]})]})}),r&&e.jsx(he,{action:r,count:a.length,isProcessing:c,result:d,onConfirm:S,onCancel:m})]})}function pe({api:a,navigation:l}){const[u,t]=i.useState(""),[r,h]=i.useState(""),[c,f]=i.useState(""),[d,o]=i.useState(new Set),{canCreate:y,canUpdate:k}=ne();i.useEffect(()=>{const s=l.params?.contentTypeId;if(s){const g=s.startsWith("code:")?s.slice(5):s;t(g)}else t("")},[l.params?.contentTypeId]);const v=D(a.listContentTypes,{isActive:!0}),x=v?.page??[],b=v===void 0,S=D(a.listEntries,{contentTypeName:u||void 0,status:r||void 0,search:c.trim()||void 0,paginationOpts:{numItems:50,cursor:null}}),m=S?.page??[],N=b||S===void 0,V=s=>{l.navigateToNewEntry(s)},F=s=>x.find(w=>w.name===s)?.displayName??s,E=(s,g)=>{const C=x.find($=>$.name===g)?.titleField??"title",A=s.data[C];return typeof A=="string"&&A?A:"Untitled"},M=s=>new Date(s).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),O=i.useCallback((s,g)=>{o(w=>{const C=new Set(w);return g?C.add(s):C.delete(s),C})},[]),R=i.useCallback(()=>{d.size===m.length&&m.length>0?o(new Set):o(new Set(m.map(s=>s._id)))},[d.size,m]),z=i.useCallback(()=>{o(new Set)},[]);return N?e.jsxs("div",{className:"space-y-6 p-6",children:[e.jsx(P,{title:"Content",description:"Browse and manage content entries across all content types."}),e.jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[e.jsx("div",{className:"size-8 animate-spin rounded-full border-2 border-muted border-t-primary"}),e.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:"Loading content..."})]})]}):e.jsxs("div",{className:"space-y-6 p-6",children:[e.jsx(P,{title:"Content",description:"Browse and manage content entries across all content types."}),e.jsx(re,{left:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative",children:[e.jsx(oe,{className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(ee,{type:"text",placeholder:"Search content...",value:c,onChange:s=>f(s.target.value),className:"w-64 pl-9","data-testid":"content-search-input"})]}),e.jsxs(_,{value:u||"all",onValueChange:s=>t(s==="all"?"":s),children:[e.jsx(I,{className:"w-48",children:e.jsx(U,{placeholder:"All Content Types"})}),e.jsxs(B,{children:[e.jsx(j,{value:"all",children:"All Content Types"}),x.map(s=>e.jsx(j,{value:s._id,children:s.displayName},s._id))]})]}),e.jsxs(_,{value:r||"all",onValueChange:s=>h(s==="all"?"":s),children:[e.jsx(I,{className:"w-36",children:e.jsx(U,{placeholder:"All Statuses"})}),e.jsxs(B,{children:[e.jsx(j,{value:"all",children:"All Statuses"}),e.jsx(j,{value:"draft",children:"Draft"}),e.jsx(j,{value:"published",children:"Published"}),e.jsx(j,{value:"scheduled",children:"Scheduled"}),e.jsx(j,{value:"archived",children:"Archived"})]})]})]}),right:y("contentEntries")&&e.jsxs(J,{children:[e.jsx(K,{asChild:!0,children:e.jsxs(p,{disabled:x.length===0,children:[e.jsx(W,{className:"size-4"}),"Create Entry",e.jsx(X,{className:"size-4"})]})}),e.jsx(Y,{align:"end",children:x.map(s=>e.jsx(Z,{onClick:()=>V(s._id),children:s.displayName},s._id))})]})}),e.jsx(xe,{selectedIds:Array.from(d),onClearSelection:z,onOperationComplete:z}),m.length===0?e.jsx(ce,{icon:e.jsx(se,{className:"size-6"}),title:"No content entries yet",description:x.length===0?"Create a content type first, then start adding content entries.":'Click "Create Entry" to add your first content entry.'}):e.jsx("div",{className:"rounded-lg border bg-card",children:e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"w-10 p-3 text-left",children:e.jsx(L,{checked:d.size===m.length&&m.length>0,onCheckedChange:R,"aria-label":"Select all entries"})}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Title"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Type"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Status"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Updated"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Actions"})]})}),e.jsx("tbody",{children:m.map(s=>e.jsxs("tr",{className:te("border-b last:border-0 transition-colors hover:bg-muted/50",d.has(s._id)&&"bg-primary/5"),children:[e.jsx("td",{className:"p-3",children:e.jsx(L,{checked:d.has(s._id),onCheckedChange:g=>O(s._id,g),"aria-label":`Select ${E(s,s.contentTypeName)}`})}),e.jsx("td",{className:"p-3",children:e.jsxs("button",{type:"button",onClick:()=>l.navigateToEntry(s._id),className:"block text-left",children:[e.jsx("span",{className:"font-medium text-foreground hover:text-primary",children:E(s,s.contentTypeName)}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:s.slug})]})}),e.jsx("td",{className:"p-3 text-sm text-muted-foreground",children:F(s.contentTypeName)}),e.jsx("td",{className:"p-3",children:e.jsx(de,{status:s.status})}),e.jsx("td",{className:"p-3 text-sm text-muted-foreground",children:M(s._creationTime)}),e.jsx("td",{className:"p-3",children:e.jsx(p,{variant:"outline",size:"sm",onClick:()=>l.navigateToEntry(s._id),children:k("contentEntries")?"Edit":"View"})})]},s._id))})]})})]})}function we(){const a=me();return e.jsx(pe,{api:ae.admin,navigation:a})}export{we as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as V,r as a,u as q,j as e,h as g,$ as E,C as l,P as B,I as R,g as $,a0 as j,a1 as z,O as k,a2 as L,a3 as G,a4 as Q,t as H,q as J,a5 as X,E as K,U as W,a6 as S,a7 as Y,a8 as Z,k as T}from"./main-BapBJgQD.js";import{C as ee}from"./CmsPageHeader-uor3DPIk.js";import{C as se}from"./CmsToolbar-DE-bu3W8.js";import{C as te}from"./CmsEmptyState-BM4e6N83.js";import{B as d}from"./badge-BOhWFWzb.js";import{S as ae}from"./search-CSyHHglh.js";import{P as M}from"./pencil-DgaZav4e.js";import{u as re}from"./tanstack-adapter-CDrxoPZD.js";const ie=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],de=V("grid-3x3",ie),oe={text:e.jsx(L,{className:"size-3"}),richText:e.jsx(j,{className:"size-3"}),number:e.jsx(Z,{className:"size-3"}),boolean:e.jsx(Y,{className:"size-3"}),date:e.jsx(S,{className:"size-3"}),datetime:e.jsx(S,{className:"size-3"}),reference:e.jsx(W,{className:"size-3"}),media:e.jsx(K,{className:"size-3"}),json:e.jsx(X,{className:"size-3"}),select:e.jsx(J,{className:"size-3"}),multiSelect:e.jsx(E,{className:"size-3"}),tags:e.jsx(H,{className:"size-3"}),category:e.jsx(Q,{className:"size-3"})};function ne({api:c,navigation:p}){const[r,A]=a.useState(""),[m,N]=a.useState("grid"),[b,_]=a.useState(!0),[I,x]=a.useState(!1),[v,i]=a.useState(null),D=a.useCallback(()=>{x(!1)},[]),F=a.useCallback(()=>{i(null)},[]),y=q(c.listContentTypes,{isActive:b?!0:void 0,includeEntryCounts:!0}),o=y?.page??[],C=y===void 0,n=a.useMemo(()=>{if(!r.trim())return o;const s=r.toLowerCase();return o.filter(t=>t.name.toLowerCase().includes(s)||t.displayName.toLowerCase().includes(s))},[o,r]),w=s=>new Date(s).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),O=s=>{const P=Date.now()-s,U=Math.floor(P/1e3),u=Math.floor(U/60),f=Math.floor(u/60),h=Math.floor(f/24);return h>30?w(s):h>0?`${h}d ago`:f>0?`${f}h ago`:u>0?`${u}m ago`:"Just now"};return e.jsxs("div",{className:"space-y-6 p-6",children:[e.jsx(ee,{title:"Content Types",description:"Define the structure of your content with custom fields and validation rules."}),e.jsx(se,{left:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative",children:[e.jsx(ae,{className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(R,{type:"search",placeholder:"Search content types...",value:r,onChange:s=>A(s.target.value),className:"w-64 pl-9"})]}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 text-sm",children:[e.jsx($,{checked:b,onCheckedChange:s=>_(s)}),"Active only"]})]}),right:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("div",{className:"flex rounded-md border bg-muted/30",children:[e.jsx("button",{className:g("rounded-l-md p-2 transition-colors",m==="grid"?"bg-background shadow-sm":"hover:bg-muted/50"),onClick:()=>N("grid"),title:"Grid view","aria-label":"Grid view",children:e.jsx(de,{className:"size-4"})}),e.jsx("button",{className:g("rounded-r-md p-2 transition-colors",m==="list"?"bg-background shadow-sm":"hover:bg-muted/50"),onClick:()=>N("list"),title:"List view","aria-label":"List view",children:e.jsx(E,{className:"size-4"})})]}),e.jsxs(l,{onClick:()=>x(!0),"data-testid":"create-content-type-button",children:[e.jsx(B,{className:"size-4"}),"Create Content Type"]})]})}),C?e.jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[e.jsx("div",{className:"size-8 animate-spin rounded-full border-2 border-muted border-t-primary"}),e.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:"Loading content types..."})]}):n.length===0?e.jsx(te,{icon:e.jsx(j,{className:"size-6"}),title:r?"No content types match your search":"No content types defined",description:r?"Try adjusting your search query or filters.":"Content types define the schema for your content. Create one to get started."}):m==="grid"?e.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:n.map(s=>e.jsxs("div",{className:"group flex flex-col rounded-lg border bg-card p-4 transition-all hover:border-primary/50 hover:shadow-md",children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[e.jsx("div",{className:"flex size-10 items-center justify-center rounded-md bg-muted text-muted-foreground",children:e.jsx(j,{className:"size-5"})}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[s.source==="code"&&e.jsxs(d,{variant:"secondary",className:"border-violet-200 bg-violet-50 text-xs font-normal text-violet-700",title:"Managed by code - edit in your codebase",children:[e.jsx(z,{className:"mr-1 size-3"}),"Code"]}),!s.isActive&&e.jsx(d,{variant:"secondary",className:"text-xs font-normal",children:"Inactive"}),s.singleton&&e.jsx(d,{variant:"secondary",className:"border-diff-modified-border bg-diff-modified-bg text-xs font-normal text-diff-modified-foreground",children:"Singleton"}),s.source==="code"?e.jsx("button",{className:"rounded p-1.5 text-muted-foreground opacity-0 transition-all hover:bg-muted hover:text-foreground group-hover:opacity-100",title:"View content type (managed by code)","aria-label":"View content type",onClick:()=>i(s),children:e.jsx(k,{className:"size-4"})}):e.jsx("button",{onClick:()=>i(s),className:"rounded p-1.5 text-muted-foreground opacity-0 transition-all hover:bg-muted hover:text-foreground group-hover:opacity-100",title:"Edit content type","aria-label":"Edit content type",children:e.jsx(M,{className:"size-4"})})]})]}),e.jsxs("button",{type:"button",onClick:()=>p.navigateToContentType(s._id),className:"flex flex-1 flex-col text-left",children:[e.jsx("h3",{className:"text-base font-semibold text-foreground",children:s.displayName}),e.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground",children:s.name}),e.jsxs("div",{className:"mt-3 flex items-center gap-4",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-lg font-semibold text-foreground",children:s.fields.length}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.fields.length===1?"Field":"Fields"})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-lg font-semibold text-foreground",children:s.entryCount??0}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.entryCount===1?"Entry":"Entries"})]})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[s.fields.slice(0,4).map(t=>e.jsxs("span",{className:"flex items-center gap-1 rounded-md bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",title:t.label,children:[oe[t.type]||e.jsx(L,{className:"size-3"}),e.jsx("span",{className:"truncate",children:t.label})]},t.name)),s.fields.length>4&&e.jsxs("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:["+",s.fields.length-4," more"]})]}),e.jsxs("p",{className:"mt-auto pt-3 text-xs text-muted-foreground",children:["Updated ",O(s._creationTime)]})]})]},s._id))}):e.jsx("div",{className:"rounded-lg border bg-card",children:e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Name"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Fields"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Entries"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Status"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Last Updated"}),e.jsx("th",{className:"p-3 text-left text-sm font-medium text-muted-foreground",children:"Actions"})]})}),e.jsx("tbody",{children:n.map(s=>e.jsxs("tr",{className:"border-b last:border-0 transition-colors hover:bg-muted/50",children:[e.jsxs("td",{className:"p-3",children:[e.jsx("p",{className:"font-medium text-foreground",children:s.displayName}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.name})]}),e.jsx("td",{className:"p-3 text-sm text-muted-foreground",children:s.fields.length}),e.jsx("td",{className:"p-3 text-sm text-muted-foreground",children:s.entryCount??0}),e.jsx("td",{className:"p-3",children:e.jsxs("div",{className:"flex items-center gap-1.5",children:[s.source==="code"&&e.jsxs(d,{variant:"secondary",className:"border-violet-200 bg-violet-50 text-xs font-normal text-violet-700",title:"Managed by code",children:[e.jsx(z,{className:"mr-1 size-3"}),"Code"]}),e.jsx(d,{variant:s.isActive?"default":"secondary",className:g("text-xs font-normal",s.isActive&&"border-diff-added-border bg-diff-added-bg text-diff-added-foreground"),children:s.isActive?"Active":"Inactive"}),s.singleton&&e.jsx(d,{variant:"secondary",className:"border-diff-modified-border bg-diff-modified-bg text-xs font-normal text-diff-modified-foreground",children:"Singleton"})]})}),e.jsx("td",{className:"p-3 text-sm text-muted-foreground",children:w(s._creationTime)}),e.jsx("td",{className:"p-3",children:e.jsxs("div",{className:"flex items-center gap-2",children:[s.source==="code"?e.jsxs(l,{variant:"outline",size:"sm",onClick:()=>i(s),title:"View content type (managed by code)",children:[e.jsx(k,{className:"size-3.5"}),"View"]}):e.jsxs(l,{variant:"outline",size:"sm",onClick:()=>i(s),children:[e.jsx(M,{className:"size-3.5"}),"Edit"]}),e.jsx(l,{variant:"outline",size:"sm",onClick:()=>p.navigateToContentType(s._id),children:"View Entries"})]})})]},s._id))})]})}),!C&&n.length>0&&e.jsxs("p",{className:"text-center text-sm text-muted-foreground",children:["Showing ",n.length," of ",o.length," content type",o.length!==1?"s":""]}),e.jsx(G,{isOpen:I||!!v,onClose:()=>{x(!1),i(null)},contentType:v,onCreated:D,onUpdated:F})]})}function je(){const c=re();return e.jsx(ne,{api:T.admin,navigation:c})}export{je as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as j,j as e,h as o,u as y,a as w,r as g,
|
|
1
|
+
import{l as j,j as e,h as o,u as y,a as w,r as g,a9 as z,f as D,G as T,F as A,E as M,aa as E,ab as R,k as _}from"./main-BapBJgQD.js";import{C as L}from"./CmsPageHeader-uor3DPIk.js";import{A as h,b as f,a as p}from"./alert-DHBQuuib.js";import{R as I}from"./refresh-cw-BBut4hAU.js";import{u as $}from"./tanstack-adapter-CDrxoPZD.js";const P=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],F=j("circle-x",P);const H=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],Q=j("trending-up",H);function N({className:t,...s}){return e.jsx("div",{"data-slot":"card",className:o("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...s})}function U({className:t,...s}){return e.jsx("div",{"data-slot":"card-header",className:o("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...s})}function W({className:t,...s}){return e.jsx("div",{"data-slot":"card-title",className:o("leading-none font-semibold",t),...s})}function q({className:t,...s}){return e.jsx("div",{"data-slot":"card-description",className:o("text-muted-foreground text-sm",t),...s})}function b({className:t,...s}){return e.jsx("div",{"data-slot":"card-content",className:o("px-6",t),...s})}function B({className:t,...s}){return e.jsx("div",{"data-slot":"skeleton",className:o("bg-accent animate-pulse rounded-md",t),...s})}function G({api:t}){const s=y(t.checkSchemaDrift,{}),r=w(t.syncCodeDefinedTypes),[n,c]=g.useState(!1),[d,u]=g.useState(null);if(s===void 0)return null;if(!s||s.length===0)return d&&(d.created>0||d.updated>0)?e.jsxs(h,{className:"border-success/50 bg-success/10",children:[e.jsx(z,{className:"size-4 text-success"}),e.jsx(f,{className:"text-diff-added-foreground",children:"Sync Complete"}),e.jsxs(p,{className:"text-diff-added-foreground/80",children:[d.created>0&&e.jsxs("span",{children:[d.created," content type(s) created. "]}),d.updated>0&&e.jsxs("span",{children:[d.updated," content type(s) updated."]})]})]}):null;const a=s.filter(i=>i.severity==="error"),x=s.filter(i=>i.severity==="warning"),v=async()=>{c(!0),u(null);try{const i=await r({});u(i)}catch(i){console.error("Sync failed:",i)}finally{c(!1)}},C=a.length>0?"destructive":"default",S=a.length>0?F:D,k=a.length>0?"text-destructive":"text-warning";return e.jsxs(h,{variant:C,className:a.length===0?"border-warning/50 bg-warning/10":"",children:[e.jsx(S,{className:`size-4 ${k}`}),e.jsx(f,{className:a.length===0?"text-diff-modified-foreground":"",children:"Schema Drift Detected"}),e.jsx(p,{className:a.length===0?"text-diff-modified-foreground/80":"",children:e.jsxs("div",{className:"space-y-2",children:[a.length>0&&e.jsxs("p",{children:[e.jsxs("strong",{children:[a.length," error(s)"]}),":"," ",a.slice(0,3).map(i=>i.message).join(" "),a.length>3&&` ...and ${a.length-3} more`]}),x.length>0&&e.jsxs("p",{children:[e.jsxs("strong",{children:[x.length," warning(s)"]}),": Code-defined types may need syncing."]}),e.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[e.jsxs(T,{size:"sm",variant:a.length>0?"destructive":"outline",onClick:v,disabled:n,className:a.length===0?"border-warning/50 text-diff-modified-foreground hover:bg-warning/20":"",children:[e.jsx(I,{className:`mr-1.5 size-3.5 ${n?"animate-spin":""}`}),n?"Syncing...":"Sync Now"]}),e.jsx("span",{className:"text-xs opacity-75",children:"Syncs code-defined types to the database"})]})]})})]})}function X({api:t,navigation:s}){const r=y(t.getDashboardStats,{}),n=r===void 0,c=r===null;return e.jsxs("div",{className:"space-y-8",children:[e.jsx(L,{title:"Dashboard",description:"Welcome to Convex CMS Admin. Manage your content, media, and publishing workflows."}),e.jsx(G,{api:t}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsx(l,{title:"Content Entries",description:"Create and manage your content",onClick:()=>s.navigate("/content"),icon:e.jsx(A,{className:"size-5"})}),e.jsx(l,{title:"Media Library",description:"Upload and organize media assets",onClick:()=>s.navigate("/media"),icon:e.jsx(M,{className:"size-5"})}),e.jsx(l,{title:"Content Types",description:"Define content schemas and fields",onClick:()=>s.navigate("/content-types"),icon:e.jsx(E,{className:"size-5"})}),e.jsx(l,{title:"Settings",description:"Configure CMS settings",onClick:()=>s.navigate("/settings"),icon:e.jsx(R,{className:"size-5"})})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Q,{className:"size-5 text-muted-foreground"}),e.jsx("h2",{className:"text-lg font-semibold",children:"Quick Stats"})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[e.jsx(m,{label:"Content Types",value:n?void 0:c?"—":String(r.contentTypes),isLoading:n}),e.jsx(m,{label:"Content Entries",value:n?void 0:c?"—":String(r.contentEntries),isLoading:n}),e.jsx(m,{label:"Media Assets",value:n?void 0:c?"—":String(r.mediaAssets),isLoading:n}),e.jsx(m,{label:"Published",value:n?void 0:c?"—":String(r.published),isLoading:n})]})]})]})}function l({title:t,description:s,onClick:r,icon:n}){return e.jsx("button",{type:"button",onClick:r,className:"text-left",children:e.jsxs(N,{className:"h-full transition-colors hover:bg-accent/50",children:[e.jsxs(U,{className:"pb-2",children:[e.jsx("div",{className:"mb-2 flex size-10 items-center justify-center rounded-lg bg-primary/10 text-primary",children:n}),e.jsx(W,{className:"text-base",children:t})]}),e.jsx(b,{children:e.jsx(q,{children:s})})]})})}function m({label:t,value:s,isLoading:r=!1}){return e.jsx(N,{children:e.jsxs(b,{className:"p-4",children:[r?e.jsx(B,{className:"mb-1 h-8 w-16"}):e.jsx("div",{className:"text-2xl font-bold",children:s}),e.jsx("div",{className:"text-sm text-muted-foreground",children:t})]})})}function Z(){const t=$();return e.jsx(X,{api:_.admin,navigation:t})}export{Z as component};
|