@jacshuo/onyx 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var Yr=require('react'),reactDom=require('react-dom'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime'),classVarianceAuthority=require('class-variance-authority'),react=require('@tiptap/react'),transform=require('@tiptap/pm/transform'),commands=require('@tiptap/pm/commands'),state=require('@tiptap/pm/state'),model=require('@tiptap/pm/model'),schemaList=require('@tiptap/pm/schema-list'),view=require('@tiptap/pm/view');require('@tiptap/pm/keymap');var op=require('@tiptap/starter-kit'),ap=require('@tiptap/extension-underline'),sp=require('@tiptap/extension-text-align'),extensionColor=require('@tiptap/extension-color'),lp=require('@tiptap/extension-highlight'),cp=require('@tiptap/extension-link'),dp=require('@tiptap/extension-youtube'),up=require('@tiptap/extension-placeholder'),pp=require('@tiptap/extension-character-count'),mp=require('@tiptap/extension-typography'),fp=require('@tiptap/extension-subscript'),hp=require('@tiptap/extension-superscript'),extensionTable=require('@tiptap/extension-table'),bp=require('@tiptap/extension-table-row'),vp=require('@tiptap/extension-table-header'),yp=require('@tiptap/extension-table-cell'),qu=require('@tiptap/extension-image'),marked=require('marked');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Yr__default=/*#__PURE__*/_interopDefault(Yr);var op__default=/*#__PURE__*/_interopDefault(op);var ap__default=/*#__PURE__*/_interopDefault(ap);var sp__default=/*#__PURE__*/_interopDefault(sp);var lp__default=/*#__PURE__*/_interopDefault(lp);var cp__default=/*#__PURE__*/_interopDefault(cp);var dp__default=/*#__PURE__*/_interopDefault(dp);var up__default=/*#__PURE__*/_interopDefault(up);var pp__default=/*#__PURE__*/_interopDefault(pp);var mp__default=/*#__PURE__*/_interopDefault(mp);var fp__default=/*#__PURE__*/_interopDefault(fp);var hp__default=/*#__PURE__*/_interopDefault(hp);var bp__default=/*#__PURE__*/_interopDefault(bp);var vp__default=/*#__PURE__*/_interopDefault(vp);var yp__default=/*#__PURE__*/_interopDefault(yp);var qu__default=/*#__PURE__*/_interopDefault(qu);function v(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var to="#1c1914",ro="#130f0b",Ts="#2e261e",Xr="#504638",Ot="#6b5d4d",vr=`url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`,Es=[{key:"like",icon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5",fill:"currentColor"}),label:"Like",toggle:true},{key:"dislike",icon:jsxRuntime.jsx(lucideReact.ThumbsDown,{className:"h-5 w-5"}),label:"Dislike"},{key:"bookmark",icon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5",fill:"currentColor"}),label:"Bookmark",toggle:true},{key:"share",icon:jsxRuntime.jsx(lucideReact.Share2,{className:"h-5 w-5"}),label:"Share"},{key:"download",icon:jsxRuntime.jsx(lucideReact.Download,{className:"h-5 w-5"}),label:"Download"}];function Gr({photos:e,layout:t="strip",actions:r=Es,onAction:n,className:o,showGrain:a=true,sheetTitle:s,sheetLabel:l}){let[i,d]=Yr.useState(null),[m,u]=Yr.useState(new Set),p=Yr.useCallback(g=>d(g),[]),c=Yr.useCallback(()=>d(null),[]),h=Yr.useCallback((g,b)=>{if(r.find(C=>C.key===g)?.toggle){let C=`${b}-${g}`;u(x=>{let M=new Set(x);return M.has(C)?M.delete(C):M.add(C),M});}n?.(g,e[b],b);},[r,n,e]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(t==="strip"?Ps:t==="sheet"?Rs:Ds,{photos:e,onPhotoClick:p,showGrain:a,className:o,sheetTitle:s,sheetLabel:l}),i!==null&&reactDom.createPortal(jsxRuntime.jsx(As,{photos:e,currentIndex:i,onIndexChange:d,onClose:c,actions:r,activeActions:m,onAction:h,showGrain:a}),document.body)]})}function eo({count:e=30}){return jsxRuntime.jsx("div",{className:"flex shrink-0 items-center justify-between px-3",style:{height:22,background:to},children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx("div",{className:"rounded-xs",style:{width:12,height:8,background:Ts}},r))})}function Ps({photos:e,onPhotoClick:t,showGrain:r,className:n}){let o=Yr.useRef(null);return jsxRuntime.jsxs("div",{className:v("select-none rounded-lg overflow-hidden",n),style:{background:ro},children:[jsxRuntime.jsx(eo,{count:Math.max(30,e.length*6)}),jsxRuntime.jsx("div",{ref:o,className:"flex gap-1 overflow-x-auto scroll-smooth px-1 py-1",style:{background:to,scrollSnapType:"x mandatory"},children:e.map((a,s)=>jsxRuntime.jsxs("div",{className:"group relative shrink-0 cursor-pointer",style:{scrollSnapAlign:"center"},onClick:()=>t(s),children:[jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xs border",style:{borderColor:Xr,width:280,height:187},children:[jsxRuntime.jsx("img",{src:a.src,alt:a.alt??a.title??"",className:"h-full w-full object-cover transition-transform duration-700 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 mix-blend-multiply opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"rgba(255, 175, 60, 0.06)"}}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-[0.06]",style:{backgroundImage:vr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 transition-opacity duration-300 group-hover:opacity-50",style:{background:"radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.5) 100%)"}})]}),jsxRuntime.jsxs("div",{className:"mt-0.5 text-center font-mono text-[9px] tracking-widest",style:{color:Ot},children:[String(s+1).padStart(2,"0"),s%2===0?"":"A"]})]},s))}),jsxRuntime.jsx(eo,{count:Math.max(30,e.length*6)})]})}function Rs({photos:e,onPhotoClick:t,showGrain:r,className:n,sheetTitle:o,sheetLabel:a}){return jsxRuntime.jsxs("div",{className:v("rounded-lg p-5",n),style:{background:ro},children:[jsxRuntime.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:Ot},children:o??`JAC\xB7Film 35mm \xB7 ${e.length} exposures`}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:Ot},children:a??"Contact Sheet"})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6",children:e.map((s,l)=>jsxRuntime.jsxs("div",{className:"group cursor-pointer",style:{animation:`reveal-up 0.4s ease-out ${l*50}ms both`},onClick:()=>t(l),children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-mono text-[9px] tracking-wider",style:{color:Ot},children:String(l+1).padStart(2,"0")}),jsxRuntime.jsxs("div",{className:"relative overflow-hidden rounded-[1px] border transition-all duration-300 group-hover:border-amber-600/50 group-hover:shadow-[0_0_20px_rgba(217,171,89,0.15)]",style:{borderColor:Xr,aspectRatio:"3/2"},children:[jsxRuntime.jsx("img",{src:s.src,alt:s.alt??"",className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-105",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:vr}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 translate-y-full bg-linear-to-t from-black/70 to-transparent p-2 pt-6 transition-transform duration-300 group-hover:translate-y-0",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-white/90",children:s.title})})]})]},l))})]})}function Ds({photos:e,onPhotoClick:t,showGrain:r,className:n}){let[o,a]=Yr.useState(false),[s,l]=Yr.useState(null),i=Math.min(e.length,8),d=e.slice(0,i),m=p=>{let c=Math.sin(p*137.508+1)*1e4,h=(c%12-6).toFixed(1),f=(c/7%8-4).toFixed(1),g=(c/13%6-3).toFixed(1);return `rotate(${h}deg) translate(${f}px, ${g}px)`},u=(p,c)=>{let h=(c-1)/2,f=((p-h)*7).toFixed(1),g=((p-h)*110).toFixed(0),b=(-Math.abs(p-h)*10+(s===p?-18:0)).toFixed(0);return `translateX(${g}px) translateY(${b}px) rotate(${f}deg)`};return jsxRuntime.jsxs("div",{className:v("flex flex-col items-center gap-4",n),children:[jsxRuntime.jsx("div",{className:"relative flex h-85 w-full items-center justify-center",onMouseEnter:()=>a(true),onMouseLeave:()=>{a(false),l(null);},children:d.map((p,c)=>jsxRuntime.jsx("div",{className:"absolute cursor-pointer rounded-lg shadow-xl transition-all duration-500",style:{transitionTimingFunction:"cubic-bezier(0.34, 1.56, 0.64, 1)",transitionDelay:o?`${c*35}ms`:`${(i-c)*25}ms`,transform:o?u(c,d.length):m(c),zIndex:o?c+1:d.length-c,width:220,height:147},onClick:()=>t(c),onMouseEnter:()=>o&&l(c),onMouseLeave:()=>l(null),children:jsxRuntime.jsxs("div",{className:"relative h-full w-full overflow-hidden rounded-lg border transition-shadow duration-300",style:{borderColor:o&&s===c?"rgba(217,171,89,0.5)":Xr,boxShadow:o&&s===c?"0 25px 50px rgba(0,0,0,0.5), 0 0 30px rgba(217,171,89,0.1)":"0 10px 30px rgba(0,0,0,0.4)"},children:[jsxRuntime.jsx("img",{src:p.src,alt:p.alt??"",className:"h-full w-full object-cover",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:vr}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.35) 100%)"}}),o&&s===c&&jsxRuntime.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-linear-to-t from-black/80 to-transparent p-3 pt-8",style:{animation:"reveal-up 0.25s ease-out"},children:jsxRuntime.jsx("span",{className:"text-sm font-medium text-white/90",children:p.title})})]})},c))}),e.length>i&&jsxRuntime.jsxs("span",{className:"font-mono text-xs",style:{color:Ot},children:["+ ",e.length-i," more"]}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] transition-opacity duration-300",style:{color:Ot,opacity:o?0:.7},children:"Hover to explore"})]})}function As({photos:e,currentIndex:t,onIndexChange:r,onClose:n,actions:o,activeActions:a,onAction:s,showGrain:l}){let i=e[t],[d,m]=Yr.useState(1),[u,p]=Yr.useState({x:0,y:0}),[c,h]=Yr.useState(false),[f,g]=Yr.useState(false),b=Yr.useRef(false),w=Yr.useRef({x:0,y:0}),C=Yr.useRef(null);Yr.useLayoutEffect(()=>{requestAnimationFrame(()=>g(true));},[]),Yr.useEffect(()=>{let y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=y;}},[]),Yr.useEffect(()=>{let y=_=>{switch(_.key){case "Escape":n();break;case "ArrowLeft":x(-1);break;case "ArrowRight":x(1);break;case "i":case "I":h(X=>!X);break}};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)}),Yr.useEffect(()=>{let y=C.current;if(!y)return;let _=X=>{X.preventDefault();let z=X.deltaY<0?1.12:.89;m(Y=>{let ge=Math.min(8,Math.max(1,Y*z));return ge<=1&&p({x:0,y:0}),ge});};return y.addEventListener("wheel",_,{passive:false}),()=>y.removeEventListener("wheel",_)},[]);let x=Yr.useCallback(y=>{let _=t+y;_>=0&&_<e.length&&(r(_),m(1),p({x:0,y:0}));},[t,e.length,r]),M=Yr.useCallback(y=>{d<=1||(b.current=true,w.current={x:y.clientX,y:y.clientY},y.target.setPointerCapture(y.pointerId));},[d]),F=Yr.useCallback(y=>{if(!b.current)return;let _=y.clientX-w.current.x,X=y.clientY-w.current.y;w.current={x:y.clientX,y:y.clientY},p(z=>({x:z.x+_/d,y:z.y+X/d}));},[d]),P=Yr.useCallback(()=>{b.current=false;},[]),L=Yr.useCallback(()=>{d>1?(m(1),p({x:0,y:0})):m(2.5);},[d]),H=y=>a.has(`${t}-${y}`),R=i.metadata;return jsxRuntime.jsxs("div",{className:"fixed inset-0 z-200 flex flex-col",style:{animation:"lightbox-backdrop-in 0.35s ease-out"},children:[jsxRuntime.jsx("div",{className:"absolute inset-0 bg-black/95",onClick:n}),l&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.025]",style:{backgroundImage:vr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsxs("div",{className:"relative z-10 flex h-12 shrink-0 items-center justify-between px-4",children:[jsxRuntime.jsxs("span",{className:"font-mono text-sm text-white/50",children:[t+1," / ",e.length]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("span",{className:"mr-2 font-mono text-xs text-white/40",children:[d.toFixed(1),"x"]}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>m(y=>Math.min(8,y*1.3)),title:"Zoom in",children:jsxRuntime.jsx(lucideReact.ZoomIn,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>{m(y=>{let _=Math.max(1,y*.7);return _<=1&&p({x:0,y:0}),_});},title:"Zoom out",children:jsxRuntime.jsx(lucideReact.ZoomOut,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:n,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"})})]})]}),jsxRuntime.jsxs("div",{ref:C,className:"relative flex flex-1 items-center justify-center overflow-hidden",style:{cursor:d>1?"grab":"default"},onPointerDown:M,onPointerMove:F,onPointerUp:P,onDoubleClick:L,children:[jsxRuntime.jsx("img",{src:i.src,alt:i.alt??i.title??"",className:"max-h-full max-w-full select-none object-contain",style:{animation:"lightbox-photo-in 0.35s cubic-bezier(0.16, 1, 0.3, 1)",transform:`scale(${d}) translate(${u.x}px, ${u.y}px)`,transition:b.current?"none":"transform 0.15s ease-out"},draggable:false},t),t>0&&jsxRuntime.jsx("button",{className:"absolute left-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),x(-1);},children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:"h-6 w-6"})}),t<e.length-1&&jsxRuntime.jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),x(1);},children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-6 w-6"})})]}),jsxRuntime.jsx("div",{className:v("absolute inset-x-0 bottom-0 z-20 transition-all duration-400",c?"translate-y-0 opacity-100":"pointer-events-none translate-y-full opacity-0"),children:jsxRuntime.jsxs("div",{className:"bg-linear-to-t from-black/90 via-black/75 to-transparent px-6 pb-24 pt-16",children:[i.title&&jsxRuntime.jsx("h3",{className:"mb-3 text-xl font-semibold text-white",children:i.title}),i.description&&jsxRuntime.jsx("p",{className:"mb-4 max-w-xl border-l-2 border-amber-500/40 pl-4 text-sm leading-relaxed text-white/60 italic",style:{animation:"reveal-up 0.4s ease-out 0.1s both"},children:i.description}),R&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-white/70",children:[R.camera&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Camera,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",R.camera,R.lens&&jsxRuntime.jsx("span",{className:"text-white/40",children:"\xB7"}),R.lens&&R.lens]}),(R.aperture||R.shutter||R.iso)&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Aperture,{className:"h-3.5 w-3.5 text-amber-400/80"}),[R.aperture,R.shutter,R.iso&&`ISO ${R.iso}`].filter(Boolean).join(" \xB7 ")]}),R.date&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Calendar,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",R.date]}),R.location&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.MapPin,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",R.location]})]})]})}),jsxRuntime.jsx("div",{className:"relative z-20 flex h-16 shrink-0 items-center justify-center gap-1",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 rounded-full bg-white/6 px-2 py-1.5 backdrop-blur-xl",children:[o.map(y=>{let _=y.toggle&&H(y.key);return jsxRuntime.jsx("button",{className:v("rounded-full p-2.5 transition-all duration-200",_?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>s(y.key,t),title:y.label,children:_&&y.activeIcon?y.activeIcon:y.icon},y.key)}),jsxRuntime.jsx("div",{className:"mx-1 h-5 w-px bg-white/10"}),jsxRuntime.jsx("button",{className:v("rounded-full p-2.5 transition-all duration-200",c?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>h(y=>!y),title:"Photo info (I)",children:jsxRuntime.jsx(lucideReact.Info,{className:"h-5 w-5"})})]})})]})}var Jr="data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var Xr=require('react'),reactDom=require('react-dom'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime'),classVarianceAuthority=require('class-variance-authority'),marked=require('marked'),react=require('@tiptap/react'),transform=require('@tiptap/pm/transform'),commands=require('@tiptap/pm/commands'),state=require('@tiptap/pm/state'),model=require('@tiptap/pm/model'),schemaList=require('@tiptap/pm/schema-list'),view=require('@tiptap/pm/view');require('@tiptap/pm/keymap');var dp=require('@tiptap/starter-kit'),up=require('@tiptap/extension-underline'),pp=require('@tiptap/extension-text-align'),extensionColor=require('@tiptap/extension-color'),fp=require('@tiptap/extension-highlight'),hp=require('@tiptap/extension-link'),gp=require('@tiptap/extension-youtube'),bp=require('@tiptap/extension-placeholder'),vp=require('@tiptap/extension-character-count'),yp=require('@tiptap/extension-typography'),xp=require('@tiptap/extension-subscript'),wp=require('@tiptap/extension-superscript'),extensionTable=require('@tiptap/extension-table'),Mp=require('@tiptap/extension-table-row'),Np=require('@tiptap/extension-table-header'),Cp=require('@tiptap/extension-table-cell'),ep=require('@tiptap/extension-image');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Xr__default=/*#__PURE__*/_interopDefault(Xr);var dp__default=/*#__PURE__*/_interopDefault(dp);var up__default=/*#__PURE__*/_interopDefault(up);var pp__default=/*#__PURE__*/_interopDefault(pp);var fp__default=/*#__PURE__*/_interopDefault(fp);var hp__default=/*#__PURE__*/_interopDefault(hp);var gp__default=/*#__PURE__*/_interopDefault(gp);var bp__default=/*#__PURE__*/_interopDefault(bp);var vp__default=/*#__PURE__*/_interopDefault(vp);var yp__default=/*#__PURE__*/_interopDefault(yp);var xp__default=/*#__PURE__*/_interopDefault(xp);var wp__default=/*#__PURE__*/_interopDefault(wp);var Mp__default=/*#__PURE__*/_interopDefault(Mp);var Np__default=/*#__PURE__*/_interopDefault(Np);var Cp__default=/*#__PURE__*/_interopDefault(Cp);var ep__default=/*#__PURE__*/_interopDefault(ep);function v(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var no="#1c1914",oo="#130f0b",Di="#2e261e",Jr="#504638",Ot="#6b5d4d",xr=`url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`,Ai=[{key:"like",icon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5",fill:"currentColor"}),label:"Like",toggle:true},{key:"dislike",icon:jsxRuntime.jsx(lucideReact.ThumbsDown,{className:"h-5 w-5"}),label:"Dislike"},{key:"bookmark",icon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5",fill:"currentColor"}),label:"Bookmark",toggle:true},{key:"share",icon:jsxRuntime.jsx(lucideReact.Share2,{className:"h-5 w-5"}),label:"Share"},{key:"download",icon:jsxRuntime.jsx(lucideReact.Download,{className:"h-5 w-5"}),label:"Download"}];function Qr({photos:e,layout:t="strip",actions:r=Ai,onAction:n,className:o,showGrain:a=true,sheetTitle:i,sheetLabel:l}){let[s,d]=Xr.useState(null),[m,u]=Xr.useState(new Set),p=Xr.useCallback(g=>d(g),[]),c=Xr.useCallback(()=>d(null),[]),h=Xr.useCallback((g,b)=>{if(r.find(C=>C.key===g)?.toggle){let C=`${b}-${g}`;u(x=>{let M=new Set(x);return M.has(C)?M.delete(C):M.add(C),M});}n?.(g,e[b],b);},[r,n,e]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(t==="strip"?zi:t==="sheet"?Li:Ii,{photos:e,onPhotoClick:p,showGrain:a,className:o,sheetTitle:i,sheetLabel:l}),s!==null&&reactDom.createPortal(jsxRuntime.jsx(_i,{photos:e,currentIndex:s,onIndexChange:d,onClose:c,actions:r,activeActions:m,onAction:h,showGrain:a}),document.body)]})}function ro({count:e=30}){return jsxRuntime.jsx("div",{className:"flex shrink-0 items-center justify-between px-3",style:{height:22,background:no},children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx("div",{className:"rounded-xs",style:{width:12,height:8,background:Di}},r))})}function zi({photos:e,onPhotoClick:t,showGrain:r,className:n}){let o=Xr.useRef(null);return jsxRuntime.jsxs("div",{className:v("select-none rounded-lg overflow-hidden",n),style:{background:oo},children:[jsxRuntime.jsx(ro,{count:Math.max(30,e.length*6)}),jsxRuntime.jsx("div",{ref:o,className:"flex gap-1 overflow-x-auto scroll-smooth px-1 py-1",style:{background:no,scrollSnapType:"x mandatory"},children:e.map((a,i)=>jsxRuntime.jsxs("div",{className:"group relative shrink-0 cursor-pointer",style:{scrollSnapAlign:"center"},onClick:()=>t(i),children:[jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xs border",style:{borderColor:Jr,width:280,height:187},children:[jsxRuntime.jsx("img",{src:a.src,alt:a.alt??a.title??"",className:"h-full w-full object-cover transition-transform duration-700 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 mix-blend-multiply opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"rgba(255, 175, 60, 0.06)"}}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-[0.06]",style:{backgroundImage:xr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 transition-opacity duration-300 group-hover:opacity-50",style:{background:"radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.5) 100%)"}})]}),jsxRuntime.jsxs("div",{className:"mt-0.5 text-center font-mono text-[9px] tracking-widest",style:{color:Ot},children:[String(i+1).padStart(2,"0"),i%2===0?"":"A"]})]},i))}),jsxRuntime.jsx(ro,{count:Math.max(30,e.length*6)})]})}function Li({photos:e,onPhotoClick:t,showGrain:r,className:n,sheetTitle:o,sheetLabel:a}){return jsxRuntime.jsxs("div",{className:v("rounded-lg p-5",n),style:{background:oo},children:[jsxRuntime.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:Ot},children:o??`JAC\xB7Film 35mm \xB7 ${e.length} exposures`}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:Ot},children:a??"Contact Sheet"})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6",children:e.map((i,l)=>jsxRuntime.jsxs("div",{className:"group cursor-pointer",style:{animation:`reveal-up 0.4s ease-out ${l*50}ms both`},onClick:()=>t(l),children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-mono text-[9px] tracking-wider",style:{color:Ot},children:String(l+1).padStart(2,"0")}),jsxRuntime.jsxs("div",{className:"relative overflow-hidden rounded-[1px] border transition-all duration-300 group-hover:border-amber-600/50 group-hover:shadow-[0_0_20px_rgba(217,171,89,0.15)]",style:{borderColor:Jr,aspectRatio:"3/2"},children:[jsxRuntime.jsx("img",{src:i.src,alt:i.alt??"",className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-105",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:xr}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 translate-y-full bg-linear-to-t from-black/70 to-transparent p-2 pt-6 transition-transform duration-300 group-hover:translate-y-0",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-white/90",children:i.title})})]})]},l))})]})}function Ii({photos:e,onPhotoClick:t,showGrain:r,className:n}){let[o,a]=Xr.useState(false),[i,l]=Xr.useState(null),s=Math.min(e.length,8),d=e.slice(0,s),m=p=>{let c=Math.sin(p*137.508+1)*1e4,h=(c%12-6).toFixed(1),f=(c/7%8-4).toFixed(1),g=(c/13%6-3).toFixed(1);return `rotate(${h}deg) translate(${f}px, ${g}px)`},u=(p,c)=>{let h=(c-1)/2,f=((p-h)*7).toFixed(1),g=((p-h)*110).toFixed(0),b=(-Math.abs(p-h)*10+(i===p?-18:0)).toFixed(0);return `translateX(${g}px) translateY(${b}px) rotate(${f}deg)`};return jsxRuntime.jsxs("div",{className:v("flex flex-col items-center gap-4",n),children:[jsxRuntime.jsx("div",{className:"relative flex h-85 w-full items-center justify-center",onMouseEnter:()=>a(true),onMouseLeave:()=>{a(false),l(null);},children:d.map((p,c)=>jsxRuntime.jsx("div",{className:"absolute cursor-pointer rounded-lg shadow-xl transition-all duration-500",style:{transitionTimingFunction:"cubic-bezier(0.34, 1.56, 0.64, 1)",transitionDelay:o?`${c*35}ms`:`${(s-c)*25}ms`,transform:o?u(c,d.length):m(c),zIndex:o?c+1:d.length-c,width:220,height:147},onClick:()=>t(c),onMouseEnter:()=>o&&l(c),onMouseLeave:()=>l(null),children:jsxRuntime.jsxs("div",{className:"relative h-full w-full overflow-hidden rounded-lg border transition-shadow duration-300",style:{borderColor:o&&i===c?"rgba(217,171,89,0.5)":Jr,boxShadow:o&&i===c?"0 25px 50px rgba(0,0,0,0.5), 0 0 30px rgba(217,171,89,0.1)":"0 10px 30px rgba(0,0,0,0.4)"},children:[jsxRuntime.jsx("img",{src:p.src,alt:p.alt??"",className:"h-full w-full object-cover",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:xr}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.35) 100%)"}}),o&&i===c&&jsxRuntime.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-linear-to-t from-black/80 to-transparent p-3 pt-8",style:{animation:"reveal-up 0.25s ease-out"},children:jsxRuntime.jsx("span",{className:"text-sm font-medium text-white/90",children:p.title})})]})},c))}),e.length>s&&jsxRuntime.jsxs("span",{className:"font-mono text-xs",style:{color:Ot},children:["+ ",e.length-s," more"]}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] transition-opacity duration-300",style:{color:Ot,opacity:o?0:.7},children:"Hover to explore"})]})}function _i({photos:e,currentIndex:t,onIndexChange:r,onClose:n,actions:o,activeActions:a,onAction:i,showGrain:l}){let s=e[t],[d,m]=Xr.useState(1),[u,p]=Xr.useState({x:0,y:0}),[c,h]=Xr.useState(false),[f,g]=Xr.useState(false),b=Xr.useRef(false),w=Xr.useRef({x:0,y:0}),C=Xr.useRef(null);Xr.useLayoutEffect(()=>{requestAnimationFrame(()=>g(true));},[]),Xr.useEffect(()=>{let y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=y;}},[]),Xr.useEffect(()=>{let y=_=>{switch(_.key){case "Escape":n();break;case "ArrowLeft":x(-1);break;case "ArrowRight":x(1);break;case "i":case "I":h(B=>!B);break}};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)}),Xr.useEffect(()=>{let y=C.current;if(!y)return;let _=B=>{B.preventDefault();let R=B.deltaY<0?1.12:.89;m(K=>{let ie=Math.min(8,Math.max(1,K*R));return ie<=1&&p({x:0,y:0}),ie});};return y.addEventListener("wheel",_,{passive:false}),()=>y.removeEventListener("wheel",_)},[]);let x=Xr.useCallback(y=>{let _=t+y;_>=0&&_<e.length&&(r(_),m(1),p({x:0,y:0}));},[t,e.length,r]),M=Xr.useCallback(y=>{d<=1||(b.current=true,w.current={x:y.clientX,y:y.clientY},y.target.setPointerCapture(y.pointerId));},[d]),$=Xr.useCallback(y=>{if(!b.current)return;let _=y.clientX-w.current.x,B=y.clientY-w.current.y;w.current={x:y.clientX,y:y.clientY},p(R=>({x:R.x+_/d,y:R.y+B/d}));},[d]),P=Xr.useCallback(()=>{b.current=false;},[]),L=Xr.useCallback(()=>{d>1?(m(1),p({x:0,y:0})):m(2.5);},[d]),H=y=>a.has(`${t}-${y}`),D=s.metadata;return jsxRuntime.jsxs("div",{className:"fixed inset-0 z-200 flex flex-col",style:{animation:"lightbox-backdrop-in 0.35s ease-out"},children:[jsxRuntime.jsx("div",{className:"absolute inset-0 bg-black/95",onClick:n}),l&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.025]",style:{backgroundImage:xr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsxs("div",{className:"relative z-10 flex h-12 shrink-0 items-center justify-between px-4",children:[jsxRuntime.jsxs("span",{className:"font-mono text-sm text-white/50",children:[t+1," / ",e.length]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("span",{className:"mr-2 font-mono text-xs text-white/40",children:[d.toFixed(1),"x"]}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>m(y=>Math.min(8,y*1.3)),title:"Zoom in",children:jsxRuntime.jsx(lucideReact.ZoomIn,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>{m(y=>{let _=Math.max(1,y*.7);return _<=1&&p({x:0,y:0}),_});},title:"Zoom out",children:jsxRuntime.jsx(lucideReact.ZoomOut,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:n,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"})})]})]}),jsxRuntime.jsxs("div",{ref:C,className:"relative flex flex-1 items-center justify-center overflow-hidden",style:{cursor:d>1?"grab":"default"},onPointerDown:M,onPointerMove:$,onPointerUp:P,onDoubleClick:L,children:[jsxRuntime.jsx("img",{src:s.src,alt:s.alt??s.title??"",className:"max-h-full max-w-full select-none object-contain",style:{animation:"lightbox-photo-in 0.35s cubic-bezier(0.16, 1, 0.3, 1)",transform:`scale(${d}) translate(${u.x}px, ${u.y}px)`,transition:b.current?"none":"transform 0.15s ease-out"},draggable:false},t),t>0&&jsxRuntime.jsx("button",{className:"absolute left-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),x(-1);},children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:"h-6 w-6"})}),t<e.length-1&&jsxRuntime.jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),x(1);},children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-6 w-6"})})]}),jsxRuntime.jsx("div",{className:v("absolute inset-x-0 bottom-0 z-20 transition-all duration-400",c?"translate-y-0 opacity-100":"pointer-events-none translate-y-full opacity-0"),children:jsxRuntime.jsxs("div",{className:"bg-linear-to-t from-black/90 via-black/75 to-transparent px-6 pb-24 pt-16",children:[s.title&&jsxRuntime.jsx("h3",{className:"mb-3 text-xl font-semibold text-white",children:s.title}),s.description&&jsxRuntime.jsx("p",{className:"mb-4 max-w-xl border-l-2 border-amber-500/40 pl-4 text-sm leading-relaxed text-white/60 italic",style:{animation:"reveal-up 0.4s ease-out 0.1s both"},children:s.description}),D&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-white/70",children:[D.camera&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Camera,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",D.camera,D.lens&&jsxRuntime.jsx("span",{className:"text-white/40",children:"\xB7"}),D.lens&&D.lens]}),(D.aperture||D.shutter||D.iso)&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Aperture,{className:"h-3.5 w-3.5 text-amber-400/80"}),[D.aperture,D.shutter,D.iso&&`ISO ${D.iso}`].filter(Boolean).join(" \xB7 ")]}),D.date&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Calendar,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",D.date]}),D.location&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.MapPin,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",D.location]})]})]})}),jsxRuntime.jsx("div",{className:"relative z-20 flex h-16 shrink-0 items-center justify-center gap-1",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 rounded-full bg-white/6 px-2 py-1.5 backdrop-blur-xl",children:[o.map(y=>{let _=y.toggle&&H(y.key);return jsxRuntime.jsx("button",{className:v("rounded-full p-2.5 transition-all duration-200",_?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>i(y.key,t),title:y.label,children:_&&y.activeIcon?y.activeIcon:y.icon},y.key)}),jsxRuntime.jsx("div",{className:"mx-1 h-5 w-px bg-white/10"}),jsxRuntime.jsx("button",{className:v("rounded-full p-2.5 transition-all duration-200",c?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>h(y=>!y),title:"Photo info (I)",children:jsxRuntime.jsx(lucideReact.Info,{className:"h-5 w-5"})})]})})]})}var Zr="data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
2
2
  <rect width="200" height="200" fill="#1e1b2e"/>
3
3
  <circle cx="100" cy="100" r="60" fill="none" stroke="#6366f1" stroke-width="1.5" opacity="0.3"/>
4
4
  <circle cx="100" cy="100" r="20" fill="none" stroke="#6366f1" stroke-width="1" opacity="0.4"/>
5
5
  <text x="100" y="108" text-anchor="middle" font-family="monospace" font-size="18" fill="#6366f1" opacity="0.6">\u266A</text>
6
- </svg>`);function oo(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/60),r=Math.floor(e%60);return `${t}:${r.toString().padStart(2,"0")}`}function Ks(e){return e.startsWith("bottom")?"bottom":e.startsWith("top")?"top":"right"}var Ws={"bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4","top-right":"top-4 right-4","top-left":"top-4 left-4"},Ys={"bottom-right":"bottom-4 right-0","bottom-left":"bottom-4 left-0","top-right":"top-4 right-0","top-left":"top-4 left-0"},qs={"bottom-right":"bottom-8 right-0 w-1.5 h-16 rounded-l-full","bottom-left":"bottom-8 left-0 w-1.5 h-16 rounded-r-full","top-right":"top-8 right-0 w-1.5 h-16 rounded-l-full","top-left":"top-8 left-0 w-1.5 h-16 rounded-r-full"};function Qr({playlist:e,initialTrack:t=0,position:r="bottom-right",entrance:n,theme:o,docked:a=false,visible:s,onVisibleChange:l,onTrackChange:i,onLike:d,autoPlay:m=true,shuffle:u=false,loop:p=false,accent:c="#8b5cf6",className:h}){let [f,g]=Yr.useState(t),[b,w]=Yr.useState(false),[C,x]=Yr.useState(0),[M,F]=Yr.useState(0),[P,L]=Yr.useState(.8),[H,R]=Yr.useState(false),[y,_]=Yr.useState(new Set),[X,z]=Yr.useState(false),[Y,ge]=Yr.useState(s??!a),[E,ye]=Yr.useState(false),[fe,Ne]=Yr.useState(false),[ne,Te]=Yr.useState(u),[K,Ee]=Yr.useState(p),We=Yr.useRef(false),O=Yr.useRef(null),ae=Yr.useRef(null),le=Yr.useRef(void 0),te=Yr.useRef(null),be=Yr.useRef(null),Se=s??Y,De=n??Ks(r),J=e[f],ce=a,Pe=o==="dark"?"dark":o==="light"?"light":"",G="bg-(--mp-bg)",he="text-(--mp-text)",ke="text-(--mp-text-muted)",Ze="text-(--accent)",xe="border-(--mp-border)";Yr.useEffect(()=>{let A=O.current;A&&(A.src=J.src,A.load(),b&&A.play().catch(()=>{}));},[f,J.src]),Yr.useEffect(()=>{if(!m||We.current)return;let A=O.current;if(!A)return;let oe=()=>{We.current=true,w(true),A.play().catch(()=>{});};return A.addEventListener("canplaythrough",oe,{once:true}),()=>A.removeEventListener("canplaythrough",oe)},[m]),Yr.useEffect(()=>{let A=O.current;A&&(b?A.play().catch(()=>{}):A.pause());},[b]),Yr.useEffect(()=>{let A=O.current;A&&(A.muted=H,be.current?be.current.gain.value=H?0:P:A.volume=P);},[P,H]),Yr.useEffect(()=>{let A=O.current;if(!A)return;let oe=()=>x(A.currentTime),Re=()=>F(A.duration),et=()=>{K?(A.currentTime=0,A.play().catch(()=>{})):Ye();};return A.addEventListener("timeupdate",oe),A.addEventListener("loadedmetadata",Re),A.addEventListener("ended",et),()=>{A.removeEventListener("timeupdate",oe),A.removeEventListener("loadedmetadata",Re),A.removeEventListener("ended",et);}},[f,e.length]);let re=Yr.useCallback(A=>{let oe=(A%e.length+e.length)%e.length;g(oe),x(0),i?.(oe,e[oe]),Se||(ge(true),l?.(true));},[e,Se,i,l]),Ye=Yr.useCallback(()=>{if(ne){let A;do A=Math.floor(Math.random()*e.length);while(A===f&&e.length>1);re(A);}else re(f+1);},[re,f,ne,e.length]),ct=Yr.useCallback(()=>{if(ne){let A;do A=Math.floor(Math.random()*e.length);while(A===f&&e.length>1);re(A);}else re(f-1);},[re,f,ne,e.length]),it=Yr.useCallback(()=>{let A=y.has(f);_(oe=>{let Re=new Set(oe);return A?Re.delete(f):Re.add(f),Re}),d?.(f,J,!A);},[f,y,d,J]),St=Yr.useCallback(A=>{let oe=A.currentTarget.getBoundingClientRect(),et=Math.max(0,Math.min(1,(A.clientX-oe.left)/oe.width))*M;O.current&&(O.current.currentTime=et),x(et);},[M]),Ae=Yr.useCallback(()=>{ye(true);let A=ce?200:400;le.current=setTimeout(()=>{ye(false),ge(false),l?.(false);},A);},[ce,l]);Yr.useEffect(()=>()=>{le.current&&clearTimeout(le.current);},[]),Yr.useEffect(()=>()=>{te.current?.close();},[]);function _e(){if(te.current||!O.current){te.current?.resume();return}try{let A=window.AudioContext??window.webkitAudioContext;if(!A)return;let oe=new A,Re=oe.createGain();Re.gain.value=H?0:P,oe.createMediaElementSource(O.current).connect(Re).connect(oe.destination),te.current=oe,be.current=Re,oe.resume();}catch{}}let T=fe?"fade-in 0.2s ease-out both":`mp-enter-${De} 0.45s cubic-bezier(0.16, 1, 0.3, 1) both`,q=fe?"fade-in 0.2s ease-in reverse both":`mp-exit-${De} 0.4s cubic-bezier(0.7, 0, 0.84, 0) both`,de=M>0?C/M*100:0;return ce&&!Se&&!E?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:O,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsxs("div",{className:v("fixed z-100 cursor-pointer transition-all duration-300",qs[r]),style:{"--accent":c},onMouseEnter:()=>{Ne(true),ge(true),l?.(true);},children:[jsxRuntime.jsx("div",{className:v("h-full w-full rounded-full",b?"bg-(--accent)":"bg-(--mp-dock-strip)"),style:b?{animation:"mp-progress-glow 2s ease-in-out infinite",boxShadow:"0 0 12px color-mix(in srgb, var(--accent) 50%, transparent)"}:void 0}),b&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/30",style:{animation:"mp-pulse-ring 2s ease-out infinite"}})]})]}):!Se&&!E?jsxRuntime.jsx("audio",{ref:O,preload:"metadata",crossOrigin:"anonymous"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:O,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsx("div",{className:v("fixed z-100",ce?Ys[r]:Ws[r],Pe),style:{"--accent":c,...E?{animation:q}:{animation:T}},onMouseEnter:()=>{ce&&(le.current&&(clearTimeout(le.current),le.current=void 0),E&&ye(false),Ne(true));},onMouseLeave:()=>{ce&&(Ne(false),Ae());},children:jsxRuntime.jsxs("div",{className:v("w-[320px] overflow-hidden rounded-2xl border shadow-2xl backdrop-blur-xl",G,xe,ce&&"rounded-none",r.endsWith("right")&&ce&&"rounded-l-2xl",r.endsWith("left")&&ce&&"rounded-r-2xl",h),children:[jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 overflow-hidden",children:jsxRuntime.jsx("img",{src:J.cover||Jr,alt:"",className:"h-full w-full scale-110 object-cover opacity-30 blur-2xl",draggable:false})}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-3.5 p-4 pb-3",children:[jsxRuntime.jsxs("div",{className:"relative h-14 w-14 shrink-0",children:[jsxRuntime.jsxs("div",{className:"h-14 w-14 overflow-hidden rounded-full border-2 border-white/10 shadow-lg",style:b?{animation:"mp-vinyl-spin 4s linear infinite"}:void 0,children:[jsxRuntime.jsx("img",{src:J.cover||Jr,alt:J.album??J.title,className:"h-full w-full object-cover",draggable:false}),jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:jsxRuntime.jsx("div",{className:"h-3 w-3 rounded-full bg-black/60 ring-1 ring-white/10"})})]}),b&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/20",style:{animation:"mp-pulse-ring 2.5s ease-out infinite"}})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:v("truncate text-sm font-semibold",he),children:J.title}),J.artist&&jsxRuntime.jsx("div",{className:v("truncate text-xs",ke),children:J.artist}),J.album&&jsxRuntime.jsx("div",{className:v("mt-0.5 truncate text-[10px] tracking-wide",ke,"opacity-60"),children:J.album})]}),jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-all duration-200",y.has(f)?"text-rose-500 hover:text-rose-400":v(ke,"hover:text-rose-500")),onClick:it,title:"Like",children:jsxRuntime.jsx(lucideReact.Heart,{className:"h-4 w-4",fill:y.has(f)?"currentColor":"none"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",ke,"hover:"+he.split(" ")[0]),onClick:()=>z(A=>!A),title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListMusic,{className:"h-4 w-4"})}),!ce&&jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",ke,"hover:"+he.split(" ")[0]),onClick:Ae,title:"Dismiss",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]})]}),jsxRuntime.jsxs("div",{className:"px-4",children:[jsxRuntime.jsxs("div",{ref:ae,className:"group relative h-1.5 cursor-pointer rounded-full bg-(--mp-surface)",onClick:St,children:[jsxRuntime.jsx("div",{className:"h-full rounded-full bg-(--accent) transition-[width] duration-150",style:{width:`${de}%`}}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-y-1/2 rounded-full bg-(--accent) opacity-0 shadow-md transition-opacity group-hover:opacity-100",style:{left:`calc(${de}% - 6px)`}})]}),jsxRuntime.jsxs("div",{className:v("mt-1 flex justify-between text-[10px] font-mono",ke),children:[jsxRuntime.jsx("span",{children:oo(C)}),jsxRuntime.jsx("span",{children:oo(M)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-center gap-2 px-4 pb-3 pt-1",children:[jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",ne?Ze:ke,"hover:text-(--mp-text)"),onClick:()=>Te(A=>!A),title:ne?"Shuffle On":"Shuffle Off",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",K?Ze:ke,"hover:text-(--mp-text)"),onClick:()=>Ee(A=>!A),title:K?"Loop On":"Loop Off",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-2 transition-colors",ke,"hover:text-(--mp-text)"),onClick:ct,title:"Previous",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:v("flex h-10 w-10 items-center justify-center rounded-full transition-all duration-200","bg-(--accent) text-white shadow-lg active:scale-95"),style:{boxShadow:"0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent)"},onClick:()=>{_e(),w(A=>!A);},title:b?"Pause":"Play",children:b?jsxRuntime.jsx(lucideReact.Pause,{className:"h-4.5 w-4.5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-4.5 w-4.5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-2 transition-colors",ke,"hover:text-(--mp-text)"),onClick:Ye,title:"Next",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"ml-2 flex items-center gap-1.5",children:[jsxRuntime.jsx("button",{className:v("rounded-full p-1 transition-colors",ke,"hover:text-(--mp-text)"),onClick:()=>{_e();let A=!H;R(A),be.current&&(be.current.gain.value=A?0:P);},title:H?"Unmute":"Mute",children:H||P===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:H?0:P,onChange:A=>{_e();let oe=Number(A.target.value);L(oe),H&&R(false),be.current&&(be.current.gain.value=oe);},className:"mp-volume-slider h-1 w-14 cursor-pointer appearance-none rounded-full bg-(--mp-surface) accent-(--accent)"})]})]}),jsxRuntime.jsx("div",{className:v("overflow-hidden transition-all duration-300 ease-in-out",X?"max-h-60":"max-h-0"),children:jsxRuntime.jsx("div",{className:v("border-t px-2 py-2",xe),children:jsxRuntime.jsx("div",{className:"max-h-52 space-y-0.5 overflow-y-auto",children:e.map((A,oe)=>{let Re=oe===f;return jsxRuntime.jsxs("button",{className:v("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left transition-all duration-200",Re?"bg-(--accent)/10 dark:bg-(--accent)/15":"hover:bg-(--mp-surface-hover)"),onClick:()=>{re(oe),w(true);},children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center",children:Re&&b?jsxRuntime.jsx("div",{className:"flex items-end gap-0.5",children:[1,2,3].map(et=>jsxRuntime.jsx("div",{className:"w-0.75 rounded-full bg-(--accent)",style:{height:`${8+et*4}px`,animation:`mp-eq-bar ${.4+et*.15}s ease-in-out infinite alternate`}},et))}):Re?jsxRuntime.jsx(lucideReact.Disc3,{className:v("h-4 w-4",Ze)}):jsxRuntime.jsx("span",{className:v("text-xs font-mono",ke),children:oe+1})}),jsxRuntime.jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded",children:jsxRuntime.jsx("img",{src:A.cover||Jr,alt:"",className:"h-full w-full object-cover",draggable:false})}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:v("truncate text-xs font-medium",Re?Ze:he),children:A.title}),A.artist&&jsxRuntime.jsx("div",{className:v("truncate text-[10px]",ke),children:A.artist})]}),y.has(oe)&&jsxRuntime.jsx(lucideReact.Heart,{className:"h-3 w-3 shrink-0 text-rose-500",fill:"currentColor"})]},oe)})})})})]})})]})}function xr(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),n=Math.floor(e%60);return t>0?`${t}:${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:`${r}:${n.toString().padStart(2,"0")}`}var di={title:(e,t)=>e.title.localeCompare(t.title),type:(e,t)=>(e.type??"").localeCompare(t.type??""),duration:(e,t)=>(e.duration??0)-(t.duration??0)};function en({playlist:e,initialTrack:t=0,autoPlay:r=false,shuffle:n=false,loop:o=false,onTrackChange:a,onPlayChange:s,accent:l="#8b5cf6",className:i}){let[d,m]=Yr.useState(t),[u,p]=Yr.useState(false),[c,h]=Yr.useState(0),[f,g]=Yr.useState(0),[b,w]=Yr.useState(0),[C,x]=Yr.useState(.8),[M,F]=Yr.useState(false),[P,L]=Yr.useState(n),[H,R]=Yr.useState(o),[y,_]=Yr.useState(false),[X,z]=Yr.useState("title"),[Y,ge]=Yr.useState(true),[E,ye]=Yr.useState(false),[fe,Ne]=Yr.useState(false),[ne,Te]=Yr.useState(false),[K,Ee]=Yr.useState(true),[We,O]=Yr.useState(false),[ae,le]=Yr.useState(null),te=Yr.useRef(null),be=Yr.useRef(null),Se=Yr.useRef(void 0),De=Yr.useRef(false),J=e[d],at=Yr__default.default.useMemo(()=>{let T=e.map((q,de)=>({media:q,originalIndex:de}));return T.sort((q,de)=>{let A=di[X](q.media,de.media);return Y?A:-A}),T},[e,X,Y]);Yr.useEffect(()=>{let T=te.current;if(!T)return;O(true),T.src=J.src,J.poster&&(T.poster=J.poster),T.load();let q=()=>{O(false),u&&T.play().catch(()=>{});};return T.addEventListener("loadeddata",q,{once:true}),()=>T.removeEventListener("loadeddata",q)},[d,J.src]),Yr.useEffect(()=>{if(!r||De.current)return;let T=te.current;if(!T)return;let q=()=>{De.current=true,p(true),T.play().catch(()=>{});};return T.addEventListener("canplaythrough",q,{once:true}),()=>T.removeEventListener("canplaythrough",q)},[r]),Yr.useEffect(()=>{let T=te.current;T&&(u?T.play().catch(()=>{}):T.pause(),s?.(u));},[u]),Yr.useEffect(()=>{let T=te.current;T&&(T.volume=M?0:C);},[C,M]),Yr.useEffect(()=>{let T=te.current;if(!T)return;let q=()=>h(T.currentTime),de=()=>g(T.duration),A=()=>{T.buffered.length>0&&w(T.buffered.end(T.buffered.length-1));},oe=()=>{H?(T.currentTime=0,T.play().catch(()=>{})):G();};return T.addEventListener("timeupdate",q),T.addEventListener("loadedmetadata",de),T.addEventListener("progress",A),T.addEventListener("ended",oe),()=>{T.removeEventListener("timeupdate",q),T.removeEventListener("loadedmetadata",de),T.removeEventListener("progress",A),T.removeEventListener("ended",oe);}},[d,e.length,H]);let ce=Yr.useCallback(()=>{Ee(true),Se.current&&clearTimeout(Se.current),Se.current=setTimeout(()=>{u&&Ee(false);},3e3);},[u]);Yr.useEffect(()=>{u?ce():(Ee(true),Se.current&&clearTimeout(Se.current));},[u,ce]),Yr.useEffect(()=>()=>{Se.current&&clearTimeout(Se.current);},[]);let Pe=Yr.useCallback(T=>{let q=(T%e.length+e.length)%e.length;m(q),h(0),p(true),a?.(q,e[q]);},[e,a]),G=Yr.useCallback(()=>{if(P){let T;do T=Math.floor(Math.random()*e.length);while(T===d&&e.length>1);Pe(T);}else Pe(d+1);},[Pe,d,P,e.length]),he=Yr.useCallback(()=>{if(P){let T;do T=Math.floor(Math.random()*e.length);while(T===d&&e.length>1);Pe(T);}else Pe(d-1);},[Pe,d,P,e.length]),ke=Yr.useCallback(T=>{let q=T.currentTarget.getBoundingClientRect(),A=Math.max(0,Math.min(1,(T.clientX-q.left)/q.width))*f;te.current&&(te.current.currentTime=A),h(A);},[f]),Ze=Yr.useCallback(T=>{let q=T.currentTarget.getBoundingClientRect(),de=Math.max(0,Math.min(1,(T.clientX-q.left)/q.width));le(de*f);},[f]),xe=Yr.useCallback(()=>{be.current&&(document.fullscreenElement?document.exitFullscreen():be.current.requestFullscreen());},[]);Yr.useEffect(()=>{let T=()=>Te(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",T),()=>document.removeEventListener("fullscreenchange",T)},[]);let re=Yr.useCallback(()=>{E?(Ne(true),setTimeout(()=>{ye(false),Ne(false);},500)):ye(true);},[E]),Ye=Yr.useCallback(()=>{_(T=>!T);},[]),ct=Yr.useCallback(()=>{let T=["title","type","duration"],q=T.indexOf(X);Y?ge(false):(ge(true),z(T[(q+1)%T.length]));},[X,Y]);Yr.useEffect(()=>{let T=q=>{if(!(q.target instanceof HTMLInputElement||q.target instanceof HTMLTextAreaElement))switch(q.key){case " ":case "k":q.preventDefault(),p(de=>!de);break;case "f":q.preventDefault(),xe();break;case "t":q.preventDefault(),re();break;case "ArrowLeft":q.preventDefault(),te.current&&(te.current.currentTime=Math.max(0,c-5));break;case "ArrowRight":q.preventDefault(),te.current&&(te.current.currentTime=Math.min(f,c+5));break;case "ArrowUp":q.preventDefault(),x(de=>Math.min(1,de+.05));break;case "ArrowDown":q.preventDefault(),x(de=>Math.max(0,de-.05));break;case "Escape":E&&re();break;case "n":q.preventDefault(),G();break;case "p":q.preventDefault(),he();break;case "l":q.preventDefault(),Ye();break}};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[xe,re,Ye,G,he,c,f,E]);let it=f>0?c/f*100:0,St=f>0?b/f*100:0,Ae="text-(--accent)",_e=jsxRuntime.jsxs("div",{ref:be,className:v("group flex overflow-hidden",ne?"h-full w-full":"aspect-video w-full",!ne&&"rounded-xl",!ne&&u&&"shadow-2xl",!ne&&!u&&"animate-[cp-glow-pulse_4s_ease-in-out_infinite] will-change-[box-shadow]",i),style:{"--accent":l,background:"var(--cp-bg)"},tabIndex:0,children:[jsxRuntime.jsxs("div",{className:v("relative flex-1 min-w-0 h-full overflow-hidden",We&&"animate-[cp-track-transition_0.6s_ease-out]"),onMouseMove:ce,onMouseLeave:()=>{u&&Ee(false);},children:[jsxRuntime.jsx("video",{ref:te,className:"h-full w-full object-contain",poster:J.poster,playsInline:true,preload:"metadata",onClick:()=>p(T=>!T)}),!u&&!We&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex cursor-pointer items-center justify-center",style:{background:"var(--cp-overlay)"},onClick:()=>p(true),children:jsxRuntime.jsx("div",{className:"flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md transition-transform hover:scale-110 active:scale-95",style:{background:"var(--cp-surface-hover)"},children:jsxRuntime.jsx(lucideReact.Play,{className:"h-10 w-10 translate-x-0.5",fill:"currentColor",style:{color:"var(--cp-text-strong)"}})})}),We&&!K&&jsxRuntime.jsx("div",{className:"absolute left-6 top-6 z-20 animate-[fade-in_0.4s_ease-out]",children:jsxRuntime.jsxs("div",{className:"rounded-lg px-4 py-2 backdrop-blur-md",style:{background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsx("div",{className:"text-sm font-semibold",style:{color:"var(--cp-text-strong)"},children:J.title}),J.subtitle&&jsxRuntime.jsx("div",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:J.subtitle})]})}),jsxRuntime.jsx("div",{className:v("absolute inset-x-0 top-0 z-10 bg-linear-to-b from-black/70 to-transparent px-5 pb-8 pt-4 transition-opacity duration-500",K?"opacity-100":"pointer-events-none opacity-0"),children:jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-sm font-semibold drop-shadow-md",style:{color:"var(--cp-text-strong)"},children:J.title}),J.subtitle&&jsxRuntime.jsx("p",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:J.subtitle})]}),J.type&&jsxRuntime.jsx("span",{className:"rounded-full bg-(--accent)/70 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider backdrop-blur-sm",style:{color:"var(--cp-text-strong)"},children:J.type})]})}),jsxRuntime.jsxs("div",{className:v("absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/80 via-black/40 to-transparent px-4 pb-3 pt-10 transition-all duration-500",K?"translate-y-0 opacity-100":"pointer-events-none translate-y-2 opacity-0"),children:[jsxRuntime.jsxs("div",{className:"group/seek relative mb-3 h-1 cursor-pointer rounded-full transition-[height] duration-200 hover:h-1.5",style:{background:"var(--cp-seek-track)"},onClick:ke,onMouseMove:Ze,onMouseLeave:()=>le(null),children:[jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full",style:{width:`${St}%`,background:"var(--cp-seek-buffer)"}}),jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full bg-(--accent) transition-[width] duration-100",style:{width:`${it}%`}}),ae!==null&&jsxRuntime.jsx("div",{className:"absolute -top-8 -translate-x-1/2 rounded px-2 py-0.5 text-[10px] font-mono",style:{left:`${ae/f*100}%`,background:"var(--cp-panel-bg)",color:"var(--cp-text-strong)"},children:xr(ae)}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3.5 w-3.5 -translate-y-1/2 rounded-full border-2 border-(--accent) bg-white opacity-0 shadow-lg transition-opacity group-hover/seek:opacity-100",style:{left:`calc(${it}% - 7px)`}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>p(T=>!T),title:u?"Pause (k)":"Play (k)",children:u?jsxRuntime.jsx(lucideReact.Pause,{className:"h-5 w-5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-5 w-5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:he,title:"Previous (p)",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:G,title:"Next (n)",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"group/vol ml-1 flex items-center",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>F(T=>!T),title:M?"Unmute":"Mute",children:M||C===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-4 w-4"})}),jsxRuntime.jsx("div",{className:"flex w-0 items-center overflow-hidden transition-all duration-300 group-hover/vol:w-20",children:jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:M?0:C,onChange:T=>{x(Number(T.target.value)),M&&F(false);},className:"h-1 w-full cursor-pointer appearance-none rounded-full accent-(--accent)",style:{background:"var(--cp-seek-track)"}})})]}),jsxRuntime.jsxs("span",{className:"ml-2 min-w-0 shrink-0 font-mono text-xs",style:{color:"var(--cp-text-muted)"},children:[xr(c)," / ",xr(f)]}),jsxRuntime.jsx("div",{className:"flex-1"}),jsxRuntime.jsx("button",{className:v("cp-btn",P&&Ae),onClick:()=>L(T=>!T),title:"Shuffle",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:v("cp-btn",H&&Ae),onClick:()=>R(T=>!T),title:"Loop",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:v("cp-btn",y&&Ae),onClick:Ye,title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListVideo,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:v("cp-btn",E&&Ae),onClick:re,title:"Cinema mode (t)",children:jsxRuntime.jsx(lucideReact.Theater,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:xe,title:"Fullscreen (f)",children:ne?jsxRuntime.jsx(lucideReact.Minimize,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Maximize,{className:"h-4 w-4"})})]})]})]}),jsxRuntime.jsx("div",{className:v("h-full shrink-0 overflow-hidden transition-[width] duration-300 ease-out",y?"w-72":"w-0"),children:jsxRuntime.jsxs("div",{className:"flex h-full w-72 flex-col backdrop-blur-xl",style:{borderLeft:"1px solid var(--cp-border)",background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid var(--cp-border)"},children:[jsxRuntime.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:"var(--cp-text)"},children:"Playlist"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("button",{className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium transition-colors",style:{color:"var(--cp-text-muted)"},onClick:ct,title:`Sort: ${X} ${Y?"\u2191":"\u2193"}`,children:[jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:"h-3 w-3"}),X,Y?" \u2191":" \u2193"]}),jsxRuntime.jsx("button",{className:"cp-btn p-1!",onClick:Ye,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto",children:at.map(({media:T,originalIndex:q})=>{let de=q===d;return jsxRuntime.jsxs("button",{className:v("flex w-full items-center gap-3 px-4 py-2.5 text-left transition-all duration-200",de?"bg-(--accent)/20 text-(--accent)":"hover:text-(--cp-text-strong)"),style:de?void 0:{color:"var(--cp-text)"},onClick:()=>{Pe(q);},children:[jsxRuntime.jsxs("div",{className:"relative h-10 w-16 shrink-0 overflow-hidden rounded",style:{background:"var(--cp-surface)"},children:[T.poster?jsxRuntime.jsx("img",{src:T.poster,alt:"",className:"h-full w-full object-cover",draggable:false}):jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsxRuntime.jsx(lucideReact.Play,{className:"h-4 w-4",style:{color:"var(--cp-seek-track)"}})}),de&&u&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"var(--cp-overlay)"},children:jsxRuntime.jsx("div",{className:"flex items-end gap-px",children:[1,2,3,4].map(A=>jsxRuntime.jsx("div",{className:"w-0.5 rounded-full bg-(--accent)",style:{height:`${6+A*3}px`,animation:`mp-eq-bar ${.3+A*.12}s ease-in-out infinite alternate`}},A))})})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:"truncate text-xs font-medium",children:T.title}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[T.type&&jsxRuntime.jsx("span",{className:"text-[10px] uppercase tracking-wide opacity-50",children:T.type}),T.duration!=null&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] opacity-40",children:xr(T.duration)})]})]}),de&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-(--accent)"})]},q)})})]})}),jsxRuntime.jsx("style",{children:`
6
+ </svg>`);function io(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/60),r=Math.floor(e%60);return `${t}:${r.toString().padStart(2,"0")}`}function Xi(e){return e.startsWith("bottom")?"bottom":e.startsWith("top")?"top":"right"}var Gi={"bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4","top-right":"top-4 right-4","top-left":"top-4 left-4"},Ji={"bottom-right":"bottom-4 right-0","bottom-left":"bottom-4 left-0","top-right":"top-4 right-0","top-left":"top-4 left-0"},Qi={"bottom-right":"bottom-8 right-0 w-1.5 h-16 rounded-l-full","bottom-left":"bottom-8 left-0 w-1.5 h-16 rounded-r-full","top-right":"top-8 right-0 w-1.5 h-16 rounded-l-full","top-left":"top-8 left-0 w-1.5 h-16 rounded-r-full"};function en({playlist:e,initialTrack:t=0,position:r="bottom-right",entrance:n,theme:o,docked:a=false,visible:i,onVisibleChange:l,onTrackChange:s,onLike:d,autoPlay:m=true,shuffle:u=false,loop:p=false,accent:c="#8b5cf6",className:h}){let [f,g]=Xr.useState(t),[b,w]=Xr.useState(false),[C,x]=Xr.useState(0),[M,$]=Xr.useState(0),[P,L]=Xr.useState(.8),[H,D]=Xr.useState(false),[y,_]=Xr.useState(new Set),[B,R]=Xr.useState(false),[K,ie]=Xr.useState(i??!a),[T,ye]=Xr.useState(false),[he,Ne]=Xr.useState(false),[ne,Te]=Xr.useState(u),[Y,Ee]=Xr.useState(p),We=Xr.useRef(false),O=Xr.useRef(null),ae=Xr.useRef(null),ce=Xr.useRef(void 0),te=Xr.useRef(null),be=Xr.useRef(null),Se=i??K,De=n??Xi(r),J=e[f],de=a,Pe=o==="dark"?"dark":o==="light"?"light":"",G="bg-(--mp-bg)",ge="text-(--mp-text)",ke="text-(--mp-text-muted)",Ze="text-(--accent)",xe="border-(--mp-border)";Xr.useEffect(()=>{let z=O.current;z&&(z.src=J.src,z.load(),b&&z.play().catch(()=>{}));},[f,J.src]),Xr.useEffect(()=>{if(!m||We.current)return;let z=O.current;if(!z)return;let oe=()=>{We.current=true,w(true),z.play().catch(()=>{});};return z.addEventListener("canplaythrough",oe,{once:true}),()=>z.removeEventListener("canplaythrough",oe)},[m]),Xr.useEffect(()=>{let z=O.current;z&&(b?z.play().catch(()=>{}):z.pause());},[b]),Xr.useEffect(()=>{let z=O.current;z&&(z.muted=H,be.current?be.current.gain.value=H?0:P:z.volume=P);},[P,H]),Xr.useEffect(()=>{let z=O.current;if(!z)return;let oe=()=>x(z.currentTime),Re=()=>$(z.duration),et=()=>{Y?(z.currentTime=0,z.play().catch(()=>{})):Ye();};return z.addEventListener("timeupdate",oe),z.addEventListener("loadedmetadata",Re),z.addEventListener("ended",et),()=>{z.removeEventListener("timeupdate",oe),z.removeEventListener("loadedmetadata",Re),z.removeEventListener("ended",et);}},[f,e.length]);let re=Xr.useCallback(z=>{let oe=(z%e.length+e.length)%e.length;g(oe),x(0),s?.(oe,e[oe]),Se||(ie(true),l?.(true));},[e,Se,s,l]),Ye=Xr.useCallback(()=>{if(ne){let z;do z=Math.floor(Math.random()*e.length);while(z===f&&e.length>1);re(z);}else re(f+1);},[re,f,ne,e.length]),ct=Xr.useCallback(()=>{if(ne){let z;do z=Math.floor(Math.random()*e.length);while(z===f&&e.length>1);re(z);}else re(f-1);},[re,f,ne,e.length]),st=Xr.useCallback(()=>{let z=y.has(f);_(oe=>{let Re=new Set(oe);return z?Re.delete(f):Re.add(f),Re}),d?.(f,J,!z);},[f,y,d,J]),St=Xr.useCallback(z=>{let oe=z.currentTarget.getBoundingClientRect(),et=Math.max(0,Math.min(1,(z.clientX-oe.left)/oe.width))*M;O.current&&(O.current.currentTime=et),x(et);},[M]),Ae=Xr.useCallback(()=>{ye(true);let z=de?200:400;ce.current=setTimeout(()=>{ye(false),ie(false),l?.(false);},z);},[de,l]);Xr.useEffect(()=>()=>{ce.current&&clearTimeout(ce.current);},[]),Xr.useEffect(()=>()=>{te.current?.close();},[]);function _e(){if(te.current||!O.current){te.current?.resume();return}try{let z=window.AudioContext??window.webkitAudioContext;if(!z)return;let oe=new z,Re=oe.createGain();Re.gain.value=H?0:P,oe.createMediaElementSource(O.current).connect(Re).connect(oe.destination),te.current=oe,be.current=Re,oe.resume();}catch{}}let E=he?"fade-in 0.2s ease-out both":`mp-enter-${De} 0.45s cubic-bezier(0.16, 1, 0.3, 1) both`,X=he?"fade-in 0.2s ease-in reverse both":`mp-exit-${De} 0.4s cubic-bezier(0.7, 0, 0.84, 0) both`,ue=M>0?C/M*100:0;return de&&!Se&&!T?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:O,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsxs("div",{className:v("fixed z-100 cursor-pointer transition-all duration-300",Qi[r]),style:{"--accent":c},onMouseEnter:()=>{Ne(true),ie(true),l?.(true);},children:[jsxRuntime.jsx("div",{className:v("h-full w-full rounded-full",b?"bg-(--accent)":"bg-(--mp-dock-strip)"),style:b?{animation:"mp-progress-glow 2s ease-in-out infinite",boxShadow:"0 0 12px color-mix(in srgb, var(--accent) 50%, transparent)"}:void 0}),b&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/30",style:{animation:"mp-pulse-ring 2s ease-out infinite"}})]})]}):!Se&&!T?jsxRuntime.jsx("audio",{ref:O,preload:"metadata",crossOrigin:"anonymous"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:O,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsx("div",{className:v("fixed z-100",de?Ji[r]:Gi[r],Pe),style:{"--accent":c,...T?{animation:X}:{animation:E}},onMouseEnter:()=>{de&&(ce.current&&(clearTimeout(ce.current),ce.current=void 0),T&&ye(false),Ne(true));},onMouseLeave:()=>{de&&(Ne(false),Ae());},children:jsxRuntime.jsxs("div",{className:v("w-[320px] overflow-hidden rounded-2xl border shadow-2xl backdrop-blur-xl",G,xe,de&&"rounded-none",r.endsWith("right")&&de&&"rounded-l-2xl",r.endsWith("left")&&de&&"rounded-r-2xl",h),children:[jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 overflow-hidden",children:jsxRuntime.jsx("img",{src:J.cover||Zr,alt:"",className:"h-full w-full scale-110 object-cover opacity-30 blur-2xl",draggable:false})}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-3.5 p-4 pb-3",children:[jsxRuntime.jsxs("div",{className:"relative h-14 w-14 shrink-0",children:[jsxRuntime.jsxs("div",{className:"h-14 w-14 overflow-hidden rounded-full border-2 border-white/10 shadow-lg",style:b?{animation:"mp-vinyl-spin 4s linear infinite"}:void 0,children:[jsxRuntime.jsx("img",{src:J.cover||Zr,alt:J.album??J.title,className:"h-full w-full object-cover",draggable:false}),jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:jsxRuntime.jsx("div",{className:"h-3 w-3 rounded-full bg-black/60 ring-1 ring-white/10"})})]}),b&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/20",style:{animation:"mp-pulse-ring 2.5s ease-out infinite"}})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:v("truncate text-sm font-semibold",ge),children:J.title}),J.artist&&jsxRuntime.jsx("div",{className:v("truncate text-xs",ke),children:J.artist}),J.album&&jsxRuntime.jsx("div",{className:v("mt-0.5 truncate text-[10px] tracking-wide",ke,"opacity-60"),children:J.album})]}),jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-all duration-200",y.has(f)?"text-rose-500 hover:text-rose-400":v(ke,"hover:text-rose-500")),onClick:st,title:"Like",children:jsxRuntime.jsx(lucideReact.Heart,{className:"h-4 w-4",fill:y.has(f)?"currentColor":"none"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",ke,"hover:"+ge.split(" ")[0]),onClick:()=>R(z=>!z),title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListMusic,{className:"h-4 w-4"})}),!de&&jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",ke,"hover:"+ge.split(" ")[0]),onClick:Ae,title:"Dismiss",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]})]}),jsxRuntime.jsxs("div",{className:"px-4",children:[jsxRuntime.jsxs("div",{ref:ae,className:"group relative h-1.5 cursor-pointer rounded-full bg-(--mp-surface)",onClick:St,children:[jsxRuntime.jsx("div",{className:"h-full rounded-full bg-(--accent) transition-[width] duration-150",style:{width:`${ue}%`}}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-y-1/2 rounded-full bg-(--accent) opacity-0 shadow-md transition-opacity group-hover:opacity-100",style:{left:`calc(${ue}% - 6px)`}})]}),jsxRuntime.jsxs("div",{className:v("mt-1 flex justify-between text-[10px] font-mono",ke),children:[jsxRuntime.jsx("span",{children:io(C)}),jsxRuntime.jsx("span",{children:io(M)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-center gap-2 px-4 pb-3 pt-1",children:[jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",ne?Ze:ke,"hover:text-(--mp-text)"),onClick:()=>Te(z=>!z),title:ne?"Shuffle On":"Shuffle Off",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-1.5 transition-colors",Y?Ze:ke,"hover:text-(--mp-text)"),onClick:()=>Ee(z=>!z),title:Y?"Loop On":"Loop Off",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-2 transition-colors",ke,"hover:text-(--mp-text)"),onClick:ct,title:"Previous",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:v("flex h-10 w-10 items-center justify-center rounded-full transition-all duration-200","bg-(--accent) text-white shadow-lg active:scale-95"),style:{boxShadow:"0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent)"},onClick:()=>{_e(),w(z=>!z);},title:b?"Pause":"Play",children:b?jsxRuntime.jsx(lucideReact.Pause,{className:"h-4.5 w-4.5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-4.5 w-4.5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:v("rounded-full p-2 transition-colors",ke,"hover:text-(--mp-text)"),onClick:Ye,title:"Next",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"ml-2 flex items-center gap-1.5",children:[jsxRuntime.jsx("button",{className:v("rounded-full p-1 transition-colors",ke,"hover:text-(--mp-text)"),onClick:()=>{_e();let z=!H;D(z),be.current&&(be.current.gain.value=z?0:P);},title:H?"Unmute":"Mute",children:H||P===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:H?0:P,onChange:z=>{_e();let oe=Number(z.target.value);L(oe),H&&D(false),be.current&&(be.current.gain.value=oe);},className:"mp-volume-slider h-1 w-14 cursor-pointer appearance-none rounded-full bg-(--mp-surface) accent-(--accent)"})]})]}),jsxRuntime.jsx("div",{className:v("overflow-hidden transition-all duration-300 ease-in-out",B?"max-h-60":"max-h-0"),children:jsxRuntime.jsx("div",{className:v("border-t px-2 py-2",xe),children:jsxRuntime.jsx("div",{className:"max-h-52 space-y-0.5 overflow-y-auto",children:e.map((z,oe)=>{let Re=oe===f;return jsxRuntime.jsxs("button",{className:v("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left transition-all duration-200",Re?"bg-(--accent)/10 dark:bg-(--accent)/15":"hover:bg-(--mp-surface-hover)"),onClick:()=>{re(oe),w(true);},children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center",children:Re&&b?jsxRuntime.jsx("div",{className:"flex items-end gap-0.5",children:[1,2,3].map(et=>jsxRuntime.jsx("div",{className:"w-0.75 rounded-full bg-(--accent)",style:{height:`${8+et*4}px`,animation:`mp-eq-bar ${.4+et*.15}s ease-in-out infinite alternate`}},et))}):Re?jsxRuntime.jsx(lucideReact.Disc3,{className:v("h-4 w-4",Ze)}):jsxRuntime.jsx("span",{className:v("text-xs font-mono",ke),children:oe+1})}),jsxRuntime.jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded",children:jsxRuntime.jsx("img",{src:z.cover||Zr,alt:"",className:"h-full w-full object-cover",draggable:false})}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:v("truncate text-xs font-medium",Re?Ze:ge),children:z.title}),z.artist&&jsxRuntime.jsx("div",{className:v("truncate text-[10px]",ke),children:z.artist})]}),y.has(oe)&&jsxRuntime.jsx(lucideReact.Heart,{className:"h-3 w-3 shrink-0 text-rose-500",fill:"currentColor"})]},oe)})})})})]})})]})}function kr(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),n=Math.floor(e%60);return t>0?`${t}:${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:`${r}:${n.toString().padStart(2,"0")}`}var fs={title:(e,t)=>e.title.localeCompare(t.title),type:(e,t)=>(e.type??"").localeCompare(t.type??""),duration:(e,t)=>(e.duration??0)-(t.duration??0)};function rn({playlist:e,initialTrack:t=0,autoPlay:r=false,shuffle:n=false,loop:o=false,onTrackChange:a,onPlayChange:i,accent:l="#8b5cf6",className:s}){let[d,m]=Xr.useState(t),[u,p]=Xr.useState(false),[c,h]=Xr.useState(0),[f,g]=Xr.useState(0),[b,w]=Xr.useState(0),[C,x]=Xr.useState(.8),[M,$]=Xr.useState(false),[P,L]=Xr.useState(n),[H,D]=Xr.useState(o),[y,_]=Xr.useState(false),[B,R]=Xr.useState("title"),[K,ie]=Xr.useState(true),[T,ye]=Xr.useState(false),[he,Ne]=Xr.useState(false),[ne,Te]=Xr.useState(false),[Y,Ee]=Xr.useState(true),[We,O]=Xr.useState(false),[ae,ce]=Xr.useState(null),te=Xr.useRef(null),be=Xr.useRef(null),Se=Xr.useRef(void 0),De=Xr.useRef(false),J=e[d],at=Xr__default.default.useMemo(()=>{let E=e.map((X,ue)=>({media:X,originalIndex:ue}));return E.sort((X,ue)=>{let z=fs[B](X.media,ue.media);return K?z:-z}),E},[e,B,K]);Xr.useEffect(()=>{let E=te.current;if(!E)return;O(true),E.src=J.src,J.poster&&(E.poster=J.poster),E.load();let X=()=>{O(false),u&&E.play().catch(()=>{});};return E.addEventListener("loadeddata",X,{once:true}),()=>E.removeEventListener("loadeddata",X)},[d,J.src]),Xr.useEffect(()=>{if(!r||De.current)return;let E=te.current;if(!E)return;let X=()=>{De.current=true,p(true),E.play().catch(()=>{});};return E.addEventListener("canplaythrough",X,{once:true}),()=>E.removeEventListener("canplaythrough",X)},[r]),Xr.useEffect(()=>{let E=te.current;E&&(u?E.play().catch(()=>{}):E.pause(),i?.(u));},[u]),Xr.useEffect(()=>{let E=te.current;E&&(E.volume=M?0:C);},[C,M]),Xr.useEffect(()=>{let E=te.current;if(!E)return;let X=()=>h(E.currentTime),ue=()=>g(E.duration),z=()=>{E.buffered.length>0&&w(E.buffered.end(E.buffered.length-1));},oe=()=>{H?(E.currentTime=0,E.play().catch(()=>{})):G();};return E.addEventListener("timeupdate",X),E.addEventListener("loadedmetadata",ue),E.addEventListener("progress",z),E.addEventListener("ended",oe),()=>{E.removeEventListener("timeupdate",X),E.removeEventListener("loadedmetadata",ue),E.removeEventListener("progress",z),E.removeEventListener("ended",oe);}},[d,e.length,H]);let de=Xr.useCallback(()=>{Ee(true),Se.current&&clearTimeout(Se.current),Se.current=setTimeout(()=>{u&&Ee(false);},3e3);},[u]);Xr.useEffect(()=>{u?de():(Ee(true),Se.current&&clearTimeout(Se.current));},[u,de]),Xr.useEffect(()=>()=>{Se.current&&clearTimeout(Se.current);},[]);let Pe=Xr.useCallback(E=>{let X=(E%e.length+e.length)%e.length;m(X),h(0),p(true),a?.(X,e[X]);},[e,a]),G=Xr.useCallback(()=>{if(P){let E;do E=Math.floor(Math.random()*e.length);while(E===d&&e.length>1);Pe(E);}else Pe(d+1);},[Pe,d,P,e.length]),ge=Xr.useCallback(()=>{if(P){let E;do E=Math.floor(Math.random()*e.length);while(E===d&&e.length>1);Pe(E);}else Pe(d-1);},[Pe,d,P,e.length]),ke=Xr.useCallback(E=>{let X=E.currentTarget.getBoundingClientRect(),z=Math.max(0,Math.min(1,(E.clientX-X.left)/X.width))*f;te.current&&(te.current.currentTime=z),h(z);},[f]),Ze=Xr.useCallback(E=>{let X=E.currentTarget.getBoundingClientRect(),ue=Math.max(0,Math.min(1,(E.clientX-X.left)/X.width));ce(ue*f);},[f]),xe=Xr.useCallback(()=>{be.current&&(document.fullscreenElement?document.exitFullscreen():be.current.requestFullscreen());},[]);Xr.useEffect(()=>{let E=()=>Te(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",E),()=>document.removeEventListener("fullscreenchange",E)},[]);let re=Xr.useCallback(()=>{T?(Ne(true),setTimeout(()=>{ye(false),Ne(false);},500)):ye(true);},[T]),Ye=Xr.useCallback(()=>{_(E=>!E);},[]),ct=Xr.useCallback(()=>{let E=["title","type","duration"],X=E.indexOf(B);K?ie(false):(ie(true),R(E[(X+1)%E.length]));},[B,K]);Xr.useEffect(()=>{let E=X=>{if(!(X.target instanceof HTMLInputElement||X.target instanceof HTMLTextAreaElement))switch(X.key){case " ":case "k":X.preventDefault(),p(ue=>!ue);break;case "f":X.preventDefault(),xe();break;case "t":X.preventDefault(),re();break;case "ArrowLeft":X.preventDefault(),te.current&&(te.current.currentTime=Math.max(0,c-5));break;case "ArrowRight":X.preventDefault(),te.current&&(te.current.currentTime=Math.min(f,c+5));break;case "ArrowUp":X.preventDefault(),x(ue=>Math.min(1,ue+.05));break;case "ArrowDown":X.preventDefault(),x(ue=>Math.max(0,ue-.05));break;case "Escape":T&&re();break;case "n":X.preventDefault(),G();break;case "p":X.preventDefault(),ge();break;case "l":X.preventDefault(),Ye();break}};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[xe,re,Ye,G,ge,c,f,T]);let st=f>0?c/f*100:0,St=f>0?b/f*100:0,Ae="text-(--accent)",_e=jsxRuntime.jsxs("div",{ref:be,className:v("group flex overflow-hidden",ne?"h-full w-full":"aspect-video w-full",!ne&&"rounded-xl",!ne&&u&&"shadow-2xl",!ne&&!u&&"animate-[cp-glow-pulse_4s_ease-in-out_infinite] will-change-[box-shadow]",s),style:{"--accent":l,background:"var(--cp-bg)"},tabIndex:0,children:[jsxRuntime.jsxs("div",{className:v("relative flex-1 min-w-0 h-full overflow-hidden",We&&"animate-[cp-track-transition_0.6s_ease-out]"),onMouseMove:de,onMouseLeave:()=>{u&&Ee(false);},children:[jsxRuntime.jsx("video",{ref:te,className:"h-full w-full object-contain",poster:J.poster,playsInline:true,preload:"metadata",onClick:()=>p(E=>!E)}),!u&&!We&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex cursor-pointer items-center justify-center",style:{background:"var(--cp-overlay)"},onClick:()=>p(true),children:jsxRuntime.jsx("div",{className:"flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md transition-transform hover:scale-110 active:scale-95",style:{background:"var(--cp-surface-hover)"},children:jsxRuntime.jsx(lucideReact.Play,{className:"h-10 w-10 translate-x-0.5",fill:"currentColor",style:{color:"var(--cp-text-strong)"}})})}),We&&!Y&&jsxRuntime.jsx("div",{className:"absolute left-6 top-6 z-20 animate-[fade-in_0.4s_ease-out]",children:jsxRuntime.jsxs("div",{className:"rounded-lg px-4 py-2 backdrop-blur-md",style:{background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsx("div",{className:"text-sm font-semibold",style:{color:"var(--cp-text-strong)"},children:J.title}),J.subtitle&&jsxRuntime.jsx("div",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:J.subtitle})]})}),jsxRuntime.jsx("div",{className:v("absolute inset-x-0 top-0 z-10 bg-linear-to-b from-black/70 to-transparent px-5 pb-8 pt-4 transition-opacity duration-500",Y?"opacity-100":"pointer-events-none opacity-0"),children:jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-sm font-semibold drop-shadow-md",style:{color:"var(--cp-text-strong)"},children:J.title}),J.subtitle&&jsxRuntime.jsx("p",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:J.subtitle})]}),J.type&&jsxRuntime.jsx("span",{className:"rounded-full bg-(--accent)/70 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider backdrop-blur-sm",style:{color:"var(--cp-text-strong)"},children:J.type})]})}),jsxRuntime.jsxs("div",{className:v("absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/80 via-black/40 to-transparent px-4 pb-3 pt-10 transition-all duration-500",Y?"translate-y-0 opacity-100":"pointer-events-none translate-y-2 opacity-0"),children:[jsxRuntime.jsxs("div",{className:"group/seek relative mb-3 h-1 cursor-pointer rounded-full transition-[height] duration-200 hover:h-1.5",style:{background:"var(--cp-seek-track)"},onClick:ke,onMouseMove:Ze,onMouseLeave:()=>ce(null),children:[jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full",style:{width:`${St}%`,background:"var(--cp-seek-buffer)"}}),jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full bg-(--accent) transition-[width] duration-100",style:{width:`${st}%`}}),ae!==null&&jsxRuntime.jsx("div",{className:"absolute -top-8 -translate-x-1/2 rounded px-2 py-0.5 text-[10px] font-mono",style:{left:`${ae/f*100}%`,background:"var(--cp-panel-bg)",color:"var(--cp-text-strong)"},children:kr(ae)}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3.5 w-3.5 -translate-y-1/2 rounded-full border-2 border-(--accent) bg-white opacity-0 shadow-lg transition-opacity group-hover/seek:opacity-100",style:{left:`calc(${st}% - 7px)`}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>p(E=>!E),title:u?"Pause (k)":"Play (k)",children:u?jsxRuntime.jsx(lucideReact.Pause,{className:"h-5 w-5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-5 w-5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:ge,title:"Previous (p)",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:G,title:"Next (n)",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"group/vol ml-1 flex items-center",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>$(E=>!E),title:M?"Unmute":"Mute",children:M||C===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-4 w-4"})}),jsxRuntime.jsx("div",{className:"flex w-0 items-center overflow-hidden transition-all duration-300 group-hover/vol:w-20",children:jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:M?0:C,onChange:E=>{x(Number(E.target.value)),M&&$(false);},className:"h-1 w-full cursor-pointer appearance-none rounded-full accent-(--accent)",style:{background:"var(--cp-seek-track)"}})})]}),jsxRuntime.jsxs("span",{className:"ml-2 min-w-0 shrink-0 font-mono text-xs",style:{color:"var(--cp-text-muted)"},children:[kr(c)," / ",kr(f)]}),jsxRuntime.jsx("div",{className:"flex-1"}),jsxRuntime.jsx("button",{className:v("cp-btn",P&&Ae),onClick:()=>L(E=>!E),title:"Shuffle",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:v("cp-btn",H&&Ae),onClick:()=>D(E=>!E),title:"Loop",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:v("cp-btn",y&&Ae),onClick:Ye,title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListVideo,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:v("cp-btn",T&&Ae),onClick:re,title:"Cinema mode (t)",children:jsxRuntime.jsx(lucideReact.Theater,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:xe,title:"Fullscreen (f)",children:ne?jsxRuntime.jsx(lucideReact.Minimize,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Maximize,{className:"h-4 w-4"})})]})]})]}),jsxRuntime.jsx("div",{className:v("h-full shrink-0 overflow-hidden transition-[width] duration-300 ease-out",y?"w-72":"w-0"),children:jsxRuntime.jsxs("div",{className:"flex h-full w-72 flex-col backdrop-blur-xl",style:{borderLeft:"1px solid var(--cp-border)",background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid var(--cp-border)"},children:[jsxRuntime.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:"var(--cp-text)"},children:"Playlist"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("button",{className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium transition-colors",style:{color:"var(--cp-text-muted)"},onClick:ct,title:`Sort: ${B} ${K?"\u2191":"\u2193"}`,children:[jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:"h-3 w-3"}),B,K?" \u2191":" \u2193"]}),jsxRuntime.jsx("button",{className:"cp-btn p-1!",onClick:Ye,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto",children:at.map(({media:E,originalIndex:X})=>{let ue=X===d;return jsxRuntime.jsxs("button",{className:v("flex w-full items-center gap-3 px-4 py-2.5 text-left transition-all duration-200",ue?"bg-(--accent)/20 text-(--accent)":"hover:text-(--cp-text-strong)"),style:ue?void 0:{color:"var(--cp-text)"},onClick:()=>{Pe(X);},children:[jsxRuntime.jsxs("div",{className:"relative h-10 w-16 shrink-0 overflow-hidden rounded",style:{background:"var(--cp-surface)"},children:[E.poster?jsxRuntime.jsx("img",{src:E.poster,alt:"",className:"h-full w-full object-cover",draggable:false}):jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsxRuntime.jsx(lucideReact.Play,{className:"h-4 w-4",style:{color:"var(--cp-seek-track)"}})}),ue&&u&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"var(--cp-overlay)"},children:jsxRuntime.jsx("div",{className:"flex items-end gap-px",children:[1,2,3,4].map(z=>jsxRuntime.jsx("div",{className:"w-0.5 rounded-full bg-(--accent)",style:{height:`${6+z*3}px`,animation:`mp-eq-bar ${.3+z*.12}s ease-in-out infinite alternate`}},z))})})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:"truncate text-xs font-medium",children:E.title}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[E.type&&jsxRuntime.jsx("span",{className:"text-[10px] uppercase tracking-wide opacity-50",children:E.type}),E.duration!=null&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] opacity-40",children:kr(E.duration)})]})]}),ue&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-(--accent)"})]},X)})})]})}),jsxRuntime.jsx("style",{children:`
7
7
  .cp-btn {
8
8
  display: flex;
9
9
  align-items: center;
@@ -19,7 +19,7 @@
19
19
  0%, 100% { box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 25%, transparent), 0 25px 50px -12px rgba(0,0,0,0.25); }
20
20
  50% { box-shadow: 0 0 40px color-mix(in srgb, var(--accent) 55%, transparent), 0 25px 50px -12px rgba(0,0,0,0.25); }
21
21
  }
22
- `})]});return jsxRuntime.jsx("div",{className:v(E&&"fixed inset-0 z-100 flex items-center justify-center p-8",E&&(fe?"animate-[cp-cinema-out_0.5s_ease-in_both]":"animate-[cp-cinema-in_0.5s_ease-out_both]")),onClick:E?T=>{T.target===T.currentTarget&&re();}:void 0,children:jsxRuntime.jsx("div",{className:v(E&&"w-full",E&&!ne&&"max-w-5xl"),children:_e})})}var tn=classVarianceAuthority.cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}});classVarianceAuthority.cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var xt=[];function hi(e){xt.push(e);}function gi(e){let t=xt.indexOf(e);t!==-1&&xt.splice(t,1);}function nn(e){return xt.length>0&&xt[xt.length-1]===e}function bi(e){let t=xt.indexOf(e);return t!==-1?t:xt.length}var io=Yr.createContext(null);function lo({open:e,onOpenChange:t,modal:r=true,closeOnOutsideClick:n=false,children:o}){let a=Yr.useId();return Yr.useEffect(()=>{if(e)return hi(a),()=>gi(a)},[e,a]),Yr.useEffect(()=>{if(!e||!r)return;let s=l=>{l.key==="Escape"&&nn(a)&&t(false);};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,r,t,a]),Yr.useEffect(()=>{if(!e||!r)return;let s=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=s;}},[e,r]),e?jsxRuntime.jsx(io.Provider,{value:{id:a,onOpenChange:t,modal:r,closeOnOutsideClick:n},children:reactDom.createPortal(o,document.body)}):null}function co({size:e,position:t="center",className:r,children:n,...o}){let a=Yr.useContext(io);if(!a)return null;let l=200+bi(a.id)*10,i=()=>{a.closeOnOutsideClick&&nn(a.id)&&a.onOpenChange(false);},d=t==="bottom";return a.modal?jsxRuntime.jsx("div",{className:v("animate-fade-in fixed inset-0 bg-black/50",d?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:l},onClick:i,children:jsxRuntime.jsx("div",{className:v(tn({size:e}),d?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",r),role:"dialog","aria-modal":"true",onClick:m=>m.stopPropagation(),...o,children:n})}):jsxRuntime.jsx("div",{className:v("fixed inset-0 flex items-center justify-center p-4",a.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:l},onClick:a.closeOnOutsideClick&&nn(a.id)?()=>a.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:v(tn({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",r),role:"dialog",onClick:a.closeOnOutsideClick?m=>m.stopPropagation():void 0,...o,children:n})})}function uo({className:e,...t}){return jsxRuntime.jsx("div",{className:v("mb-4 space-y-1",e),...t})}function po({className:e,...t}){return jsxRuntime.jsx("h2",{className:v("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function mo({className:e,...t}){return jsxRuntime.jsx("p",{className:v("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function fo({className:e,...t}){return jsxRuntime.jsx("div",{className:v("mt-6 flex justify-end gap-2",e),...t})}var ho=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});var go=classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}}),bo=classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}}),vo=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});var yo=classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});classVarianceAuthority.cva("inline-flex items-center",{variants:{size:{sm:"gap-0.5 [&_.rating-icon]:h-4 [&_.rating-icon]:w-4",md:"gap-1 [&_.rating-icon]:h-6 [&_.rating-icon]:w-6",lg:"gap-1.5 [&_.rating-icon]:h-8 [&_.rating-icon]:w-8"}},defaultVariants:{size:"md"}});var xo=classVarianceAuthority.cva("inline-flex items-center justify-center rounded font-mono font-medium select-none",{variants:{size:{xs:"h-4 min-w-4 px-1 text-[0.6rem]",sm:"h-5 min-w-5 px-1.5 text-xs",md:"h-6 min-w-6 px-2 text-sm",lg:"h-8 min-w-8 px-2.5 text-base"},variant:{default:"border border-secondary-300 bg-secondary-100 text-secondary-700 shadow-[0_2px_0_0_var(--color-secondary-300)] dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:shadow-[0_2px_0_0_var(--color-secondary-600)]",outline:"border border-secondary-400 bg-transparent text-secondary-700 dark:border-secondary-500 dark:text-secondary-300",ghost:"text-secondary-600 dark:text-secondary-400"}},defaultVariants:{size:"sm",variant:"default"}});classVarianceAuthority.cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});classVarianceAuthority.cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});function Pt({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("button",{className:v(ho({intent:e,size:t}),r),...n})}function wr(e){let t=e.lastIndexOf(".");return t>0?e.slice(t).toLowerCase():""}function Co(e){return e==null?"\u2014":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function ln(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var Di={".png":lucideReact.Image,".jpg":lucideReact.Image,".jpeg":lucideReact.Image,".gif":lucideReact.Image,".svg":lucideReact.Image,".webp":lucideReact.Image,".ico":lucideReact.Image,".bmp":lucideReact.Image,".mp3":lucideReact.Music,".wav":lucideReact.Music,".flac":lucideReact.Music,".ogg":lucideReact.Music,".aac":lucideReact.Music,".m4a":lucideReact.Music,".mp4":lucideReact.Video,".mkv":lucideReact.Video,".avi":lucideReact.Video,".mov":lucideReact.Video,".wmv":lucideReact.Video,".webm":lucideReact.Video,".ts":lucideReact.FileCode,".tsx":lucideReact.FileCode,".js":lucideReact.FileCode,".jsx":lucideReact.FileCode,".json":lucideReact.FileCode,".html":lucideReact.FileCode,".css":lucideReact.FileCode,".scss":lucideReact.FileCode,".py":lucideReact.FileCode,".rs":lucideReact.FileCode,".go":lucideReact.FileCode,".java":lucideReact.FileCode,".c":lucideReact.FileCode,".cpp":lucideReact.FileCode,".h":lucideReact.FileCode,".sh":lucideReact.Terminal,".bat":lucideReact.Terminal,".ps1":lucideReact.Terminal,".md":lucideReact.FileText,".txt":lucideReact.FileText,".pdf":lucideReact.FileText,".doc":lucideReact.FileText,".docx":lucideReact.FileText,".rtf":lucideReact.FileText,".csv":lucideReact.FileSpreadsheet,".xls":lucideReact.FileSpreadsheet,".xlsx":lucideReact.FileSpreadsheet,".db":lucideReact.Database,".sqlite":lucideReact.Database,".sql":lucideReact.Database,".zip":lucideReact.FileArchive,".tar":lucideReact.FileArchive,".gz":lucideReact.FileArchive,".rar":lucideReact.FileArchive,".7z":lucideReact.FileArchive};function cn(e){if(e.type==="directory")return lucideReact.Folder;let t=e.extension||wr(e.name);return Di[t]||lucideReact.File}function Kt(e,t,r){return Math.max(t,Math.min(r,e))}function So(e){return e<480?"xs":e<640?"sm":e<1024?"md":"lg"}function To(e,t){if(e<480)return {size:{width:e-16,height:t-48},pos:{x:8,y:24}};if(e<640){let o=e-24,a=Math.min(t-64,540);return {size:{width:o,height:a},pos:{x:12,y:32}}}if(e<1024){let o=Math.min(640,e-32),a=Math.min(480,t-64);return {size:{width:o,height:a},pos:{x:Math.max(0,Math.round((e-o)/2)),y:Math.max(0,Math.round((t-a)/2))}}}let r=720,n=520;return {size:{width:r,height:n},pos:{x:Math.max(0,Math.round((e-r)/2)),y:Math.max(0,Math.round((t-n)/2))}}}function dn({files:e,title:t="File Explorer",accent:r="#8b5cf6",defaultView:n="list",initialPosition:o,initialSize:a,dockable:s=false,dockSide:l="right",visible:i=true,onFileOpen:d,onSelectionChange:m,onNavigate:u,onDelete:p,onClose:c,onMinimize:h,onPathSubmit:f,defaultInputMode:g="search",actions:b,resizable:w=true,minSize:C={width:400,height:300},className:x}){let[M,F]=Yr.useState(n),[P,L]=Yr.useState(new Set),[H,R]=Yr.useState(null),[y,_]=Yr.useState(false),[X,z]=Yr.useState(false),[Y,ge]=Yr.useState(""),[E,ye]=Yr.useState(g),[fe,Ne]=Yr.useState(i),[ne,Te]=Yr.useState(false),[K,Ee]=Yr.useState({w:window.innerWidth,h:window.innerHeight}),We=To(window.innerWidth,window.innerHeight),[O,ae]=Yr.useState(o??We.pos),[le,te]=Yr.useState(a??We.size),[be,Se]=Yr.useState(null),De=Yr.useRef(false),J=Yr.useRef({x:0,y:0}),at=Yr.useRef(null),ce=Yr.useRef(false),Pe=Yr.useRef({x:0,y:0,w:0,h:0,px:0,py:0}),G=Yr.useRef(false),he=Yr.useRef(y);Yr.useEffect(()=>{he.current=y;},[y]);let ke=i!==void 0?i:fe,Ze=Yr.useMemo(()=>{let k=e.filter(se=>se.type==="directory"),j=e.filter(se=>se.type==="file");return k.sort((se,ie)=>se.name.localeCompare(ie.name)),j.sort((se,ie)=>se.name.localeCompare(ie.name)),[...k,...j]},[e]),xe=Yr.useMemo(()=>{if(E!=="search"||!Y.trim())return Ze;let k=Y.toLowerCase();return Ze.filter(j=>j.name.toLowerCase().includes(k))},[Ze,Y,E]),re=H!=null?xe[H]:null;Yr.useEffect(()=>{let k=So(window.innerWidth),j=()=>{let se=window.innerWidth,ie=window.innerHeight;if(Ee({w:se,h:ie}),he.current)return;let ve=So(se);if(ve!==k&&!G.current&&!a){let qe=To(se,ie);te(qe.size),ae(qe.pos);}k=ve;};return window.addEventListener("resize",j),()=>window.removeEventListener("resize",j)},[a]);let Ye=Yr.useCallback((k,j)=>{L(se=>{let ie=new Set(se);return j.ctrlKey||j.metaKey?ie.has(k)?ie.delete(k):ie.add(k):(ie.clear(),ie.add(k)),ie}),R(k);},[]);Yr.useEffect(()=>{if(!m)return;let k=Array.from(P).map(j=>xe[j]).filter(Boolean);m(k);},[P]);let ct=Yr.useCallback(k=>{let j=xe[k];j&&(j.type==="directory"?u?.(j.path):d?.(j));},[xe,d,u]),it=Yr.useCallback(k=>{y||k.target.closest("button")||(G.current=true,De.current=true,J.current={x:k.clientX-O.x,y:k.clientY-O.y},k.preventDefault());},[O,y]),St=Yr.useCallback(k=>{if(y||k.target.closest("button"))return;G.current=true;let j=k.touches[0];De.current=true,J.current={x:j.clientX-O.x,y:j.clientY-O.y};},[O,y]);Yr.useEffect(()=>{let k=ie=>{if(!De.current)return;let ve=window.innerWidth-100,qe=window.innerHeight-40;ae({x:Kt(ie.clientX-J.current.x,0,ve),y:Kt(ie.clientY-J.current.y,0,qe)});},j=ie=>{if(!De.current)return;ie.preventDefault();let ve=ie.touches[0],qe=window.innerWidth-100,dt=window.innerHeight-40;ae({x:Kt(ve.clientX-J.current.x,0,qe),y:Kt(ve.clientY-J.current.y,0,dt)});},se=()=>{De.current=false,ce.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",k),window.addEventListener("mouseup",se),window.addEventListener("touchmove",j,{passive:false}),window.addEventListener("touchend",se),()=>{window.removeEventListener("mousemove",k),window.removeEventListener("mouseup",se),window.removeEventListener("touchmove",j),window.removeEventListener("touchend",se);}},[]);let Ae=Yr.useCallback((k,j)=>{y||(j.preventDefault(),j.stopPropagation(),G.current=true,ce.current=k,Pe.current={x:j.clientX,y:j.clientY,w:le.width,h:le.height,px:O.x,py:O.y},document.body.style.cursor=k==="e"||k==="w"?"ew-resize":k==="n"||k==="s"?"ns-resize":k==="nw"||k==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[y,le,O]),_e=Yr.useCallback((k,j)=>{if(y)return;j.preventDefault(),j.stopPropagation(),G.current=true;let se=j.touches[0];ce.current=k,Pe.current={x:se.clientX,y:se.clientY,w:le.width,h:le.height,px:O.x,py:O.y},document.body.style.userSelect="none";},[y,le,O]);Yr.useEffect(()=>{let k=(ve,qe)=>{let dt=ce.current;if(!dt)return;let hr=ve-Pe.current.x,N=qe-Pe.current.y,{w:ut,h:bt,px:er,py:Ht}=Pe.current;if(dt.includes("e")&&(ut=Math.max(C.width,ut+hr)),dt.includes("w")){let Tt=Math.max(C.width,ut-hr);er=er+(ut-Tt),ut=Tt;}if(dt.includes("s")&&(bt=Math.max(C.height,bt+N)),dt.includes("n")){let Tt=Math.max(C.height,bt-N);Ht=Ht+(bt-Tt),bt=Tt;}te({width:ut,height:bt}),ae({x:er,y:Ht});},j=ve=>{ce.current&&k(ve.clientX,ve.clientY);},se=ve=>{ce.current&&(ve.preventDefault(),k(ve.touches[0].clientX,ve.touches[0].clientY));},ie=()=>{ce.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",j),window.addEventListener("mouseup",ie),window.addEventListener("touchmove",se,{passive:false}),window.addEventListener("touchend",ie),()=>{window.removeEventListener("mousemove",j),window.removeEventListener("mouseup",ie),window.removeEventListener("touchmove",se),window.removeEventListener("touchend",ie);}},[C]);let T=Yr.useCallback(()=>{y?(be&&(ae(be.pos),te(be.size)),_(false)):(Se({pos:O,size:le}),_(true));},[y,O,le,be]),q=Yr.useCallback(()=>{X?z(false):(y&&(_(false),be&&(ae(be.pos),te(be.size))),z(true),h?.());},[X,y,be,h]);Yr.useEffect(()=>{if(!ke||X)return;let k=j=>{if(!(!at.current?.contains(document.activeElement)&&document.activeElement!==at.current)){if(j.key==="Escape"&&(R(null),L(new Set)),j.ctrlKey&&j.key==="a"){j.preventDefault();let se=new Set(xe.map((ie,ve)=>ve));L(se);}j.key==="Delete"&&P.size>0&&p&&(j.preventDefault(),Te(true));}};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[ke,X,xe,P,p]);let de={"--fe-accent":r};if(X)return jsxRuntime.jsx("div",{className:v("fixed z-100 cursor-pointer transition-all duration-300",l==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:de,onClick:()=>z(false),title:`Restore ${t}`,children:jsxRuntime.jsxs("div",{className:"fe-dock flex items-center gap-1.5 rounded-l-lg px-2 py-3 backdrop-blur-md",style:{writingMode:"vertical-rl",textOrientation:"mixed"},children:[jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsxRuntime.jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:t})]})});if(!ke)return null;let A=y?K.w:Math.min(le.width,K.w-8),oe=y?K.h:Math.min(le.height,K.h-8),Re=y?0:Kt(O.x,0,Math.max(0,K.w-A)),et=y?0:Kt(O.y,0,Math.max(0,K.h-40)),_t=A<500;return jsxRuntime.jsxs("div",{ref:at,className:v("fe-window fixed z-100 flex flex-col overflow-hidden","rounded-xl border border-(--fe-border)","animate-[fe-window-in_0.35s_cubic-bezier(0.16,1,0.3,1)_both]",y&&"rounded-none",x),style:{...de,left:Re,top:et,width:A,height:oe,transition:y?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxRuntime.jsxs("div",{className:"fe-titlebar group/titlebar flex h-10 shrink-0 cursor-grab items-center justify-between px-3 select-none active:cursor-grabbing",onMouseDown:it,onTouchStart:St,onDoubleClick:T,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded",style:{background:"color-mix(in srgb, var(--fe-accent) 25%, transparent)"},children:jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsxRuntime.jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:t}),jsxRuntime.jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:"fe-btn mr-1",onClick:()=>F(k=>k==="list"?"grid":"list"),title:M==="list"?"Grid view":"List view",children:M==="list"?jsxRuntime.jsx(lucideReact.LayoutGrid,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.LayoutList,{className:"h-3.5 w-3.5"})}),s&&jsxRuntime.jsx("button",{className:"fe-btn",onClick:q,title:"Dock to edge",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn",onClick:T,title:y?"Restore":"Maximize",children:y?jsxRuntime.jsx(lucideReact.Minimize2,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Maximize2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{c?.(),Ne(false);},title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsxRuntime.jsx("button",{className:"fe-btn p-1",onClick:()=>u?.(".."),title:"Go up",children:jsxRuntime.jsx(lucideReact.FolderUp,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:E==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>ye(k=>k==="search"?"navigate":"search"),title:E==="search"?"Switch to path navigation":"Switch to file search",children:E==="search"?jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3"}):jsxRuntime.jsx(lucideReact.CornerRightDown,{className:"h-3 w-3"})}),jsxRuntime.jsx("div",{className:"relative flex-1",children:jsxRuntime.jsx("input",{type:"text",value:Y,onChange:k=>ge(k.target.value),onKeyDown:k=>{k.key==="Enter"&&Y.trim()&&E==="navigate"&&(f?f(Y.trim()):u?.(Y.trim()));},placeholder:E==="search"?"Search files\u2026":"Enter path and press Enter\u2026",className:"h-6 w-full rounded border border-(--fe-input-border) bg-(--fe-input-bg) px-2 text-[11px] text-(--fe-text-strong) placeholder:text-(--fe-text-muted) outline-none transition-colors focus:border-(--fe-accent)/40 focus:bg-(--fe-input-bg)"})}),jsxRuntime.jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[xe.length," item",xe.length!==1?"s":"",P.size>0&&` \xB7 ${P.size} selected`]})]}),jsxRuntime.jsxs("div",{className:"relative flex flex-1 min-h-0",children:[jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:k=>{k.target===k.currentTarget&&(L(new Set),R(null));},children:xe.length===0?jsxRuntime.jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsxRuntime.jsx(lucideReact.Folder,{className:"mb-2 h-10 w-10"}),jsxRuntime.jsx("span",{className:"text-xs",children:"No files found"})]}):M==="list"?jsxRuntime.jsx("div",{className:"space-y-px",children:xe.map((k,j)=>{let se=cn(k),ie=P.has(j),ve=k.extension||wr(k.name);return jsxRuntime.jsxs("div",{className:v("fe-item group/item flex items-center gap-2.5 rounded-lg px-2.5 py-1.5 text-(--fe-text) transition-all duration-150 cursor-pointer",ie?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:ie?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:qe=>Ye(j,qe),onDoubleClick:()=>ct(j),children:[jsxRuntime.jsx(se,{className:v("h-4 w-4 shrink-0",k.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:k.name}),ve&&k.type==="file"&&jsxRuntime.jsx("span",{className:"shrink-0 rounded bg-(--fe-badge-bg) px-1.5 py-0.5 font-mono text-[9px] uppercase text-(--fe-text-muted)",children:ve}),k.size!=null&&jsxRuntime.jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:Co(k.size)}),k.modifiedAt&&jsxRuntime.jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:ln(k.modifiedAt)})]},k.path+j)})}):jsxRuntime.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:xe.map((k,j)=>{let se=cn(k),ie=P.has(j),ve=k.extension||wr(k.name);return jsxRuntime.jsxs("div",{className:v("fe-item group/item flex cursor-pointer flex-col items-center gap-1 rounded-lg px-2 py-2.5 text-center transition-all duration-150",ie?"bg-(--fe-accent)/15 text-(--fe-text-strong) ring-1 ring-(--fe-accent)/30":"text-(--fe-text) hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),onClick:qe=>Ye(j,qe),onDoubleClick:()=>ct(j),children:[jsxRuntime.jsx(se,{className:v("h-7 w-7",k.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:k.name}),ve&&k.type==="file"&&jsxRuntime.jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:ve})]},k.path+j)})})}),jsxRuntime.jsx("div",{className:v("overflow-hidden transition-[width,opacity] duration-300 ease-out",_t?v("absolute right-0 top-0 bottom-0 z-10",re?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):v("shrink-0",re?"w-56":"w-0")),children:re&&jsxRuntime.jsxs("div",{className:v("flex h-full flex-col p-4",_t?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[_t&&jsxRuntime.jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{R(null),L(new Set);},title:"Close panel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsxs("div",{className:"mb-3 flex flex-col items-center",children:[Yr__default.default.createElement(cn(re),{className:v("h-10 w-10 mb-2",re.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:re.name})]}),jsxRuntime.jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsxRuntime.jsx(Wt,{label:"Type",value:re.type==="directory"?"Directory":re.mimeType||re.extension||wr(re.name)||"File"}),re.size!=null&&jsxRuntime.jsx(Wt,{label:"Size",value:Co(re.size)}),jsxRuntime.jsx(Wt,{label:"Path",value:re.path,mono:true}),re.extension&&jsxRuntime.jsx(Wt,{label:"Extension",value:re.extension}),re.modifiedAt&&jsxRuntime.jsx(Wt,{label:"Modified",value:ln(re.modifiedAt)}),re.createdAt&&jsxRuntime.jsx(Wt,{label:"Created",value:ln(re.createdAt)})]}),jsxRuntime.jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[re.type==="file"&&d&&jsxRuntime.jsxs("button",{className:"flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text-strong) transition-colors",style:{background:"color-mix(in srgb, var(--fe-accent) 20%, transparent)",border:"1px solid color-mix(in srgb, var(--fe-accent) 30%, transparent)"},onClick:()=>d(re),children:[jsxRuntime.jsx(lucideReact.ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),b?.map(k=>jsxRuntime.jsxs("button",{className:"fe-action flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text) transition-colors hover:text-(--fe-text-strong)",onClick:()=>k.onClick(re),children:[k.icon&&Yr__default.default.createElement(k.icon,{className:"h-3 w-3"}),k.label]},k.key))]})]})})]}),jsxRuntime.jsxs("div",{className:"fe-statusbar flex h-6 shrink-0 items-center justify-between px-3 text-[9px] font-mono text-(--fe-text-muted)",children:[jsxRuntime.jsxs("span",{children:[xe.length," items"]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[P.size>0&&jsxRuntime.jsxs("span",{className:"text-(--fe-accent)/70",children:[P.size," selected"]}),jsxRuntime.jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),w&&!y&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:k=>Ae("n",k),onTouchStart:k=>_e("n",k)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:k=>Ae("s",k),onTouchStart:k=>_e("s",k)}),jsxRuntime.jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:k=>Ae("w",k),onTouchStart:k=>_e("w",k)}),jsxRuntime.jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:k=>Ae("e",k),onTouchStart:k=>_e("e",k)}),jsxRuntime.jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:k=>Ae("nw",k),onTouchStart:k=>_e("nw",k)}),jsxRuntime.jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:k=>Ae("ne",k),onTouchStart:k=>_e("ne",k)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:k=>Ae("sw",k),onTouchStart:k=>_e("sw",k)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:k=>Ae("se",k),onTouchStart:k=>_e("se",k)})]}),jsxRuntime.jsx("style",{children:`
22
+ `})]});return jsxRuntime.jsx("div",{className:v(T&&"fixed inset-0 z-100 flex items-center justify-center p-8",T&&(he?"animate-[cp-cinema-out_0.5s_ease-in_both]":"animate-[cp-cinema-in_0.5s_ease-out_both]")),onClick:T?E=>{E.target===E.currentTarget&&re();}:void 0,children:jsxRuntime.jsx("div",{className:v(T&&"w-full",T&&!ne&&"max-w-5xl"),children:_e})})}var nn=classVarianceAuthority.cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}});classVarianceAuthority.cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var xt=[];function ys(e){xt.push(e);}function xs(e){let t=xt.indexOf(e);t!==-1&&xt.splice(t,1);}function an(e){return xt.length>0&&xt[xt.length-1]===e}function ws(e){let t=xt.indexOf(e);return t!==-1?t:xt.length}var co=Xr.createContext(null);function uo({open:e,onOpenChange:t,modal:r=true,closeOnOutsideClick:n=false,children:o}){let a=Xr.useId();return Xr.useEffect(()=>{if(e)return ys(a),()=>xs(a)},[e,a]),Xr.useEffect(()=>{if(!e||!r)return;let i=l=>{l.key==="Escape"&&an(a)&&t(false);};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,r,t,a]),Xr.useEffect(()=>{if(!e||!r)return;let i=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=i;}},[e,r]),e?jsxRuntime.jsx(co.Provider,{value:{id:a,onOpenChange:t,modal:r,closeOnOutsideClick:n},children:reactDom.createPortal(o,document.body)}):null}function po({size:e,position:t="center",className:r,children:n,...o}){let a=Xr.useContext(co);if(!a)return null;let l=200+ws(a.id)*10,s=()=>{a.closeOnOutsideClick&&an(a.id)&&a.onOpenChange(false);},d=t==="bottom";return a.modal?jsxRuntime.jsx("div",{className:v("animate-fade-in fixed inset-0 bg-black/50",d?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:l},onClick:s,children:jsxRuntime.jsx("div",{className:v(nn({size:e}),d?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",r),role:"dialog","aria-modal":"true",onClick:m=>m.stopPropagation(),...o,children:n})}):jsxRuntime.jsx("div",{className:v("fixed inset-0 flex items-center justify-center p-4",a.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:l},onClick:a.closeOnOutsideClick&&an(a.id)?()=>a.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:v(nn({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",r),role:"dialog",onClick:a.closeOnOutsideClick?m=>m.stopPropagation():void 0,...o,children:n})})}function mo({className:e,...t}){return jsxRuntime.jsx("div",{className:v("mb-4 space-y-1",e),...t})}function fo({className:e,...t}){return jsxRuntime.jsx("h2",{className:v("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function ho({className:e,...t}){return jsxRuntime.jsx("p",{className:v("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function go({className:e,...t}){return jsxRuntime.jsx("div",{className:v("mt-6 flex justify-end gap-2",e),...t})}var bo=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});var vo=classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}}),yo=classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}}),xo=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});var wo=classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});classVarianceAuthority.cva("inline-flex items-center",{variants:{size:{sm:"gap-0.5 [&_.rating-icon]:h-4 [&_.rating-icon]:w-4",md:"gap-1 [&_.rating-icon]:h-6 [&_.rating-icon]:w-6",lg:"gap-1.5 [&_.rating-icon]:h-8 [&_.rating-icon]:w-8"}},defaultVariants:{size:"md"}});var ko=classVarianceAuthority.cva("inline-flex items-center justify-center rounded font-mono font-medium select-none",{variants:{size:{xs:"h-4 min-w-4 px-1 text-[0.6rem]",sm:"h-5 min-w-5 px-1.5 text-xs",md:"h-6 min-w-6 px-2 text-sm",lg:"h-8 min-w-8 px-2.5 text-base"},variant:{default:"border border-secondary-300 bg-secondary-100 text-secondary-700 shadow-[0_2px_0_0_var(--color-secondary-300)] dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:shadow-[0_2px_0_0_var(--color-secondary-600)]",outline:"border border-secondary-400 bg-transparent text-secondary-700 dark:border-secondary-500 dark:text-secondary-300",ghost:"text-secondary-600 dark:text-secondary-400"}},defaultVariants:{size:"sm",variant:"default"}});classVarianceAuthority.cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});classVarianceAuthority.cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});function Pt({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("button",{className:v(bo({intent:e,size:t}),r),...n})}function Mr(e){let t=e.lastIndexOf(".");return t>0?e.slice(t).toLowerCase():""}function To(e){return e==null?"\u2014":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function dn(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var Is={".png":lucideReact.Image,".jpg":lucideReact.Image,".jpeg":lucideReact.Image,".gif":lucideReact.Image,".svg":lucideReact.Image,".webp":lucideReact.Image,".ico":lucideReact.Image,".bmp":lucideReact.Image,".mp3":lucideReact.Music,".wav":lucideReact.Music,".flac":lucideReact.Music,".ogg":lucideReact.Music,".aac":lucideReact.Music,".m4a":lucideReact.Music,".mp4":lucideReact.Video,".mkv":lucideReact.Video,".avi":lucideReact.Video,".mov":lucideReact.Video,".wmv":lucideReact.Video,".webm":lucideReact.Video,".ts":lucideReact.FileCode,".tsx":lucideReact.FileCode,".js":lucideReact.FileCode,".jsx":lucideReact.FileCode,".json":lucideReact.FileCode,".html":lucideReact.FileCode,".css":lucideReact.FileCode,".scss":lucideReact.FileCode,".py":lucideReact.FileCode,".rs":lucideReact.FileCode,".go":lucideReact.FileCode,".java":lucideReact.FileCode,".c":lucideReact.FileCode,".cpp":lucideReact.FileCode,".h":lucideReact.FileCode,".sh":lucideReact.Terminal,".bat":lucideReact.Terminal,".ps1":lucideReact.Terminal,".md":lucideReact.FileText,".txt":lucideReact.FileText,".pdf":lucideReact.FileText,".doc":lucideReact.FileText,".docx":lucideReact.FileText,".rtf":lucideReact.FileText,".csv":lucideReact.FileSpreadsheet,".xls":lucideReact.FileSpreadsheet,".xlsx":lucideReact.FileSpreadsheet,".db":lucideReact.Database,".sqlite":lucideReact.Database,".sql":lucideReact.Database,".zip":lucideReact.FileArchive,".tar":lucideReact.FileArchive,".gz":lucideReact.FileArchive,".rar":lucideReact.FileArchive,".7z":lucideReact.FileArchive};function un(e){if(e.type==="directory")return lucideReact.Folder;let t=e.extension||Mr(e.name);return Is[t]||lucideReact.File}function Kt(e,t,r){return Math.max(t,Math.min(r,e))}function Eo(e){return e<480?"xs":e<640?"sm":e<1024?"md":"lg"}function Po(e,t){if(e<480)return {size:{width:e-16,height:t-48},pos:{x:8,y:24}};if(e<640){let o=e-24,a=Math.min(t-64,540);return {size:{width:o,height:a},pos:{x:12,y:32}}}if(e<1024){let o=Math.min(640,e-32),a=Math.min(480,t-64);return {size:{width:o,height:a},pos:{x:Math.max(0,Math.round((e-o)/2)),y:Math.max(0,Math.round((t-a)/2))}}}let r=720,n=520;return {size:{width:r,height:n},pos:{x:Math.max(0,Math.round((e-r)/2)),y:Math.max(0,Math.round((t-n)/2))}}}function pn({files:e,title:t="File Explorer",accent:r="#8b5cf6",defaultView:n="list",initialPosition:o,initialSize:a,dockable:i=false,dockSide:l="right",visible:s=true,onFileOpen:d,onSelectionChange:m,onNavigate:u,onDelete:p,onClose:c,onMinimize:h,onPathSubmit:f,defaultInputMode:g="search",actions:b,resizable:w=true,minSize:C={width:400,height:300},className:x}){let[M,$]=Xr.useState(n),[P,L]=Xr.useState(new Set),[H,D]=Xr.useState(null),[y,_]=Xr.useState(false),[B,R]=Xr.useState(false),[K,ie]=Xr.useState(""),[T,ye]=Xr.useState(g),[he,Ne]=Xr.useState(s),[ne,Te]=Xr.useState(false),[Y,Ee]=Xr.useState({w:window.innerWidth,h:window.innerHeight}),We=Po(window.innerWidth,window.innerHeight),[O,ae]=Xr.useState(o??We.pos),[ce,te]=Xr.useState(a??We.size),[be,Se]=Xr.useState(null),De=Xr.useRef(false),J=Xr.useRef({x:0,y:0}),at=Xr.useRef(null),de=Xr.useRef(false),Pe=Xr.useRef({x:0,y:0,w:0,h:0,px:0,py:0}),G=Xr.useRef(false),ge=Xr.useRef(y);Xr.useEffect(()=>{ge.current=y;},[y]);let ke=s!==void 0?s:he,Ze=Xr.useMemo(()=>{let k=e.filter(se=>se.type==="directory"),U=e.filter(se=>se.type==="file");return k.sort((se,le)=>se.name.localeCompare(le.name)),U.sort((se,le)=>se.name.localeCompare(le.name)),[...k,...U]},[e]),xe=Xr.useMemo(()=>{if(T!=="search"||!K.trim())return Ze;let k=K.toLowerCase();return Ze.filter(U=>U.name.toLowerCase().includes(k))},[Ze,K,T]),re=H!=null?xe[H]:null;Xr.useEffect(()=>{let k=Eo(window.innerWidth),U=()=>{let se=window.innerWidth,le=window.innerHeight;if(Ee({w:se,h:le}),ge.current)return;let ve=Eo(se);if(ve!==k&&!G.current&&!a){let qe=Po(se,le);te(qe.size),ae(qe.pos);}k=ve;};return window.addEventListener("resize",U),()=>window.removeEventListener("resize",U)},[a]);let Ye=Xr.useCallback((k,U)=>{L(se=>{let le=new Set(se);return U.ctrlKey||U.metaKey?le.has(k)?le.delete(k):le.add(k):(le.clear(),le.add(k)),le}),D(k);},[]);Xr.useEffect(()=>{if(!m)return;let k=Array.from(P).map(U=>xe[U]).filter(Boolean);m(k);},[P]);let ct=Xr.useCallback(k=>{let U=xe[k];U&&(U.type==="directory"?u?.(U.path):d?.(U));},[xe,d,u]),st=Xr.useCallback(k=>{y||k.target.closest("button")||(G.current=true,De.current=true,J.current={x:k.clientX-O.x,y:k.clientY-O.y},k.preventDefault());},[O,y]),St=Xr.useCallback(k=>{if(y||k.target.closest("button"))return;G.current=true;let U=k.touches[0];De.current=true,J.current={x:U.clientX-O.x,y:U.clientY-O.y};},[O,y]);Xr.useEffect(()=>{let k=le=>{if(!De.current)return;let ve=window.innerWidth-100,qe=window.innerHeight-40;ae({x:Kt(le.clientX-J.current.x,0,ve),y:Kt(le.clientY-J.current.y,0,qe)});},U=le=>{if(!De.current)return;le.preventDefault();let ve=le.touches[0],qe=window.innerWidth-100,dt=window.innerHeight-40;ae({x:Kt(ve.clientX-J.current.x,0,qe),y:Kt(ve.clientY-J.current.y,0,dt)});},se=()=>{De.current=false,de.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",k),window.addEventListener("mouseup",se),window.addEventListener("touchmove",U,{passive:false}),window.addEventListener("touchend",se),()=>{window.removeEventListener("mousemove",k),window.removeEventListener("mouseup",se),window.removeEventListener("touchmove",U),window.removeEventListener("touchend",se);}},[]);let Ae=Xr.useCallback((k,U)=>{y||(U.preventDefault(),U.stopPropagation(),G.current=true,de.current=k,Pe.current={x:U.clientX,y:U.clientY,w:ce.width,h:ce.height,px:O.x,py:O.y},document.body.style.cursor=k==="e"||k==="w"?"ew-resize":k==="n"||k==="s"?"ns-resize":k==="nw"||k==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[y,ce,O]),_e=Xr.useCallback((k,U)=>{if(y)return;U.preventDefault(),U.stopPropagation(),G.current=true;let se=U.touches[0];de.current=k,Pe.current={x:se.clientX,y:se.clientY,w:ce.width,h:ce.height,px:O.x,py:O.y},document.body.style.userSelect="none";},[y,ce,O]);Xr.useEffect(()=>{let k=(ve,qe)=>{let dt=de.current;if(!dt)return;let br=ve-Pe.current.x,N=qe-Pe.current.y,{w:ut,h:bt,px:er,py:Ht}=Pe.current;if(dt.includes("e")&&(ut=Math.max(C.width,ut+br)),dt.includes("w")){let Tt=Math.max(C.width,ut-br);er=er+(ut-Tt),ut=Tt;}if(dt.includes("s")&&(bt=Math.max(C.height,bt+N)),dt.includes("n")){let Tt=Math.max(C.height,bt-N);Ht=Ht+(bt-Tt),bt=Tt;}te({width:ut,height:bt}),ae({x:er,y:Ht});},U=ve=>{de.current&&k(ve.clientX,ve.clientY);},se=ve=>{de.current&&(ve.preventDefault(),k(ve.touches[0].clientX,ve.touches[0].clientY));},le=()=>{de.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",U),window.addEventListener("mouseup",le),window.addEventListener("touchmove",se,{passive:false}),window.addEventListener("touchend",le),()=>{window.removeEventListener("mousemove",U),window.removeEventListener("mouseup",le),window.removeEventListener("touchmove",se),window.removeEventListener("touchend",le);}},[C]);let E=Xr.useCallback(()=>{y?(be&&(ae(be.pos),te(be.size)),_(false)):(Se({pos:O,size:ce}),_(true));},[y,O,ce,be]),X=Xr.useCallback(()=>{B?R(false):(y&&(_(false),be&&(ae(be.pos),te(be.size))),R(true),h?.());},[B,y,be,h]);Xr.useEffect(()=>{if(!ke||B)return;let k=U=>{if(!(!at.current?.contains(document.activeElement)&&document.activeElement!==at.current)){if(U.key==="Escape"&&(D(null),L(new Set)),U.ctrlKey&&U.key==="a"){U.preventDefault();let se=new Set(xe.map((le,ve)=>ve));L(se);}U.key==="Delete"&&P.size>0&&p&&(U.preventDefault(),Te(true));}};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[ke,B,xe,P,p]);let ue={"--fe-accent":r};if(B)return jsxRuntime.jsx("div",{className:v("fixed z-100 cursor-pointer transition-all duration-300",l==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:ue,onClick:()=>R(false),title:`Restore ${t}`,children:jsxRuntime.jsxs("div",{className:"fe-dock flex items-center gap-1.5 rounded-l-lg px-2 py-3 backdrop-blur-md",style:{writingMode:"vertical-rl",textOrientation:"mixed"},children:[jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsxRuntime.jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:t})]})});if(!ke)return null;let z=y?Y.w:Math.min(ce.width,Y.w-8),oe=y?Y.h:Math.min(ce.height,Y.h-8),Re=y?0:Kt(O.x,0,Math.max(0,Y.w-z)),et=y?0:Kt(O.y,0,Math.max(0,Y.h-40)),_t=z<500;return jsxRuntime.jsxs("div",{ref:at,className:v("fe-window fixed z-100 flex flex-col overflow-hidden","rounded-xl border border-(--fe-border)","animate-[fe-window-in_0.35s_cubic-bezier(0.16,1,0.3,1)_both]",y&&"rounded-none",x),style:{...ue,left:Re,top:et,width:z,height:oe,transition:y?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxRuntime.jsxs("div",{className:"fe-titlebar group/titlebar flex h-10 shrink-0 cursor-grab items-center justify-between px-3 select-none active:cursor-grabbing",onMouseDown:st,onTouchStart:St,onDoubleClick:E,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded",style:{background:"color-mix(in srgb, var(--fe-accent) 25%, transparent)"},children:jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsxRuntime.jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:t}),jsxRuntime.jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:"fe-btn mr-1",onClick:()=>$(k=>k==="list"?"grid":"list"),title:M==="list"?"Grid view":"List view",children:M==="list"?jsxRuntime.jsx(lucideReact.LayoutGrid,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.LayoutList,{className:"h-3.5 w-3.5"})}),i&&jsxRuntime.jsx("button",{className:"fe-btn",onClick:X,title:"Dock to edge",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn",onClick:E,title:y?"Restore":"Maximize",children:y?jsxRuntime.jsx(lucideReact.Minimize2,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Maximize2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{c?.(),Ne(false);},title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsxRuntime.jsx("button",{className:"fe-btn p-1",onClick:()=>u?.(".."),title:"Go up",children:jsxRuntime.jsx(lucideReact.FolderUp,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:T==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>ye(k=>k==="search"?"navigate":"search"),title:T==="search"?"Switch to path navigation":"Switch to file search",children:T==="search"?jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3"}):jsxRuntime.jsx(lucideReact.CornerRightDown,{className:"h-3 w-3"})}),jsxRuntime.jsx("div",{className:"relative flex-1",children:jsxRuntime.jsx("input",{type:"text",value:K,onChange:k=>ie(k.target.value),onKeyDown:k=>{k.key==="Enter"&&K.trim()&&T==="navigate"&&(f?f(K.trim()):u?.(K.trim()));},placeholder:T==="search"?"Search files\u2026":"Enter path and press Enter\u2026",className:"h-6 w-full rounded border border-(--fe-input-border) bg-(--fe-input-bg) px-2 text-[11px] text-(--fe-text-strong) placeholder:text-(--fe-text-muted) outline-none transition-colors focus:border-(--fe-accent)/40 focus:bg-(--fe-input-bg)"})}),jsxRuntime.jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[xe.length," item",xe.length!==1?"s":"",P.size>0&&` \xB7 ${P.size} selected`]})]}),jsxRuntime.jsxs("div",{className:"relative flex flex-1 min-h-0",children:[jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:k=>{k.target===k.currentTarget&&(L(new Set),D(null));},children:xe.length===0?jsxRuntime.jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsxRuntime.jsx(lucideReact.Folder,{className:"mb-2 h-10 w-10"}),jsxRuntime.jsx("span",{className:"text-xs",children:"No files found"})]}):M==="list"?jsxRuntime.jsx("div",{className:"space-y-px",children:xe.map((k,U)=>{let se=un(k),le=P.has(U),ve=k.extension||Mr(k.name);return jsxRuntime.jsxs("div",{className:v("fe-item group/item flex items-center gap-2.5 rounded-lg px-2.5 py-1.5 text-(--fe-text) transition-all duration-150 cursor-pointer",le?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:le?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:qe=>Ye(U,qe),onDoubleClick:()=>ct(U),children:[jsxRuntime.jsx(se,{className:v("h-4 w-4 shrink-0",k.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:k.name}),ve&&k.type==="file"&&jsxRuntime.jsx("span",{className:"shrink-0 rounded bg-(--fe-badge-bg) px-1.5 py-0.5 font-mono text-[9px] uppercase text-(--fe-text-muted)",children:ve}),k.size!=null&&jsxRuntime.jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:To(k.size)}),k.modifiedAt&&jsxRuntime.jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:dn(k.modifiedAt)})]},k.path+U)})}):jsxRuntime.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:xe.map((k,U)=>{let se=un(k),le=P.has(U),ve=k.extension||Mr(k.name);return jsxRuntime.jsxs("div",{className:v("fe-item group/item flex cursor-pointer flex-col items-center gap-1 rounded-lg px-2 py-2.5 text-center transition-all duration-150",le?"bg-(--fe-accent)/15 text-(--fe-text-strong) ring-1 ring-(--fe-accent)/30":"text-(--fe-text) hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),onClick:qe=>Ye(U,qe),onDoubleClick:()=>ct(U),children:[jsxRuntime.jsx(se,{className:v("h-7 w-7",k.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:k.name}),ve&&k.type==="file"&&jsxRuntime.jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:ve})]},k.path+U)})})}),jsxRuntime.jsx("div",{className:v("overflow-hidden transition-[width,opacity] duration-300 ease-out",_t?v("absolute right-0 top-0 bottom-0 z-10",re?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):v("shrink-0",re?"w-56":"w-0")),children:re&&jsxRuntime.jsxs("div",{className:v("flex h-full flex-col p-4",_t?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[_t&&jsxRuntime.jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{D(null),L(new Set);},title:"Close panel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsxs("div",{className:"mb-3 flex flex-col items-center",children:[Xr__default.default.createElement(un(re),{className:v("h-10 w-10 mb-2",re.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:re.name})]}),jsxRuntime.jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsxRuntime.jsx(Wt,{label:"Type",value:re.type==="directory"?"Directory":re.mimeType||re.extension||Mr(re.name)||"File"}),re.size!=null&&jsxRuntime.jsx(Wt,{label:"Size",value:To(re.size)}),jsxRuntime.jsx(Wt,{label:"Path",value:re.path,mono:true}),re.extension&&jsxRuntime.jsx(Wt,{label:"Extension",value:re.extension}),re.modifiedAt&&jsxRuntime.jsx(Wt,{label:"Modified",value:dn(re.modifiedAt)}),re.createdAt&&jsxRuntime.jsx(Wt,{label:"Created",value:dn(re.createdAt)})]}),jsxRuntime.jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[re.type==="file"&&d&&jsxRuntime.jsxs("button",{className:"flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text-strong) transition-colors",style:{background:"color-mix(in srgb, var(--fe-accent) 20%, transparent)",border:"1px solid color-mix(in srgb, var(--fe-accent) 30%, transparent)"},onClick:()=>d(re),children:[jsxRuntime.jsx(lucideReact.ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),b?.map(k=>jsxRuntime.jsxs("button",{className:"fe-action flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text) transition-colors hover:text-(--fe-text-strong)",onClick:()=>k.onClick(re),children:[k.icon&&Xr__default.default.createElement(k.icon,{className:"h-3 w-3"}),k.label]},k.key))]})]})})]}),jsxRuntime.jsxs("div",{className:"fe-statusbar flex h-6 shrink-0 items-center justify-between px-3 text-[9px] font-mono text-(--fe-text-muted)",children:[jsxRuntime.jsxs("span",{children:[xe.length," items"]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[P.size>0&&jsxRuntime.jsxs("span",{className:"text-(--fe-accent)/70",children:[P.size," selected"]}),jsxRuntime.jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),w&&!y&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:k=>Ae("n",k),onTouchStart:k=>_e("n",k)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:k=>Ae("s",k),onTouchStart:k=>_e("s",k)}),jsxRuntime.jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:k=>Ae("w",k),onTouchStart:k=>_e("w",k)}),jsxRuntime.jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:k=>Ae("e",k),onTouchStart:k=>_e("e",k)}),jsxRuntime.jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:k=>Ae("nw",k),onTouchStart:k=>_e("nw",k)}),jsxRuntime.jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:k=>Ae("ne",k),onTouchStart:k=>_e("ne",k)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:k=>Ae("sw",k),onTouchStart:k=>_e("sw",k)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:k=>Ae("se",k),onTouchStart:k=>_e("se",k)})]}),jsxRuntime.jsx("style",{children:`
23
23
  .fe-window {
24
24
  background: var(--fe-bg);
25
25
  box-shadow: var(--fe-shadow);
@@ -80,26 +80,26 @@
80
80
  from { opacity: 0; transform: translateX(-4px); }
81
81
  to { opacity: 1; transform: translateX(0); }
82
82
  }
83
- `}),jsxRuntime.jsx(lo,{open:ne,onOpenChange:Te,children:jsxRuntime.jsxs(co,{size:"sm",children:[jsxRuntime.jsxs(uo,{children:[jsxRuntime.jsxs(po,{children:[jsxRuntime.jsx(lucideReact.AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxRuntime.jsxs(mo,{children:[P.size===1?`Are you sure you want to delete "${xe[Array.from(P)[0]]?.name}"?`:`Are you sure you want to delete ${P.size} selected items?`," ","This action cannot be undone."]})]}),jsxRuntime.jsxs(fo,{children:[jsxRuntime.jsx(Pt,{intent:"ghost",onClick:()=>Te(false),children:"Cancel"}),jsxRuntime.jsxs(Pt,{intent:"danger",onClick:()=>{let k=Array.from(P).map(j=>xe[j]).filter(Boolean);p?.(k),L(new Set),R(null),Te(false);},children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function Wt({label:e,value:t,mono:r}){return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:e}),jsxRuntime.jsx("div",{className:v("text-(--fe-text) break-all leading-snug",r&&"font-mono text-[9px]"),children:t})]})}function Li(e,t){let r=t.getBoundingClientRect(),n=Math.max(r.width,r.height)*1.2,o=e.clientX-r.left,a=e.clientY-r.top,s=document.createElement("span");s.className="masonry-ripple",s.style.width=`${n}px`,s.style.height=`${n}px`,s.style.left=`${o}px`,s.style.top=`${a}px`,t.appendChild(s),s.addEventListener("animationend",()=>s.remove());}function fn({columns:e,columnWidth:t=240,gap:r=16,items:n,onItemClick:o,className:a,style:s,children:l,...i}){let d=Yr.useRef(null),m=Yr.useRef([]),[u,p]=Yr.useState(()=>e??1),[c,h]=Yr.useState([]),[f,g]=Yr.useState(0),b=n?n.map((P,L)=>({key:P.key??L,node:P.content})):Yr__default.default.Children.toArray(l).map((P,L)=>({key:P.key??L,node:P})),w=b.length,C=Yr.useCallback(P=>e??Math.max(1,Math.floor((P+r)/(t+r))),[e,t,r]),x=Yr.useCallback(()=>{let P=d.current;if(!P)return;let L=P.clientWidth,H=C(L);p(H);let R=(L-(H-1)*r)/H,y=new Array(H).fill(0),_=[];for(let z=0;z<w;z++){let Y=m.current[z],ge=Y?Y.offsetHeight:0,E=0;for(let ye=1;ye<H;ye++)y[ye]<y[E]&&(E=ye);_.push({top:y[E],left:E*(R+r),width:R}),y[E]+=ge+r;}let X=Math.max(0,...y)-(w?r:0);h(_),g(X);},[w,C,r]);Yr.useEffect(()=>{let P=d.current;if(!P)return;let L=new ResizeObserver(()=>x());return L.observe(P),()=>L.disconnect()},[x]),Yr.useEffect(()=>{let P=requestAnimationFrame(x);return ()=>cancelAnimationFrame(P)},[x]),Yr.useEffect(()=>{let P=new ResizeObserver(()=>x());return m.current.forEach(L=>{L&&P.observe(L);}),()=>P.disconnect()},[w,u,x]);let M=Yr.useCallback((P,L)=>{let H=P.currentTarget;Li(P,H),o?.(n?.[L],L);},[o,n]),F=P=>{if(!n)return false;let L=n[P];return !!(L.title||L.description||L.actions)};return jsxRuntime.jsx("div",{ref:d,className:v("relative",a),style:{...s,height:f},...i,children:b.map((P,L)=>jsxRuntime.jsxs("div",{ref:H=>{m.current[L]=H;},className:"masonry-item",role:"button",tabIndex:0,onClick:H=>M(H,L),onKeyDown:H=>{(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),o?.(n?.[L],L));},style:{position:"absolute",top:c[L]?.top??0,left:c[L]?.left??0,width:c[L]?.width??"100%"},children:[P.node,F(L)&&jsxRuntime.jsxs("div",{className:"masonry-item-overlay",children:[n[L].title&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-title",children:n[L].title}),n[L].description&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-desc",children:n[L].description}),n[L].actions&&jsxRuntime.jsx("div",{className:"masonry-item-overlay-actions",children:n[L].actions})]})]},P.key))})}function Sr({text:e="",mode:t="typewriter",speed:r=40,cursor:n=true,cursorChar:o="\u258B",thinking:a=false,streaming:s=false,delay:l=0,onComplete:i,as:d="span",className:m}){let[u,p]=Yr.useState(t==="instant"?e:""),[c,h]=Yr.useState(false),[f,g]=Yr.useState(t==="instant"),[b,w]=Yr.useState(false),C=Yr.useRef(0),x=Yr.useRef(i);x.current=i;let M=Yr.useRef(e);M.current=e,Yr.useEffect(()=>{if(t!=="typewriter")return;if(p(""),g(false),w(false),h(false),!e){g(true);return}let R=Math.max(10,1e3/r),y=0,_,X=()=>{h(true),_=setInterval(()=>{let Y=M.current;y++,p(Y.slice(0,y)),y>=Y.length&&(clearInterval(_),h(false),g(true),x.current?.());},R);},z;return l>0?z=setTimeout(X,l):X(),()=>{clearTimeout(z),clearInterval(_);}},[e,t]),Yr.useEffect(()=>{if(t!=="stream")return;if(e.length===0){C.current=0,p(""),h(false),g(false),w(false);return}if(e.length<=C.current)return;let R=Math.max(10,1e3/r),y=C.current;h(true),g(false),w(false);let _=setInterval(()=>{y++,C.current=y,p(M.current.slice(0,y)),y>=M.current.length&&(clearInterval(_),h(false),x.current?.());},R);return ()=>clearInterval(_)},[e,t]),Yr.useEffect(()=>{t==="instant"&&(p(e),h(false),g(true));},[e,t]);let F=Yr.useRef(s);Yr.useEffect(()=>{let R=F.current;if(F.current=s,R&&!s&&!c&&t==="stream"){w(true);let y=setTimeout(()=>{w(false),g(true);},650);return ()=>clearTimeout(y)}},[s,c,t]);let P=n&&(a||c||b||t==="stream"&&s&&!f||t==="typewriter"&&!f),L=a?"tw-cursor--blink":c?"tw-cursor--solid":b?"tw-cursor--out":"tw-cursor--blink";return jsxRuntime.jsxs(d,{className:v(m),children:[a&&!u&&jsxRuntime.jsx("span",{"aria-hidden":"true",children:"\u200B"}),u,P&&jsxRuntime.jsx("span",{className:v("tw-cursor",L),"aria-hidden":"true",children:o})]})}function Tr(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function _i(e,t){if(!t)return true;let r=Tr(t);return Tr(e.label).includes(r)||(e.description?Tr(e.description).includes(r):false)||(e.keywords?e.keywords.some(n=>Tr(n).includes(r)):false)}function Hi(e){let t=new Map;for(let r of e){let n=r.group??"";t.has(n)||t.set(n,[]),t.get(n).push(r);}return Array.from(t.entries()).map(([r,n])=>({label:r,items:n}))}function Io(e,t,r,n){let[o,a]=Yr.useState(""),[s,l]=Yr.useState(0);Yr.useEffect(()=>{t&&(a(""),l(0));},[t]);let i=Yr.useMemo(()=>e.filter(p=>!p.disabled&&_i(p,o)),[e,o]),d=Yr.useMemo(()=>Hi(i),[i]);Yr.useEffect(()=>{l(p=>Math.min(p,Math.max(0,i.length-1)));},[i.length]);let m=Yr.useCallback(()=>{let p=i[s];p&&(p.onSelect(),r(false));},[i,s,r]),u=Yr.useCallback(p=>{switch(p.key){case "ArrowDown":p.preventDefault(),l(c=>(c+1)%Math.max(1,i.length));break;case "ArrowUp":p.preventDefault(),l(c=>(c-1+Math.max(1,i.length))%Math.max(1,i.length));break;case "Enter":p.preventDefault(),m();break;case "Escape":p.preventDefault(),r(false);break}},[i.length,m,r]);return Yr.useEffect(()=>{if(!n)return;function p(c){(c.metaKey||c.ctrlKey)&&c.key==="k"&&(c.preventDefault(),r(!t));}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[n,t,r]),{query:o,setQuery:a,groups:d,filtered:i,activeIndex:s,setActiveIndex:l,handleKeyDown:u}}function Er({open:e,onOpenChange:t,commands:r,placeholder:n="Type a command or search\u2026",hotkey:o=true,maxItems:a=8,className:s}){let l=Yr.useRef(null),i=Yr.useRef(null),{query:d,setQuery:m,groups:u,filtered:p,activeIndex:c,setActiveIndex:h,handleKeyDown:f}=Io(r,e,t,o);if(Yr.useEffect(()=>{if(e){let b=setTimeout(()=>l.current?.focus(),40);return ()=>clearTimeout(b)}},[e]),Yr.useEffect(()=>{i.current?.querySelector("[data-active='true']")?.scrollIntoView({block:"nearest"});},[c]),!e)return null;let g=0;return reactDom.createPortal(jsxRuntime.jsx("div",{className:"cmd-backdrop fixed inset-0 z-50 flex items-start justify-center pt-[15vh]",onClick:()=>t(false),role:"presentation",children:jsxRuntime.jsxs("div",{className:v("cmd-panel relative flex w-full max-w-lg flex-col overflow-hidden rounded-xl","border border-primary-200 bg-white shadow-2xl","dark:border-primary-700 dark:bg-primary-900",s),onClick:b=>b.stopPropagation(),onKeyDown:f,role:"dialog","aria-label":"Command palette","aria-modal":"true",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3 border-b border-primary-100 px-4 dark:border-primary-700",children:[jsxRuntime.jsx(lucideReact.Search,{className:"h-4 w-4 shrink-0 text-secondary-400","aria-hidden":"true"}),jsxRuntime.jsx("input",{ref:l,value:d,onChange:b=>m(b.target.value),placeholder:n,className:"flex-1 bg-transparent py-3.5 text-sm text-primary-900 outline-none placeholder:text-secondary-400 dark:text-primary-50","aria-label":"Search commands","aria-controls":"cmd-results","aria-autocomplete":"list","aria-activedescendant":p[c]?`cmd-item-${p[c].id}`:void 0,spellCheck:false,autoComplete:"off"}),jsxRuntime.jsx("kbd",{className:"hidden shrink-0 rounded border border-primary-200 px-1.5 py-0.5 text-xs text-secondary-400 dark:border-primary-600 sm:block",children:"esc"})]}),jsxRuntime.jsx("div",{id:"cmd-results",ref:i,className:"overflow-y-auto py-2",style:{maxHeight:`${a*2.75}rem`},role:"listbox","aria-label":"Commands",children:p.length===0?jsxRuntime.jsxs("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-secondary-400",children:[jsxRuntime.jsx(lucideReact.Command,{className:"h-8 w-8 opacity-30"}),jsxRuntime.jsx("span",{children:"No commands found"})]}):u.map(b=>jsxRuntime.jsxs("div",{className:"mb-1 last:mb-0",children:[b.label&&jsxRuntime.jsx("p",{className:"px-4 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-secondary-400 dark:text-secondary-500",children:b.label}),b.items.map(w=>{let C=g++,x=C===c;return jsxRuntime.jsxs("button",{id:`cmd-item-${w.id}`,"data-active":x,role:"option","aria-selected":x,className:v("cmd-item group flex w-full items-center gap-3 px-4 py-2.5 text-left text-sm",x?"bg-primary-100 text-primary-900 dark:bg-primary-800 dark:text-primary-50":"text-primary-700 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-800/50"),onMouseEnter:()=>h(C),onClick:()=>{w.onSelect(),t(false);},children:[w.icon&&jsxRuntime.jsx("span",{className:v("flex h-7 w-7 shrink-0 items-center justify-center rounded-md border text-xs",x?"border-primary-300 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-700 dark:text-primary-200":"border-primary-200 bg-primary-50 text-primary-500 dark:border-primary-700 dark:bg-primary-800 dark:text-primary-400"),children:w.icon}),jsxRuntime.jsxs("span",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("span",{className:"block truncate font-medium",children:w.label}),w.description&&jsxRuntime.jsx("span",{className:"block truncate text-xs text-secondary-400 dark:text-secondary-500",children:w.description})]}),w.shortcut&&jsxRuntime.jsx("span",{className:"flex shrink-0 items-center gap-0.5",children:w.shortcut.map((M,F)=>jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1.5 py-0.5 text-xs text-secondary-500 dark:border-primary-700 dark:text-secondary-400",children:M},F))})]},w.id)})]},b.label||"_default"))}),p.length>0&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between border-t border-primary-100 px-4 py-2 dark:border-primary-700",children:[jsxRuntime.jsxs("span",{className:"text-xs text-secondary-400",children:[p.length," result",p.length!==1?"s":""]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-3 text-xs text-secondary-400",children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2191"}),jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2193"}),"Navigate"]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u21B5"}),"Select"]})]})]})]})}),document.body)}var $o={complete:"bg-success-500 border-success-500 text-white dark:bg-success-600 dark:border-success-600",active:"bg-primary-500 border-primary-500 text-white dark:bg-primary-400 dark:border-primary-400",error:"bg-danger-500 border-danger-500 text-white dark:bg-danger-600 dark:border-danger-600",pending:"bg-white border-primary-300 text-secondary-400 dark:bg-primary-800 dark:border-primary-600"},Bo={complete:"shadow-[0_0_0_4px_theme(colors.success.100)] dark:shadow-[0_0_0_4px_theme(colors.success.900/30)]",active:"shadow-[0_0_0_4px_theme(colors.primary.100)] dark:shadow-[0_0_0_4px_theme(colors.primary.800/50)] animate-pulse",error:"shadow-[0_0_0_4px_theme(colors.danger.100)] dark:shadow-[0_0_0_4px_theme(colors.danger.900/30)]",pending:""};function Vo({status:e,icon:t}){return t?jsxRuntime.jsx(jsxRuntime.Fragment,{children:t}):e==="complete"?jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"}):e==="error"?jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-3 w-3"}):e==="active"?jsxRuntime.jsx(lucideReact.Dot,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Clock,{className:"h-3 w-3"})}function jo({images:e,title:t}){let r=e.slice(0,4),n=e.length>4?e.length-4:0,o=(a,s,l)=>jsxRuntime.jsxs("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:v("relative block overflow-hidden",l),onClick:i=>i.stopPropagation(),children:[jsxRuntime.jsx("img",{src:a,alt:`${t} ${s+1}`,className:"h-full w-full object-cover transition-transform duration-300 hover:scale-105"}),s===r.length-1&&n>0&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/60",children:jsxRuntime.jsxs("span",{className:"text-sm font-semibold text-white",children:["+",n]})})]},s);return r.length===0?null:r.length===1?jsxRuntime.jsx("div",{className:"mt-2.5 h-36 overflow-hidden rounded-xl",children:o(r[0],0,"h-full")}):r.length===2?jsxRuntime.jsx("div",{className:"mt-2.5 grid h-28 grid-cols-2 gap-0.5 overflow-hidden rounded-xl",children:r.map((a,s)=>o(a,s))}):r.length===3?jsxRuntime.jsxs("div",{className:"mt-2.5 grid h-36 grid-cols-2 grid-rows-2 gap-0.5 overflow-hidden rounded-xl",children:[o(r[0],0,"row-span-2"),o(r[1],1),o(r[2],2)]}):jsxRuntime.jsx("div",{className:"mt-2.5 grid h-44 grid-cols-2 grid-rows-2 gap-0.5 overflow-hidden rounded-xl",children:r.map((a,s)=>o(a,s))})}function Uo({actions:e}){let t=e.filter(s=>s.variant!=="primary"),r=e.filter(s=>s.variant==="primary"),n="inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1 text-xs font-medium text-secondary-500 transition-colors hover:bg-secondary-100/80 hover:text-secondary-700 dark:text-secondary-400 dark:hover:bg-primary-800/60 dark:hover:text-secondary-200",o="inline-flex items-center gap-1.5 rounded-lg border border-primary-200/70 bg-primary-50/80 px-3 py-1 text-xs font-semibold text-primary-700 transition-colors hover:bg-primary-100 dark:border-primary-600/60 dark:bg-primary-800/60 dark:text-primary-300 dark:hover:bg-primary-700/60",a=(s,l,i)=>s.href?jsxRuntime.jsxs("a",{href:s.href,target:"_blank",rel:"noopener noreferrer",className:i,onClick:d=>d.stopPropagation(),children:[s.icon,s.label]},l):jsxRuntime.jsxs("button",{type:"button",onClick:s.onClick,className:i,children:[s.icon,s.label]},l);return jsxRuntime.jsxs("div",{className:"mt-3 flex items-center gap-1 border-t border-primary-100/50 pt-2.5 dark:border-primary-700/40",children:[t.map((s,l)=>a(s,l,n)),r.length>0&&jsxRuntime.jsx("span",{className:"flex-1"}),r.map((s,l)=>a(s,l,o))]})}function Ko({item:e,isActive:t,animated:r,visible:n,orientation:o}){let a=e.status??"pending",s={complete:"bg-gradient-to-br from-white to-success-50/40 dark:from-primary-900 dark:to-success-900/10",active:"bg-gradient-to-br from-white to-primary-50/60 dark:from-primary-900 dark:to-primary-800/40",error:"bg-gradient-to-br from-white to-danger-50/40 dark:from-primary-900 dark:to-danger-900/10",pending:"bg-white dark:bg-primary-900"}[a],l={complete:"border-success-200/70 dark:border-success-800/50",active:"border-primary-300/80 dark:border-primary-600/70",error:"border-danger-200/70 dark:border-danger-800/50",pending:"border-primary-200/60 dark:border-primary-700/50"}[a],i=t?"shadow-lg shadow-primary-300/30 dark:shadow-primary-500/20":a==="complete"?"shadow-md shadow-success-300/20 dark:shadow-success-400/10":a==="error"?"shadow-md shadow-danger-300/20 dark:shadow-danger-400/10":"shadow-sm shadow-primary-100/50 dark:shadow-black/20",d=a==="complete"?"conic-gradient(from 30deg, transparent 0%, var(--tl-glow-complete-1) 18%, var(--tl-glow-complete-2) 30%, var(--tl-holo-cyan) 44%, transparent 60%)":a==="error"?"conic-gradient(from 150deg, transparent 0%, var(--tl-glow-error-1) 18%, var(--tl-glow-error-2) 32%, var(--tl-glow-error-3) 44%, transparent 58%)":null,m={complete:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",active:"bg-primary-100 text-primary-700 dark:bg-primary-800/60 dark:text-primary-300",error:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",pending:"bg-secondary-100 text-secondary-600 dark:bg-primary-800/50 dark:text-secondary-400"}[a];return jsxRuntime.jsxs("div",{className:v("relative isolate",r&&"transition-all duration-700",r?n?"opacity-100 translate-y-0":o==="vertical"?"opacity-0 translate-y-6":"opacity-0 translate-x-6":"",o==="horizontal"?"w-56 shrink-0":"flex-1",e.className),children:[!t&&d&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute animate-[tl-glow-pulse_5s_ease-in-out_infinite]",style:{inset:"-6px",borderRadius:"1.5rem",zIndex:-1,background:d,filter:"blur(14px)",opacity:.22},"aria-hidden":true}),t&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"pointer-events-none absolute",style:{inset:"-7px",borderRadius:"1.5rem",zIndex:-1,background:"conic-gradient(from var(--tl-angle, 0deg) at 50% 50%, var(--tl-holo-base) 0%, var(--tl-holo-indigo) 18%, var(--tl-holo-violet) 30%, var(--tl-holo-cyan) 45%, var(--tl-holo-mid) 62%, var(--tl-holo-base) 100%)",filter:"blur(10px)",animation:"tl-breathe 2.8s ease-in-out infinite, tl-holo-spin 9s linear infinite"},"aria-hidden":true}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute",style:{inset:"-1.5px",borderRadius:"1.0625rem",zIndex:-1,padding:"1.5px",background:"conic-gradient(from var(--tl-angle, 0deg) at 50% 50%, transparent 0deg, var(--tl-holo-indigo) 55deg, var(--tl-holo-violet) 85deg, var(--tl-holo-cyan) 115deg, transparent 175deg, transparent 360deg)",WebkitMask:"linear-gradient(white 0 0) content-box, linear-gradient(white 0 0)",WebkitMaskComposite:"xor",maskComposite:"exclude",animation:"tl-holo-spin 5s linear infinite"},"aria-hidden":true})]}),jsxRuntime.jsx("div",{className:v("relative overflow-hidden rounded-2xl border backdrop-blur-[2px]",t?"border-transparent":v("border",l),s,i),children:e.imagePosition==="left"&&e.image?jsxRuntime.jsxs("div",{className:"flex min-h-[8rem]",children:[jsxRuntime.jsx("a",{href:e.image,target:"_blank",rel:"noopener noreferrer",className:"w-28 shrink-0 overflow-hidden",onClick:p=>p.stopPropagation(),"aria-label":e.title,children:jsxRuntime.jsx("img",{src:e.image,alt:e.title,className:"h-full w-full object-cover transition-transform duration-500 hover:scale-105"})}),jsxRuntime.jsxs("div",{className:"flex flex-1 flex-col p-4",children:[e.date&&jsxRuntime.jsx("span",{className:v("mb-2 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",m),children:e.date}),jsxRuntime.jsx("h3",{className:v("text-sm font-semibold leading-snug",t?"text-primary-900 dark:text-white":"text-primary-800 dark:text-primary-100"),children:e.title}),e.description&&jsxRuntime.jsx("p",{className:"mt-1 text-xs leading-relaxed text-secondary-500 dark:text-secondary-400",children:e.description}),e.images&&e.images.length>0&&jsxRuntime.jsx(jo,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(Uo,{actions:e.actions})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.image&&jsxRuntime.jsx("div",{className:"overflow-hidden",children:jsxRuntime.jsx("img",{src:e.image,alt:e.title,className:"h-32 w-full object-cover transition-transform duration-500 hover:scale-105"})}),e.svg&&!e.image&&jsxRuntime.jsx("div",{className:"flex items-center justify-center bg-primary-50/60 p-4 dark:bg-primary-800/40",children:e.svg}),jsxRuntime.jsxs("div",{className:v("p-4",(e.image||e.svg)&&"pt-3"),children:[e.date&&jsxRuntime.jsx("span",{className:v("mb-2.5 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",m),children:e.date}),jsxRuntime.jsx("h3",{className:v("text-sm font-semibold leading-snug",t?"text-primary-900 dark:text-white":"text-primary-800 dark:text-primary-100"),children:e.title}),e.description&&jsxRuntime.jsx("p",{className:"mt-1 text-xs leading-relaxed text-secondary-500 dark:text-secondary-400",children:e.description}),e.images&&e.images.length>0&&jsxRuntime.jsx(jo,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(Uo,{actions:e.actions})]})]})})]})}function bn({items:e,orientation:t="vertical",activeIndex:r,animated:n=true,lineStyle:o="solid",className:a}){let s=Yr.useRef(null),l=Yr.useRef([]),[i,d]=Yr.useState(new Set);Yr.useEffect(()=>{if(!n){d(new Set(e.map((p,c)=>c)));return}let u=new IntersectionObserver(p=>{d(c=>{let h=new Set(c);return p.forEach(f=>{let g=Number(f.target.dataset.idx);f.isIntersecting&&h.add(g);}),h});},{threshold:.15});return l.current.forEach(p=>p&&u.observe(p)),()=>u.disconnect()},[e,n]),Yr.useEffect(()=>{if(r==null)return;let u=l.current[r];u&&u.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});},[r]);let m=o==="dashed"?"border-dashed":"";return t==="vertical"?jsxRuntime.jsxs("div",{ref:s,className:v("relative",a),children:[jsxRuntime.jsx("div",{className:"absolute left-5 top-0 h-full w-px bg-primary-200 dark:bg-primary-700"}),jsxRuntime.jsx("div",{className:"space-y-6",children:e.map((u,p)=>{let c=u.status??"pending",h=p===r;return jsxRuntime.jsxs("div",{ref:f=>{l.current[p]=f;},"data-idx":p,className:"relative flex gap-4",children:[jsxRuntime.jsx("div",{className:"relative z-10 flex shrink-0 flex-col items-center",children:jsxRuntime.jsx("div",{className:v("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 [&_svg]:shrink-0",$o[c],h&&Bo[c]),children:jsxRuntime.jsx(Vo,{status:c,icon:u.icon})})}),jsxRuntime.jsx(Ko,{item:u,isActive:h,animated:n,visible:i.has(p),orientation:"vertical"})]},u.id??p)})})]}):jsxRuntime.jsx("div",{ref:s,className:v("relative overflow-x-auto pb-4",a),children:jsxRuntime.jsx("div",{className:"flex min-w-max gap-6 px-4",children:e.map((u,p)=>{let c=u.status??"pending",h=p===r,f=p===e.length-1;return jsxRuntime.jsxs("div",{ref:g=>{l.current[p]=g;},"data-idx":p,className:"relative flex flex-col items-center gap-3",children:[jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx("div",{className:v("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 z-10 [&_svg]:shrink-0",$o[c],h&&Bo[c]),children:jsxRuntime.jsx(Vo,{status:c,icon:u.icon})}),!f&&jsxRuntime.jsx("div",{className:v("h-px w-28 border-t-2",m,c==="complete"?"border-success-400":"border-primary-200 dark:border-primary-700")})]}),jsxRuntime.jsx(Ko,{item:u,isActive:h,animated:n,visible:i.has(p),orientation:"horizontal"})]},u.id??p)})})})}function rr(e="en-US",t="long"){return Array.from({length:12},(r,n)=>new Intl.DateTimeFormat(e,{month:t}).format(new Date(2e3,n,1)))}function Wo(e="en-US",t="narrow"){let r=new Date(2e3,0,2);return Array.from({length:7},(n,o)=>{let a=new Date(r);return a.setDate(r.getDate()+o),new Intl.DateTimeFormat(e,{weekday:t}).format(a)})}function Yo(e,t=true,r=true){return e==="date"?"YYYY-MM-DD":e==="time"?t?r?"HH:mm:ss":"HH:mm":r?"hh:mm:ss A":"hh:mm A":t?r?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD HH:mm":r?"YYYY-MM-DD hh:mm:ss A":"YYYY-MM-DD hh:mm A"}function Wi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qo(e,t,r="en-US"){let n=e.getHours(),o=rr(r,"long"),a=rr(r,"short"),s={YYYY:String(e.getFullYear()),YY:String(e.getFullYear()).slice(-2),MMMM:o[e.getMonth()],MMM:a[e.getMonth()],MM:String(e.getMonth()+1).padStart(2,"0"),M:String(e.getMonth()+1),DD:String(e.getDate()).padStart(2,"0"),D:String(e.getDate()),HH:String(n).padStart(2,"0"),H:String(n),hh:String(n%12||12).padStart(2,"0"),h:String(n%12||12),mm:String(e.getMinutes()).padStart(2,"0"),ss:String(e.getSeconds()).padStart(2,"0"),A:n<12?"AM":"PM",a:n<12?"am":"pm"},l=Object.keys(s).sort((d,m)=>m.length-d.length),i=new RegExp(l.map(Wi).join("|"),"g");return t.replace(i,d=>s[d]??d)}function Yt(e,t){return new Date(e,t+1,0).getDate()}function Xo(e,t){let r=new Date(e,t,1).getDay(),n=Yt(e,t),o=Yt(e,t-1),a=[];for(let l=r-1;l>=0;l--)a.push({date:new Date(e,t-1,o-l),thisMonth:false});for(let l=1;l<=n;l++)a.push({date:new Date(e,t,l),thisMonth:true});let s=42-a.length;for(let l=1;l<=s;l++)a.push({date:new Date(e,t+1,l),thisMonth:false});return a}function qt(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function vn(e,t){return qt(e).getTime()===qt(t).getTime()}function Go(e,t){return qt(e)<qt(t)}function Jo(e,t){return qt(e)>qt(t)}function Pr(e,t,r){return t&&e<t?new Date(t):r&&e>r?new Date(r):e}function Qo(e,t,r,n){let o=new Date(e),s=t*(n==="future"?1:-1);switch(r){case "day":o.setDate(o.getDate()+s);break;case "week":o.setDate(o.getDate()+s*7);break;case "month":o.setMonth(o.getMonth()+s);break;case "year":o.setFullYear(o.getFullYear()+s);break}return o}function Zo(e,t=200){let r=e-Math.floor(t/2);return Array.from({length:t},(n,o)=>r+o)}function ea(e){let{value:t,defaultValue:r,onChange:n,mode:o="datetime",minDate:a,maxDate:s,use24Hour:l=true,showSeconds:i=true,locale:d="en-US",format:m,onOpen:u,onClose:p}=e,c=t!==void 0,[h,f]=Yr.useState(r??null),g=c?t??null:h,[b,w]=Yr.useState(false),[C,x]=Yr.useState(()=>g??new Date),[M,F]=Yr.useState("drum"),[P,L]=Yr.useState(()=>(g??new Date).getFullYear()),[H,R]=Yr.useState(()=>(g??new Date).getMonth()),[y,_]=Yr.useState(1),[X,z]=Yr.useState("day"),[Y,ge]=Yr.useState("future"),E=m??Yo(o,l,i),ye=g?qo(g,E,d):"",fe=Yr.useCallback(()=>{let O=g??new Date;x(new Date(O)),L(O.getFullYear()),R(O.getMonth()),F("drum"),w(true),u?.();},[g,u]),Ne=Yr.useCallback(()=>{w(false),p?.();},[p]),ne=Yr.useCallback(()=>{let O=Pr(C,a,s);c||f(O),n?.(O),Ne();},[C,a,s,c,n,Ne]),Te=Yr.useCallback(()=>{c||f(null),n?.(null),Ne();},[c,n,Ne]),K=Yr.useCallback((O,ae)=>{x(le=>{let te=new Date(le);switch(O){case "year":te.setFullYear(ae);break;case "month":{te.setMonth(ae);let be=Yt(te.getFullYear(),ae);te.getDate()>be&&te.setDate(be);break}case "day":te.setDate(ae);break;case "hour":te.setHours(ae);break;case "minute":te.setMinutes(ae);break;case "second":te.setSeconds(ae);break}return Pr(te,a,s)});},[a,s]),Ee=Yr.useCallback(()=>{let O=Pr(Qo(new Date,y,X,Y),a,s);x(O),L(O.getFullYear()),R(O.getMonth());},[y,X,Y,a,s]),We=Yr.useCallback(O=>{let ae=H+O,le=P;ae<0&&(ae=11,le--),ae>11&&(ae=0,le++),R(ae),L(le);},[H,P]);return {isOpen:b,displayValue:ye,workingDate:C,view:M,calYear:P,calMonth:H,offsetAmount:y,offsetUnit:X,offsetDirection:Y,mode:o,use24Hour:l,showSeconds:i,locale:d,minDate:a,maxDate:s,openPicker:fe,closePicker:Ne,confirm:ne,clear:Te,updateField:K,setView:F,setCalYear:L,setCalMonth:R,setOffsetAmount:_,setOffsetUnit:z,setOffsetDirection:ge,applyQuickOffset:Ee,navigateCalendar:We}}var or=40;function na(e,t,r=true){let n=Yr.useRef(t);n.current=t,Yr.useEffect(()=>{if(!r)return;function o(a){let s=a.target;e.some(i=>i.current?.contains(s))||n.current();}return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[e,r]);}function oa(e,t,r){let n=Yr.useRef(false),o=Yr.useRef(void 0),a=Yr.useRef(r);a.current=r;let s=Yr.useRef(t);s.current=t;let l=Yr.useCallback((d,m="smooth")=>{let u=e.current;if(!u)return;let p=d*or;Math.abs(u.scrollTop-p)<2&&m!=="instant"||(m==="instant"?u.scrollTop=p:u.scrollTo({top:p,behavior:m}));},[e]),i=Yr.useCallback(()=>{e.current&&(n.current=true,clearTimeout(o.current),o.current=setTimeout(()=>{n.current=false;let m=e.current;if(!m)return;let u=Math.round(m.scrollTop/or),p=Math.max(0,Math.min(s.current-1,u)),c=p*or;Math.abs(m.scrollTop-c)>1&&m.scrollTo({top:c,behavior:"smooth"}),a.current(p);},120));},[e]);return {scrollToIndex:l,handleScroll:i,isScrollingRef:n}}function aa(e,t,r){Yr.useEffect(()=>{if(!r)return;function n(){let a=e.current,s=t.current;if(!a||!s)return;if(window.innerWidth<=640){s.style.top="",s.style.left="";return}let l=a.getBoundingClientRect(),i=window.innerHeight,d=window.innerWidth,m=s.offsetHeight||460,u=s.offsetWidth||340,p=l.bottom+8,c=l.left;p+m>i-16&&(p=Math.max(16,l.top-m-8)),c+u>d-16&&(c=Math.max(16,d-u-16)),c<16&&(c=16),s.style.top=`${Math.round(p)}px`,s.style.left=`${Math.round(c)}px`;}let o=setTimeout(n,0);return window.addEventListener("resize",n),window.addEventListener("scroll",n,true),()=>{clearTimeout(o),window.removeEventListener("resize",n),window.removeEventListener("scroll",n,true);}},[r,e,t]);}function Mt({items:e,selectedValue:t,onSelect:r,label:n}){let o=Yr.useRef(null),a=Yr.useRef(t),s=Yr.useRef(false),{scrollToIndex:l,handleScroll:i}=oa(o,e.length,d=>{let m=e[d];m&&(s.current=true,r(m.value),setTimeout(()=>{s.current=false;},200));});return Yr.useEffect(()=>{let d=o.current;if(!d)return;let m=e.findIndex(u=>u.value===t);m>=0&&(d.scrollTop=m*or);},[]),Yr.useEffect(()=>{if(a.current!==t&&(a.current=t,!s.current)){let d=e.findIndex(m=>m.value===t);d>=0&&l(d,"smooth");}},[t,e,l]),jsxRuntime.jsxs("div",{className:"dtp-column",role:"group","aria-label":n,children:[jsxRuntime.jsx("div",{className:"dtp-column-highlight","aria-hidden":"true"}),jsxRuntime.jsx("div",{ref:o,className:"dtp-column-list",onScroll:i,role:"listbox","aria-label":n,children:e.map(d=>jsxRuntime.jsx("div",{className:v("dtp-item",d.value===t&&"dtp-item--selected"),onClick:()=>{let m=e.findIndex(u=>u.value===d.value);m>=0&&l(m,"smooth"),r(d.value);},role:"option","aria-selected":d.value===t,children:d.label},d.value))}),jsxRuntime.jsx("div",{className:"dtp-fade-top","aria-hidden":"true"}),jsxRuntime.jsx("div",{className:"dtp-fade-bottom","aria-hidden":"true"})]})}function Qi({year:e,month:t,selectedDate:r,today:n,minDate:o,maxDate:a,locale:s,onSelectDay:l,onPrev:i,onNext:d}){let m=Wo(s,"narrow"),u=rr(s,"long"),p=Xo(e,t);return jsxRuntime.jsxs("div",{className:"dtp-calendar",children:[jsxRuntime.jsxs("div",{className:"dtp-cal-nav",children:[jsxRuntime.jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:i,"aria-label":"Previous month",children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:"h-4 w-4"})}),jsxRuntime.jsxs("span",{className:"dtp-cal-title",children:[u[t]," ",e]}),jsxRuntime.jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:d,"aria-label":"Next month",children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-4 w-4"})})]}),jsxRuntime.jsx("div",{className:"dtp-cal-weekdays",role:"row",children:m.map((c,h)=>jsxRuntime.jsx("div",{className:"dtp-cal-weekday",role:"columnheader","aria-label":c,children:c},h))}),jsxRuntime.jsx("div",{className:"dtp-cal-days",role:"grid",children:p.map(({date:c,thisMonth:h},f)=>{let g=vn(c,r),b=vn(c,n),w=o!=null&&Go(c,o)||a!=null&&Jo(c,a);return jsxRuntime.jsx("button",{type:"button",role:"gridcell",className:v("dtp-cal-day",!h&&"dtp-cal-day--other",g&&"dtp-cal-day--selected",b&&!g&&"dtp-cal-day--today",w&&"dtp-cal-day--disabled"),onClick:()=>!w&&l(c),disabled:w,"aria-current":b?"date":void 0,"aria-selected":g,"aria-disabled":w,children:c.getDate()},f)})})]})}function Zi({amount:e,unit:t,direction:r,onAmountChange:n,onUnitChange:o,onDirectionChange:a,onApply:s,locale:l}){let i=l.startsWith("zh"),d=[{value:"day",label:i?"\u5929":"Day"},{value:"week",label:i?"\u5468":"Week"},{value:"month",label:i?"\u6708":"Month"},{value:"year",label:i?"\u5E74":"Year"}],m=[{value:"future",label:i?"\u4EE5\u540E":"from now"},{value:"past",label:i?"\u4EE5\u524D":"before now"}];return jsxRuntime.jsxs("div",{className:"dtp-quick-offset","aria-label":i?"\u5FEB\u901F\u504F\u79FB":"Quick offset",children:[jsxRuntime.jsx("input",{type:"number",className:"dtp-offset-input",value:e,min:1,max:9999,"aria-label":i?"\u504F\u79FB\u6570\u91CF":"Offset amount",onChange:u=>{let p=parseInt(u.target.value,10);!isNaN(p)&&p>=1&&n(p);}}),jsxRuntime.jsx("select",{className:"dtp-offset-select",value:t,"aria-label":i?"\u504F\u79FB\u5355\u4F4D":"Offset unit",onChange:u=>o(u.target.value),children:d.map(u=>jsxRuntime.jsx("option",{value:u.value,children:u.label},u.value))}),jsxRuntime.jsx("select",{className:"dtp-offset-select",value:r,"aria-label":i?"\u504F\u79FB\u65B9\u5411":"Offset direction",onChange:u=>a(u.target.value),children:m.map(u=>jsxRuntime.jsx("option",{value:u.value,children:u.label},u.value))}),jsxRuntime.jsx("button",{type:"button",className:"dtp-offset-apply",onClick:s,children:i?"\u5E94\u7528":"Apply"})]})}function Rr({className:e,popupClassName:t,triggerClassName:r,disabled:n=false,placeholder:o,...a}){let{isOpen:s,displayValue:l,workingDate:i,view:d,calYear:m,calMonth:u,offsetAmount:p,offsetUnit:c,offsetDirection:h,mode:f,use24Hour:g,showSeconds:b,locale:w,minDate:C,maxDate:x,openPicker:M,closePicker:F,confirm:P,clear:L,updateField:H,setView:R,setCalYear:y,setCalMonth:_,setOffsetAmount:X,setOffsetUnit:z,setOffsetDirection:Y,applyQuickOffset:ge,navigateCalendar:E}=ea({...a}),ye=Yr.useRef(null),fe=Yr.useRef(null),Ne=new Date;na([ye,fe],F,s),aa(ye,fe,s);let ne=w.startsWith("zh"),Te={cancel:ne?"\u53D6\u6D88":"Cancel",confirm:ne?"\u786E\u5B9A":"Confirm",calendarView:ne?"\u65E5\u5386":"Calendar",scrollView:ne?"\u6EDA\u8F6E":"Scroll",placeholder:o??(ne?"\u9009\u62E9\u65E5\u671F\u65F6\u95F4":"Select date / time")},K=f==="date"||f==="datetime",Ee=f==="time"||f==="datetime",We=Zo(i.getFullYear(),200).map(G=>({label:String(G),value:G})),O=rr(w,"short").map((G,he)=>({label:G,value:he})),ae=Yt(i.getFullYear(),i.getMonth()),le=Array.from({length:ae},(G,he)=>({label:String(he+1).padStart(2,"0"),value:he+1})),te=Array.from({length:24},(G,he)=>({label:String(he).padStart(2,"0"),value:he})),be=Array.from({length:12},(G,he)=>({label:String(he===0?12:he).padStart(2,"0"),value:he})),Se=[{label:"AM",value:0},{label:"PM",value:1}],De=Array.from({length:60},(G,he)=>({label:String(he).padStart(2,"0"),value:he})),J=i.getHours(),at=J%12,ce=J<12?0:1,Pe=Ee&&!K?lucideReact.Clock:lucideReact.Calendar;return jsxRuntime.jsxs("div",{className:v("dtp-root",e),children:[jsxRuntime.jsxs("div",{className:"dtp-trigger-wrap",children:[jsxRuntime.jsxs("button",{ref:ye,type:"button",className:v("dtp-trigger",l&&"dtp-trigger--has-clear",n&&"dtp-trigger--disabled",r),onClick:()=>!n&&(s?F():M()),disabled:n,"aria-haspopup":"dialog","aria-expanded":s,children:[jsxRuntime.jsx(Pe,{className:"dtp-trigger-icon","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:v("dtp-trigger-text",!l&&"dtp-trigger-placeholder"),children:l||Te.placeholder})]}),l&&jsxRuntime.jsx("button",{type:"button",className:"dtp-trigger-clear","aria-label":ne?"\u6E05\u9664":"Clear value",onClick:()=>!n&&L(),children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]}),s&&reactDom.createPortal(jsxRuntime.jsxs("div",{ref:fe,className:v("dtp-panel",t),role:"dialog","aria-modal":"true","aria-label":ne?"\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668":"Date time picker",children:[jsxRuntime.jsxs("div",{className:"dtp-panel-header",children:[jsxRuntime.jsx("span",{className:"dtp-panel-preview",children:l||Te.placeholder}),jsxRuntime.jsx("div",{className:"dtp-panel-actions",children:K&&jsxRuntime.jsx("button",{type:"button",className:v("dtp-view-btn",d==="calendar"&&"dtp-view-btn--active"),"aria-pressed":d==="calendar",title:d==="calendar"?Te.scrollView:Te.calendarView,onClick:()=>{d!=="calendar"&&(y(i.getFullYear()),_(i.getMonth())),R(d==="calendar"?"drum":"calendar");},children:jsxRuntime.jsx(lucideReact.Calendar,{className:"h-4 w-4"})})})]}),jsxRuntime.jsx("div",{className:"dtp-panel-body",children:d==="drum"?jsxRuntime.jsxs("div",{className:"dtp-drum",children:[K&&jsxRuntime.jsxs("div",{className:"dtp-drum-date",children:[jsxRuntime.jsx(Mt,{label:ne?"\u5E74":"Year",items:We,selectedValue:i.getFullYear(),onSelect:G=>H("year",G)}),jsxRuntime.jsx(Mt,{label:ne?"\u6708":"Month",items:O,selectedValue:i.getMonth(),onSelect:G=>H("month",G)}),jsxRuntime.jsx(Mt,{label:ne?"\u65E5":"Day",items:le,selectedValue:i.getDate(),onSelect:G=>H("day",G)})]}),K&&Ee&&jsxRuntime.jsx("div",{className:"dtp-drum-sep","aria-hidden":"true"}),Ee&&jsxRuntime.jsxs("div",{className:"dtp-drum-time",children:[g?jsxRuntime.jsx(Mt,{label:ne?"\u65F6":"Hour",items:te,selectedValue:J,onSelect:G=>H("hour",G)}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Mt,{label:ne?"\u65F6":"Hour",items:be,selectedValue:at,onSelect:G=>{H("hour",ce===1?G+12:G);}}),jsxRuntime.jsx(Mt,{label:"AM/PM",items:Se,selectedValue:ce,onSelect:G=>{H("hour",at+(G===1?12:0));}})]}),jsxRuntime.jsx(Mt,{label:ne?"\u5206":"Min",items:De,selectedValue:i.getMinutes(),onSelect:G=>H("minute",G)}),b&&jsxRuntime.jsx(Mt,{label:ne?"\u79D2":"Sec",items:De,selectedValue:i.getSeconds(),onSelect:G=>H("second",G)})]})]}):jsxRuntime.jsx(Qi,{year:m,month:u,selectedDate:i,today:Ne,minDate:C,maxDate:x,locale:w,onSelectDay:G=>{H("year",G.getFullYear()),H("month",G.getMonth()),H("day",G.getDate()),R("drum");},onPrev:()=>E(-1),onNext:()=>E(1)})}),K&&jsxRuntime.jsx("div",{className:"dtp-panel-offset",children:jsxRuntime.jsx(Zi,{amount:p,unit:c,direction:h,onAmountChange:X,onUnitChange:z,onDirectionChange:Y,onApply:ge,locale:w})}),jsxRuntime.jsxs("div",{className:"dtp-panel-footer",children:[jsxRuntime.jsx("button",{type:"button",className:"dtp-btn-cancel",onClick:F,children:Te.cancel}),jsxRuntime.jsx("button",{type:"button",className:"dtp-btn-confirm",onClick:P,children:Te.confirm})]})]}),document.body)]})}var tl={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},rl={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function At({state:e="default",inputSize:t="md",className:r,prefix:n,suffix:o,action:a,...s}){if(!n&&!o&&!a)return jsxRuntime.jsx("input",{className:v(go({state:e,size:t}),r),...s});let l=tl[t??"md"],i=rl[e??"default"];return jsxRuntime.jsxs("div",{className:v("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",l.wrapper,i,r),children:[n&&jsxRuntime.jsx("span",{className:v("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",l.prefix),children:n}),jsxRuntime.jsx("input",{className:v("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",l.input,n&&"pl-2"),...s}),o&&jsxRuntime.jsx("span",{className:v("flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",l.icon),children:o}),a&&jsxRuntime.jsx("button",{type:"button",onClick:a.onClick,"aria-label":a["aria-label"]??"Action",className:v("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",l.icon),children:a.icon})]})}function zt({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("label",{className:v(bo({intent:e,size:t}),r),...n})}var ll={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function la({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:n,intent:o,size:a,label:s,id:l,className:i,disabled:d,...m}){let u=Yr.useId(),p=l??u,c=a??"md",[h,f]=Yr.useState(t),g=e??h,b=Yr.useCallback(C=>{let x=C.target.checked;e===void 0&&f(x),n?.(x);},[e,n]),w=g||r;return jsxRuntime.jsxs("label",{htmlFor:p,className:v("inline-flex cursor-pointer items-center gap-2 select-none",d&&"pointer-events-none opacity-50",i),children:[jsxRuntime.jsx("input",{...m,id:p,type:"checkbox",className:"sr-only",checked:g,disabled:d,onChange:b}),jsxRuntime.jsx("span",{className:v(vo({intent:o,size:a,checked:w?"on":"off"})),children:jsxRuntime.jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:v("text-white transition-all duration-200",ll[c],w?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsxRuntime.jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsxRuntime.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:s})]})}var ca=classVarianceAuthority.cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}});classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});function yn({length:e=6,value:t,defaultValue:r="",onChange:n,onComplete:o,size:a="md",variant:s="outline",disabled:l=false,readOnly:i=false,autoFocus:d=false,alphanumeric:m=false,mask:u=false,invalid:p=false,className:c}){let h=t!==void 0,[f,g]=Yr.useState(()=>{let R=(r??"").slice(0,e);return Array.from({length:e},(y,_)=>R[_]??"")}),b=h?Array.from({length:e},(R,y)=>(t??"")[y]??""):f,w=Yr.useRef([]),C=Yr.useRef([]);Yr.useEffect(()=>{d&&w.current[0]&&w.current[0].focus();},[d]);let x=Yr.useCallback(R=>{h||g(R);let y=R.join("");n?.(y),R.every(_=>_!=="")&&R.length===e&&o?.(y);},[h,n,o,e]),M=R=>{let y=w.current[R];y&&(y.classList.remove("otp-pop"),clearTimeout(C.current[R]),y.offsetWidth,y.classList.add("otp-pop"),C.current[R]=window.setTimeout(()=>y.classList.remove("otp-pop"),200));},F=Yr.useCallback((R,y)=>{let _=m?/[a-zA-Z0-9]/g:/[0-9]/g,X=y.match(_)??[];if(X.length===0)return;let z=X[X.length-1],Y=[...b];Y[R]=z,x(Y),M(R),R<e-1&&w.current[R+1]?.focus();},[b,e,m,x]),P=Yr.useCallback((R,y)=>{if(y.key==="Backspace"){if(y.preventDefault(),b[R]){let _=[...b];_[R]="",x(_);}else if(R>0){w.current[R-1]?.focus();let _=[...b];_[R-1]="",x(_);}}else if(y.key==="ArrowLeft")y.preventDefault(),R>0&&w.current[R-1]?.focus();else if(y.key==="ArrowRight")y.preventDefault(),R<e-1&&w.current[R+1]?.focus();else if(y.key==="Delete"){y.preventDefault();let _=[...b];_[R]="",x(_);}},[b,e,x]),L=Yr.useCallback((R,y)=>{y.preventDefault();let _=y.clipboardData.getData("text"),X=m?/[a-zA-Z0-9]/g:/[0-9]/g,z=_.match(X)??[],Y=[...b],ge=R;for(let fe=0;fe<z.length&&R+fe<e;fe++)Y[R+fe]=z[fe],ge=R+fe;x(Y);let E=Y.findIndex((fe,Ne)=>Ne>ge&&fe===""),ye=E!==-1?E:Math.min(ge+1,e-1);w.current[ye]?.focus();},[b,e,m,x]),H=Yr.useCallback(R=>{R.target.select();},[]);return jsxRuntime.jsx("div",{role:"group","aria-label":"OTP Input",className:v("inline-flex gap-2",c),children:Array.from({length:e},(R,y)=>jsxRuntime.jsx("input",{ref:_=>{w.current[y]=_;},type:u?"password":"text",inputMode:m?"text":"numeric",pattern:m?"[a-zA-Z0-9]":"[0-9]",maxLength:2,value:b[y],disabled:l,readOnly:i,autoComplete:"one-time-code","aria-label":`Digit ${y+1} of ${e}`,className:v(ca({size:a,variant:s,invalid:p||void 0}),"text-secondary-900 dark:text-secondary-100"),onChange:_=>F(y,_.target.value),onKeyDown:_=>P(y,_),onPaste:_=>L(y,_),onFocus:H},y))})}function wn({size:e="sm",variant:t="default",className:r,children:n,...o}){return jsxRuntime.jsx("kbd",{className:v(xo({size:e,variant:t}),r),...o,children:n})}function kn({separator:e="+",className:t,children:r}){let n=Yr__default.default.Children.toArray(r);return jsxRuntime.jsx("span",{className:v("inline-flex items-center gap-1",t),children:n.map((o,a)=>jsxRuntime.jsxs(Yr__default.default.Fragment,{children:[o,a<n.length-1&&jsxRuntime.jsx("span",{className:"select-none text-xs text-secondary-400 dark:text-secondary-500","aria-hidden":true,children:e})]},a))})}var ml={login:"Welcome back",register:"Create account",otp:"Verify your identity",forgot:"Reset password"},fl={login:"Sign in to your account to continue",register:"Fill in the details to get started",otp:"Enter the 6-digit code sent to your email",forgot:"We'll send a reset link to your email"};function zr({mode:e,onModeChange:t,onLogin:r,onRegister:n,onOTPComplete:o,onForgotPassword:a,logo:s,title:l,subtitle:i,socialLogins:d,showRememberMe:m=true,isLoading:u=false,error:p,className:c,style:h}){let[f,g]=Yr.useState("login"),b=e!==void 0,w=b?e:f,C=Yr.useCallback(K=>{b||g(K),t?.(K);},[b,t]),[x,M]=Yr.useState(""),[F,P]=Yr.useState(""),[L,H]=Yr.useState(false),[R,y]=Yr.useState(""),[_,X]=Yr.useState(""),[z,Y]=Yr.useState(""),[ge,E]=Yr.useState(""),ye=Yr.useCallback(async K=>{K.preventDefault(),await r?.(x,F,L);},[x,F,L,r]),fe=Yr.useCallback(async K=>{K.preventDefault(),await n?.(R,_,z);},[R,_,z,n]),Ne=Yr.useCallback(async K=>{K.preventDefault(),await a?.(ge);},[ge,a]),ne=l??ml[w],Te=i??fl[w];return jsxRuntime.jsxs("div",{className:v("w-full max-w-sm rounded-2xl border border-primary-200 bg-white/90 p-8 shadow-xl backdrop-blur-md","dark:border-primary-700 dark:bg-primary-900/90",c),style:h,children:[s&&jsxRuntime.jsx("div",{className:"mb-6 flex justify-center",children:s}),jsxRuntime.jsxs("div",{className:"mb-6 text-center",children:[jsxRuntime.jsx("h2",{className:"text-xl font-bold text-primary-900 dark:text-primary-50",children:ne}),jsxRuntime.jsx("p",{className:"mt-1 text-sm text-secondary-500 dark:text-secondary-400",children:Te})]}),d&&d.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"mb-4 flex flex-col gap-2",children:d.map((K,Ee)=>jsxRuntime.jsxs("button",{type:"button",onClick:K.onClick,disabled:u,className:v("flex w-full items-center justify-center gap-2 rounded-lg border border-secondary-300 px-4 py-2 text-sm font-medium","text-secondary-700 transition-colors hover:bg-secondary-50","dark:border-secondary-600 dark:text-secondary-300 dark:hover:bg-secondary-800","disabled:opacity-50 disabled:cursor-not-allowed","[&_svg]:h-4 [&_svg]:w-4"),children:[K.icon,K.label]},Ee))}),jsxRuntime.jsxs("div",{className:"relative mb-4 flex items-center",children:[jsxRuntime.jsx("div",{className:"flex-1 border-t border-secondary-200 dark:border-secondary-700"}),jsxRuntime.jsx("span",{className:"mx-3 text-xs text-secondary-400 dark:text-secondary-500",children:"or continue with"}),jsxRuntime.jsx("div",{className:"flex-1 border-t border-secondary-200 dark:border-secondary-700"})]})]}),jsxRuntime.jsxs("div",{className:"login-panel-slide-enter",children:[w==="login"&&jsxRuntime.jsxs("form",{onSubmit:ye,className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-email",children:"Email"}),jsxRuntime.jsx(At,{id:"lp-email",type:"email",placeholder:"you@example.com",value:x,onChange:K=>M(K.target.value),disabled:u,required:true})]}),jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-password",children:"Password"}),jsxRuntime.jsx(At,{id:"lp-password",type:"password",placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",value:F,onChange:K=>P(K.target.value),disabled:u,required:true})]}),m&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx(la,{checked:L,onCheckedChange:K=>H(!!K),label:"Remember me",disabled:u}),jsxRuntime.jsx("button",{type:"button",className:"text-xs text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("forgot"),children:"Forgot password?"})]}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx(Pt,{type:"submit",className:"w-full",disabled:u,children:u?jsxRuntime.jsx("span",{className:"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:["Sign in"," ",jsxRuntime.jsx(kn,{className:"ml-1 opacity-60",children:jsxRuntime.jsx(wn,{size:"xs",children:"\u23CE"})})]})}),jsxRuntime.jsxs("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:["Don't have an account?"," ",jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("register"),children:"Register"})]})]}),w==="register"&&jsxRuntime.jsxs("form",{onSubmit:fe,className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-name",children:"Full name"}),jsxRuntime.jsx(At,{id:"lp-name",type:"text",placeholder:"Jane Doe",value:R,onChange:K=>y(K.target.value),disabled:u,required:true})]}),jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-reg-email",children:"Email"}),jsxRuntime.jsx(At,{id:"lp-reg-email",type:"email",placeholder:"you@example.com",value:_,onChange:K=>X(K.target.value),disabled:u,required:true})]}),jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-reg-password",children:"Password"}),jsxRuntime.jsx(At,{id:"lp-reg-password",type:"password",placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",value:z,onChange:K=>Y(K.target.value),disabled:u,required:true})]}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx(Pt,{type:"submit",className:"w-full",disabled:u,children:u?jsxRuntime.jsx("span",{className:"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}):"Create account"}),jsxRuntime.jsxs("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:["Already have an account?"," ",jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("login"),children:"Sign in"})]})]}),w==="otp"&&jsxRuntime.jsxs("div",{className:"space-y-6",children:[jsxRuntime.jsx("div",{className:"flex justify-center",children:jsxRuntime.jsx(yn,{length:6,size:"md",onComplete:async K=>{await o?.(K);},autoFocus:true})}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-center text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("login"),children:"\u2190 Back to login"})})]}),w==="forgot"&&jsxRuntime.jsxs("form",{onSubmit:Ne,className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-forgot-email",children:"Email address"}),jsxRuntime.jsx(At,{id:"lp-forgot-email",type:"email",placeholder:"you@example.com",value:ge,onChange:K=>E(K.target.value),disabled:u,required:true})]}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx(Pt,{type:"submit",className:"w-full",disabled:u,children:u?jsxRuntime.jsx("span",{className:"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}):"Send reset link"}),jsxRuntime.jsx("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("login"),children:"\u2190 Back to login"})})]})]},w)]})}function fa({item:e,mode:t}){return e.separator?jsxRuntime.jsx("div",{className:"mx-1 h-10 w-px self-center bg-primary-200 dark:bg-primary-700","aria-hidden":true}):jsxRuntime.jsxs("button",{type:"button",title:e.title??e.label,disabled:e.disabled,onClick:e.onClick,"aria-pressed":e.active,className:v("relative flex shrink-0 items-center justify-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400","disabled:cursor-not-allowed disabled:opacity-40",e.active?"bg-primary-100 text-primary-700 shadow-inner dark:bg-primary-800 dark:text-primary-200":"text-primary-700 hover:bg-primary-50 active:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",t==="full"?"min-w-[3.5rem] flex-col gap-0.5 py-2":"","[&_svg]:shrink-0",t==="full"?"[&_svg]:h-5 [&_svg]:w-5":"[&_svg]:h-4 [&_svg]:w-4"),children:[e.icon&&jsxRuntime.jsx("span",{children:e.icon}),t!=="icons"&&jsxRuntime.jsx("span",{className:v(t==="full"?"text-[0.6rem] leading-tight":""),children:e.label})]})}function vl({group:e,mode:t,disabled:r=false}){return jsxRuntime.jsxs("div",{className:v("flex shrink-0 flex-col items-stretch",r&&"opacity-50"),children:[jsxRuntime.jsx("div",{className:"flex items-center gap-0.5 px-1",children:e.items.map(n=>jsxRuntime.jsx(fa,{item:r?{...n,disabled:true}:n,mode:t},n.key))}),t==="full"&&jsxRuntime.jsx("div",{className:"mt-1 border-t border-primary-100 px-2 pt-0.5 text-center dark:border-primary-800",children:jsxRuntime.jsx("span",{className:"text-[0.55rem] text-secondary-400 dark:text-secondary-500",children:e.label})})]})}function ha({tabs:e,defaultTab:t,activeTab:r,onTabChange:n,mode:o,onModeChange:a,sticky:s=false,className:l}){let i=e.filter(x=>!x.hidden),[d,m]=Yr.useState(t??i[0]?.key??""),[u,p]=Yr.useState(o??"full"),[c,h]=Yr.useState(true),f=r??d,g=o??u,b=x=>{if(!i.find(F=>F.key===x)?.disabled){if(x===f&&g!=="icons"){h(F=>!F);return}m(x),n?.(x),h(true);}},C=i.find(x=>x.key===f)??i[0];return jsxRuntime.jsxs("div",{className:v("select-none border-b border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",s&&"sticky top-0 z-30",l),children:[jsxRuntime.jsxs("div",{className:"flex items-center border-b border-primary-100 dark:border-primary-800",children:[jsxRuntime.jsx("div",{className:"flex flex-1 items-end overflow-x-auto",children:i.map(x=>jsxRuntime.jsxs("button",{type:"button",disabled:x.disabled,onClick:()=>b(x.key),className:v("flex shrink-0 items-center gap-1.5 border-b-2 px-4 py-2 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400 [&_svg]:h-4 [&_svg]:w-4",x.disabled?"cursor-not-allowed border-transparent text-secondary-300 opacity-50 dark:text-secondary-600":x.key===f&&c?"border-primary-500 text-primary-700 dark:border-primary-400 dark:text-primary-200":"border-transparent text-secondary-500 hover:border-primary-300 hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-300"),children:[x.icon,x.label]},x.key))}),jsxRuntime.jsx("button",{type:"button",title:c?"Collapse ribbon":"Expand ribbon",onClick:()=>h(x=>!x),className:"ml-auto mr-2 rounded-md p-1.5 text-secondary-400 transition-colors hover:bg-primary-50 hover:text-primary-600 dark:hover:bg-primary-800 dark:hover:text-primary-300",children:c?jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"})})]}),c&&C&&g!=="icons"&&jsxRuntime.jsx("div",{className:"flex items-stretch gap-1 overflow-x-auto px-2 py-1.5",children:C.groups.map((x,M)=>jsxRuntime.jsxs(Yr__default.default.Fragment,{children:[M>0&&jsxRuntime.jsx("div",{className:"mx-1 h-auto w-px self-stretch bg-primary-100 dark:bg-primary-800"}),jsxRuntime.jsx(vl,{group:x,mode:g,disabled:x.disabled||C.disabled})]},x.key))}),g==="icons"&&c&&C&&jsxRuntime.jsx("div",{className:"flex items-center gap-0.5 overflow-x-auto px-2 py-1",children:C.groups.flatMap(x=>x.items.map(M=>jsxRuntime.jsx(fa,{item:x.disabled||C.disabled?{...M,disabled:true}:M,mode:"icons"},M.key)))})]})}var kl={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},Ml={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function Ir({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:n,uncheckedContent:o,intent:a,size:s,label:l,id:i,className:d,disabled:m,...u}){let p=Yr.useId(),c=i??p,h=s??"md",f=a??"primary",g=kl[h],b=n!=null||o!=null,[w,C]=Yr.useState(t),x=e??w,M=Yr.useCallback(F=>{let P=F.target.checked;e===void 0&&C(P),r?.(P);},[e,r]);return jsxRuntime.jsxs("label",{htmlFor:c,className:v("inline-flex cursor-pointer items-center gap-2",m&&"pointer-events-none opacity-50",d),children:[jsxRuntime.jsx("input",{...u,id:c,type:"checkbox",role:"switch",className:"sr-only",checked:x,disabled:m,onChange:M,"aria-checked":x}),jsxRuntime.jsxs("span",{className:v("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",b?g.trackH:g.trackFixed,yo({intent:a,size:s,checked:x?"on":"off"})),children:[b?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{className:v("pointer-events-none invisible inline-grid",g.icon),children:[jsxRuntime.jsx("span",{className:v("[grid-area:1/1] whitespace-nowrap",g.pad),children:n}),jsxRuntime.jsx("span",{className:v("[grid-area:1/1] whitespace-nowrap",g.pad),children:o})]}),jsxRuntime.jsx("span",{className:v("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",g.contentLeft,g.icon,Ml[f],x?"opacity-100":"opacity-0"),children:n}),jsxRuntime.jsx("span",{className:v("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",g.contentRight,g.icon,"text-primary-400 dark:text-primary-500",x?"opacity-0":"opacity-100"),children:o})]}):null,jsxRuntime.jsx("span",{className:v("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",g.thumb,g.thumbTop,x?g.thumbOn:g.thumbOff)})]}),l&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:l})]})}var Cl=Object.defineProperty,Dn=(e,t)=>{for(var r in t)Cl(e,r,{get:t[r],enumerable:true});};function Ur(e){let{state:t,transaction:r}=e,{selection:n}=r,{doc:o}=r,{storedMarks:a}=r;return {...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return a},get selection(){return n},get doc(){return o},get tr(){return n=r.selection,o=r.doc,a=r.storedMarks,r}}}var An=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state;}get hasCustomState(){return !!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:e,editor:t,state:r}=this,{view:n}=t,{tr:o}=r,a=this.buildProps(o);return Object.fromEntries(Object.entries(e).map(([s,l])=>[s,(...d)=>{let m=l(...d)(a);return !o.getMeta("preventDispatch")&&!this.hasCustomState&&n.dispatch(o),m}]))}get chain(){return ()=>this.createChain()}get can(){return ()=>this.createCan()}createChain(e,t=true){let{rawCommands:r,editor:n,state:o}=this,{view:a}=n,s=[],l=!!e,i=e||o.tr,d=()=>(!l&&t&&!i.getMeta("preventDispatch")&&!this.hasCustomState&&a.dispatch(i),s.every(u=>u===true)),m={...Object.fromEntries(Object.entries(r).map(([u,p])=>[u,(...h)=>{let f=this.buildProps(i,t),g=p(...h)(f);return s.push(g),m}])),run:d};return m}createCan(e){let{rawCommands:t,state:r}=this,n=false,o=e||r.tr,a=this.buildProps(o,n);return {...Object.fromEntries(Object.entries(t).map(([l,i])=>[l,(...d)=>i(...d)({...a,dispatch:void 0})])),chain:()=>this.createChain(o,n)}}buildProps(e,t=true){let{rawCommands:r,editor:n,state:o}=this,{view:a}=n,s={tr:e,editor:n,view:a,state:Ur({state:o,transaction:e}),dispatch:t?()=>{}:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(r).map(([l,i])=>[l,(...d)=>i(...d)(s)]))}};return s}},Ra={};Dn(Ra,{blur:()=>Sl,clearContent:()=>Tl,clearNodes:()=>Pl,command:()=>Rl,createParagraphNear:()=>Al,cut:()=>Ll,deleteCurrentNode:()=>Il,deleteNode:()=>_l,deleteRange:()=>Hl,deleteSelection:()=>Fl,enter:()=>$l,exitCode:()=>Vl,extendMarkRange:()=>Ul,first:()=>Kl,focus:()=>Xl,forEach:()=>Gl,insertContent:()=>Jl,insertContentAt:()=>sc,joinBackward:()=>mc,joinDown:()=>pc,joinForward:()=>fc,joinItemBackward:()=>gc,joinItemForward:()=>vc,joinTextblockBackward:()=>xc,joinTextblockForward:()=>kc,joinUp:()=>uc,keyboardShortcut:()=>Nc,lift:()=>Sc,liftEmptyBlock:()=>Ec,liftListItem:()=>Rc,newlineInCode:()=>Ac,resetAttributes:()=>zc,scrollIntoView:()=>Lc,selectAll:()=>_c,selectNodeBackward:()=>Oc,selectNodeForward:()=>$c,selectParentNode:()=>Vc,selectTextblockEnd:()=>Uc,selectTextblockStart:()=>Wc,setContent:()=>qc,setMark:()=>gd,setMeta:()=>bd,setNode:()=>vd,setNodeSelection:()=>xd,setTextDirection:()=>wd,setTextSelection:()=>kd,sinkListItem:()=>Nd,splitBlock:()=>Td,splitListItem:()=>Dd,toggleList:()=>Ad,toggleMark:()=>zd,toggleNode:()=>Ld,toggleWrap:()=>Id,undoInputRule:()=>_d,unsetAllMarks:()=>Hd,unsetMark:()=>Od,unsetTextDirection:()=>Fd,updateAttributes:()=>$d,wrapIn:()=>Vd,wrapInList:()=>Ud});var Sl=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var r;e.isDestroyed||(t.dom.blur(),(r=window?.getSelection())==null||r.removeAllRanges());}),true),Tl=(e=true)=>({commands:t})=>t.setContent("",{emitUpdate:e}),Pl=()=>({state:e,tr:t,dispatch:r})=>{let{selection:n}=t,{ranges:o}=n;return r&&o.forEach(({$from:a,$to:s})=>{e.doc.nodesBetween(a.pos,s.pos,(l,i)=>{if(l.type.isText)return;let{doc:d,mapping:m}=t,u=d.resolve(m.map(i)),p=d.resolve(m.map(i+l.nodeSize)),c=u.blockRange(p);if(!c)return;let h=transform.liftTarget(c);if(l.type.isTextblock){let{defaultType:f}=u.parent.contentMatchAt(u.index());t.setNodeMarkup(c.start,f);}(h||h===0)&&t.lift(c,h);});}),true},Rl=e=>t=>e(t),Al=()=>({state:e,dispatch:t})=>commands.createParagraphNear(e,t),Ll=(e,t)=>({editor:r,tr:n})=>{let{state:o}=r,a=o.doc.slice(e.from,e.to);n.deleteRange(e.from,e.to);let s=n.mapping.map(t);return n.insert(s,a.content),n.setSelection(new state.TextSelection(n.doc.resolve(Math.max(s-1,0)))),true},Il=()=>({tr:e,dispatch:t})=>{let{selection:r}=e,n=r.$anchor.node();if(n.content.size>0)return false;let o=e.selection.$anchor;for(let a=o.depth;a>0;a-=1)if(o.node(a).type===n.type){if(t){let l=o.before(a),i=o.after(a);e.delete(l,i).scrollIntoView();}return true}return false};function Ve(e,t){if(typeof e=="string"){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}var _l=e=>({tr:t,state:r,dispatch:n})=>{let o=Ve(e,r.schema),a=t.selection.$anchor;for(let s=a.depth;s>0;s-=1)if(a.node(s).type===o){if(n){let i=a.before(s),d=a.after(s);t.delete(i,d).scrollIntoView();}return true}return false},Hl=e=>({tr:t,dispatch:r})=>{let{from:n,to:o}=e;return r&&t.delete(n,o),true},Fl=()=>({state:e,dispatch:t})=>commands.deleteSelection(e,t),$l=()=>({commands:e})=>e.keyboardShortcut("Enter"),Vl=()=>({state:e,dispatch:t})=>commands.exitCode(e,t);function zn(e){return Object.prototype.toString.call(e)==="[object RegExp]"}function Br(e,t,r={strict:true}){let n=Object.keys(t);return n.length?n.every(o=>r.strict?t[o]===e[o]:zn(t[o])?t[o].test(e[o]):t[o]===e[o]):true}function Da(e,t,r={}){return e.find(n=>n.type===t&&Br(Object.fromEntries(Object.keys(r).map(o=>[o,n.attrs[o]])),r))}function ga(e,t,r={}){return !!Da(e,t,r)}function Aa(e,t,r){var n;if(!e||!t)return;let o=e.parent.childAfter(e.parentOffset);if((!o.node||!o.node.marks.some(m=>m.type===t))&&(o=e.parent.childBefore(e.parentOffset)),!o.node||!o.node.marks.some(m=>m.type===t)||(r=r||((n=o.node.marks[0])==null?void 0:n.attrs),!Da([...o.node.marks],t,r)))return;let s=o.index,l=e.start()+o.offset,i=s+1,d=l+o.node.nodeSize;for(;s>0&&ga([...e.parent.child(s-1).marks],t,r);)s-=1,l-=e.parent.child(s).nodeSize;for(;i<e.parent.childCount&&ga([...e.parent.child(i).marks],t,r);)d+=e.parent.child(i).nodeSize,i+=1;return {from:l,to:d}}function ht(e,t){if(typeof e=="string"){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var Ul=(e,t={})=>({tr:r,state:n,dispatch:o})=>{let a=ht(e,n.schema),{doc:s,selection:l}=r,{$from:i,from:d,to:m}=l;if(o){let u=Aa(i,a,t);if(u&&u.from<=d&&u.to>=m){let p=state.TextSelection.create(s,u.from,u.to);r.setSelection(p);}}return true},Kl=e=>t=>{let r=typeof e=="function"?e(t):e;for(let n=0;n<r.length;n+=1)if(r[n](t))return true;return false};function za(e){return e instanceof state.TextSelection}function It(e=0,t=0,r=0){return Math.min(Math.max(e,t),r)}function Yl(e,t=null){if(!t)return null;let r=state.Selection.atStart(e),n=state.Selection.atEnd(e);if(t==="start"||t===true)return r;if(t==="end")return n;let o=r.from,a=n.to;return t==="all"?state.TextSelection.create(e,It(0,o,a),It(e.content.size,o,a)):state.TextSelection.create(e,It(t,o,a),It(t,o,a))}function ya(){return navigator.platform==="Android"||/android/i.test(navigator.userAgent)}function Vr(){return ["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}function ql(){return typeof navigator<"u"?/^((?!chrome|android).)*safari/i.test(navigator.userAgent):false}var Xl=(e=null,t={})=>({editor:r,view:n,tr:o,dispatch:a})=>{t={scrollIntoView:true,...t};let s=()=>{(Vr()||ya())&&n.dom.focus(),ql()&&!Vr()&&!ya()&&n.dom.focus({preventScroll:true}),requestAnimationFrame(()=>{r.isDestroyed||(n.focus(),t?.scrollIntoView&&r.commands.scrollIntoView());});};try{if(n.hasFocus()&&e===null||e===!1)return !0}catch{return false}if(a&&e===null&&!za(r.state.selection))return s(),true;let l=Yl(o.doc,e)||r.state.selection,i=r.state.selection.eq(l);return a&&(i||o.setSelection(l),i&&o.storedMarks&&o.setStoredMarks(o.storedMarks),s()),true},Gl=(e,t)=>r=>e.every((n,o)=>t(n,{...r,index:o})),Jl=(e,t)=>({tr:r,commands:n})=>n.insertContentAt({from:r.selection.from,to:r.selection.to},e,t),La=e=>{let t=e.childNodes;for(let r=t.length-1;r>=0;r-=1){let n=t[r];n.nodeType===3&&n.nodeValue&&/^(\n\s\s|\n)$/.test(n.nodeValue)?e.removeChild(n):n.nodeType===1&&La(n);}return e};function _r(e){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");let t=`<body>${e}</body>`,r=new window.DOMParser().parseFromString(t,"text/html").body;return La(r)}function dr(e,t,r){if(e instanceof model.Node||e instanceof model.Fragment)return e;r={slice:true,parseOptions:{},...r};let n=typeof e=="object"&&e!==null,o=typeof e=="string";if(n)try{if(Array.isArray(e)&&e.length>0)return model.Fragment.fromArray(e.map(l=>t.nodeFromJSON(l)));let s=t.nodeFromJSON(e);return r.errorOnInvalidContent&&s.check(),s}catch(a){if(r.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:a});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",a),dr("",t,r)}if(o){if(r.errorOnInvalidContent){let s=false,l="",i=new model.Schema({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:d=>(s=true,l=typeof d=="string"?d:d.outerHTML,null)}]}})});if(r.slice?model.DOMParser.fromSchema(i).parseSlice(_r(e),r.parseOptions):model.DOMParser.fromSchema(i).parse(_r(e),r.parseOptions),r.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}let a=model.DOMParser.fromSchema(t);return r.slice?a.parseSlice(_r(e),r.parseOptions).content:a.parse(_r(e),r.parseOptions)}return dr("",t,r)}function oc(e,t,r){let n=e.steps.length-1;if(n<t)return;let o=e.steps[n];if(!(o instanceof transform.ReplaceStep||o instanceof transform.ReplaceAroundStep))return;let a=e.mapping.maps[n],s=0;a.forEach((l,i,d,m)=>{s===0&&(s=m);}),e.setSelection(state.Selection.near(e.doc.resolve(s),r));}var ac=e=>!("type"in e),sc=(e,t,r)=>({tr:n,dispatch:o,editor:a})=>{var s;if(o){r={parseOptions:a.options.parseOptions,updateSelection:true,applyInputRules:false,applyPasteRules:false,...r};let l,i=g=>{a.emit("contentError",{editor:a,error:g,disableCollaboration:()=>{"collaboration"in a.storage&&typeof a.storage.collaboration=="object"&&a.storage.collaboration&&(a.storage.collaboration.isDisabled=true);}});},d={preserveWhitespace:"full",...r.parseOptions};if(!r.errorOnInvalidContent&&!a.options.enableContentCheck&&a.options.emitContentError)try{dr(t,a.schema,{parseOptions:d,errorOnInvalidContent:!0});}catch(g){i(g);}try{l=dr(t,a.schema,{parseOptions:d,errorOnInvalidContent:(s=r.errorOnInvalidContent)!=null?s:a.options.enableContentCheck});}catch(g){return i(g),false}let{from:m,to:u}=typeof e=="number"?{from:e,to:e}:{from:e.from,to:e.to},p=true,c=true;if((ac(l)?l:[l]).forEach(g=>{g.check(),p=p?g.isText&&g.marks.length===0:false,c=c?g.isBlock:false;}),m===u&&c){let{parent:g}=n.doc.resolve(m);g.isTextblock&&!g.type.spec.code&&!g.childCount&&(m-=1,u+=1);}let f;if(p){if(Array.isArray(t))f=t.map(g=>g.text||"").join("");else if(t instanceof model.Fragment){let g="";t.forEach(b=>{b.text&&(g+=b.text);}),f=g;}else typeof t=="object"&&t&&t.text?f=t.text:f=t;n.insertText(f,m,u);}else {f=l;let g=n.doc.resolve(m),b=g.node(),w=g.parentOffset===0,C=b.isText||b.isTextblock,x=b.content.size>0;w&&C&&x&&(m=Math.max(0,m-1)),n.replaceWith(m,u,f);}r.updateSelection&&oc(n,n.steps.length-1,-1),r.applyInputRules&&n.setMeta("applyInputRules",{from:m,text:f}),r.applyPasteRules&&n.setMeta("applyPasteRules",{from:m,text:f});}return true},uc=()=>({state:e,dispatch:t})=>commands.joinUp(e,t),pc=()=>({state:e,dispatch:t})=>commands.joinDown(e,t),mc=()=>({state:e,dispatch:t})=>commands.joinBackward(e,t),fc=()=>({state:e,dispatch:t})=>commands.joinForward(e,t),gc=()=>({state:e,dispatch:t,tr:r})=>{try{let n=transform.joinPoint(e.doc,e.selection.$from.pos,-1);return n==null?!1:(r.join(n,2),t&&t(r),!0)}catch{return false}},vc=()=>({state:e,dispatch:t,tr:r})=>{try{let n=transform.joinPoint(e.doc,e.selection.$from.pos,1);return n==null?!1:(r.join(n,2),t&&t(r),!0)}catch{return false}},xc=()=>({state:e,dispatch:t})=>commands.joinTextblockBackward(e,t),kc=()=>({state:e,dispatch:t})=>commands.joinTextblockForward(e,t);function Ia(){return typeof navigator<"u"?/Mac/.test(navigator.platform):false}function Mc(e){let t=e.split(/-(?!$)/),r=t[t.length-1];r==="Space"&&(r=" ");let n,o,a,s;for(let l=0;l<t.length-1;l+=1){let i=t[l];if(/^(cmd|meta|m)$/i.test(i))s=true;else if(/^a(lt)?$/i.test(i))n=true;else if(/^(c|ctrl|control)$/i.test(i))o=true;else if(/^s(hift)?$/i.test(i))a=true;else if(/^mod$/i.test(i))Vr()||Ia()?s=true:o=true;else throw new Error(`Unrecognized modifier name: ${i}`)}return n&&(r=`Alt-${r}`),o&&(r=`Ctrl-${r}`),s&&(r=`Meta-${r}`),a&&(r=`Shift-${r}`),r}var Nc=e=>({editor:t,view:r,tr:n,dispatch:o})=>{let a=Mc(e).split(/-(?!$)/),s=a.find(d=>!["Alt","Ctrl","Meta","Shift"].includes(d)),l=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:a.includes("Alt"),ctrlKey:a.includes("Ctrl"),metaKey:a.includes("Meta"),shiftKey:a.includes("Shift"),bubbles:true,cancelable:true}),i=t.captureTransaction(()=>{r.someProp("handleKeyDown",d=>d(r,l));});return i?.steps.forEach(d=>{let m=d.map(n.mapping);m&&o&&n.maybeStep(m);}),true};function Ln(e,t,r={}){let{from:n,to:o,empty:a}=e.selection,s=t?Ve(t,e.schema):null,l=[];e.doc.nodesBetween(n,o,(u,p)=>{if(u.isText)return;let c=Math.max(n,p),h=Math.min(o,p+u.nodeSize);l.push({node:u,from:c,to:h});});let i=o-n,d=l.filter(u=>s?s.name===u.node.type.name:true).filter(u=>Br(u.node.attrs,r,{strict:false}));return a?!!d.length:d.reduce((u,p)=>u+p.to-p.from,0)>=i}var Sc=(e,t={})=>({state:r,dispatch:n})=>{let o=Ve(e,r.schema);return Ln(r,o,t)?commands.lift(r,n):false},Ec=()=>({state:e,dispatch:t})=>commands.liftEmptyBlock(e,t),Rc=e=>({state:t,dispatch:r})=>{let n=Ve(e,t.schema);return schemaList.liftListItem(n)(t,r)},Ac=()=>({state:e,dispatch:t})=>commands.newlineInCode(e,t);function _a(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function wa(e,t){let r=typeof t=="string"?[t]:t;return Object.keys(e).reduce((n,o)=>(r.includes(o)||(n[o]=e[o]),n),{})}var zc=(e,t)=>({tr:r,state:n,dispatch:o})=>{let a=null,s=null,l=_a(typeof e=="string"?e:e.name,n.schema);if(!l)return false;l==="node"&&(a=Ve(e,n.schema)),l==="mark"&&(s=ht(e,n.schema));let i=false;return r.selection.ranges.forEach(d=>{n.doc.nodesBetween(d.$from.pos,d.$to.pos,(m,u)=>{a&&a===m.type&&(i=true,o&&r.setNodeMarkup(u,void 0,wa(m.attrs,t))),s&&m.marks.length&&m.marks.forEach(p=>{s===p.type&&(i=true,o&&r.addMark(u,u+m.nodeSize,s.create(wa(p.attrs,t))));});});}),i},Lc=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),true),_c=()=>({tr:e,dispatch:t})=>{if(t){let r=new state.AllSelection(e.doc);e.setSelection(r);}return true},Oc=()=>({state:e,dispatch:t})=>commands.selectNodeBackward(e,t),$c=()=>({state:e,dispatch:t})=>commands.selectNodeForward(e,t),Vc=()=>({state:e,dispatch:t})=>commands.selectParentNode(e,t),Uc=()=>({state:e,dispatch:t})=>commands.selectTextblockEnd(e,t),Wc=()=>({state:e,dispatch:t})=>commands.selectTextblockStart(e,t);function Yc(e,t,r={},n={}){return dr(e,t,{slice:false,parseOptions:r,errorOnInvalidContent:n.errorOnInvalidContent})}var qc=(e,{errorOnInvalidContent:t,emitUpdate:r=true,parseOptions:n={}}={})=>({editor:o,tr:a,dispatch:s,commands:l})=>{let{doc:i}=a;if(n.preserveWhitespace!=="full"){let d=Yc(e,o.schema,n,{errorOnInvalidContent:t??o.options.enableContentCheck});return s&&a.replaceWith(0,i.content.size,d).setMeta("preventUpdate",!r),true}return s&&a.setMeta("preventUpdate",!r),l.insertContentAt({from:0,to:i.content.size},e,{parseOptions:n,errorOnInvalidContent:t??o.options.enableContentCheck})};function Xc(e,t){let r=ht(t,e.schema),{from:n,to:o,empty:a}=e.selection,s=[];a?(e.storedMarks&&s.push(...e.storedMarks),s.push(...e.selection.$head.marks())):e.doc.nodesBetween(n,o,i=>{s.push(...i.marks);});let l=s.find(i=>i.type.name===r.name);return l?{...l.attrs}:{}}function Jc(e,t){let r=new transform.Transform(e);return t.forEach(n=>{n.steps.forEach(o=>{r.step(o);});}),r}function Qc(e){for(let t=0;t<e.edgeCount;t+=1){let{type:r}=e.edge(t);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}function Zc(e,t){for(let r=e.depth;r>0;r-=1){let n=e.node(r);if(t(n))return {pos:r>0?e.before(r):0,start:e.start(r),depth:r,node:n}}}function In(e){return t=>Zc(t.$from,e)}function U(e,t,r){return e.config[t]===void 0&&e.parent?U(e.parent,t,r):typeof e.config[t]=="function"?e.config[t].bind({...r,parent:e.parent?U(e.parent,t,r):null}):e.config[t]}function rd(e){return typeof e=="function"}function Ce(e,t=void 0,...r){return rd(e)?t?e.bind(t)(...r):e(...r):e}function Jt(e){let t=e.filter(o=>o.type==="extension"),r=e.filter(o=>o.type==="node"),n=e.filter(o=>o.type==="mark");return {baseExtensions:t,nodeExtensions:r,markExtensions:n}}function od(e){let t=[],r="",n=false,o=false,a=0,s=e.length;for(let l=0;l<s;l+=1){let i=e[l];if(i==="'"&&!o){n=!n,r+=i;continue}if(i==='"'&&!n){o=!o,r+=i;continue}if(!n&&!o){if(i==="("){a+=1,r+=i;continue}if(i===")"&&a>0){a-=1,r+=i;continue}if(i===";"&&a===0){t.push(r),r="";continue}}r+=i;}return r&&t.push(r),t}function ka(e){let t=[],r=od(e||""),n=r.length;for(let o=0;o<n;o+=1){let a=r[o],s=a.indexOf(":");if(s===-1)continue;let l=a.slice(0,s).trim(),i=a.slice(s+1).trim();l&&i&&t.push([l,i]);}return t}function Qt(...e){return e.filter(t=>!!t).reduce((t,r)=>{let n={...t};return Object.entries(r).forEach(([o,a])=>{if(!n[o]){n[o]=a;return}if(o==="class"){let l=a?String(a).split(" "):[],i=n[o]?n[o].split(" "):[],d=l.filter(m=>!i.includes(m));n[o]=[...i,...d].join(" ");}else if(o==="style"){let l=new Map([...ka(n[o]),...ka(a)]);n[o]=Array.from(l.entries()).map(([i,d])=>`${i}: ${d}`).join("; ");}else n[o]=a;}),n},{})}function ld(e,t,r){let{from:n,to:o}=t,{blockSeparator:a=`
83
+ `}),jsxRuntime.jsx(uo,{open:ne,onOpenChange:Te,children:jsxRuntime.jsxs(po,{size:"sm",children:[jsxRuntime.jsxs(mo,{children:[jsxRuntime.jsxs(fo,{children:[jsxRuntime.jsx(lucideReact.AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxRuntime.jsxs(ho,{children:[P.size===1?`Are you sure you want to delete "${xe[Array.from(P)[0]]?.name}"?`:`Are you sure you want to delete ${P.size} selected items?`," ","This action cannot be undone."]})]}),jsxRuntime.jsxs(go,{children:[jsxRuntime.jsx(Pt,{intent:"ghost",onClick:()=>Te(false),children:"Cancel"}),jsxRuntime.jsxs(Pt,{intent:"danger",onClick:()=>{let k=Array.from(P).map(U=>xe[U]).filter(Boolean);p?.(k),L(new Set),D(null),Te(false);},children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function Wt({label:e,value:t,mono:r}){return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:e}),jsxRuntime.jsx("div",{className:v("text-(--fe-text) break-all leading-snug",r&&"font-mono text-[9px]"),children:t})]})}function Os(e,t){let r=t.getBoundingClientRect(),n=Math.max(r.width,r.height)*1.2,o=e.clientX-r.left,a=e.clientY-r.top,i=document.createElement("span");i.className="masonry-ripple",i.style.width=`${n}px`,i.style.height=`${n}px`,i.style.left=`${o}px`,i.style.top=`${a}px`,t.appendChild(i),i.addEventListener("animationend",()=>i.remove());}function gn({columns:e,columnWidth:t=240,gap:r=16,items:n,onItemClick:o,className:a,style:i,children:l,...s}){let d=Xr.useRef(null),m=Xr.useRef([]),[u,p]=Xr.useState(()=>e??1),[c,h]=Xr.useState([]),[f,g]=Xr.useState(0),b=n?n.map((P,L)=>({key:P.key??L,node:P.content})):Xr__default.default.Children.toArray(l).map((P,L)=>({key:P.key??L,node:P})),w=b.length,C=Xr.useCallback(P=>e??Math.max(1,Math.floor((P+r)/(t+r))),[e,t,r]),x=Xr.useCallback(()=>{let P=d.current;if(!P)return;let L=P.clientWidth,H=C(L);p(H);let D=(L-(H-1)*r)/H,y=new Array(H).fill(0),_=[];for(let R=0;R<w;R++){let K=m.current[R],ie=K?K.offsetHeight:0,T=0;for(let ye=1;ye<H;ye++)y[ye]<y[T]&&(T=ye);_.push({top:y[T],left:T*(D+r),width:D}),y[T]+=ie+r;}let B=Math.max(0,...y)-(w?r:0);h(_),g(B);},[w,C,r]);Xr.useEffect(()=>{let P=d.current;if(!P)return;let L=new ResizeObserver(()=>x());return L.observe(P),()=>L.disconnect()},[x]),Xr.useEffect(()=>{let P=requestAnimationFrame(x);return ()=>cancelAnimationFrame(P)},[x]),Xr.useEffect(()=>{let P=new ResizeObserver(()=>x());return m.current.forEach(L=>{L&&P.observe(L);}),()=>P.disconnect()},[w,u,x]);let M=Xr.useCallback((P,L)=>{let H=P.currentTarget;Os(P,H),o?.(n?.[L],L);},[o,n]),$=P=>{if(!n)return false;let L=n[P];return !!(L.title||L.description||L.actions)};return jsxRuntime.jsx("div",{ref:d,className:v("relative",a),style:{...i,height:f},...s,children:b.map((P,L)=>jsxRuntime.jsxs("div",{ref:H=>{m.current[L]=H;},className:"masonry-item",role:"button",tabIndex:0,onClick:H=>M(H,L),onKeyDown:H=>{(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),o?.(n?.[L],L));},style:{position:"absolute",top:c[L]?.top??0,left:c[L]?.left??0,width:c[L]?.width??"100%"},children:[P.node,$(L)&&jsxRuntime.jsxs("div",{className:"masonry-item-overlay",children:[n[L].title&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-title",children:n[L].title}),n[L].description&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-desc",children:n[L].description}),n[L].actions&&jsxRuntime.jsx("div",{className:"masonry-item-overlay-actions",children:n[L].actions})]})]},P.key))})}var Fs='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="2" y1="2" x2="22" y2="22"/><path d="M10.41 10.41a2 2 0 1 1-2.83-2.83"/><line x1="13.5" y1="6" x2="18" y2="6"/><line x1="6" y1="2" x2="14" y2="10"/><path d="M4 6h1.5"/><path d="M2 18.5C2 19.9 3.1 21 4.5 21H16"/><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/></svg>';function Cr(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Bs(e){return e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,"").replace(/\s+on[a-z][a-z0-9]*\s*=\s*(?:"[^"]*"|'[^']*'|[^\s/>]*)/gi,"").replace(/\b(href|src|action)\s*=\s*["']\s*(?:javascript|vbscript)\s*:[^"'>]*/gi,'$1="#"').replace(/\bhref\s*=\s*["']\s*data\s*:[^"'>]*/gi,'href="#"')}var zo=new marked.Marked;zo.use({renderer:{image({href:e,title:t,text:r}){let n=/^https?:\/\//i.test(e??"")?e:"",o=r?` alt="${Cr(r)}"`:' alt=""',a=t?` title="${Cr(t)}"`:"",i=Cr(r||"Image failed to load");return `<figure class="tw-rich-img-wrap"><img class="tw-rich-img" src="${Cr(n)}" loading="lazy"${o}${a} /><div class="tw-rich-img-error">`+Fs+`<span>${i}</span></div></figure>`}}});function Lo(e){let t=zo.parse(e,{async:false});return Bs(t)}function Er({text:e="",mode:t="typewriter",speed:r=40,cursor:n=true,cursorChar:o="\u258B",thinking:a=false,streaming:i=false,delay:l=0,onComplete:s,as:d="span",className:m,rich:u=false}){let[p,c]=Xr.useState(t==="instant"?e:""),[h,f]=Xr.useState(false),[g,b]=Xr.useState(t==="instant"),[w,C]=Xr.useState(false),x=Xr.useRef(null),M=Xr.useRef(0),$=Xr.useRef(s);$.current=s;let P=Xr.useRef(e);P.current=e,Xr.useEffect(()=>{if(t!=="typewriter")return;if(c(""),b(false),C(false),f(false),!e){b(true);return}let _=Math.max(10,1e3/r),B=0,R,K=()=>{f(true),R=setInterval(()=>{let T=P.current;B++,c(T.slice(0,B)),B>=T.length&&(clearInterval(R),f(false),b(true),$.current?.());},_);},ie;return l>0?ie=setTimeout(K,l):K(),()=>{clearTimeout(ie),clearInterval(R);}},[e,t]),Xr.useEffect(()=>{if(t!=="stream")return;if(e.length===0){M.current=0,c(""),f(false),b(false),C(false);return}if(e.length<=M.current)return;let _=Math.max(10,1e3/r),B=M.current;f(true),b(false),C(false);let R=setInterval(()=>{B++,M.current=B,c(P.current.slice(0,B)),B>=P.current.length&&(clearInterval(R),f(false),$.current?.());},_);return ()=>clearInterval(R)},[e,t]),Xr.useEffect(()=>{t==="instant"&&(c(e),f(false),b(true));},[e,t]);let L=Xr.useRef(i);Xr.useEffect(()=>{let _=L.current;if(L.current=i,_&&!i&&!h&&t==="stream"){C(true);let B=setTimeout(()=>{C(false),b(true);},650);return ()=>clearTimeout(B)}},[i,h,t]),Xr.useEffect(()=>{if(!u||!x.current)return;let B=Array.from(x.current.querySelectorAll(".tw-rich-img")).map(R=>{let K=()=>{let ie=R.closest(".tw-rich-img-wrap");ie&&ie.classList.add("tw-rich-img-wrap--error");};return R.addEventListener("error",K,{once:true}),{img:R,onError:K}});return ()=>{B.forEach(({img:R,onError:K})=>R.removeEventListener("error",K));}},[p,u]);let H=n&&(a||h||w||t==="stream"&&i&&!g||t==="typewriter"&&!g),D=a?"tw-cursor--blink":h?"tw-cursor--solid":w?"tw-cursor--out":"tw-cursor--blink",y=d;return u?jsxRuntime.jsxs("div",{role:"region",className:v(m),children:[jsxRuntime.jsx("div",{ref:x,className:"tw-rich-prose",dangerouslySetInnerHTML:{__html:Lo(p)}}),H&&jsxRuntime.jsx("span",{className:v("tw-cursor",D),"aria-hidden":"true",children:o})]}):jsxRuntime.jsxs(y,{className:v(m),children:[a&&!p&&jsxRuntime.jsx("span",{"aria-hidden":"true",children:"\u200B"}),p,H&&jsxRuntime.jsx("span",{className:v("tw-cursor",D),"aria-hidden":"true",children:o})]})}function Pr(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Vs(e,t){if(!t)return true;let r=Pr(t);return Pr(e.label).includes(r)||(e.description?Pr(e.description).includes(r):false)||(e.keywords?e.keywords.some(n=>Pr(n).includes(r)):false)}function js(e){let t=new Map;for(let r of e){let n=r.group??"";t.has(n)||t.set(n,[]),t.get(n).push(r);}return Array.from(t.entries()).map(([r,n])=>({label:r,items:n}))}function $o(e,t,r,n){let[o,a]=Xr.useState(""),[i,l]=Xr.useState(0);Xr.useEffect(()=>{t&&(a(""),l(0));},[t]);let s=Xr.useMemo(()=>e.filter(p=>!p.disabled&&Vs(p,o)),[e,o]),d=Xr.useMemo(()=>js(s),[s]);Xr.useEffect(()=>{l(p=>Math.min(p,Math.max(0,s.length-1)));},[s.length]);let m=Xr.useCallback(()=>{let p=s[i];p&&(p.onSelect(),r(false));},[s,i,r]),u=Xr.useCallback(p=>{switch(p.key){case "ArrowDown":p.preventDefault(),l(c=>(c+1)%Math.max(1,s.length));break;case "ArrowUp":p.preventDefault(),l(c=>(c-1+Math.max(1,s.length))%Math.max(1,s.length));break;case "Enter":p.preventDefault(),m();break;case "Escape":p.preventDefault(),r(false);break}},[s.length,m,r]);return Xr.useEffect(()=>{if(!n)return;function p(c){(c.metaKey||c.ctrlKey)&&c.key==="k"&&(c.preventDefault(),r(!t));}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[n,t,r]),{query:o,setQuery:a,groups:d,filtered:s,activeIndex:i,setActiveIndex:l,handleKeyDown:u}}function Rr({open:e,onOpenChange:t,commands:r,placeholder:n="Type a command or search\u2026",hotkey:o=true,maxItems:a=8,className:i}){let l=Xr.useRef(null),s=Xr.useRef(null),{query:d,setQuery:m,groups:u,filtered:p,activeIndex:c,setActiveIndex:h,handleKeyDown:f}=$o(r,e,t,o);if(Xr.useEffect(()=>{if(e){let b=setTimeout(()=>l.current?.focus(),40);return ()=>clearTimeout(b)}},[e]),Xr.useEffect(()=>{s.current?.querySelector("[data-active='true']")?.scrollIntoView({block:"nearest"});},[c]),!e)return null;let g=0;return reactDom.createPortal(jsxRuntime.jsx("div",{className:"cmd-backdrop fixed inset-0 z-50 flex items-start justify-center pt-[15vh]",onClick:()=>t(false),role:"presentation",children:jsxRuntime.jsxs("div",{className:v("cmd-panel relative flex w-full max-w-lg flex-col overflow-hidden rounded-xl","border border-primary-200 bg-white shadow-2xl","dark:border-primary-700 dark:bg-primary-900",i),onClick:b=>b.stopPropagation(),onKeyDown:f,role:"dialog","aria-label":"Command palette","aria-modal":"true",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3 border-b border-primary-100 px-4 dark:border-primary-700",children:[jsxRuntime.jsx(lucideReact.Search,{className:"h-4 w-4 shrink-0 text-secondary-400","aria-hidden":"true"}),jsxRuntime.jsx("input",{ref:l,value:d,onChange:b=>m(b.target.value),placeholder:n,className:"flex-1 bg-transparent py-3.5 text-sm text-primary-900 outline-none placeholder:text-secondary-400 dark:text-primary-50","aria-label":"Search commands","aria-controls":"cmd-results","aria-autocomplete":"list","aria-activedescendant":p[c]?`cmd-item-${p[c].id}`:void 0,spellCheck:false,autoComplete:"off"}),jsxRuntime.jsx("kbd",{className:"hidden shrink-0 rounded border border-primary-200 px-1.5 py-0.5 text-xs text-secondary-400 dark:border-primary-600 sm:block",children:"esc"})]}),jsxRuntime.jsx("div",{id:"cmd-results",ref:s,className:"overflow-y-auto py-2",style:{maxHeight:`${a*2.75}rem`},role:"listbox","aria-label":"Commands",children:p.length===0?jsxRuntime.jsxs("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-secondary-400",children:[jsxRuntime.jsx(lucideReact.Command,{className:"h-8 w-8 opacity-30"}),jsxRuntime.jsx("span",{children:"No commands found"})]}):u.map(b=>jsxRuntime.jsxs("div",{className:"mb-1 last:mb-0",children:[b.label&&jsxRuntime.jsx("p",{className:"px-4 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-secondary-400 dark:text-secondary-500",children:b.label}),b.items.map(w=>{let C=g++,x=C===c;return jsxRuntime.jsxs("button",{id:`cmd-item-${w.id}`,"data-active":x,role:"option","aria-selected":x,className:v("cmd-item group flex w-full items-center gap-3 px-4 py-2.5 text-left text-sm",x?"bg-primary-100 text-primary-900 dark:bg-primary-800 dark:text-primary-50":"text-primary-700 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-800/50"),onMouseEnter:()=>h(C),onClick:()=>{w.onSelect(),t(false);},children:[w.icon&&jsxRuntime.jsx("span",{className:v("flex h-7 w-7 shrink-0 items-center justify-center rounded-md border text-xs",x?"border-primary-300 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-700 dark:text-primary-200":"border-primary-200 bg-primary-50 text-primary-500 dark:border-primary-700 dark:bg-primary-800 dark:text-primary-400"),children:w.icon}),jsxRuntime.jsxs("span",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("span",{className:"block truncate font-medium",children:w.label}),w.description&&jsxRuntime.jsx("span",{className:"block truncate text-xs text-secondary-400 dark:text-secondary-500",children:w.description})]}),w.shortcut&&jsxRuntime.jsx("span",{className:"flex shrink-0 items-center gap-0.5",children:w.shortcut.map((M,$)=>jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1.5 py-0.5 text-xs text-secondary-500 dark:border-primary-700 dark:text-secondary-400",children:M},$))})]},w.id)})]},b.label||"_default"))}),p.length>0&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between border-t border-primary-100 px-4 py-2 dark:border-primary-700",children:[jsxRuntime.jsxs("span",{className:"text-xs text-secondary-400",children:[p.length," result",p.length!==1?"s":""]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-3 text-xs text-secondary-400",children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2191"}),jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2193"}),"Navigate"]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u21B5"}),"Select"]})]})]})]})}),document.body)}var Uo={complete:"bg-success-500 border-success-500 text-white dark:bg-success-600 dark:border-success-600",active:"bg-primary-500 border-primary-500 text-white dark:bg-primary-400 dark:border-primary-400",error:"bg-danger-500 border-danger-500 text-white dark:bg-danger-600 dark:border-danger-600",pending:"bg-white border-primary-300 text-secondary-400 dark:bg-primary-800 dark:border-primary-600"},Ko={complete:"shadow-[0_0_0_4px_theme(colors.success.100)] dark:shadow-[0_0_0_4px_theme(colors.success.900/30)]",active:"shadow-[0_0_0_4px_theme(colors.primary.100)] dark:shadow-[0_0_0_4px_theme(colors.primary.800/50)] animate-pulse",error:"shadow-[0_0_0_4px_theme(colors.danger.100)] dark:shadow-[0_0_0_4px_theme(colors.danger.900/30)]",pending:""};function Wo({status:e,icon:t}){return t?jsxRuntime.jsx(jsxRuntime.Fragment,{children:t}):e==="complete"?jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"}):e==="error"?jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-3 w-3"}):e==="active"?jsxRuntime.jsx(lucideReact.Dot,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Clock,{className:"h-3 w-3"})}function Yo({images:e,title:t}){let r=e.slice(0,4),n=e.length>4?e.length-4:0,o=(a,i,l)=>jsxRuntime.jsxs("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:v("relative block overflow-hidden",l),onClick:s=>s.stopPropagation(),children:[jsxRuntime.jsx("img",{src:a,alt:`${t} ${i+1}`,className:"h-full w-full object-cover transition-transform duration-300 hover:scale-105"}),i===r.length-1&&n>0&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/60",children:jsxRuntime.jsxs("span",{className:"text-sm font-semibold text-white",children:["+",n]})})]},i);return r.length===0?null:r.length===1?jsxRuntime.jsx("div",{className:"mt-2.5 h-36 overflow-hidden rounded-xl",children:o(r[0],0,"h-full")}):r.length===2?jsxRuntime.jsx("div",{className:"mt-2.5 grid h-28 grid-cols-2 gap-0.5 overflow-hidden rounded-xl",children:r.map((a,i)=>o(a,i))}):r.length===3?jsxRuntime.jsxs("div",{className:"mt-2.5 grid h-36 grid-cols-2 grid-rows-2 gap-0.5 overflow-hidden rounded-xl",children:[o(r[0],0,"row-span-2"),o(r[1],1),o(r[2],2)]}):jsxRuntime.jsx("div",{className:"mt-2.5 grid h-44 grid-cols-2 grid-rows-2 gap-0.5 overflow-hidden rounded-xl",children:r.map((a,i)=>o(a,i))})}function qo({actions:e}){let t=e.filter(i=>i.variant!=="primary"),r=e.filter(i=>i.variant==="primary"),n="inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1 text-xs font-medium text-secondary-500 transition-colors hover:bg-secondary-100/80 hover:text-secondary-700 dark:text-secondary-400 dark:hover:bg-primary-800/60 dark:hover:text-secondary-200",o="inline-flex items-center gap-1.5 rounded-lg border border-primary-200/70 bg-primary-50/80 px-3 py-1 text-xs font-semibold text-primary-700 transition-colors hover:bg-primary-100 dark:border-primary-600/60 dark:bg-primary-800/60 dark:text-primary-300 dark:hover:bg-primary-700/60",a=(i,l,s)=>i.href?jsxRuntime.jsxs("a",{href:i.href,target:"_blank",rel:"noopener noreferrer",className:s,onClick:d=>d.stopPropagation(),children:[i.icon,i.label]},l):jsxRuntime.jsxs("button",{type:"button",onClick:i.onClick,className:s,children:[i.icon,i.label]},l);return jsxRuntime.jsxs("div",{className:"mt-3 flex items-center gap-1 border-t border-primary-100/50 pt-2.5 dark:border-primary-700/40",children:[t.map((i,l)=>a(i,l,n)),r.length>0&&jsxRuntime.jsx("span",{className:"flex-1"}),r.map((i,l)=>a(i,l,o))]})}function Xo({item:e,isActive:t,animated:r,visible:n,orientation:o}){let a=e.status??"pending",i={complete:"bg-gradient-to-br from-white to-success-50/40 dark:from-primary-900 dark:to-success-900/10",active:"bg-gradient-to-br from-white to-primary-50/60 dark:from-primary-900 dark:to-primary-800/40",error:"bg-gradient-to-br from-white to-danger-50/40 dark:from-primary-900 dark:to-danger-900/10",pending:"bg-white dark:bg-primary-900"}[a],l={complete:"border-success-200/70 dark:border-success-800/50",active:"border-primary-300/80 dark:border-primary-600/70",error:"border-danger-200/70 dark:border-danger-800/50",pending:"border-primary-200/60 dark:border-primary-700/50"}[a],s=t?"shadow-lg shadow-primary-300/30 dark:shadow-primary-500/20":a==="complete"?"shadow-md shadow-success-300/20 dark:shadow-success-400/10":a==="error"?"shadow-md shadow-danger-300/20 dark:shadow-danger-400/10":"shadow-sm shadow-primary-100/50 dark:shadow-black/20",d=a==="complete"?"conic-gradient(from 30deg, transparent 0%, var(--tl-glow-complete-1) 18%, var(--tl-glow-complete-2) 30%, var(--tl-holo-cyan) 44%, transparent 60%)":a==="error"?"conic-gradient(from 150deg, transparent 0%, var(--tl-glow-error-1) 18%, var(--tl-glow-error-2) 32%, var(--tl-glow-error-3) 44%, transparent 58%)":null,m={complete:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",active:"bg-primary-100 text-primary-700 dark:bg-primary-800/60 dark:text-primary-300",error:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",pending:"bg-secondary-100 text-secondary-600 dark:bg-primary-800/50 dark:text-secondary-400"}[a];return jsxRuntime.jsxs("div",{className:v("relative isolate",r&&"transition-all duration-700",r?n?"opacity-100 translate-y-0":o==="vertical"?"opacity-0 translate-y-6":"opacity-0 translate-x-6":"",o==="horizontal"?"w-56 shrink-0":"flex-1",e.className),children:[!t&&d&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute animate-[tl-glow-pulse_5s_ease-in-out_infinite]",style:{inset:"-6px",borderRadius:"1.5rem",zIndex:-1,background:d,filter:"blur(14px)",opacity:.22},"aria-hidden":true}),t&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"pointer-events-none absolute",style:{inset:"-7px",borderRadius:"1.5rem",zIndex:-1,background:"conic-gradient(from var(--tl-angle, 0deg) at 50% 50%, var(--tl-holo-base) 0%, var(--tl-holo-indigo) 18%, var(--tl-holo-violet) 30%, var(--tl-holo-cyan) 45%, var(--tl-holo-mid) 62%, var(--tl-holo-base) 100%)",filter:"blur(10px)",animation:"tl-breathe 2.8s ease-in-out infinite, tl-holo-spin 9s linear infinite"},"aria-hidden":true}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute",style:{inset:"-1.5px",borderRadius:"1.0625rem",zIndex:-1,padding:"1.5px",background:"conic-gradient(from var(--tl-angle, 0deg) at 50% 50%, transparent 0deg, var(--tl-holo-indigo) 55deg, var(--tl-holo-violet) 85deg, var(--tl-holo-cyan) 115deg, transparent 175deg, transparent 360deg)",WebkitMask:"linear-gradient(white 0 0) content-box, linear-gradient(white 0 0)",WebkitMaskComposite:"xor",maskComposite:"exclude",animation:"tl-holo-spin 5s linear infinite"},"aria-hidden":true})]}),jsxRuntime.jsx("div",{className:v("relative overflow-hidden rounded-2xl border backdrop-blur-[2px]",t?"border-transparent":v("border",l),i,s),children:e.imagePosition==="left"&&e.image?jsxRuntime.jsxs("div",{className:"flex min-h-[8rem]",children:[jsxRuntime.jsx("a",{href:e.image,target:"_blank",rel:"noopener noreferrer",className:"w-28 shrink-0 overflow-hidden",onClick:p=>p.stopPropagation(),"aria-label":e.title,children:jsxRuntime.jsx("img",{src:e.image,alt:e.title,className:"h-full w-full object-cover transition-transform duration-500 hover:scale-105"})}),jsxRuntime.jsxs("div",{className:"flex flex-1 flex-col p-4",children:[e.date&&jsxRuntime.jsx("span",{className:v("mb-2 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",m),children:e.date}),jsxRuntime.jsx("h3",{className:v("text-sm font-semibold leading-snug",t?"text-primary-900 dark:text-white":"text-primary-800 dark:text-primary-100"),children:e.title}),e.description&&jsxRuntime.jsx("p",{className:"mt-1 text-xs leading-relaxed text-secondary-500 dark:text-secondary-400",children:e.description}),e.images&&e.images.length>0&&jsxRuntime.jsx(Yo,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(qo,{actions:e.actions})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.image&&jsxRuntime.jsx("div",{className:"overflow-hidden",children:jsxRuntime.jsx("img",{src:e.image,alt:e.title,className:"h-32 w-full object-cover transition-transform duration-500 hover:scale-105"})}),e.svg&&!e.image&&jsxRuntime.jsx("div",{className:"flex items-center justify-center bg-primary-50/60 p-4 dark:bg-primary-800/40",children:e.svg}),jsxRuntime.jsxs("div",{className:v("p-4",(e.image||e.svg)&&"pt-3"),children:[e.date&&jsxRuntime.jsx("span",{className:v("mb-2.5 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",m),children:e.date}),jsxRuntime.jsx("h3",{className:v("text-sm font-semibold leading-snug",t?"text-primary-900 dark:text-white":"text-primary-800 dark:text-primary-100"),children:e.title}),e.description&&jsxRuntime.jsx("p",{className:"mt-1 text-xs leading-relaxed text-secondary-500 dark:text-secondary-400",children:e.description}),e.images&&e.images.length>0&&jsxRuntime.jsx(Yo,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(qo,{actions:e.actions})]})]})})]})}function yn({items:e,orientation:t="vertical",activeIndex:r,animated:n=true,lineStyle:o="solid",className:a}){let i=Xr.useRef(null),l=Xr.useRef([]),[s,d]=Xr.useState(new Set);Xr.useEffect(()=>{if(!n){d(new Set(e.map((p,c)=>c)));return}let u=new IntersectionObserver(p=>{d(c=>{let h=new Set(c);return p.forEach(f=>{let g=Number(f.target.dataset.idx);f.isIntersecting&&h.add(g);}),h});},{threshold:.15});return l.current.forEach(p=>p&&u.observe(p)),()=>u.disconnect()},[e,n]),Xr.useEffect(()=>{if(r==null)return;let u=l.current[r];u&&u.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});},[r]);let m=o==="dashed"?"border-dashed":"";return t==="vertical"?jsxRuntime.jsxs("div",{ref:i,className:v("relative",a),children:[jsxRuntime.jsx("div",{className:"absolute left-5 top-0 h-full w-px bg-primary-200 dark:bg-primary-700"}),jsxRuntime.jsx("div",{className:"space-y-6",children:e.map((u,p)=>{let c=u.status??"pending",h=p===r;return jsxRuntime.jsxs("div",{ref:f=>{l.current[p]=f;},"data-idx":p,className:"relative flex gap-4",children:[jsxRuntime.jsx("div",{className:"relative z-10 flex shrink-0 flex-col items-center",children:jsxRuntime.jsx("div",{className:v("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 [&_svg]:shrink-0",Uo[c],h&&Ko[c]),children:jsxRuntime.jsx(Wo,{status:c,icon:u.icon})})}),jsxRuntime.jsx(Xo,{item:u,isActive:h,animated:n,visible:s.has(p),orientation:"vertical"})]},u.id??p)})})]}):jsxRuntime.jsx("div",{ref:i,className:v("relative overflow-x-auto pb-4",a),children:jsxRuntime.jsx("div",{className:"flex min-w-max gap-6 px-4",children:e.map((u,p)=>{let c=u.status??"pending",h=p===r,f=p===e.length-1;return jsxRuntime.jsxs("div",{ref:g=>{l.current[p]=g;},"data-idx":p,className:"relative flex flex-col items-center gap-3",children:[jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx("div",{className:v("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 z-10 [&_svg]:shrink-0",Uo[c],h&&Ko[c]),children:jsxRuntime.jsx(Wo,{status:c,icon:u.icon})}),!f&&jsxRuntime.jsx("div",{className:v("h-px w-28 border-t-2",m,c==="complete"?"border-success-400":"border-primary-200 dark:border-primary-700")})]}),jsxRuntime.jsx(Xo,{item:u,isActive:h,animated:n,visible:s.has(p),orientation:"horizontal"})]},u.id??p)})})})}function or(e="en-US",t="long"){return Array.from({length:12},(r,n)=>new Intl.DateTimeFormat(e,{month:t}).format(new Date(2e3,n,1)))}function Go(e="en-US",t="narrow"){let r=new Date(2e3,0,2);return Array.from({length:7},(n,o)=>{let a=new Date(r);return a.setDate(r.getDate()+o),new Intl.DateTimeFormat(e,{weekday:t}).format(a)})}function Jo(e,t=true,r=true){return e==="date"?"YYYY-MM-DD":e==="time"?t?r?"HH:mm:ss":"HH:mm":r?"hh:mm:ss A":"hh:mm A":t?r?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD HH:mm":r?"YYYY-MM-DD hh:mm:ss A":"YYYY-MM-DD hh:mm A"}function Qs(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Qo(e,t,r="en-US"){let n=e.getHours(),o=or(r,"long"),a=or(r,"short"),i={YYYY:String(e.getFullYear()),YY:String(e.getFullYear()).slice(-2),MMMM:o[e.getMonth()],MMM:a[e.getMonth()],MM:String(e.getMonth()+1).padStart(2,"0"),M:String(e.getMonth()+1),DD:String(e.getDate()).padStart(2,"0"),D:String(e.getDate()),HH:String(n).padStart(2,"0"),H:String(n),hh:String(n%12||12).padStart(2,"0"),h:String(n%12||12),mm:String(e.getMinutes()).padStart(2,"0"),ss:String(e.getSeconds()).padStart(2,"0"),A:n<12?"AM":"PM",a:n<12?"am":"pm"},l=Object.keys(i).sort((d,m)=>m.length-d.length),s=new RegExp(l.map(Qs).join("|"),"g");return t.replace(s,d=>i[d]??d)}function Yt(e,t){return new Date(e,t+1,0).getDate()}function Zo(e,t){let r=new Date(e,t,1).getDay(),n=Yt(e,t),o=Yt(e,t-1),a=[];for(let l=r-1;l>=0;l--)a.push({date:new Date(e,t-1,o-l),thisMonth:false});for(let l=1;l<=n;l++)a.push({date:new Date(e,t,l),thisMonth:true});let i=42-a.length;for(let l=1;l<=i;l++)a.push({date:new Date(e,t+1,l),thisMonth:false});return a}function qt(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function xn(e,t){return qt(e).getTime()===qt(t).getTime()}function ea(e,t){return qt(e)<qt(t)}function ta(e,t){return qt(e)>qt(t)}function Dr(e,t,r){return t&&e<t?new Date(t):r&&e>r?new Date(r):e}function ra(e,t,r,n){let o=new Date(e),i=t*(n==="future"?1:-1);switch(r){case "day":o.setDate(o.getDate()+i);break;case "week":o.setDate(o.getDate()+i*7);break;case "month":o.setMonth(o.getMonth()+i);break;case "year":o.setFullYear(o.getFullYear()+i);break}return o}function na(e,t=200){let r=e-Math.floor(t/2);return Array.from({length:t},(n,o)=>r+o)}function oa(e){let{value:t,defaultValue:r,onChange:n,mode:o="datetime",minDate:a,maxDate:i,use24Hour:l=true,showSeconds:s=true,locale:d="en-US",format:m,onOpen:u,onClose:p}=e,c=t!==void 0,[h,f]=Xr.useState(r??null),g=c?t??null:h,[b,w]=Xr.useState(false),[C,x]=Xr.useState(()=>g??new Date),[M,$]=Xr.useState("drum"),[P,L]=Xr.useState(()=>(g??new Date).getFullYear()),[H,D]=Xr.useState(()=>(g??new Date).getMonth()),[y,_]=Xr.useState(1),[B,R]=Xr.useState("day"),[K,ie]=Xr.useState("future"),T=m??Jo(o,l,s),ye=g?Qo(g,T,d):"",he=Xr.useCallback(()=>{let O=g??new Date;x(new Date(O)),L(O.getFullYear()),D(O.getMonth()),$("drum"),w(true),u?.();},[g,u]),Ne=Xr.useCallback(()=>{w(false),p?.();},[p]),ne=Xr.useCallback(()=>{let O=Dr(C,a,i);c||f(O),n?.(O),Ne();},[C,a,i,c,n,Ne]),Te=Xr.useCallback(()=>{c||f(null),n?.(null),Ne();},[c,n,Ne]),Y=Xr.useCallback((O,ae)=>{x(ce=>{let te=new Date(ce);switch(O){case "year":te.setFullYear(ae);break;case "month":{te.setMonth(ae);let be=Yt(te.getFullYear(),ae);te.getDate()>be&&te.setDate(be);break}case "day":te.setDate(ae);break;case "hour":te.setHours(ae);break;case "minute":te.setMinutes(ae);break;case "second":te.setSeconds(ae);break}return Dr(te,a,i)});},[a,i]),Ee=Xr.useCallback(()=>{let O=Dr(ra(new Date,y,B,K),a,i);x(O),L(O.getFullYear()),D(O.getMonth());},[y,B,K,a,i]),We=Xr.useCallback(O=>{let ae=H+O,ce=P;ae<0&&(ae=11,ce--),ae>11&&(ae=0,ce++),D(ae),L(ce);},[H,P]);return {isOpen:b,displayValue:ye,workingDate:C,view:M,calYear:P,calMonth:H,offsetAmount:y,offsetUnit:B,offsetDirection:K,mode:o,use24Hour:l,showSeconds:s,locale:d,minDate:a,maxDate:i,openPicker:he,closePicker:Ne,confirm:ne,clear:Te,updateField:Y,setView:$,setCalYear:L,setCalMonth:D,setOffsetAmount:_,setOffsetUnit:R,setOffsetDirection:ie,applyQuickOffset:Ee,navigateCalendar:We}}var ir=40;function sa(e,t,r=true){let n=Xr.useRef(t);n.current=t,Xr.useEffect(()=>{if(!r)return;function o(a){let i=a.target;e.some(s=>s.current?.contains(i))||n.current();}return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[e,r]);}function la(e,t,r){let n=Xr.useRef(false),o=Xr.useRef(void 0),a=Xr.useRef(r);a.current=r;let i=Xr.useRef(t);i.current=t;let l=Xr.useCallback((d,m="smooth")=>{let u=e.current;if(!u)return;let p=d*ir;Math.abs(u.scrollTop-p)<2&&m!=="instant"||(m==="instant"?u.scrollTop=p:u.scrollTo({top:p,behavior:m}));},[e]),s=Xr.useCallback(()=>{e.current&&(n.current=true,clearTimeout(o.current),o.current=setTimeout(()=>{n.current=false;let m=e.current;if(!m)return;let u=Math.round(m.scrollTop/ir),p=Math.max(0,Math.min(i.current-1,u)),c=p*ir;Math.abs(m.scrollTop-c)>1&&m.scrollTo({top:c,behavior:"smooth"}),a.current(p);},120));},[e]);return {scrollToIndex:l,handleScroll:s,isScrollingRef:n}}function ca(e,t,r){Xr.useEffect(()=>{if(!r)return;function n(){let a=e.current,i=t.current;if(!a||!i)return;if(window.innerWidth<=640){i.style.top="",i.style.left="";return}let l=a.getBoundingClientRect(),s=window.innerHeight,d=window.innerWidth,m=i.offsetHeight||460,u=i.offsetWidth||340,p=l.bottom+8,c=l.left;p+m>s-16&&(p=Math.max(16,l.top-m-8)),c+u>d-16&&(c=Math.max(16,d-u-16)),c<16&&(c=16),i.style.top=`${Math.round(p)}px`,i.style.left=`${Math.round(c)}px`;}let o=setTimeout(n,0);return window.addEventListener("resize",n),window.addEventListener("scroll",n,true),()=>{clearTimeout(o),window.removeEventListener("resize",n),window.removeEventListener("scroll",n,true);}},[r,e,t]);}function Mt({items:e,selectedValue:t,onSelect:r,label:n}){let o=Xr.useRef(null),a=Xr.useRef(t),i=Xr.useRef(false),{scrollToIndex:l,handleScroll:s}=la(o,e.length,d=>{let m=e[d];m&&(i.current=true,r(m.value),setTimeout(()=>{i.current=false;},200));});return Xr.useEffect(()=>{let d=o.current;if(!d)return;let m=e.findIndex(u=>u.value===t);m>=0&&(d.scrollTop=m*ir);},[]),Xr.useEffect(()=>{if(a.current!==t&&(a.current=t,!i.current)){let d=e.findIndex(m=>m.value===t);d>=0&&l(d,"smooth");}},[t,e,l]),jsxRuntime.jsxs("div",{className:"dtp-column",role:"group","aria-label":n,children:[jsxRuntime.jsx("div",{className:"dtp-column-highlight","aria-hidden":"true"}),jsxRuntime.jsx("div",{ref:o,className:"dtp-column-list",onScroll:s,role:"listbox","aria-label":n,children:e.map(d=>jsxRuntime.jsx("div",{className:v("dtp-item",d.value===t&&"dtp-item--selected"),onClick:()=>{let m=e.findIndex(u=>u.value===d.value);m>=0&&l(m,"smooth"),r(d.value);},role:"option","aria-selected":d.value===t,children:d.label},d.value))}),jsxRuntime.jsx("div",{className:"dtp-fade-top","aria-hidden":"true"}),jsxRuntime.jsx("div",{className:"dtp-fade-bottom","aria-hidden":"true"})]})}function ol({year:e,month:t,selectedDate:r,today:n,minDate:o,maxDate:a,locale:i,onSelectDay:l,onPrev:s,onNext:d}){let m=Go(i,"narrow"),u=or(i,"long"),p=Zo(e,t);return jsxRuntime.jsxs("div",{className:"dtp-calendar",children:[jsxRuntime.jsxs("div",{className:"dtp-cal-nav",children:[jsxRuntime.jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:s,"aria-label":"Previous month",children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:"h-4 w-4"})}),jsxRuntime.jsxs("span",{className:"dtp-cal-title",children:[u[t]," ",e]}),jsxRuntime.jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:d,"aria-label":"Next month",children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-4 w-4"})})]}),jsxRuntime.jsx("div",{className:"dtp-cal-weekdays",role:"row",children:m.map((c,h)=>jsxRuntime.jsx("div",{className:"dtp-cal-weekday",role:"columnheader","aria-label":c,children:c},h))}),jsxRuntime.jsx("div",{className:"dtp-cal-days",role:"grid",children:p.map(({date:c,thisMonth:h},f)=>{let g=xn(c,r),b=xn(c,n),w=o!=null&&ea(c,o)||a!=null&&ta(c,a);return jsxRuntime.jsx("button",{type:"button",role:"gridcell",className:v("dtp-cal-day",!h&&"dtp-cal-day--other",g&&"dtp-cal-day--selected",b&&!g&&"dtp-cal-day--today",w&&"dtp-cal-day--disabled"),onClick:()=>!w&&l(c),disabled:w,"aria-current":b?"date":void 0,"aria-selected":g,"aria-disabled":w,children:c.getDate()},f)})})]})}function al({amount:e,unit:t,direction:r,onAmountChange:n,onUnitChange:o,onDirectionChange:a,onApply:i,locale:l}){let s=l.startsWith("zh"),d=[{value:"day",label:s?"\u5929":"Day"},{value:"week",label:s?"\u5468":"Week"},{value:"month",label:s?"\u6708":"Month"},{value:"year",label:s?"\u5E74":"Year"}],m=[{value:"future",label:s?"\u4EE5\u540E":"from now"},{value:"past",label:s?"\u4EE5\u524D":"before now"}];return jsxRuntime.jsxs("div",{className:"dtp-quick-offset","aria-label":s?"\u5FEB\u901F\u504F\u79FB":"Quick offset",children:[jsxRuntime.jsx("input",{type:"number",className:"dtp-offset-input",value:e,min:1,max:9999,"aria-label":s?"\u504F\u79FB\u6570\u91CF":"Offset amount",onChange:u=>{let p=parseInt(u.target.value,10);!isNaN(p)&&p>=1&&n(p);}}),jsxRuntime.jsx("select",{className:"dtp-offset-select",value:t,"aria-label":s?"\u504F\u79FB\u5355\u4F4D":"Offset unit",onChange:u=>o(u.target.value),children:d.map(u=>jsxRuntime.jsx("option",{value:u.value,children:u.label},u.value))}),jsxRuntime.jsx("select",{className:"dtp-offset-select",value:r,"aria-label":s?"\u504F\u79FB\u65B9\u5411":"Offset direction",onChange:u=>a(u.target.value),children:m.map(u=>jsxRuntime.jsx("option",{value:u.value,children:u.label},u.value))}),jsxRuntime.jsx("button",{type:"button",className:"dtp-offset-apply",onClick:i,children:s?"\u5E94\u7528":"Apply"})]})}function Ar({className:e,popupClassName:t,triggerClassName:r,disabled:n=false,placeholder:o,...a}){let{isOpen:i,displayValue:l,workingDate:s,view:d,calYear:m,calMonth:u,offsetAmount:p,offsetUnit:c,offsetDirection:h,mode:f,use24Hour:g,showSeconds:b,locale:w,minDate:C,maxDate:x,openPicker:M,closePicker:$,confirm:P,clear:L,updateField:H,setView:D,setCalYear:y,setCalMonth:_,setOffsetAmount:B,setOffsetUnit:R,setOffsetDirection:K,applyQuickOffset:ie,navigateCalendar:T}=oa({...a}),ye=Xr.useRef(null),he=Xr.useRef(null),Ne=new Date;sa([ye,he],$,i),ca(ye,he,i);let ne=w.startsWith("zh"),Te={cancel:ne?"\u53D6\u6D88":"Cancel",confirm:ne?"\u786E\u5B9A":"Confirm",calendarView:ne?"\u65E5\u5386":"Calendar",scrollView:ne?"\u6EDA\u8F6E":"Scroll",placeholder:o??(ne?"\u9009\u62E9\u65E5\u671F\u65F6\u95F4":"Select date / time")},Y=f==="date"||f==="datetime",Ee=f==="time"||f==="datetime",We=na(s.getFullYear(),200).map(G=>({label:String(G),value:G})),O=or(w,"short").map((G,ge)=>({label:G,value:ge})),ae=Yt(s.getFullYear(),s.getMonth()),ce=Array.from({length:ae},(G,ge)=>({label:String(ge+1).padStart(2,"0"),value:ge+1})),te=Array.from({length:24},(G,ge)=>({label:String(ge).padStart(2,"0"),value:ge})),be=Array.from({length:12},(G,ge)=>({label:String(ge===0?12:ge).padStart(2,"0"),value:ge})),Se=[{label:"AM",value:0},{label:"PM",value:1}],De=Array.from({length:60},(G,ge)=>({label:String(ge).padStart(2,"0"),value:ge})),J=s.getHours(),at=J%12,de=J<12?0:1,Pe=Ee&&!Y?lucideReact.Clock:lucideReact.Calendar;return jsxRuntime.jsxs("div",{className:v("dtp-root",e),children:[jsxRuntime.jsxs("div",{className:"dtp-trigger-wrap",children:[jsxRuntime.jsxs("button",{ref:ye,type:"button",className:v("dtp-trigger",l&&"dtp-trigger--has-clear",n&&"dtp-trigger--disabled",r),onClick:()=>!n&&(i?$():M()),disabled:n,"aria-haspopup":"dialog","aria-expanded":i,children:[jsxRuntime.jsx(Pe,{className:"dtp-trigger-icon","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:v("dtp-trigger-text",!l&&"dtp-trigger-placeholder"),children:l||Te.placeholder})]}),l&&jsxRuntime.jsx("button",{type:"button",className:"dtp-trigger-clear","aria-label":ne?"\u6E05\u9664":"Clear value",onClick:()=>!n&&L(),children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]}),i&&reactDom.createPortal(jsxRuntime.jsxs("div",{ref:he,className:v("dtp-panel",t),role:"dialog","aria-modal":"true","aria-label":ne?"\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668":"Date time picker",children:[jsxRuntime.jsxs("div",{className:"dtp-panel-header",children:[jsxRuntime.jsx("span",{className:"dtp-panel-preview",children:l||Te.placeholder}),jsxRuntime.jsx("div",{className:"dtp-panel-actions",children:Y&&jsxRuntime.jsx("button",{type:"button",className:v("dtp-view-btn",d==="calendar"&&"dtp-view-btn--active"),"aria-pressed":d==="calendar",title:d==="calendar"?Te.scrollView:Te.calendarView,onClick:()=>{d!=="calendar"&&(y(s.getFullYear()),_(s.getMonth())),D(d==="calendar"?"drum":"calendar");},children:jsxRuntime.jsx(lucideReact.Calendar,{className:"h-4 w-4"})})})]}),jsxRuntime.jsx("div",{className:"dtp-panel-body",children:d==="drum"?jsxRuntime.jsxs("div",{className:"dtp-drum",children:[Y&&jsxRuntime.jsxs("div",{className:"dtp-drum-date",children:[jsxRuntime.jsx(Mt,{label:ne?"\u5E74":"Year",items:We,selectedValue:s.getFullYear(),onSelect:G=>H("year",G)}),jsxRuntime.jsx(Mt,{label:ne?"\u6708":"Month",items:O,selectedValue:s.getMonth(),onSelect:G=>H("month",G)}),jsxRuntime.jsx(Mt,{label:ne?"\u65E5":"Day",items:ce,selectedValue:s.getDate(),onSelect:G=>H("day",G)})]}),Y&&Ee&&jsxRuntime.jsx("div",{className:"dtp-drum-sep","aria-hidden":"true"}),Ee&&jsxRuntime.jsxs("div",{className:"dtp-drum-time",children:[g?jsxRuntime.jsx(Mt,{label:ne?"\u65F6":"Hour",items:te,selectedValue:J,onSelect:G=>H("hour",G)}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Mt,{label:ne?"\u65F6":"Hour",items:be,selectedValue:at,onSelect:G=>{H("hour",de===1?G+12:G);}}),jsxRuntime.jsx(Mt,{label:"AM/PM",items:Se,selectedValue:de,onSelect:G=>{H("hour",at+(G===1?12:0));}})]}),jsxRuntime.jsx(Mt,{label:ne?"\u5206":"Min",items:De,selectedValue:s.getMinutes(),onSelect:G=>H("minute",G)}),b&&jsxRuntime.jsx(Mt,{label:ne?"\u79D2":"Sec",items:De,selectedValue:s.getSeconds(),onSelect:G=>H("second",G)})]})]}):jsxRuntime.jsx(ol,{year:m,month:u,selectedDate:s,today:Ne,minDate:C,maxDate:x,locale:w,onSelectDay:G=>{H("year",G.getFullYear()),H("month",G.getMonth()),H("day",G.getDate()),D("drum");},onPrev:()=>T(-1),onNext:()=>T(1)})}),Y&&jsxRuntime.jsx("div",{className:"dtp-panel-offset",children:jsxRuntime.jsx(al,{amount:p,unit:c,direction:h,onAmountChange:B,onUnitChange:R,onDirectionChange:K,onApply:ie,locale:w})}),jsxRuntime.jsxs("div",{className:"dtp-panel-footer",children:[jsxRuntime.jsx("button",{type:"button",className:"dtp-btn-cancel",onClick:$,children:Te.cancel}),jsxRuntime.jsx("button",{type:"button",className:"dtp-btn-confirm",onClick:P,children:Te.confirm})]})]}),document.body)]})}var sl={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},ll={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function At({state:e="default",inputSize:t="md",className:r,prefix:n,suffix:o,action:a,...i}){if(!n&&!o&&!a)return jsxRuntime.jsx("input",{className:v(vo({state:e,size:t}),r),...i});let l=sl[t??"md"],s=ll[e??"default"];return jsxRuntime.jsxs("div",{className:v("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",l.wrapper,s,r),children:[n&&jsxRuntime.jsx("span",{className:v("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",l.prefix),children:n}),jsxRuntime.jsx("input",{className:v("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",l.input,n&&"pl-2"),...i}),o&&jsxRuntime.jsx("span",{className:v("flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",l.icon),children:o}),a&&jsxRuntime.jsx("button",{type:"button",onClick:a.onClick,"aria-label":a["aria-label"]??"Action",className:v("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",l.icon),children:a.icon})]})}function zt({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("label",{className:v(yo({intent:e,size:t}),r),...n})}var fl={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function pa({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:n,intent:o,size:a,label:i,id:l,className:s,disabled:d,...m}){let u=Xr.useId(),p=l??u,c=a??"md",[h,f]=Xr.useState(t),g=e??h,b=Xr.useCallback(C=>{let x=C.target.checked;e===void 0&&f(x),n?.(x);},[e,n]),w=g||r;return jsxRuntime.jsxs("label",{htmlFor:p,className:v("inline-flex cursor-pointer items-center gap-2 select-none",d&&"pointer-events-none opacity-50",s),children:[jsxRuntime.jsx("input",{...m,id:p,type:"checkbox",className:"sr-only",checked:g,disabled:d,onChange:b}),jsxRuntime.jsx("span",{className:v(xo({intent:o,size:a,checked:w?"on":"off"})),children:jsxRuntime.jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:v("text-white transition-all duration-200",fl[c],w?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsxRuntime.jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsxRuntime.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),i&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:i})]})}var ma=classVarianceAuthority.cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}});classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});function wn({length:e=6,value:t,defaultValue:r="",onChange:n,onComplete:o,size:a="md",variant:i="outline",disabled:l=false,readOnly:s=false,autoFocus:d=false,alphanumeric:m=false,mask:u=false,invalid:p=false,className:c}){let h=t!==void 0,[f,g]=Xr.useState(()=>{let D=(r??"").slice(0,e);return Array.from({length:e},(y,_)=>D[_]??"")}),b=h?Array.from({length:e},(D,y)=>(t??"")[y]??""):f,w=Xr.useRef([]),C=Xr.useRef([]);Xr.useEffect(()=>{d&&w.current[0]&&w.current[0].focus();},[d]);let x=Xr.useCallback(D=>{h||g(D);let y=D.join("");n?.(y),D.every(_=>_!=="")&&D.length===e&&o?.(y);},[h,n,o,e]),M=D=>{let y=w.current[D];y&&(y.classList.remove("otp-pop"),clearTimeout(C.current[D]),y.offsetWidth,y.classList.add("otp-pop"),C.current[D]=window.setTimeout(()=>y.classList.remove("otp-pop"),200));},$=Xr.useCallback((D,y)=>{let _=m?/[a-zA-Z0-9]/g:/[0-9]/g,B=y.match(_)??[];if(B.length===0)return;let R=B[B.length-1],K=[...b];K[D]=R,x(K),M(D),D<e-1&&w.current[D+1]?.focus();},[b,e,m,x]),P=Xr.useCallback((D,y)=>{if(y.key==="Backspace"){if(y.preventDefault(),b[D]){let _=[...b];_[D]="",x(_);}else if(D>0){w.current[D-1]?.focus();let _=[...b];_[D-1]="",x(_);}}else if(y.key==="ArrowLeft")y.preventDefault(),D>0&&w.current[D-1]?.focus();else if(y.key==="ArrowRight")y.preventDefault(),D<e-1&&w.current[D+1]?.focus();else if(y.key==="Delete"){y.preventDefault();let _=[...b];_[D]="",x(_);}},[b,e,x]),L=Xr.useCallback((D,y)=>{y.preventDefault();let _=y.clipboardData.getData("text"),B=m?/[a-zA-Z0-9]/g:/[0-9]/g,R=_.match(B)??[],K=[...b],ie=D;for(let he=0;he<R.length&&D+he<e;he++)K[D+he]=R[he],ie=D+he;x(K);let T=K.findIndex((he,Ne)=>Ne>ie&&he===""),ye=T!==-1?T:Math.min(ie+1,e-1);w.current[ye]?.focus();},[b,e,m,x]),H=Xr.useCallback(D=>{D.target.select();},[]);return jsxRuntime.jsx("div",{role:"group","aria-label":"OTP Input",className:v("inline-flex gap-2",c),children:Array.from({length:e},(D,y)=>jsxRuntime.jsx("input",{ref:_=>{w.current[y]=_;},type:u?"password":"text",inputMode:m?"text":"numeric",pattern:m?"[a-zA-Z0-9]":"[0-9]",maxLength:2,value:b[y],disabled:l,readOnly:s,autoComplete:"one-time-code","aria-label":`Digit ${y+1} of ${e}`,className:v(ma({size:a,variant:i,invalid:p||void 0}),"text-secondary-900 dark:text-secondary-100"),onChange:_=>$(y,_.target.value),onKeyDown:_=>P(y,_),onPaste:_=>L(y,_),onFocus:H},y))})}function Mn({size:e="sm",variant:t="default",className:r,children:n,...o}){return jsxRuntime.jsx("kbd",{className:v(ko({size:e,variant:t}),r),...o,children:n})}function Nn({separator:e="+",className:t,children:r}){let n=Xr__default.default.Children.toArray(r);return jsxRuntime.jsx("span",{className:v("inline-flex items-center gap-1",t),children:n.map((o,a)=>jsxRuntime.jsxs(Xr__default.default.Fragment,{children:[o,a<n.length-1&&jsxRuntime.jsx("span",{className:"select-none text-xs text-secondary-400 dark:text-secondary-500","aria-hidden":true,children:e})]},a))})}var yl={login:"Welcome back",register:"Create account",otp:"Verify your identity",forgot:"Reset password"},xl={login:"Sign in to your account to continue",register:"Fill in the details to get started",otp:"Enter the 6-digit code sent to your email",forgot:"We'll send a reset link to your email"};function Ir({mode:e,onModeChange:t,onLogin:r,onRegister:n,onOTPComplete:o,onForgotPassword:a,logo:i,title:l,subtitle:s,socialLogins:d,showRememberMe:m=true,isLoading:u=false,error:p,className:c,style:h}){let[f,g]=Xr.useState("login"),b=e!==void 0,w=b?e:f,C=Xr.useCallback(Y=>{b||g(Y),t?.(Y);},[b,t]),[x,M]=Xr.useState(""),[$,P]=Xr.useState(""),[L,H]=Xr.useState(false),[D,y]=Xr.useState(""),[_,B]=Xr.useState(""),[R,K]=Xr.useState(""),[ie,T]=Xr.useState(""),ye=Xr.useCallback(async Y=>{Y.preventDefault(),await r?.(x,$,L);},[x,$,L,r]),he=Xr.useCallback(async Y=>{Y.preventDefault(),await n?.(D,_,R);},[D,_,R,n]),Ne=Xr.useCallback(async Y=>{Y.preventDefault(),await a?.(ie);},[ie,a]),ne=l??yl[w],Te=s??xl[w];return jsxRuntime.jsxs("div",{className:v("w-full max-w-sm rounded-2xl border border-primary-200 bg-white/90 p-8 shadow-xl backdrop-blur-md","dark:border-primary-700 dark:bg-primary-900/90",c),style:h,children:[i&&jsxRuntime.jsx("div",{className:"mb-6 flex justify-center",children:i}),jsxRuntime.jsxs("div",{className:"mb-6 text-center",children:[jsxRuntime.jsx("h2",{className:"text-xl font-bold text-primary-900 dark:text-primary-50",children:ne}),jsxRuntime.jsx("p",{className:"mt-1 text-sm text-secondary-500 dark:text-secondary-400",children:Te})]}),d&&d.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"mb-4 flex flex-col gap-2",children:d.map((Y,Ee)=>jsxRuntime.jsxs("button",{type:"button",onClick:Y.onClick,disabled:u,className:v("flex w-full items-center justify-center gap-2 rounded-lg border border-secondary-300 px-4 py-2 text-sm font-medium","text-secondary-700 transition-colors hover:bg-secondary-50","dark:border-secondary-600 dark:text-secondary-300 dark:hover:bg-secondary-800","disabled:opacity-50 disabled:cursor-not-allowed","[&_svg]:h-4 [&_svg]:w-4"),children:[Y.icon,Y.label]},Ee))}),jsxRuntime.jsxs("div",{className:"relative mb-4 flex items-center",children:[jsxRuntime.jsx("div",{className:"flex-1 border-t border-secondary-200 dark:border-secondary-700"}),jsxRuntime.jsx("span",{className:"mx-3 text-xs text-secondary-400 dark:text-secondary-500",children:"or continue with"}),jsxRuntime.jsx("div",{className:"flex-1 border-t border-secondary-200 dark:border-secondary-700"})]})]}),jsxRuntime.jsxs("div",{className:"login-panel-slide-enter",children:[w==="login"&&jsxRuntime.jsxs("form",{onSubmit:ye,className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-email",children:"Email"}),jsxRuntime.jsx(At,{id:"lp-email",type:"email",placeholder:"you@example.com",value:x,onChange:Y=>M(Y.target.value),disabled:u,required:true})]}),jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-password",children:"Password"}),jsxRuntime.jsx(At,{id:"lp-password",type:"password",placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",value:$,onChange:Y=>P(Y.target.value),disabled:u,required:true})]}),m&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx(pa,{checked:L,onCheckedChange:Y=>H(!!Y),label:"Remember me",disabled:u}),jsxRuntime.jsx("button",{type:"button",className:"text-xs text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("forgot"),children:"Forgot password?"})]}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx(Pt,{type:"submit",className:"w-full",disabled:u,children:u?jsxRuntime.jsx("span",{className:"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:["Sign in"," ",jsxRuntime.jsx(Nn,{className:"ml-1 opacity-60",children:jsxRuntime.jsx(Mn,{size:"xs",children:"\u23CE"})})]})}),jsxRuntime.jsxs("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:["Don't have an account?"," ",jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("register"),children:"Register"})]})]}),w==="register"&&jsxRuntime.jsxs("form",{onSubmit:he,className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-name",children:"Full name"}),jsxRuntime.jsx(At,{id:"lp-name",type:"text",placeholder:"Jane Doe",value:D,onChange:Y=>y(Y.target.value),disabled:u,required:true})]}),jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-reg-email",children:"Email"}),jsxRuntime.jsx(At,{id:"lp-reg-email",type:"email",placeholder:"you@example.com",value:_,onChange:Y=>B(Y.target.value),disabled:u,required:true})]}),jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-reg-password",children:"Password"}),jsxRuntime.jsx(At,{id:"lp-reg-password",type:"password",placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",value:R,onChange:Y=>K(Y.target.value),disabled:u,required:true})]}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx(Pt,{type:"submit",className:"w-full",disabled:u,children:u?jsxRuntime.jsx("span",{className:"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}):"Create account"}),jsxRuntime.jsxs("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:["Already have an account?"," ",jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("login"),children:"Sign in"})]})]}),w==="otp"&&jsxRuntime.jsxs("div",{className:"space-y-6",children:[jsxRuntime.jsx("div",{className:"flex justify-center",children:jsxRuntime.jsx(wn,{length:6,size:"md",onComplete:async Y=>{await o?.(Y);},autoFocus:true})}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-center text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("login"),children:"\u2190 Back to login"})})]}),w==="forgot"&&jsxRuntime.jsxs("form",{onSubmit:Ne,className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"space-y-1.5",children:[jsxRuntime.jsx(zt,{htmlFor:"lp-forgot-email",children:"Email address"}),jsxRuntime.jsx(At,{id:"lp-forgot-email",type:"email",placeholder:"you@example.com",value:ie,onChange:Y=>T(Y.target.value),disabled:u,required:true})]}),p&&jsxRuntime.jsx("p",{className:"rounded-md bg-danger-50 p-2.5 text-sm text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",children:p}),jsxRuntime.jsx(Pt,{type:"submit",className:"w-full",disabled:u,children:u?jsxRuntime.jsx("span",{className:"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}):"Send reset link"}),jsxRuntime.jsx("p",{className:"text-center text-sm text-secondary-500 dark:text-secondary-400",children:jsxRuntime.jsx("button",{type:"button",className:"font-medium text-primary-500 hover:underline dark:text-primary-400",onClick:()=>C("login"),children:"\u2190 Back to login"})})]})]},w)]})}function va({item:e,mode:t}){return e.separator?jsxRuntime.jsx("div",{className:"mx-1 h-10 w-px self-center bg-primary-200 dark:bg-primary-700","aria-hidden":true}):jsxRuntime.jsxs("button",{type:"button",title:e.title??e.label,disabled:e.disabled,onClick:e.onClick,"aria-pressed":e.active,className:v("relative flex shrink-0 items-center justify-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400","disabled:cursor-not-allowed disabled:opacity-40",e.active?"bg-primary-100 text-primary-700 shadow-inner dark:bg-primary-800 dark:text-primary-200":"text-primary-700 hover:bg-primary-50 active:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",t==="full"?"min-w-[3.5rem] flex-col gap-0.5 py-2":"","[&_svg]:shrink-0",t==="full"?"[&_svg]:h-5 [&_svg]:w-5":"[&_svg]:h-4 [&_svg]:w-4"),children:[e.icon&&jsxRuntime.jsx("span",{children:e.icon}),t!=="icons"&&jsxRuntime.jsx("span",{className:v(t==="full"?"text-[0.6rem] leading-tight":""),children:e.label})]})}function Nl({group:e,mode:t,disabled:r=false}){return jsxRuntime.jsxs("div",{className:v("flex shrink-0 flex-col items-stretch",r&&"opacity-50"),children:[jsxRuntime.jsx("div",{className:"flex items-center gap-0.5 px-1",children:e.items.map(n=>jsxRuntime.jsx(va,{item:r?{...n,disabled:true}:n,mode:t},n.key))}),t==="full"&&jsxRuntime.jsx("div",{className:"mt-1 border-t border-primary-100 px-2 pt-0.5 text-center dark:border-primary-800",children:jsxRuntime.jsx("span",{className:"text-[0.55rem] text-secondary-400 dark:text-secondary-500",children:e.label})})]})}function ya({tabs:e,defaultTab:t,activeTab:r,onTabChange:n,mode:o,onModeChange:a,sticky:i=false,className:l}){let s=e.filter(x=>!x.hidden),[d,m]=Xr.useState(t??s[0]?.key??""),[u,p]=Xr.useState(o??"full"),[c,h]=Xr.useState(true),f=r??d,g=o??u,b=x=>{if(!s.find($=>$.key===x)?.disabled){if(x===f&&g!=="icons"){h($=>!$);return}m(x),n?.(x),h(true);}},C=s.find(x=>x.key===f)??s[0];return jsxRuntime.jsxs("div",{className:v("select-none border-b border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",i&&"sticky top-0 z-30",l),children:[jsxRuntime.jsxs("div",{className:"flex items-center border-b border-primary-100 dark:border-primary-800",children:[jsxRuntime.jsx("div",{className:"flex flex-1 items-end overflow-x-auto",children:s.map(x=>jsxRuntime.jsxs("button",{type:"button",disabled:x.disabled,onClick:()=>b(x.key),className:v("flex shrink-0 items-center gap-1.5 border-b-2 px-4 py-2 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400 [&_svg]:h-4 [&_svg]:w-4",x.disabled?"cursor-not-allowed border-transparent text-secondary-300 opacity-50 dark:text-secondary-600":x.key===f&&c?"border-primary-500 text-primary-700 dark:border-primary-400 dark:text-primary-200":"border-transparent text-secondary-500 hover:border-primary-300 hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-300"),children:[x.icon,x.label]},x.key))}),jsxRuntime.jsx("button",{type:"button",title:c?"Collapse ribbon":"Expand ribbon",onClick:()=>h(x=>!x),className:"ml-auto mr-2 rounded-md p-1.5 text-secondary-400 transition-colors hover:bg-primary-50 hover:text-primary-600 dark:hover:bg-primary-800 dark:hover:text-primary-300",children:c?jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"})})]}),c&&C&&g!=="icons"&&jsxRuntime.jsx("div",{className:"flex items-stretch gap-1 overflow-x-auto px-2 py-1.5",children:C.groups.map((x,M)=>jsxRuntime.jsxs(Xr__default.default.Fragment,{children:[M>0&&jsxRuntime.jsx("div",{className:"mx-1 h-auto w-px self-stretch bg-primary-100 dark:bg-primary-800"}),jsxRuntime.jsx(Nl,{group:x,mode:g,disabled:x.disabled||C.disabled})]},x.key))}),g==="icons"&&c&&C&&jsxRuntime.jsx("div",{className:"flex items-center gap-0.5 overflow-x-auto px-2 py-1",children:C.groups.flatMap(x=>x.items.map(M=>jsxRuntime.jsx(va,{item:x.disabled||C.disabled?{...M,disabled:true}:M,mode:"icons"},M.key)))})]})}var El={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},Pl={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function Hr({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:n,uncheckedContent:o,intent:a,size:i,label:l,id:s,className:d,disabled:m,...u}){let p=Xr.useId(),c=s??p,h=i??"md",f=a??"primary",g=El[h],b=n!=null||o!=null,[w,C]=Xr.useState(t),x=e??w,M=Xr.useCallback($=>{let P=$.target.checked;e===void 0&&C(P),r?.(P);},[e,r]);return jsxRuntime.jsxs("label",{htmlFor:c,className:v("inline-flex cursor-pointer items-center gap-2",m&&"pointer-events-none opacity-50",d),children:[jsxRuntime.jsx("input",{...u,id:c,type:"checkbox",role:"switch",className:"sr-only",checked:x,disabled:m,onChange:M,"aria-checked":x}),jsxRuntime.jsxs("span",{className:v("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",b?g.trackH:g.trackFixed,wo({intent:a,size:i,checked:x?"on":"off"})),children:[b?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{className:v("pointer-events-none invisible inline-grid",g.icon),children:[jsxRuntime.jsx("span",{className:v("[grid-area:1/1] whitespace-nowrap",g.pad),children:n}),jsxRuntime.jsx("span",{className:v("[grid-area:1/1] whitespace-nowrap",g.pad),children:o})]}),jsxRuntime.jsx("span",{className:v("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",g.contentLeft,g.icon,Pl[f],x?"opacity-100":"opacity-0"),children:n}),jsxRuntime.jsx("span",{className:v("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",g.contentRight,g.icon,"text-primary-400 dark:text-primary-500",x?"opacity-0":"opacity-100"),children:o})]}):null,jsxRuntime.jsx("span",{className:v("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",g.thumb,g.thumbTop,x?g.thumbOn:g.thumbOff)})]}),l&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:l})]})}var Dl=Object.defineProperty,zn=(e,t)=>{for(var r in t)Dl(e,r,{get:t[r],enumerable:true});};function Wr(e){let{state:t,transaction:r}=e,{selection:n}=r,{doc:o}=r,{storedMarks:a}=r;return {...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return a},get selection(){return n},get doc(){return o},get tr(){return n=r.selection,o=r.doc,a=r.storedMarks,r}}}var Ln=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state;}get hasCustomState(){return !!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:e,editor:t,state:r}=this,{view:n}=t,{tr:o}=r,a=this.buildProps(o);return Object.fromEntries(Object.entries(e).map(([i,l])=>[i,(...d)=>{let m=l(...d)(a);return !o.getMeta("preventDispatch")&&!this.hasCustomState&&n.dispatch(o),m}]))}get chain(){return ()=>this.createChain()}get can(){return ()=>this.createCan()}createChain(e,t=true){let{rawCommands:r,editor:n,state:o}=this,{view:a}=n,i=[],l=!!e,s=e||o.tr,d=()=>(!l&&t&&!s.getMeta("preventDispatch")&&!this.hasCustomState&&a.dispatch(s),i.every(u=>u===true)),m={...Object.fromEntries(Object.entries(r).map(([u,p])=>[u,(...h)=>{let f=this.buildProps(s,t),g=p(...h)(f);return i.push(g),m}])),run:d};return m}createCan(e){let{rawCommands:t,state:r}=this,n=false,o=e||r.tr,a=this.buildProps(o,n);return {...Object.fromEntries(Object.entries(t).map(([l,s])=>[l,(...d)=>s(...d)({...a,dispatch:void 0})])),chain:()=>this.createChain(o,n)}}buildProps(e,t=true){let{rawCommands:r,editor:n,state:o}=this,{view:a}=n,i={tr:e,editor:n,view:a,state:Wr({state:o,transaction:e}),dispatch:t?()=>{}:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(r).map(([l,s])=>[l,(...d)=>s(...d)(i)]))}};return i}},La={};zn(La,{blur:()=>Al,clearContent:()=>zl,clearNodes:()=>Il,command:()=>_l,createParagraphNear:()=>Ol,cut:()=>Fl,deleteCurrentNode:()=>Bl,deleteNode:()=>Vl,deleteRange:()=>jl,deleteSelection:()=>Kl,enter:()=>Wl,exitCode:()=>ql,extendMarkRange:()=>Gl,first:()=>Jl,focus:()=>tc,forEach:()=>rc,insertContent:()=>nc,insertContentAt:()=>pc,joinBackward:()=>yc,joinDown:()=>vc,joinForward:()=>xc,joinItemBackward:()=>kc,joinItemForward:()=>Nc,joinTextblockBackward:()=>Sc,joinTextblockForward:()=>Ec,joinUp:()=>bc,keyboardShortcut:()=>Rc,lift:()=>Ac,liftEmptyBlock:()=>Lc,liftListItem:()=>_c,newlineInCode:()=>Oc,resetAttributes:()=>$c,scrollIntoView:()=>Fc,selectAll:()=>Vc,selectNodeBackward:()=>Uc,selectNodeForward:()=>Wc,selectParentNode:()=>qc,selectTextblockEnd:()=>Gc,selectTextblockStart:()=>Qc,setContent:()=>ed,setMark:()=>kd,setMeta:()=>Md,setNode:()=>Nd,setNodeSelection:()=>Sd,setTextDirection:()=>Td,setTextSelection:()=>Ed,sinkListItem:()=>Rd,splitBlock:()=>zd,splitListItem:()=>Hd,toggleList:()=>Od,toggleMark:()=>$d,toggleNode:()=>Fd,toggleWrap:()=>Bd,undoInputRule:()=>Vd,unsetAllMarks:()=>jd,unsetMark:()=>Ud,unsetTextDirection:()=>Kd,updateAttributes:()=>Wd,wrapIn:()=>qd,wrapInList:()=>Gd});var Al=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var r;e.isDestroyed||(t.dom.blur(),(r=window?.getSelection())==null||r.removeAllRanges());}),true),zl=(e=true)=>({commands:t})=>t.setContent("",{emitUpdate:e}),Il=()=>({state:e,tr:t,dispatch:r})=>{let{selection:n}=t,{ranges:o}=n;return r&&o.forEach(({$from:a,$to:i})=>{e.doc.nodesBetween(a.pos,i.pos,(l,s)=>{if(l.type.isText)return;let{doc:d,mapping:m}=t,u=d.resolve(m.map(s)),p=d.resolve(m.map(s+l.nodeSize)),c=u.blockRange(p);if(!c)return;let h=transform.liftTarget(c);if(l.type.isTextblock){let{defaultType:f}=u.parent.contentMatchAt(u.index());t.setNodeMarkup(c.start,f);}(h||h===0)&&t.lift(c,h);});}),true},_l=e=>t=>e(t),Ol=()=>({state:e,dispatch:t})=>commands.createParagraphNear(e,t),Fl=(e,t)=>({editor:r,tr:n})=>{let{state:o}=r,a=o.doc.slice(e.from,e.to);n.deleteRange(e.from,e.to);let i=n.mapping.map(t);return n.insert(i,a.content),n.setSelection(new state.TextSelection(n.doc.resolve(Math.max(i-1,0)))),true},Bl=()=>({tr:e,dispatch:t})=>{let{selection:r}=e,n=r.$anchor.node();if(n.content.size>0)return false;let o=e.selection.$anchor;for(let a=o.depth;a>0;a-=1)if(o.node(a).type===n.type){if(t){let l=o.before(a),s=o.after(a);e.delete(l,s).scrollIntoView();}return true}return false};function Ve(e,t){if(typeof e=="string"){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}var Vl=e=>({tr:t,state:r,dispatch:n})=>{let o=Ve(e,r.schema),a=t.selection.$anchor;for(let i=a.depth;i>0;i-=1)if(a.node(i).type===o){if(n){let s=a.before(i),d=a.after(i);t.delete(s,d).scrollIntoView();}return true}return false},jl=e=>({tr:t,dispatch:r})=>{let{from:n,to:o}=e;return r&&t.delete(n,o),true},Kl=()=>({state:e,dispatch:t})=>commands.deleteSelection(e,t),Wl=()=>({commands:e})=>e.keyboardShortcut("Enter"),ql=()=>({state:e,dispatch:t})=>commands.exitCode(e,t);function In(e){return Object.prototype.toString.call(e)==="[object RegExp]"}function jr(e,t,r={strict:true}){let n=Object.keys(t);return n.length?n.every(o=>r.strict?t[o]===e[o]:In(t[o])?t[o].test(e[o]):t[o]===e[o]):true}function Ia(e,t,r={}){return e.find(n=>n.type===t&&jr(Object.fromEntries(Object.keys(r).map(o=>[o,n.attrs[o]])),r))}function xa(e,t,r={}){return !!Ia(e,t,r)}function _a(e,t,r){var n;if(!e||!t)return;let o=e.parent.childAfter(e.parentOffset);if((!o.node||!o.node.marks.some(m=>m.type===t))&&(o=e.parent.childBefore(e.parentOffset)),!o.node||!o.node.marks.some(m=>m.type===t)||(r=r||((n=o.node.marks[0])==null?void 0:n.attrs),!Ia([...o.node.marks],t,r)))return;let i=o.index,l=e.start()+o.offset,s=i+1,d=l+o.node.nodeSize;for(;i>0&&xa([...e.parent.child(i-1).marks],t,r);)i-=1,l-=e.parent.child(i).nodeSize;for(;s<e.parent.childCount&&xa([...e.parent.child(s).marks],t,r);)d+=e.parent.child(s).nodeSize,s+=1;return {from:l,to:d}}function ht(e,t){if(typeof e=="string"){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var Gl=(e,t={})=>({tr:r,state:n,dispatch:o})=>{let a=ht(e,n.schema),{doc:i,selection:l}=r,{$from:s,from:d,to:m}=l;if(o){let u=_a(s,a,t);if(u&&u.from<=d&&u.to>=m){let p=state.TextSelection.create(i,u.from,u.to);r.setSelection(p);}}return true},Jl=e=>t=>{let r=typeof e=="function"?e(t):e;for(let n=0;n<r.length;n+=1)if(r[n](t))return true;return false};function Ha(e){return e instanceof state.TextSelection}function It(e=0,t=0,r=0){return Math.min(Math.max(e,t),r)}function Zl(e,t=null){if(!t)return null;let r=state.Selection.atStart(e),n=state.Selection.atEnd(e);if(t==="start"||t===true)return r;if(t==="end")return n;let o=r.from,a=n.to;return t==="all"?state.TextSelection.create(e,It(0,o,a),It(e.content.size,o,a)):state.TextSelection.create(e,It(t,o,a),It(t,o,a))}function Ma(){return navigator.platform==="Android"||/android/i.test(navigator.userAgent)}function Ur(){return ["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}function ec(){return typeof navigator<"u"?/^((?!chrome|android).)*safari/i.test(navigator.userAgent):false}var tc=(e=null,t={})=>({editor:r,view:n,tr:o,dispatch:a})=>{t={scrollIntoView:true,...t};let i=()=>{(Ur()||Ma())&&n.dom.focus(),ec()&&!Ur()&&!Ma()&&n.dom.focus({preventScroll:true}),requestAnimationFrame(()=>{r.isDestroyed||(n.focus(),t?.scrollIntoView&&r.commands.scrollIntoView());});};try{if(n.hasFocus()&&e===null||e===!1)return !0}catch{return false}if(a&&e===null&&!Ha(r.state.selection))return i(),true;let l=Zl(o.doc,e)||r.state.selection,s=r.state.selection.eq(l);return a&&(s||o.setSelection(l),s&&o.storedMarks&&o.setStoredMarks(o.storedMarks),i()),true},rc=(e,t)=>r=>e.every((n,o)=>t(n,{...r,index:o})),nc=(e,t)=>({tr:r,commands:n})=>n.insertContentAt({from:r.selection.from,to:r.selection.to},e,t),Oa=e=>{let t=e.childNodes;for(let r=t.length-1;r>=0;r-=1){let n=t[r];n.nodeType===3&&n.nodeValue&&/^(\n\s\s|\n)$/.test(n.nodeValue)?e.removeChild(n):n.nodeType===1&&Oa(n);}return e};function Or(e){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");let t=`<body>${e}</body>`,r=new window.DOMParser().parseFromString(t,"text/html").body;return Oa(r)}function pr(e,t,r){if(e instanceof model.Node||e instanceof model.Fragment)return e;r={slice:true,parseOptions:{},...r};let n=typeof e=="object"&&e!==null,o=typeof e=="string";if(n)try{if(Array.isArray(e)&&e.length>0)return model.Fragment.fromArray(e.map(l=>t.nodeFromJSON(l)));let i=t.nodeFromJSON(e);return r.errorOnInvalidContent&&i.check(),i}catch(a){if(r.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:a});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",a),pr("",t,r)}if(o){if(r.errorOnInvalidContent){let i=false,l="",s=new model.Schema({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:d=>(i=true,l=typeof d=="string"?d:d.outerHTML,null)}]}})});if(r.slice?model.DOMParser.fromSchema(s).parseSlice(Or(e),r.parseOptions):model.DOMParser.fromSchema(s).parse(Or(e),r.parseOptions),r.errorOnInvalidContent&&i)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}let a=model.DOMParser.fromSchema(t);return r.slice?a.parseSlice(Or(e),r.parseOptions).content:a.parse(Or(e),r.parseOptions)}return pr("",t,r)}function dc(e,t,r){let n=e.steps.length-1;if(n<t)return;let o=e.steps[n];if(!(o instanceof transform.ReplaceStep||o instanceof transform.ReplaceAroundStep))return;let a=e.mapping.maps[n],i=0;a.forEach((l,s,d,m)=>{i===0&&(i=m);}),e.setSelection(state.Selection.near(e.doc.resolve(i),r));}var uc=e=>!("type"in e),pc=(e,t,r)=>({tr:n,dispatch:o,editor:a})=>{var i;if(o){r={parseOptions:a.options.parseOptions,updateSelection:true,applyInputRules:false,applyPasteRules:false,...r};let l,s=g=>{a.emit("contentError",{editor:a,error:g,disableCollaboration:()=>{"collaboration"in a.storage&&typeof a.storage.collaboration=="object"&&a.storage.collaboration&&(a.storage.collaboration.isDisabled=true);}});},d={preserveWhitespace:"full",...r.parseOptions};if(!r.errorOnInvalidContent&&!a.options.enableContentCheck&&a.options.emitContentError)try{pr(t,a.schema,{parseOptions:d,errorOnInvalidContent:!0});}catch(g){s(g);}try{l=pr(t,a.schema,{parseOptions:d,errorOnInvalidContent:(i=r.errorOnInvalidContent)!=null?i:a.options.enableContentCheck});}catch(g){return s(g),false}let{from:m,to:u}=typeof e=="number"?{from:e,to:e}:{from:e.from,to:e.to},p=true,c=true;if((uc(l)?l:[l]).forEach(g=>{g.check(),p=p?g.isText&&g.marks.length===0:false,c=c?g.isBlock:false;}),m===u&&c){let{parent:g}=n.doc.resolve(m);g.isTextblock&&!g.type.spec.code&&!g.childCount&&(m-=1,u+=1);}let f;if(p){if(Array.isArray(t))f=t.map(g=>g.text||"").join("");else if(t instanceof model.Fragment){let g="";t.forEach(b=>{b.text&&(g+=b.text);}),f=g;}else typeof t=="object"&&t&&t.text?f=t.text:f=t;n.insertText(f,m,u);}else {f=l;let g=n.doc.resolve(m),b=g.node(),w=g.parentOffset===0,C=b.isText||b.isTextblock,x=b.content.size>0;w&&C&&x&&(m=Math.max(0,m-1)),n.replaceWith(m,u,f);}r.updateSelection&&dc(n,n.steps.length-1,-1),r.applyInputRules&&n.setMeta("applyInputRules",{from:m,text:f}),r.applyPasteRules&&n.setMeta("applyPasteRules",{from:m,text:f});}return true},bc=()=>({state:e,dispatch:t})=>commands.joinUp(e,t),vc=()=>({state:e,dispatch:t})=>commands.joinDown(e,t),yc=()=>({state:e,dispatch:t})=>commands.joinBackward(e,t),xc=()=>({state:e,dispatch:t})=>commands.joinForward(e,t),kc=()=>({state:e,dispatch:t,tr:r})=>{try{let n=transform.joinPoint(e.doc,e.selection.$from.pos,-1);return n==null?!1:(r.join(n,2),t&&t(r),!0)}catch{return false}},Nc=()=>({state:e,dispatch:t,tr:r})=>{try{let n=transform.joinPoint(e.doc,e.selection.$from.pos,1);return n==null?!1:(r.join(n,2),t&&t(r),!0)}catch{return false}},Sc=()=>({state:e,dispatch:t})=>commands.joinTextblockBackward(e,t),Ec=()=>({state:e,dispatch:t})=>commands.joinTextblockForward(e,t);function $a(){return typeof navigator<"u"?/Mac/.test(navigator.platform):false}function Pc(e){let t=e.split(/-(?!$)/),r=t[t.length-1];r==="Space"&&(r=" ");let n,o,a,i;for(let l=0;l<t.length-1;l+=1){let s=t[l];if(/^(cmd|meta|m)$/i.test(s))i=true;else if(/^a(lt)?$/i.test(s))n=true;else if(/^(c|ctrl|control)$/i.test(s))o=true;else if(/^s(hift)?$/i.test(s))a=true;else if(/^mod$/i.test(s))Ur()||$a()?i=true:o=true;else throw new Error(`Unrecognized modifier name: ${s}`)}return n&&(r=`Alt-${r}`),o&&(r=`Ctrl-${r}`),i&&(r=`Meta-${r}`),a&&(r=`Shift-${r}`),r}var Rc=e=>({editor:t,view:r,tr:n,dispatch:o})=>{let a=Pc(e).split(/-(?!$)/),i=a.find(d=>!["Alt","Ctrl","Meta","Shift"].includes(d)),l=new KeyboardEvent("keydown",{key:i==="Space"?" ":i,altKey:a.includes("Alt"),ctrlKey:a.includes("Ctrl"),metaKey:a.includes("Meta"),shiftKey:a.includes("Shift"),bubbles:true,cancelable:true}),s=t.captureTransaction(()=>{r.someProp("handleKeyDown",d=>d(r,l));});return s?.steps.forEach(d=>{let m=d.map(n.mapping);m&&o&&n.maybeStep(m);}),true};function _n(e,t,r={}){let{from:n,to:o,empty:a}=e.selection,i=t?Ve(t,e.schema):null,l=[];e.doc.nodesBetween(n,o,(u,p)=>{if(u.isText)return;let c=Math.max(n,p),h=Math.min(o,p+u.nodeSize);l.push({node:u,from:c,to:h});});let s=o-n,d=l.filter(u=>i?i.name===u.node.type.name:true).filter(u=>jr(u.node.attrs,r,{strict:false}));return a?!!d.length:d.reduce((u,p)=>u+p.to-p.from,0)>=s}var Ac=(e,t={})=>({state:r,dispatch:n})=>{let o=Ve(e,r.schema);return _n(r,o,t)?commands.lift(r,n):false},Lc=()=>({state:e,dispatch:t})=>commands.liftEmptyBlock(e,t),_c=e=>({state:t,dispatch:r})=>{let n=Ve(e,t.schema);return schemaList.liftListItem(n)(t,r)},Oc=()=>({state:e,dispatch:t})=>commands.newlineInCode(e,t);function Fa(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function Ca(e,t){let r=typeof t=="string"?[t]:t;return Object.keys(e).reduce((n,o)=>(r.includes(o)||(n[o]=e[o]),n),{})}var $c=(e,t)=>({tr:r,state:n,dispatch:o})=>{let a=null,i=null,l=Fa(typeof e=="string"?e:e.name,n.schema);if(!l)return false;l==="node"&&(a=Ve(e,n.schema)),l==="mark"&&(i=ht(e,n.schema));let s=false;return r.selection.ranges.forEach(d=>{n.doc.nodesBetween(d.$from.pos,d.$to.pos,(m,u)=>{a&&a===m.type&&(s=true,o&&r.setNodeMarkup(u,void 0,Ca(m.attrs,t))),i&&m.marks.length&&m.marks.forEach(p=>{i===p.type&&(s=true,o&&r.addMark(u,u+m.nodeSize,i.create(Ca(p.attrs,t))));});});}),s},Fc=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),true),Vc=()=>({tr:e,dispatch:t})=>{if(t){let r=new state.AllSelection(e.doc);e.setSelection(r);}return true},Uc=()=>({state:e,dispatch:t})=>commands.selectNodeBackward(e,t),Wc=()=>({state:e,dispatch:t})=>commands.selectNodeForward(e,t),qc=()=>({state:e,dispatch:t})=>commands.selectParentNode(e,t),Gc=()=>({state:e,dispatch:t})=>commands.selectTextblockEnd(e,t),Qc=()=>({state:e,dispatch:t})=>commands.selectTextblockStart(e,t);function Zc(e,t,r={},n={}){return pr(e,t,{slice:false,parseOptions:r,errorOnInvalidContent:n.errorOnInvalidContent})}var ed=(e,{errorOnInvalidContent:t,emitUpdate:r=true,parseOptions:n={}}={})=>({editor:o,tr:a,dispatch:i,commands:l})=>{let{doc:s}=a;if(n.preserveWhitespace!=="full"){let d=Zc(e,o.schema,n,{errorOnInvalidContent:t??o.options.enableContentCheck});return i&&a.replaceWith(0,s.content.size,d).setMeta("preventUpdate",!r),true}return i&&a.setMeta("preventUpdate",!r),l.insertContentAt({from:0,to:s.content.size},e,{parseOptions:n,errorOnInvalidContent:t??o.options.enableContentCheck})};function td(e,t){let r=ht(t,e.schema),{from:n,to:o,empty:a}=e.selection,i=[];a?(e.storedMarks&&i.push(...e.storedMarks),i.push(...e.selection.$head.marks())):e.doc.nodesBetween(n,o,s=>{i.push(...s.marks);});let l=i.find(s=>s.type.name===r.name);return l?{...l.attrs}:{}}function nd(e,t){let r=new transform.Transform(e);return t.forEach(n=>{n.steps.forEach(o=>{r.step(o);});}),r}function od(e){for(let t=0;t<e.edgeCount;t+=1){let{type:r}=e.edge(t);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}function ad(e,t){for(let r=e.depth;r>0;r-=1){let n=e.node(r);if(t(n))return {pos:r>0?e.before(r):0,start:e.start(r),depth:r,node:n}}}function Hn(e){return t=>ad(t.$from,e)}function W(e,t,r){return e.config[t]===void 0&&e.parent?W(e.parent,t,r):typeof e.config[t]=="function"?e.config[t].bind({...r,parent:e.parent?W(e.parent,t,r):null}):e.config[t]}function ld(e){return typeof e=="function"}function Ce(e,t=void 0,...r){return ld(e)?t?e.bind(t)(...r):e(...r):e}function Jt(e){let t=e.filter(o=>o.type==="extension"),r=e.filter(o=>o.type==="node"),n=e.filter(o=>o.type==="mark");return {baseExtensions:t,nodeExtensions:r,markExtensions:n}}function dd(e){let t=[],r="",n=false,o=false,a=0,i=e.length;for(let l=0;l<i;l+=1){let s=e[l];if(s==="'"&&!o){n=!n,r+=s;continue}if(s==='"'&&!n){o=!o,r+=s;continue}if(!n&&!o){if(s==="("){a+=1,r+=s;continue}if(s===")"&&a>0){a-=1,r+=s;continue}if(s===";"&&a===0){t.push(r),r="";continue}}r+=s;}return r&&t.push(r),t}function Sa(e){let t=[],r=dd(e||""),n=r.length;for(let o=0;o<n;o+=1){let a=r[o],i=a.indexOf(":");if(i===-1)continue;let l=a.slice(0,i).trim(),s=a.slice(i+1).trim();l&&s&&t.push([l,s]);}return t}function Qt(...e){return e.filter(t=>!!t).reduce((t,r)=>{let n={...t};return Object.entries(r).forEach(([o,a])=>{if(!n[o]){n[o]=a;return}if(o==="class"){let l=a?String(a).split(" "):[],s=n[o]?n[o].split(" "):[],d=l.filter(m=>!s.includes(m));n[o]=[...s,...d].join(" ");}else if(o==="style"){let l=new Map([...Sa(n[o]),...Sa(a)]);n[o]=Array.from(l.entries()).map(([s,d])=>`${s}: ${d}`).join("; ");}else n[o]=a;}),n},{})}function fd(e,t,r){let{from:n,to:o}=t,{blockSeparator:a=`
84
84
 
85
- `,textSerializers:s={}}=r||{},l="";return e.nodesBetween(n,o,(i,d,m,u)=>{var p;i.isBlock&&d>n&&(l+=a);let c=s?.[i.type.name];if(c)return m&&(l+=c({node:i,pos:d,parent:m,index:u,range:t})),false;i.isText&&(l+=(p=i?.text)==null?void 0:p.slice(Math.max(n,d)-d,o-d));}),l}function cd(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,r])=>[t,r.spec.toText]))}function dd(e,t=JSON.stringify){let r={};return e.filter(n=>{let o=t(n);return Object.prototype.hasOwnProperty.call(r,o)?false:r[o]=true})}function ud(e){let t=dd(e);return t.length===1?t:t.filter((r,n)=>!t.filter((a,s)=>s!==n).some(a=>r.oldRange.from>=a.oldRange.from&&r.oldRange.to<=a.oldRange.to&&r.newRange.from>=a.newRange.from&&r.newRange.to<=a.newRange.to))}function pd(e){let{mapping:t,steps:r}=e,n=[];return t.maps.forEach((o,a)=>{let s=[];if(o.ranges.length)o.forEach((l,i)=>{s.push({from:l,to:i});});else {let{from:l,to:i}=r[a];if(l===void 0||i===void 0)return;s.push({from:l,to:i});}s.forEach(({from:l,to:i})=>{let d=t.slice(a).map(l,-1),m=t.slice(a).map(i),u=t.invert().map(d,-1),p=t.invert().map(m);n.push({oldRange:{from:u,to:p},newRange:{from:d,to:m}});});}),ud(n)}function $r(e,t,r){return Object.fromEntries(Object.entries(r).filter(([n])=>{let o=e.find(a=>a.type===t&&a.name===n);return o?o.attribute.keepOnSplit:false}))}function fd(e,t,r={}){let{empty:n,ranges:o}=e.selection,a=t?ht(t,e.schema):null;if(n)return !!(e.storedMarks||e.selection.$from.marks()).filter(u=>a?a.name===u.type.name:true).find(u=>Br(u.attrs,r,{strict:false}));let s=0,l=[];if(o.forEach(({$from:u,$to:p})=>{let c=u.pos,h=p.pos;e.doc.nodesBetween(c,h,(f,g)=>{if(a&&f.inlineContent&&!f.type.allowsMarkType(a))return false;if(!f.isText&&!f.marks.length)return;let b=Math.max(c,g),w=Math.min(h,g+f.nodeSize),C=w-b;s+=C,l.push(...f.marks.map(x=>({mark:x,from:b,to:w})));});}),s===0)return false;let i=l.filter(u=>a?a.name===u.mark.type.name:true).filter(u=>Br(u.mark.attrs,r,{strict:false})).reduce((u,p)=>u+p.to-p.from,0),d=l.filter(u=>a?u.mark.type!==a&&u.mark.type.excludes(a):true).reduce((u,p)=>u+p.to-p.from,0);return (i>0?i+d:i)>=s}function Ta(e,t){let{nodeExtensions:r}=Jt(t),n=r.find(s=>s.name===e);if(!n)return false;let o={name:n.name,options:n.options,storage:n.storage},a=Ce(U(n,"group",o));return typeof a!="string"?false:a.split(" ").includes("list")}function $a(e,{checkChildren:t=true,ignoreWhitespace:r=false}={}){var n;if(r){if(e.type.name==="hardBreak")return true;if(e.isText)return !/\S/.test((n=e.text)!=null?n:"")}if(e.isText)return !e.text;if(e.isAtom||e.isLeaf)return false;if(e.content.childCount===0)return true;if(t){let o=true;return e.content.forEach(a=>{o!==false&&($a(a,{ignoreWhitespace:r,checkChildren:t})||(o=false));}),o}return false}function hd(e,t,r){var n;let{selection:o}=t,a=null;if(za(o)&&(a=o.$cursor),a){let l=(n=e.storedMarks)!=null?n:a.marks();return a.parent.type.allowsMarkType(r)&&(!!r.isInSet(l)||!l.some(d=>d.type.excludes(r)))}let{ranges:s}=o;return s.some(({$from:l,$to:i})=>{let d=l.depth===0?e.doc.inlineContent&&e.doc.type.allowsMarkType(r):false;return e.doc.nodesBetween(l.pos,i.pos,(m,u,p)=>{if(d)return false;if(m.isInline){let c=!p||p.type.allowsMarkType(r),h=!!r.isInSet(m.marks)||!m.marks.some(f=>f.type.excludes(r));d=c&&h;}return !d}),d})}var gd=(e,t={})=>({tr:r,state:n,dispatch:o})=>{let{selection:a}=r,{empty:s,ranges:l}=a,i=ht(e,n.schema);if(o)if(s){let d=Xc(n,i);r.addStoredMark(i.create({...d,...t}));}else l.forEach(d=>{let m=d.$from.pos,u=d.$to.pos;n.doc.nodesBetween(m,u,(p,c)=>{let h=Math.max(c,m),f=Math.min(c+p.nodeSize,u);p.marks.find(b=>b.type===i)?p.marks.forEach(b=>{i===b.type&&r.addMark(h,f,i.create({...b.attrs,...t}));}):r.addMark(h,f,i.create(t));});});return hd(n,r,i)},bd=(e,t)=>({tr:r})=>(r.setMeta(e,t),true),vd=(e,t={})=>({state:r,dispatch:n,chain:o})=>{let a=Ve(e,r.schema),s;return r.selection.$anchor.sameParent(r.selection.$head)&&(s=r.selection.$anchor.parent.attrs),a.isTextblock?o().command(({commands:l})=>commands.setBlockType(a,{...s,...t})(r)?true:l.clearNodes()).command(({state:l})=>commands.setBlockType(a,{...s,...t})(l,n)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),false)},xd=e=>({tr:t,dispatch:r})=>{if(r){let{doc:n}=t,o=It(e,0,n.content.size),a=state.NodeSelection.create(n,o);t.setSelection(a);}return true},wd=(e,t)=>({tr:r,state:n,dispatch:o})=>{let{selection:a}=n,s,l;return typeof t=="number"?(s=t,l=t):t&&"from"in t&&"to"in t?(s=t.from,l=t.to):(s=a.from,l=a.to),o&&r.doc.nodesBetween(s,l,(i,d)=>{i.isText||r.setNodeMarkup(d,void 0,{...i.attrs,dir:e});}),true},kd=e=>({tr:t,dispatch:r})=>{if(r){let{doc:n}=t,{from:o,to:a}=typeof e=="number"?{from:e,to:e}:e,s=state.TextSelection.atStart(n).from,l=state.TextSelection.atEnd(n).to,i=It(o,s,l),d=It(a,s,l),m=state.TextSelection.create(n,i,d);t.setSelection(m);}return true},Nd=e=>({state:t,dispatch:r})=>{let n=Ve(e,t.schema);return schemaList.sinkListItem(n)(t,r)};function Pa(e,t){let r=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(r){let n=r.filter(o=>t?.includes(o.type.name));e.tr.ensureMarks(n);}}var Td=({keepMarks:e=true}={})=>({tr:t,state:r,dispatch:n,editor:o})=>{let{selection:a,doc:s}=t,{$from:l,$to:i}=a,d=o.extensionManager.attributes,m=$r(d,l.node().type.name,l.node().attrs);if(a instanceof state.NodeSelection&&a.node.isBlock)return !l.parentOffset||!transform.canSplit(s,l.pos)?false:(n&&(e&&Pa(r,o.extensionManager.splittableMarks),t.split(l.pos).scrollIntoView()),true);if(!l.parent.isBlock)return false;let u=i.parentOffset===i.parent.content.size,p=l.depth===0?void 0:Qc(l.node(-1).contentMatchAt(l.indexAfter(-1))),c=u&&p?[{type:p,attrs:m}]:void 0,h=transform.canSplit(t.doc,t.mapping.map(l.pos),1,c);if(!c&&!h&&transform.canSplit(t.doc,t.mapping.map(l.pos),1,p?[{type:p}]:void 0)&&(h=true,c=p?[{type:p,attrs:m}]:void 0),n){if(h&&(a instanceof state.TextSelection&&t.deleteSelection(),t.split(t.mapping.map(l.pos),1,c),p&&!u&&!l.parentOffset&&l.parent.type!==p)){let f=t.mapping.map(l.before()),g=t.doc.resolve(f);l.node(-1).canReplaceWith(g.index(),g.index()+1,p)&&t.setNodeMarkup(t.mapping.map(l.before()),p);}e&&Pa(r,o.extensionManager.splittableMarks),t.scrollIntoView();}return h},Dd=(e,t={})=>({tr:r,state:n,dispatch:o,editor:a})=>{var s;let l=Ve(e,n.schema),{$from:i,$to:d}=n.selection,m=n.selection.node;if(m&&m.isBlock||i.depth<2||!i.sameParent(d))return false;let u=i.node(-1);if(u.type!==l)return false;let p=a.extensionManager.attributes;if(i.parent.content.size===0&&i.node(-1).childCount===i.indexAfter(-1)){if(i.depth===2||i.node(-3).type!==l||i.index(-2)!==i.node(-2).childCount-1)return false;if(o){let b=model.Fragment.empty,w=i.index(-1)?1:i.index(-2)?2:3;for(let L=i.depth-w;L>=i.depth-3;L-=1)b=model.Fragment.from(i.node(L).copy(b));let C=i.indexAfter(-1)<i.node(-2).childCount?1:i.indexAfter(-2)<i.node(-3).childCount?2:3,x={...$r(p,i.node().type.name,i.node().attrs),...t},M=((s=l.contentMatch.defaultType)==null?void 0:s.createAndFill(x))||void 0;b=b.append(model.Fragment.from(l.createAndFill(null,M)||void 0));let F=i.before(i.depth-(w-1));r.replace(F,i.after(-C),new model.Slice(b,4-w,0));let P=-1;r.doc.nodesBetween(F,r.doc.content.size,(L,H)=>{if(P>-1)return false;L.isTextblock&&L.content.size===0&&(P=H+1);}),P>-1&&r.setSelection(state.TextSelection.near(r.doc.resolve(P))),r.scrollIntoView();}return true}let c=d.pos===i.end()?u.contentMatchAt(0).defaultType:null,h={...$r(p,u.type.name,u.attrs),...t},f={...$r(p,i.node().type.name,i.node().attrs),...t};r.delete(i.pos,d.pos);let g=c?[{type:l,attrs:h},{type:c,attrs:f}]:[{type:l,attrs:h}];if(!transform.canSplit(r.doc,i.pos,2))return false;if(o){let{selection:b,storedMarks:w}=n,{splittableMarks:C}=a.extensionManager,x=w||b.$to.parentOffset&&b.$from.marks();if(r.split(i.pos,2,g).scrollIntoView(),!x||!o)return true;let M=x.filter(F=>C.includes(F.type.name));r.ensureMarks(M);}return true},En=(e,t)=>{let r=In(s=>s.type===t)(e.selection);if(!r)return true;let n=e.doc.resolve(Math.max(0,r.pos-1)).before(r.depth);if(n===void 0)return true;let o=e.doc.nodeAt(n);return r.node.type===o?.type&&transform.canJoin(e.doc,r.pos)&&e.join(r.pos),true},Pn=(e,t)=>{let r=In(s=>s.type===t)(e.selection);if(!r)return true;let n=e.doc.resolve(r.start).after(r.depth);if(n===void 0)return true;let o=e.doc.nodeAt(n);return r.node.type===o?.type&&transform.canJoin(e.doc,n)&&e.join(n),true},Ad=(e,t,r,n={})=>({editor:o,tr:a,state:s,dispatch:l,chain:i,commands:d,can:m})=>{let{extensions:u,splittableMarks:p}=o.extensionManager,c=Ve(e,s.schema),h=Ve(t,s.schema),{selection:f,storedMarks:g}=s,{$from:b,$to:w}=f,C=b.blockRange(w),x=g||f.$to.parentOffset&&f.$from.marks();if(!C)return false;let M=In(F=>Ta(F.type.name,u))(f);if(C.depth>=1&&M&&C.depth-M.depth<=1){if(M.node.type===c)return d.liftListItem(h);if(Ta(M.node.type.name,u)&&c.validContent(M.node.content)&&l)return i().command(()=>(a.setNodeMarkup(M.pos,c),true)).command(()=>En(a,c)).command(()=>Pn(a,c)).run()}return !r||!x||!l?i().command(()=>m().wrapInList(c,n)?true:d.clearNodes()).wrapInList(c,n).command(()=>En(a,c)).command(()=>Pn(a,c)).run():i().command(()=>{let F=m().wrapInList(c,n),P=x.filter(L=>p.includes(L.type.name));return a.ensureMarks(P),F?true:d.clearNodes()}).wrapInList(c,n).command(()=>En(a,c)).command(()=>Pn(a,c)).run()},zd=(e,t={},r={})=>({state:n,commands:o})=>{let{extendEmptyMarkRange:a=false}=r,s=ht(e,n.schema);return fd(n,s,t)?o.unsetMark(s,{extendEmptyMarkRange:a}):o.setMark(s,t)},Ld=(e,t,r={})=>({state:n,commands:o})=>{let a=Ve(e,n.schema),s=Ve(t,n.schema),l=Ln(n,a,r),i;return n.selection.$anchor.sameParent(n.selection.$head)&&(i=n.selection.$anchor.parent.attrs),l?o.setNode(s,i):o.setNode(a,{...i,...r})},Id=(e,t={})=>({state:r,commands:n})=>{let o=Ve(e,r.schema);return Ln(r,o,t)?n.lift(o):n.wrapIn(o,t)},_d=()=>({state:e,dispatch:t})=>{let r=e.plugins;for(let n=0;n<r.length;n+=1){let o=r[n],a;if(o.spec.isInputRules&&(a=o.getState(e))){if(t){let s=e.tr,l=a.transform;for(let i=l.steps.length-1;i>=0;i-=1)s.step(l.steps[i].invert(l.docs[i]));if(a.text){let i=s.doc.resolve(a.from).marks();s.replaceWith(a.from,a.to,e.schema.text(a.text,i));}else s.delete(a.from,a.to);}return true}}return false},Hd=()=>({tr:e,dispatch:t})=>{let{selection:r}=e,{empty:n,ranges:o}=r;return n||t&&o.forEach(a=>{e.removeMark(a.$from.pos,a.$to.pos);}),true},Od=(e,t={})=>({tr:r,state:n,dispatch:o})=>{var a;let{extendEmptyMarkRange:s=false}=t,{selection:l}=r,i=ht(e,n.schema),{$from:d,empty:m,ranges:u}=l;if(!o)return true;if(m&&s){let{from:p,to:c}=l,h=(a=d.marks().find(g=>g.type===i))==null?void 0:a.attrs,f=Aa(d,i,h);f&&(p=f.from,c=f.to),r.removeMark(p,c,i);}else u.forEach(p=>{r.removeMark(p.$from.pos,p.$to.pos,i);});return r.removeStoredMark(i),true},Fd=e=>({tr:t,state:r,dispatch:n})=>{let{selection:o}=r,a,s;return typeof e=="number"?(a=e,s=e):e&&"from"in e&&"to"in e?(a=e.from,s=e.to):(a=o.from,s=o.to),n&&t.doc.nodesBetween(a,s,(l,i)=>{if(l.isText)return;let d={...l.attrs};delete d.dir,t.setNodeMarkup(i,void 0,d);}),true},$d=(e,t={})=>({tr:r,state:n,dispatch:o})=>{let a=null,s=null,l=_a(typeof e=="string"?e:e.name,n.schema);if(!l)return false;l==="node"&&(a=Ve(e,n.schema)),l==="mark"&&(s=ht(e,n.schema));let i=false;return r.selection.ranges.forEach(d=>{let m=d.$from.pos,u=d.$to.pos,p,c,h,f;r.selection.empty?n.doc.nodesBetween(m,u,(g,b)=>{a&&a===g.type&&(i=true,h=Math.max(b,m),f=Math.min(b+g.nodeSize,u),p=b,c=g);}):n.doc.nodesBetween(m,u,(g,b)=>{b<m&&a&&a===g.type&&(i=true,h=Math.max(b,m),f=Math.min(b+g.nodeSize,u),p=b,c=g),b>=m&&b<=u&&(a&&a===g.type&&(i=true,o&&r.setNodeMarkup(b,void 0,{...g.attrs,...t})),s&&g.marks.length&&g.marks.forEach(w=>{if(s===w.type&&(i=true,o)){let C=Math.max(b,m),x=Math.min(b+g.nodeSize,u);r.addMark(C,x,s.create({...w.attrs,...t}));}}));}),c&&(p!==void 0&&o&&r.setNodeMarkup(p,void 0,{...c.attrs,...t}),s&&c.marks.length&&c.marks.forEach(g=>{s===g.type&&o&&r.addMark(h,f,s.create({...g.attrs,...t}));}));}),i},Vd=(e,t={})=>({state:r,dispatch:n})=>{let o=Ve(e,r.schema);return commands.wrapIn(o,t)(r,n)},Ud=(e,t={})=>({state:r,dispatch:n})=>{let o=Ve(e,r.schema);return schemaList.wrapInList(o,t)(r,n)};function Gd(e){return Object.prototype.toString.call(e).slice(8,-1)}function Or(e){return Gd(e)!=="Object"?false:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function Va(e,t){let r={...e};return Or(e)&&Or(t)&&Object.keys(t).forEach(n=>{Or(t[n])&&Or(e[n])?r[n]=Va(e[n],t[n]):r[n]=t[n];}),r}var Hn=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name;}get options(){return {...Ce(U(this,"addOptions",{name:this.name}))||{}}}get storage(){return {...Ce(U(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(e={}){let t=this.extend({...this.config,addOptions:()=>Va(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){let t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},On=class ja extends Hn{constructor(){super(...arguments),this.type="mark";}static create(t={}){let r=typeof t=="function"?t():t;return new ja(r)}static handleExit({editor:t,mark:r}){let{tr:n}=t.state,o=t.state.selection.$from;if(o.pos===o.end()){let s=o.marks();if(!!!s.find(d=>d?.type.name===r.name))return false;let i=s.find(d=>d?.type.name===r.name);return i&&n.removeStoredMark(i),n.insertText(" ",o.pos),t.view.dispatch(n),true}return false}configure(t){return super.configure(t)}extend(t){let r=typeof t=="function"?t():t;return super.extend(r)}};var ou={};Dn(ou,{ClipboardTextSerializer:()=>iu,Commands:()=>lu,Delete:()=>du,Drop:()=>mu,Editable:()=>gu,FocusEvents:()=>yu,Keymap:()=>ku,Paste:()=>Cu,Tabindex:()=>Eu,TextDirection:()=>Du,focusEventsPluginKey:()=>Ka});var Me=class Ua extends Hn{constructor(){super(...arguments),this.type="extension";}static create(t={}){let r=typeof t=="function"?t():t;return new Ua(r)}configure(t){return super.configure(t)}extend(t){let r=typeof t=="function"?t():t;return super.extend(r)}},iu=Me.create({name:"clipboardTextSerializer",addOptions(){return {blockSeparator:void 0}},addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:r}=e,{doc:n,selection:o}=t,{ranges:a}=o,s=Math.min(...a.map(m=>m.$from.pos)),l=Math.max(...a.map(m=>m.$to.pos)),i=cd(r);return ld(n,{from:s,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:i})}}})]}}),lu=Me.create({name:"commands",addCommands(){return {...Ra}}}),du=Me.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var r,n,o;let a=()=>{var s,l,i,d;if((d=(i=(l=(s=this.editor.options.coreExtensionOptions)==null?void 0:s.delete)==null?void 0:l.filterTransaction)==null?void 0:i.call(l,e))!=null?d:e.getMeta("y-sync$"))return;let m=Jc(e.before,[e,...t]);pd(m).forEach(c=>{m.mapping.mapResult(c.oldRange.from).deletedAfter&&m.mapping.mapResult(c.oldRange.to).deletedBefore&&m.before.nodesBetween(c.oldRange.from,c.oldRange.to,(h,f)=>{let g=f+h.nodeSize-2,b=c.oldRange.from<=f&&g<=c.oldRange.to;this.editor.emit("delete",{type:"node",node:h,from:f,to:g,newFrom:m.mapping.map(f),newTo:m.mapping.map(g),deletedRange:c.oldRange,newRange:c.newRange,partial:!b,editor:this.editor,transaction:e,combinedTransform:m});});});let p=m.mapping;m.steps.forEach((c,h)=>{var f,g;if(c instanceof transform.RemoveMarkStep){let b=p.slice(h).map(c.from,-1),w=p.slice(h).map(c.to),C=p.invert().map(b,-1),x=p.invert().map(w),M=(f=m.doc.nodeAt(b-1))==null?void 0:f.marks.some(P=>P.eq(c.mark)),F=(g=m.doc.nodeAt(w))==null?void 0:g.marks.some(P=>P.eq(c.mark));this.editor.emit("delete",{type:"mark",mark:c.mark,from:c.from,to:c.to,deletedRange:{from:C,to:x},newRange:{from:b,to:w},partial:!!(F||M),editor:this.editor,transaction:e,combinedTransform:m});}});};(o=(n=(r=this.editor.options.coreExtensionOptions)==null?void 0:r.delete)==null?void 0:n.async)==null||o?setTimeout(a,0):a();}}),mu=Me.create({name:"drop",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("tiptapDrop"),props:{handleDrop:(e,t,r,n)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:r,moved:n});}}})]}}),gu=Me.create({name:"editable",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("editable"),props:{editable:()=>this.editor.options.editable}})]}}),Ka=new state.PluginKey("focusEvents"),yu=Me.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return [new state.Plugin({key:Ka,props:{handleDOMEvents:{focus:(t,r)=>{e.isFocused=true;let n=e.state.tr.setMeta("focus",{event:r}).setMeta("addToHistory",false);return t.dispatch(n),false},blur:(t,r)=>{e.isFocused=false;let n=e.state.tr.setMeta("blur",{event:r}).setMeta("addToHistory",false);return t.dispatch(n),false}}}})]}}),ku=Me.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:l})=>{let{selection:i,doc:d}=l,{empty:m,$anchor:u}=i,{pos:p,parent:c}=u,h=u.parent.isTextblock&&p>0?l.doc.resolve(p-1):u,f=h.parent.type.spec.isolating,g=u.pos-u.parentOffset,b=f&&h.parent.childCount===1?g===u.pos:state.Selection.atStart(d).from===p;return !m||!c.type.isTextblock||c.textContent.length||!b||b&&u.parent.type.name==="paragraph"?false:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},o={...n},a={...n,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Vr()||Ia()?a:o},addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("clearDocument"),appendTransaction:(e,t,r)=>{if(e.some(f=>f.getMeta("composition")))return;let n=e.some(f=>f.docChanged)&&!t.doc.eq(r.doc),o=e.some(f=>f.getMeta("preventClearDocument"));if(!n||o)return;let{empty:a,from:s,to:l}=t.selection,i=state.Selection.atStart(t.doc).from,d=state.Selection.atEnd(t.doc).to;if(a||!(s===i&&l===d)||!$a(r.doc))return;let p=r.tr,c=Ur({state:r,transaction:p}),{commands:h}=new An({editor:this.editor,state:c});if(h.clearNodes(),!!p.steps.length)return p}})]}}),Cu=Me.create({name:"paste",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("tiptapPaste"),props:{handlePaste:(e,t,r)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:r});}}})]}}),Eu=Me.create({name:"tabindex",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),Du=Me.create({name:"textDirection",addOptions(){return {direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return [];let{nodeExtensions:e}=Jt(this.extensions);return [{types:e.filter(t=>t.name!=="text").map(t=>t.name),attributes:{dir:{default:this.options.direction,parseHTML:t=>{let r=t.getAttribute("dir");return r&&(r==="ltr"||r==="rtl"||r==="auto")?r:this.options.direction},renderHTML:t=>t.dir?{dir:t.dir}:{}}}}]},addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("textDirection"),props:{attributes:()=>{let e=this.options.direction;return e?{dir:e}:{}}}})]}});var Au={};Dn(Au,{createAtomBlockMarkdownSpec:()=>zu,createBlockMarkdownSpec:()=>Lu,createInlineMarkdownSpec:()=>Hu,parseAttributes:()=>$n,parseIndentedBlocks:()=>Ou,renderNestedMarkdownContent:()=>Fu,serializeAttributes:()=>Bn});function $n(e){if(!e?.trim())return {};let t={},r=[],n=e.replace(/["']([^"']*)["']/g,d=>(r.push(d),`__QUOTED_${r.length-1}__`)),o=n.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(o){let d=o.map(m=>m.trim().slice(1));t.class=d.join(" ");}let a=n.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);a&&(t.id=a[1]);let s=/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g;Array.from(n.matchAll(s)).forEach(([,d,m])=>{var u;let p=parseInt(((u=m.match(/__QUOTED_(\d+)__/))==null?void 0:u[1])||"0",10),c=r[p];c&&(t[d]=c.slice(1,-1));});let i=n.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return i&&i.split(/\s+/).filter(Boolean).forEach(m=>{m.match(/^[a-zA-Z][\w-]*$/)&&(t[m]=true);}),t}function Bn(e){if(!e||Object.keys(e).length===0)return "";let t=[];return e.class&&String(e.class).split(/\s+/).filter(Boolean).forEach(n=>t.push(`.${n}`)),e.id&&t.push(`#${e.id}`),Object.entries(e).forEach(([r,n])=>{r==="class"||r==="id"||(n===true?t.push(r):n!==false&&n!=null&&t.push(`${r}="${String(n)}"`));}),t.join(" ")}function zu(e){let{nodeName:t,name:r,parseAttributes:n=$n,serializeAttributes:o=Bn,defaultAttributes:a={},requiredAttributes:s=[],allowedAttributes:l}=e,i=r||t,d=m=>{if(!l)return m;let u={};return l.forEach(p=>{p in m&&(u[p]=m[p]);}),u};return {parseMarkdown:(m,u)=>{let p={...a,...m.attributes};return u.createNode(t,p,[])},markdownTokenizer:{name:t,level:"block",start(m){var u;let p=new RegExp(`^:::${i}(?:\\s|$)`,"m"),c=(u=m.match(p))==null?void 0:u.index;return c!==void 0?c:-1},tokenize(m,u,p){let c=new RegExp(`^:::${i}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),h=m.match(c);if(!h)return;let f=h[1]||"",g=n(f);if(!s.find(w=>!(w in g)))return {type:t,raw:h[0],attributes:g}}},renderMarkdown:m=>{let u=d(m.attrs||{}),p=o(u),c=p?` {${p}}`:"";return `:::${i}${c} :::`}}}function Lu(e){let{nodeName:t,name:r,getContent:n,parseAttributes:o=$n,serializeAttributes:a=Bn,defaultAttributes:s={},content:l="block",allowedAttributes:i}=e,d=r||t,m=u=>{if(!i)return u;let p={};return i.forEach(c=>{c in u&&(p[c]=u[c]);}),p};return {parseMarkdown:(u,p)=>{let c;if(n){let f=n(u);c=typeof f=="string"?[{type:"text",text:f}]:f;}else l==="block"?c=p.parseChildren(u.tokens||[]):c=p.parseInline(u.tokens||[]);let h={...s,...u.attributes};return p.createNode(t,h,c)},markdownTokenizer:{name:t,level:"block",start(u){var p;let c=new RegExp(`^:::${d}`,"m"),h=(p=u.match(c))==null?void 0:p.index;return h!==void 0?h:-1},tokenize(u,p,c){var h;let f=new RegExp(`^:::${d}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),g=u.match(f);if(!g)return;let[b,w=""]=g,C=o(w),x=1,M=b.length,F="",P=/^:::([\w-]*)(\s.*)?/gm,L=u.slice(M);for(P.lastIndex=0;;){let H=P.exec(L);if(H===null)break;let R=H.index,y=H[1];if(!((h=H[2])!=null&&h.endsWith(":::"))){if(y)x+=1;else if(x-=1,x===0){let _=L.slice(0,R);F=_.trim();let X=u.slice(0,M+R+H[0].length),z=[];if(F)if(l==="block")for(z=c.blockTokens(_),z.forEach(Y=>{Y.text&&(!Y.tokens||Y.tokens.length===0)&&(Y.tokens=c.inlineTokens(Y.text));});z.length>0;){let Y=z[z.length-1];if(Y.type==="paragraph"&&(!Y.text||Y.text.trim()===""))z.pop();else break}else z=c.inlineTokens(F);return {type:t,raw:X,attributes:C,content:F,tokens:z}}}}}},renderMarkdown:(u,p)=>{let c=m(u.attrs||{}),h=a(c),f=h?` {${h}}`:"",g=p.renderChildren(u.content||[],`
85
+ `,textSerializers:i={}}=r||{},l="";return e.nodesBetween(n,o,(s,d,m,u)=>{var p;s.isBlock&&d>n&&(l+=a);let c=i?.[s.type.name];if(c)return m&&(l+=c({node:s,pos:d,parent:m,index:u,range:t})),false;s.isText&&(l+=(p=s?.text)==null?void 0:p.slice(Math.max(n,d)-d,o-d));}),l}function hd(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,r])=>[t,r.spec.toText]))}function gd(e,t=JSON.stringify){let r={};return e.filter(n=>{let o=t(n);return Object.prototype.hasOwnProperty.call(r,o)?false:r[o]=true})}function bd(e){let t=gd(e);return t.length===1?t:t.filter((r,n)=>!t.filter((a,i)=>i!==n).some(a=>r.oldRange.from>=a.oldRange.from&&r.oldRange.to<=a.oldRange.to&&r.newRange.from>=a.newRange.from&&r.newRange.to<=a.newRange.to))}function vd(e){let{mapping:t,steps:r}=e,n=[];return t.maps.forEach((o,a)=>{let i=[];if(o.ranges.length)o.forEach((l,s)=>{i.push({from:l,to:s});});else {let{from:l,to:s}=r[a];if(l===void 0||s===void 0)return;i.push({from:l,to:s});}i.forEach(({from:l,to:s})=>{let d=t.slice(a).map(l,-1),m=t.slice(a).map(s),u=t.invert().map(d,-1),p=t.invert().map(m);n.push({oldRange:{from:u,to:p},newRange:{from:d,to:m}});});}),bd(n)}function Vr(e,t,r){return Object.fromEntries(Object.entries(r).filter(([n])=>{let o=e.find(a=>a.type===t&&a.name===n);return o?o.attribute.keepOnSplit:false}))}function xd(e,t,r={}){let{empty:n,ranges:o}=e.selection,a=t?ht(t,e.schema):null;if(n)return !!(e.storedMarks||e.selection.$from.marks()).filter(u=>a?a.name===u.type.name:true).find(u=>jr(u.attrs,r,{strict:false}));let i=0,l=[];if(o.forEach(({$from:u,$to:p})=>{let c=u.pos,h=p.pos;e.doc.nodesBetween(c,h,(f,g)=>{if(a&&f.inlineContent&&!f.type.allowsMarkType(a))return false;if(!f.isText&&!f.marks.length)return;let b=Math.max(c,g),w=Math.min(h,g+f.nodeSize),C=w-b;i+=C,l.push(...f.marks.map(x=>({mark:x,from:b,to:w})));});}),i===0)return false;let s=l.filter(u=>a?a.name===u.mark.type.name:true).filter(u=>jr(u.mark.attrs,r,{strict:false})).reduce((u,p)=>u+p.to-p.from,0),d=l.filter(u=>a?u.mark.type!==a&&u.mark.type.excludes(a):true).reduce((u,p)=>u+p.to-p.from,0);return (s>0?s+d:s)>=i}function Da(e,t){let{nodeExtensions:r}=Jt(t),n=r.find(i=>i.name===e);if(!n)return false;let o={name:n.name,options:n.options,storage:n.storage},a=Ce(W(n,"group",o));return typeof a!="string"?false:a.split(" ").includes("list")}function Ua(e,{checkChildren:t=true,ignoreWhitespace:r=false}={}){var n;if(r){if(e.type.name==="hardBreak")return true;if(e.isText)return !/\S/.test((n=e.text)!=null?n:"")}if(e.isText)return !e.text;if(e.isAtom||e.isLeaf)return false;if(e.content.childCount===0)return true;if(t){let o=true;return e.content.forEach(a=>{o!==false&&(Ua(a,{ignoreWhitespace:r,checkChildren:t})||(o=false));}),o}return false}function wd(e,t,r){var n;let{selection:o}=t,a=null;if(Ha(o)&&(a=o.$cursor),a){let l=(n=e.storedMarks)!=null?n:a.marks();return a.parent.type.allowsMarkType(r)&&(!!r.isInSet(l)||!l.some(d=>d.type.excludes(r)))}let{ranges:i}=o;return i.some(({$from:l,$to:s})=>{let d=l.depth===0?e.doc.inlineContent&&e.doc.type.allowsMarkType(r):false;return e.doc.nodesBetween(l.pos,s.pos,(m,u,p)=>{if(d)return false;if(m.isInline){let c=!p||p.type.allowsMarkType(r),h=!!r.isInSet(m.marks)||!m.marks.some(f=>f.type.excludes(r));d=c&&h;}return !d}),d})}var kd=(e,t={})=>({tr:r,state:n,dispatch:o})=>{let{selection:a}=r,{empty:i,ranges:l}=a,s=ht(e,n.schema);if(o)if(i){let d=td(n,s);r.addStoredMark(s.create({...d,...t}));}else l.forEach(d=>{let m=d.$from.pos,u=d.$to.pos;n.doc.nodesBetween(m,u,(p,c)=>{let h=Math.max(c,m),f=Math.min(c+p.nodeSize,u);p.marks.find(b=>b.type===s)?p.marks.forEach(b=>{s===b.type&&r.addMark(h,f,s.create({...b.attrs,...t}));}):r.addMark(h,f,s.create(t));});});return wd(n,r,s)},Md=(e,t)=>({tr:r})=>(r.setMeta(e,t),true),Nd=(e,t={})=>({state:r,dispatch:n,chain:o})=>{let a=Ve(e,r.schema),i;return r.selection.$anchor.sameParent(r.selection.$head)&&(i=r.selection.$anchor.parent.attrs),a.isTextblock?o().command(({commands:l})=>commands.setBlockType(a,{...i,...t})(r)?true:l.clearNodes()).command(({state:l})=>commands.setBlockType(a,{...i,...t})(l,n)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),false)},Sd=e=>({tr:t,dispatch:r})=>{if(r){let{doc:n}=t,o=It(e,0,n.content.size),a=state.NodeSelection.create(n,o);t.setSelection(a);}return true},Td=(e,t)=>({tr:r,state:n,dispatch:o})=>{let{selection:a}=n,i,l;return typeof t=="number"?(i=t,l=t):t&&"from"in t&&"to"in t?(i=t.from,l=t.to):(i=a.from,l=a.to),o&&r.doc.nodesBetween(i,l,(s,d)=>{s.isText||r.setNodeMarkup(d,void 0,{...s.attrs,dir:e});}),true},Ed=e=>({tr:t,dispatch:r})=>{if(r){let{doc:n}=t,{from:o,to:a}=typeof e=="number"?{from:e,to:e}:e,i=state.TextSelection.atStart(n).from,l=state.TextSelection.atEnd(n).to,s=It(o,i,l),d=It(a,i,l),m=state.TextSelection.create(n,s,d);t.setSelection(m);}return true},Rd=e=>({state:t,dispatch:r})=>{let n=Ve(e,t.schema);return schemaList.sinkListItem(n)(t,r)};function za(e,t){let r=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(r){let n=r.filter(o=>t?.includes(o.type.name));e.tr.ensureMarks(n);}}var zd=({keepMarks:e=true}={})=>({tr:t,state:r,dispatch:n,editor:o})=>{let{selection:a,doc:i}=t,{$from:l,$to:s}=a,d=o.extensionManager.attributes,m=Vr(d,l.node().type.name,l.node().attrs);if(a instanceof state.NodeSelection&&a.node.isBlock)return !l.parentOffset||!transform.canSplit(i,l.pos)?false:(n&&(e&&za(r,o.extensionManager.splittableMarks),t.split(l.pos).scrollIntoView()),true);if(!l.parent.isBlock)return false;let u=s.parentOffset===s.parent.content.size,p=l.depth===0?void 0:od(l.node(-1).contentMatchAt(l.indexAfter(-1))),c=u&&p?[{type:p,attrs:m}]:void 0,h=transform.canSplit(t.doc,t.mapping.map(l.pos),1,c);if(!c&&!h&&transform.canSplit(t.doc,t.mapping.map(l.pos),1,p?[{type:p}]:void 0)&&(h=true,c=p?[{type:p,attrs:m}]:void 0),n){if(h&&(a instanceof state.TextSelection&&t.deleteSelection(),t.split(t.mapping.map(l.pos),1,c),p&&!u&&!l.parentOffset&&l.parent.type!==p)){let f=t.mapping.map(l.before()),g=t.doc.resolve(f);l.node(-1).canReplaceWith(g.index(),g.index()+1,p)&&t.setNodeMarkup(t.mapping.map(l.before()),p);}e&&za(r,o.extensionManager.splittableMarks),t.scrollIntoView();}return h},Hd=(e,t={})=>({tr:r,state:n,dispatch:o,editor:a})=>{var i;let l=Ve(e,n.schema),{$from:s,$to:d}=n.selection,m=n.selection.node;if(m&&m.isBlock||s.depth<2||!s.sameParent(d))return false;let u=s.node(-1);if(u.type!==l)return false;let p=a.extensionManager.attributes;if(s.parent.content.size===0&&s.node(-1).childCount===s.indexAfter(-1)){if(s.depth===2||s.node(-3).type!==l||s.index(-2)!==s.node(-2).childCount-1)return false;if(o){let b=model.Fragment.empty,w=s.index(-1)?1:s.index(-2)?2:3;for(let L=s.depth-w;L>=s.depth-3;L-=1)b=model.Fragment.from(s.node(L).copy(b));let C=s.indexAfter(-1)<s.node(-2).childCount?1:s.indexAfter(-2)<s.node(-3).childCount?2:3,x={...Vr(p,s.node().type.name,s.node().attrs),...t},M=((i=l.contentMatch.defaultType)==null?void 0:i.createAndFill(x))||void 0;b=b.append(model.Fragment.from(l.createAndFill(null,M)||void 0));let $=s.before(s.depth-(w-1));r.replace($,s.after(-C),new model.Slice(b,4-w,0));let P=-1;r.doc.nodesBetween($,r.doc.content.size,(L,H)=>{if(P>-1)return false;L.isTextblock&&L.content.size===0&&(P=H+1);}),P>-1&&r.setSelection(state.TextSelection.near(r.doc.resolve(P))),r.scrollIntoView();}return true}let c=d.pos===s.end()?u.contentMatchAt(0).defaultType:null,h={...Vr(p,u.type.name,u.attrs),...t},f={...Vr(p,s.node().type.name,s.node().attrs),...t};r.delete(s.pos,d.pos);let g=c?[{type:l,attrs:h},{type:c,attrs:f}]:[{type:l,attrs:h}];if(!transform.canSplit(r.doc,s.pos,2))return false;if(o){let{selection:b,storedMarks:w}=n,{splittableMarks:C}=a.extensionManager,x=w||b.$to.parentOffset&&b.$from.marks();if(r.split(s.pos,2,g).scrollIntoView(),!x||!o)return true;let M=x.filter($=>C.includes($.type.name));r.ensureMarks(M);}return true},Rn=(e,t)=>{let r=Hn(i=>i.type===t)(e.selection);if(!r)return true;let n=e.doc.resolve(Math.max(0,r.pos-1)).before(r.depth);if(n===void 0)return true;let o=e.doc.nodeAt(n);return r.node.type===o?.type&&transform.canJoin(e.doc,r.pos)&&e.join(r.pos),true},Dn=(e,t)=>{let r=Hn(i=>i.type===t)(e.selection);if(!r)return true;let n=e.doc.resolve(r.start).after(r.depth);if(n===void 0)return true;let o=e.doc.nodeAt(n);return r.node.type===o?.type&&transform.canJoin(e.doc,n)&&e.join(n),true},Od=(e,t,r,n={})=>({editor:o,tr:a,state:i,dispatch:l,chain:s,commands:d,can:m})=>{let{extensions:u,splittableMarks:p}=o.extensionManager,c=Ve(e,i.schema),h=Ve(t,i.schema),{selection:f,storedMarks:g}=i,{$from:b,$to:w}=f,C=b.blockRange(w),x=g||f.$to.parentOffset&&f.$from.marks();if(!C)return false;let M=Hn($=>Da($.type.name,u))(f);if(C.depth>=1&&M&&C.depth-M.depth<=1){if(M.node.type===c)return d.liftListItem(h);if(Da(M.node.type.name,u)&&c.validContent(M.node.content)&&l)return s().command(()=>(a.setNodeMarkup(M.pos,c),true)).command(()=>Rn(a,c)).command(()=>Dn(a,c)).run()}return !r||!x||!l?s().command(()=>m().wrapInList(c,n)?true:d.clearNodes()).wrapInList(c,n).command(()=>Rn(a,c)).command(()=>Dn(a,c)).run():s().command(()=>{let $=m().wrapInList(c,n),P=x.filter(L=>p.includes(L.type.name));return a.ensureMarks(P),$?true:d.clearNodes()}).wrapInList(c,n).command(()=>Rn(a,c)).command(()=>Dn(a,c)).run()},$d=(e,t={},r={})=>({state:n,commands:o})=>{let{extendEmptyMarkRange:a=false}=r,i=ht(e,n.schema);return xd(n,i,t)?o.unsetMark(i,{extendEmptyMarkRange:a}):o.setMark(i,t)},Fd=(e,t,r={})=>({state:n,commands:o})=>{let a=Ve(e,n.schema),i=Ve(t,n.schema),l=_n(n,a,r),s;return n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),l?o.setNode(i,s):o.setNode(a,{...s,...r})},Bd=(e,t={})=>({state:r,commands:n})=>{let o=Ve(e,r.schema);return _n(r,o,t)?n.lift(o):n.wrapIn(o,t)},Vd=()=>({state:e,dispatch:t})=>{let r=e.plugins;for(let n=0;n<r.length;n+=1){let o=r[n],a;if(o.spec.isInputRules&&(a=o.getState(e))){if(t){let i=e.tr,l=a.transform;for(let s=l.steps.length-1;s>=0;s-=1)i.step(l.steps[s].invert(l.docs[s]));if(a.text){let s=i.doc.resolve(a.from).marks();i.replaceWith(a.from,a.to,e.schema.text(a.text,s));}else i.delete(a.from,a.to);}return true}}return false},jd=()=>({tr:e,dispatch:t})=>{let{selection:r}=e,{empty:n,ranges:o}=r;return n||t&&o.forEach(a=>{e.removeMark(a.$from.pos,a.$to.pos);}),true},Ud=(e,t={})=>({tr:r,state:n,dispatch:o})=>{var a;let{extendEmptyMarkRange:i=false}=t,{selection:l}=r,s=ht(e,n.schema),{$from:d,empty:m,ranges:u}=l;if(!o)return true;if(m&&i){let{from:p,to:c}=l,h=(a=d.marks().find(g=>g.type===s))==null?void 0:a.attrs,f=_a(d,s,h);f&&(p=f.from,c=f.to),r.removeMark(p,c,s);}else u.forEach(p=>{r.removeMark(p.$from.pos,p.$to.pos,s);});return r.removeStoredMark(s),true},Kd=e=>({tr:t,state:r,dispatch:n})=>{let{selection:o}=r,a,i;return typeof e=="number"?(a=e,i=e):e&&"from"in e&&"to"in e?(a=e.from,i=e.to):(a=o.from,i=o.to),n&&t.doc.nodesBetween(a,i,(l,s)=>{if(l.isText)return;let d={...l.attrs};delete d.dir,t.setNodeMarkup(s,void 0,d);}),true},Wd=(e,t={})=>({tr:r,state:n,dispatch:o})=>{let a=null,i=null,l=Fa(typeof e=="string"?e:e.name,n.schema);if(!l)return false;l==="node"&&(a=Ve(e,n.schema)),l==="mark"&&(i=ht(e,n.schema));let s=false;return r.selection.ranges.forEach(d=>{let m=d.$from.pos,u=d.$to.pos,p,c,h,f;r.selection.empty?n.doc.nodesBetween(m,u,(g,b)=>{a&&a===g.type&&(s=true,h=Math.max(b,m),f=Math.min(b+g.nodeSize,u),p=b,c=g);}):n.doc.nodesBetween(m,u,(g,b)=>{b<m&&a&&a===g.type&&(s=true,h=Math.max(b,m),f=Math.min(b+g.nodeSize,u),p=b,c=g),b>=m&&b<=u&&(a&&a===g.type&&(s=true,o&&r.setNodeMarkup(b,void 0,{...g.attrs,...t})),i&&g.marks.length&&g.marks.forEach(w=>{if(i===w.type&&(s=true,o)){let C=Math.max(b,m),x=Math.min(b+g.nodeSize,u);r.addMark(C,x,i.create({...w.attrs,...t}));}}));}),c&&(p!==void 0&&o&&r.setNodeMarkup(p,void 0,{...c.attrs,...t}),i&&c.marks.length&&c.marks.forEach(g=>{i===g.type&&o&&r.addMark(h,f,i.create({...g.attrs,...t}));}));}),s},qd=(e,t={})=>({state:r,dispatch:n})=>{let o=Ve(e,r.schema);return commands.wrapIn(o,t)(r,n)},Gd=(e,t={})=>({state:r,dispatch:n})=>{let o=Ve(e,r.schema);return schemaList.wrapInList(o,t)(r,n)};function ru(e){return Object.prototype.toString.call(e).slice(8,-1)}function Fr(e){return ru(e)!=="Object"?false:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function Wa(e,t){let r={...e};return Fr(e)&&Fr(t)&&Object.keys(t).forEach(n=>{Fr(t[n])&&Fr(e[n])?r[n]=Wa(e[n],t[n]):r[n]=t[n];}),r}var $n=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name;}get options(){return {...Ce(W(this,"addOptions",{name:this.name}))||{}}}get storage(){return {...Ce(W(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(e={}){let t=this.extend({...this.config,addOptions:()=>Wa(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){let t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},Fn=class Ya extends $n{constructor(){super(...arguments),this.type="mark";}static create(t={}){let r=typeof t=="function"?t():t;return new Ya(r)}static handleExit({editor:t,mark:r}){let{tr:n}=t.state,o=t.state.selection.$from;if(o.pos===o.end()){let i=o.marks();if(!!!i.find(d=>d?.type.name===r.name))return false;let s=i.find(d=>d?.type.name===r.name);return s&&n.removeStoredMark(s),n.insertText(" ",o.pos),t.view.dispatch(n),true}return false}configure(t){return super.configure(t)}extend(t){let r=typeof t=="function"?t():t;return super.extend(r)}};var du={};zn(du,{ClipboardTextSerializer:()=>mu,Commands:()=>fu,Delete:()=>gu,Drop:()=>yu,Editable:()=>ku,FocusEvents:()=>Cu,Keymap:()=>Eu,Paste:()=>Du,Tabindex:()=>Lu,TextDirection:()=>Hu,focusEventsPluginKey:()=>Xa});var Me=class qa extends $n{constructor(){super(...arguments),this.type="extension";}static create(t={}){let r=typeof t=="function"?t():t;return new qa(r)}configure(t){return super.configure(t)}extend(t){let r=typeof t=="function"?t():t;return super.extend(r)}},mu=Me.create({name:"clipboardTextSerializer",addOptions(){return {blockSeparator:void 0}},addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:r}=e,{doc:n,selection:o}=t,{ranges:a}=o,i=Math.min(...a.map(m=>m.$from.pos)),l=Math.max(...a.map(m=>m.$to.pos)),s=hd(r);return fd(n,{from:i,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:s})}}})]}}),fu=Me.create({name:"commands",addCommands(){return {...La}}}),gu=Me.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var r,n,o;let a=()=>{var i,l,s,d;if((d=(s=(l=(i=this.editor.options.coreExtensionOptions)==null?void 0:i.delete)==null?void 0:l.filterTransaction)==null?void 0:s.call(l,e))!=null?d:e.getMeta("y-sync$"))return;let m=nd(e.before,[e,...t]);vd(m).forEach(c=>{m.mapping.mapResult(c.oldRange.from).deletedAfter&&m.mapping.mapResult(c.oldRange.to).deletedBefore&&m.before.nodesBetween(c.oldRange.from,c.oldRange.to,(h,f)=>{let g=f+h.nodeSize-2,b=c.oldRange.from<=f&&g<=c.oldRange.to;this.editor.emit("delete",{type:"node",node:h,from:f,to:g,newFrom:m.mapping.map(f),newTo:m.mapping.map(g),deletedRange:c.oldRange,newRange:c.newRange,partial:!b,editor:this.editor,transaction:e,combinedTransform:m});});});let p=m.mapping;m.steps.forEach((c,h)=>{var f,g;if(c instanceof transform.RemoveMarkStep){let b=p.slice(h).map(c.from,-1),w=p.slice(h).map(c.to),C=p.invert().map(b,-1),x=p.invert().map(w),M=(f=m.doc.nodeAt(b-1))==null?void 0:f.marks.some(P=>P.eq(c.mark)),$=(g=m.doc.nodeAt(w))==null?void 0:g.marks.some(P=>P.eq(c.mark));this.editor.emit("delete",{type:"mark",mark:c.mark,from:c.from,to:c.to,deletedRange:{from:C,to:x},newRange:{from:b,to:w},partial:!!($||M),editor:this.editor,transaction:e,combinedTransform:m});}});};(o=(n=(r=this.editor.options.coreExtensionOptions)==null?void 0:r.delete)==null?void 0:n.async)==null||o?setTimeout(a,0):a();}}),yu=Me.create({name:"drop",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("tiptapDrop"),props:{handleDrop:(e,t,r,n)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:r,moved:n});}}})]}}),ku=Me.create({name:"editable",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("editable"),props:{editable:()=>this.editor.options.editable}})]}}),Xa=new state.PluginKey("focusEvents"),Cu=Me.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return [new state.Plugin({key:Xa,props:{handleDOMEvents:{focus:(t,r)=>{e.isFocused=true;let n=e.state.tr.setMeta("focus",{event:r}).setMeta("addToHistory",false);return t.dispatch(n),false},blur:(t,r)=>{e.isFocused=false;let n=e.state.tr.setMeta("blur",{event:r}).setMeta("addToHistory",false);return t.dispatch(n),false}}}})]}}),Eu=Me.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:i})=>[()=>i.undoInputRule(),()=>i.command(({tr:l})=>{let{selection:s,doc:d}=l,{empty:m,$anchor:u}=s,{pos:p,parent:c}=u,h=u.parent.isTextblock&&p>0?l.doc.resolve(p-1):u,f=h.parent.type.spec.isolating,g=u.pos-u.parentOffset,b=f&&h.parent.childCount===1?g===u.pos:state.Selection.atStart(d).from===p;return !m||!c.type.isTextblock||c.textContent.length||!b||b&&u.parent.type.name==="paragraph"?false:i.clearNodes()}),()=>i.deleteSelection(),()=>i.joinBackward(),()=>i.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:i})=>[()=>i.deleteSelection(),()=>i.deleteCurrentNode(),()=>i.joinForward(),()=>i.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:i})=>[()=>i.newlineInCode(),()=>i.createParagraphNear(),()=>i.liftEmptyBlock(),()=>i.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},o={...n},a={...n,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Ur()||$a()?a:o},addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("clearDocument"),appendTransaction:(e,t,r)=>{if(e.some(f=>f.getMeta("composition")))return;let n=e.some(f=>f.docChanged)&&!t.doc.eq(r.doc),o=e.some(f=>f.getMeta("preventClearDocument"));if(!n||o)return;let{empty:a,from:i,to:l}=t.selection,s=state.Selection.atStart(t.doc).from,d=state.Selection.atEnd(t.doc).to;if(a||!(i===s&&l===d)||!Ua(r.doc))return;let p=r.tr,c=Wr({state:r,transaction:p}),{commands:h}=new Ln({editor:this.editor,state:c});if(h.clearNodes(),!!p.steps.length)return p}})]}}),Du=Me.create({name:"paste",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("tiptapPaste"),props:{handlePaste:(e,t,r)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:r});}}})]}}),Lu=Me.create({name:"tabindex",addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),Hu=Me.create({name:"textDirection",addOptions(){return {direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return [];let{nodeExtensions:e}=Jt(this.extensions);return [{types:e.filter(t=>t.name!=="text").map(t=>t.name),attributes:{dir:{default:this.options.direction,parseHTML:t=>{let r=t.getAttribute("dir");return r&&(r==="ltr"||r==="rtl"||r==="auto")?r:this.options.direction},renderHTML:t=>t.dir?{dir:t.dir}:{}}}}]},addProseMirrorPlugins(){return [new state.Plugin({key:new state.PluginKey("textDirection"),props:{attributes:()=>{let e=this.options.direction;return e?{dir:e}:{}}}})]}});var Ou={};zn(Ou,{createAtomBlockMarkdownSpec:()=>$u,createBlockMarkdownSpec:()=>Fu,createInlineMarkdownSpec:()=>ju,parseAttributes:()=>Vn,parseIndentedBlocks:()=>Uu,renderNestedMarkdownContent:()=>Ku,serializeAttributes:()=>jn});function Vn(e){if(!e?.trim())return {};let t={},r=[],n=e.replace(/["']([^"']*)["']/g,d=>(r.push(d),`__QUOTED_${r.length-1}__`)),o=n.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(o){let d=o.map(m=>m.trim().slice(1));t.class=d.join(" ");}let a=n.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);a&&(t.id=a[1]);let i=/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g;Array.from(n.matchAll(i)).forEach(([,d,m])=>{var u;let p=parseInt(((u=m.match(/__QUOTED_(\d+)__/))==null?void 0:u[1])||"0",10),c=r[p];c&&(t[d]=c.slice(1,-1));});let s=n.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return s&&s.split(/\s+/).filter(Boolean).forEach(m=>{m.match(/^[a-zA-Z][\w-]*$/)&&(t[m]=true);}),t}function jn(e){if(!e||Object.keys(e).length===0)return "";let t=[];return e.class&&String(e.class).split(/\s+/).filter(Boolean).forEach(n=>t.push(`.${n}`)),e.id&&t.push(`#${e.id}`),Object.entries(e).forEach(([r,n])=>{r==="class"||r==="id"||(n===true?t.push(r):n!==false&&n!=null&&t.push(`${r}="${String(n)}"`));}),t.join(" ")}function $u(e){let{nodeName:t,name:r,parseAttributes:n=Vn,serializeAttributes:o=jn,defaultAttributes:a={},requiredAttributes:i=[],allowedAttributes:l}=e,s=r||t,d=m=>{if(!l)return m;let u={};return l.forEach(p=>{p in m&&(u[p]=m[p]);}),u};return {parseMarkdown:(m,u)=>{let p={...a,...m.attributes};return u.createNode(t,p,[])},markdownTokenizer:{name:t,level:"block",start(m){var u;let p=new RegExp(`^:::${s}(?:\\s|$)`,"m"),c=(u=m.match(p))==null?void 0:u.index;return c!==void 0?c:-1},tokenize(m,u,p){let c=new RegExp(`^:::${s}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),h=m.match(c);if(!h)return;let f=h[1]||"",g=n(f);if(!i.find(w=>!(w in g)))return {type:t,raw:h[0],attributes:g}}},renderMarkdown:m=>{let u=d(m.attrs||{}),p=o(u),c=p?` {${p}}`:"";return `:::${s}${c} :::`}}}function Fu(e){let{nodeName:t,name:r,getContent:n,parseAttributes:o=Vn,serializeAttributes:a=jn,defaultAttributes:i={},content:l="block",allowedAttributes:s}=e,d=r||t,m=u=>{if(!s)return u;let p={};return s.forEach(c=>{c in u&&(p[c]=u[c]);}),p};return {parseMarkdown:(u,p)=>{let c;if(n){let f=n(u);c=typeof f=="string"?[{type:"text",text:f}]:f;}else l==="block"?c=p.parseChildren(u.tokens||[]):c=p.parseInline(u.tokens||[]);let h={...i,...u.attributes};return p.createNode(t,h,c)},markdownTokenizer:{name:t,level:"block",start(u){var p;let c=new RegExp(`^:::${d}`,"m"),h=(p=u.match(c))==null?void 0:p.index;return h!==void 0?h:-1},tokenize(u,p,c){var h;let f=new RegExp(`^:::${d}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),g=u.match(f);if(!g)return;let[b,w=""]=g,C=o(w),x=1,M=b.length,$="",P=/^:::([\w-]*)(\s.*)?/gm,L=u.slice(M);for(P.lastIndex=0;;){let H=P.exec(L);if(H===null)break;let D=H.index,y=H[1];if(!((h=H[2])!=null&&h.endsWith(":::"))){if(y)x+=1;else if(x-=1,x===0){let _=L.slice(0,D);$=_.trim();let B=u.slice(0,M+D+H[0].length),R=[];if($)if(l==="block")for(R=c.blockTokens(_),R.forEach(K=>{K.text&&(!K.tokens||K.tokens.length===0)&&(K.tokens=c.inlineTokens(K.text));});R.length>0;){let K=R[R.length-1];if(K.type==="paragraph"&&(!K.text||K.text.trim()===""))R.pop();else break}else R=c.inlineTokens($);return {type:t,raw:B,attributes:C,content:$,tokens:R}}}}}},renderMarkdown:(u,p)=>{let c=m(u.attrs||{}),h=a(c),f=h?` {${h}}`:"",g=p.renderChildren(u.content||[],`
86
86
 
87
87
  `);return `:::${d}${f}
88
88
 
89
89
  ${g}
90
90
 
91
- :::`}}}function Iu(e){if(!e.trim())return {};let t={},r=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,n=r.exec(e);for(;n!==null;){let[,o,a,s]=n;t[o]=a||s,n=r.exec(e);}return t}function _u(e){return Object.entries(e).filter(([,t])=>t!=null).map(([t,r])=>`${t}="${r}"`).join(" ")}function Hu(e){let{nodeName:t,name:r,getContent:n,parseAttributes:o=Iu,serializeAttributes:a=_u,defaultAttributes:s={},selfClosing:l=false,allowedAttributes:i}=e,d=r||t,m=p=>{if(!i)return p;let c={};return i.forEach(h=>{let f=typeof h=="string"?h:h.name,g=typeof h=="string"?void 0:h.skipIfDefault;if(f in p){let b=p[f];if(g!==void 0&&b===g)return;c[f]=b;}}),c},u=d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return {parseMarkdown:(p,c)=>{let h={...s,...p.attributes};if(l)return c.createNode(t,h);let f=n?n(p):p.content||"";return f?c.createNode(t,h,[c.createTextNode(f)]):c.createNode(t,h,[])},markdownTokenizer:{name:t,level:"inline",start(p){let c=l?new RegExp(`\\[${u}\\s*[^\\]]*\\]`):new RegExp(`\\[${u}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${u}\\]`),h=p.match(c),f=h?.index;return f!==void 0?f:-1},tokenize(p,c,h){let f=l?new RegExp(`^\\[${u}\\s*([^\\]]*)\\]`):new RegExp(`^\\[${u}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${u}\\]`),g=p.match(f);if(!g)return;let b="",w="";if(l){let[,x]=g;w=x;}else {let[,x,M]=g;w=x,b=M||"";}let C=o(w.trim());return {type:t,raw:g[0],content:b.trim(),attributes:C}}},renderMarkdown:p=>{let c="";n?c=n(p):p.content&&p.content.length>0&&(c=p.content.filter(b=>b.type==="text").map(b=>b.text).join(""));let h=m(p.attrs||{}),f=a(h),g=f?` ${f}`:"";return l?`[${d}${g}]`:`[${d}${g}]${c}[/${d}]`}}}function Ou(e,t,r){var n,o,a,s;let l=e.split(`
92
- `),i=[],d="",m=0,u=t.baseIndentSize||2;for(;m<l.length;){let p=l[m],c=p.match(t.itemPattern);if(!c){if(i.length>0)break;if(p.trim()===""){m+=1,d=`${d}${p}
91
+ :::`}}}function Bu(e){if(!e.trim())return {};let t={},r=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,n=r.exec(e);for(;n!==null;){let[,o,a,i]=n;t[o]=a||i,n=r.exec(e);}return t}function Vu(e){return Object.entries(e).filter(([,t])=>t!=null).map(([t,r])=>`${t}="${r}"`).join(" ")}function ju(e){let{nodeName:t,name:r,getContent:n,parseAttributes:o=Bu,serializeAttributes:a=Vu,defaultAttributes:i={},selfClosing:l=false,allowedAttributes:s}=e,d=r||t,m=p=>{if(!s)return p;let c={};return s.forEach(h=>{let f=typeof h=="string"?h:h.name,g=typeof h=="string"?void 0:h.skipIfDefault;if(f in p){let b=p[f];if(g!==void 0&&b===g)return;c[f]=b;}}),c},u=d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return {parseMarkdown:(p,c)=>{let h={...i,...p.attributes};if(l)return c.createNode(t,h);let f=n?n(p):p.content||"";return f?c.createNode(t,h,[c.createTextNode(f)]):c.createNode(t,h,[])},markdownTokenizer:{name:t,level:"inline",start(p){let c=l?new RegExp(`\\[${u}\\s*[^\\]]*\\]`):new RegExp(`\\[${u}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${u}\\]`),h=p.match(c),f=h?.index;return f!==void 0?f:-1},tokenize(p,c,h){let f=l?new RegExp(`^\\[${u}\\s*([^\\]]*)\\]`):new RegExp(`^\\[${u}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${u}\\]`),g=p.match(f);if(!g)return;let b="",w="";if(l){let[,x]=g;w=x;}else {let[,x,M]=g;w=x,b=M||"";}let C=o(w.trim());return {type:t,raw:g[0],content:b.trim(),attributes:C}}},renderMarkdown:p=>{let c="";n?c=n(p):p.content&&p.content.length>0&&(c=p.content.filter(b=>b.type==="text").map(b=>b.text).join(""));let h=m(p.attrs||{}),f=a(h),g=f?` ${f}`:"";return l?`[${d}${g}]`:`[${d}${g}]${c}[/${d}]`}}}function Uu(e,t,r){var n,o,a,i;let l=e.split(`
92
+ `),s=[],d="",m=0,u=t.baseIndentSize||2;for(;m<l.length;){let p=l[m],c=p.match(t.itemPattern);if(!c){if(s.length>0)break;if(p.trim()===""){m+=1,d=`${d}${p}
93
93
  `;continue}else return}let h=t.extractItemData(c),{indentLevel:f,mainContent:g}=h;d=`${d}${p}
94
- `;let b=[g];for(m+=1;m<l.length;){let M=l[m];if(M.trim()===""){let P=l.slice(m+1).findIndex(R=>R.trim()!=="");if(P===-1)break;if((((o=(n=l[m+1+P].match(/^(\s*)/))==null?void 0:n[1])==null?void 0:o.length)||0)>f){b.push(M),d=`${d}${M}
95
- `,m+=1;continue}else break}if((((s=(a=M.match(/^(\s*)/))==null?void 0:a[1])==null?void 0:s.length)||0)>f)b.push(M),d=`${d}${M}
96
- `,m+=1;else break}let w,C=b.slice(1);if(C.length>0){let M=C.map(F=>F.slice(f+u)).join(`
97
- `);M.trim()&&(t.customNestedParser?w=t.customNestedParser(M):w=r.blockTokens(M));}let x=t.createToken(h,w);i.push(x);}if(i.length!==0)return {items:i,raw:d}}function Fu(e,t,r,n){if(!e||!Array.isArray(e.content))return "";let o=typeof r=="function"?r(n):r,[a,...s]=e.content,l=t.renderChildren([a]),i=`${o}${l}`;return s&&s.length>0&&s.forEach((d,m)=>{var u,p;let c=(p=(u=t.renderChild)==null?void 0:u.call(t,d,m+1))!=null?p:t.renderChildren([d]);if(c!=null){let h=c.split(`
94
+ `;let b=[g];for(m+=1;m<l.length;){let M=l[m];if(M.trim()===""){let P=l.slice(m+1).findIndex(D=>D.trim()!=="");if(P===-1)break;if((((o=(n=l[m+1+P].match(/^(\s*)/))==null?void 0:n[1])==null?void 0:o.length)||0)>f){b.push(M),d=`${d}${M}
95
+ `,m+=1;continue}else break}if((((i=(a=M.match(/^(\s*)/))==null?void 0:a[1])==null?void 0:i.length)||0)>f)b.push(M),d=`${d}${M}
96
+ `,m+=1;else break}let w,C=b.slice(1);if(C.length>0){let M=C.map($=>$.slice(f+u)).join(`
97
+ `);M.trim()&&(t.customNestedParser?w=t.customNestedParser(M):w=r.blockTokens(M));}let x=t.createToken(h,w);s.push(x);}if(s.length!==0)return {items:s,raw:d}}function Ku(e,t,r,n){if(!e||!Array.isArray(e.content))return "";let o=typeof r=="function"?r(n):r,[a,...i]=e.content,l=t.renderChildren([a]),s=`${o}${l}`;return i&&i.length>0&&i.forEach((d,m)=>{var u,p;let c=(p=(u=t.renderChild)==null?void 0:u.call(t,d,m+1))!=null?p:t.renderChildren([d]);if(c!=null){let h=c.split(`
98
98
  `).map(f=>f?t.indent(f):t.indent("")).join(`
99
- `);i+=d.type==="paragraph"?`
99
+ `);s+=d.type==="paragraph"?`
100
100
 
101
101
  ${h}`:`
102
- ${h}`;}}),i}var Vn=class Wa extends Hn{constructor(){super(...arguments),this.type="node";}static create(t={}){let r=typeof t=="function"?t():t;return new Wa(r)}configure(t){return super.configure(t)}extend(t){let r=typeof t=="function"?t():t;return super.extend(r)}};var Bu=20,Ya=(e,t=0)=>{let r=[];return !e.children.length||t>Bu||Array.from(e.children).forEach(n=>{n.tagName==="SPAN"?r.push(n):n.children.length&&r.push(...Ya(n,t+1));}),r},Vu=e=>{if(!e.children.length)return;let t=Ya(e);t&&t.forEach(r=>{var n,o;let a=r.getAttribute("style"),s=(o=(n=r.parentElement)==null?void 0:n.closest("span"))==null?void 0:o.getAttribute("style");r.setAttribute("style",`${s};${a}`);});},jn=On.create({name:"textStyle",priority:101,addOptions(){return {HTMLAttributes:{},mergeNestedSpanStyles:true}},parseHTML(){return [{tag:"span",consuming:false,getAttrs:e=>e.hasAttribute("style")?(this.options.mergeNestedSpanStyles&&Vu(e),{}):false}]},renderHTML({HTMLAttributes:e}){return ["span",Qt(this.options.HTMLAttributes,e),0]},addCommands(){return {toggleTextStyle:e=>({commands:t})=>t.toggleMark(this.name,e),removeEmptyTextStyle:()=>({tr:e})=>{let{selection:t}=e;return e.doc.nodesBetween(t.from,t.to,(r,n)=>{if(r.isTextblock)return true;r.marks.filter(o=>o.type===this.type).some(o=>Object.values(o.attrs).some(a=>!!a))||e.removeMark(n,n+r.nodeSize,this.type);}),true}}}}),ju=Me.create({name:"backgroundColor",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{backgroundColor:{default:null,parseHTML:e=>{var t;let r=e.getAttribute("style");if(r){let n=r.split(";").map(o=>o.trim()).filter(Boolean);for(let o=n.length-1;o>=0;o-=1){let a=n[o].split(":");if(a.length>=2){let s=a[0].trim().toLowerCase(),l=a.slice(1).join(":").trim();if(s==="background-color")return l.replace(/['"]+/g,"")}}}return (t=e.style.backgroundColor)==null?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.backgroundColor?{style:`background-color: ${e.backgroundColor}`}:{}}}}]},addCommands(){return {setBackgroundColor:e=>({chain:t})=>t().setMark("textStyle",{backgroundColor:e}).run(),unsetBackgroundColor:()=>({chain:e})=>e().setMark("textStyle",{backgroundColor:null}).removeEmptyTextStyle().run()}}}),Uu=Me.create({name:"color",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{color:{default:null,parseHTML:e=>{var t;let r=e.getAttribute("style");if(r){let n=r.split(";").map(o=>o.trim()).filter(Boolean);for(let o=n.length-1;o>=0;o-=1){let a=n[o].split(":");if(a.length>=2){let s=a[0].trim().toLowerCase(),l=a.slice(1).join(":").trim();if(s==="color")return l.replace(/['"]+/g,"")}}}return (t=e.style.color)==null?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.color?{style:`color: ${e.color}`}:{}}}}]},addCommands(){return {setColor:e=>({chain:t})=>t().setMark("textStyle",{color:e}).run(),unsetColor:()=>({chain:e})=>e().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),Ku=Me.create({name:"fontFamily",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:e=>e.style.fontFamily,renderHTML:e=>e.fontFamily?{style:`font-family: ${e.fontFamily}`}:{}}}}]},addCommands(){return {setFontFamily:e=>({chain:t})=>t().setMark("textStyle",{fontFamily:e}).run(),unsetFontFamily:()=>({chain:e})=>e().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()}}}),Wu=Me.create({name:"fontSize",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize,renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands(){return {setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}}),Yu=Me.create({name:"lineHeight",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:e=>e.style.lineHeight,renderHTML:e=>e.lineHeight?{style:`line-height: ${e.lineHeight}`}:{}}}}]},addCommands(){return {setLineHeight:e=>({chain:t})=>t().setMark("textStyle",{lineHeight:e}).run(),unsetLineHeight:()=>({chain:e})=>e().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()}}});Me.create({name:"textStyleKit",addExtensions(){let e=[];return this.options.backgroundColor!==false&&e.push(ju.configure(this.options.backgroundColor)),this.options.color!==false&&e.push(Uu.configure(this.options.color)),this.options.fontFamily!==false&&e.push(Ku.configure(this.options.fontFamily)),this.options.fontSize!==false&&e.push(Wu.configure(this.options.fontSize)),this.options.lineHeight!==false&&e.push(Yu.configure(this.options.lineHeight)),this.options.textStyle!==false&&e.push(jn.configure(this.options.textStyle)),e}});function Xu({node:e,updateAttributes:t,selected:r}){let n=Yr.useRef(null),[o,a]=Yr.useState(false),s=Yr.useRef({x:0,width:0}),{src:l,alt:i,title:d}=e.attrs,m=e.attrs.width;function u(p){p.preventDefault(),p.stopPropagation();let c=n.current?.offsetWidth??(typeof m=="number"?m:200);s.current={x:p.clientX,width:c},a(true);}return Yr.useEffect(()=>{if(!o)return;function p(h){let f=h.clientX-s.current.x,g=Math.max(60,Math.round(s.current.width+f));t({width:g,height:null});}function c(){a(false);}return document.addEventListener("mousemove",p),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",c);}},[o,t]),jsxRuntime.jsxs(react.NodeViewWrapper,{as:"span",className:`rte-image-wrapper${r?" rte-image-wrapper--selected":""}`,children:[jsxRuntime.jsx("img",{ref:n,src:l,alt:i??"",title:d??"",draggable:false,style:{display:"block",maxWidth:"100%",width:m?`${m}px`:void 0,cursor:o?"ew-resize":"default"}}),r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"rte-rh rte-rh--nw"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--ne"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--sw"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--se",onMouseDown:u,title:"Drag to resize",role:"separator","aria-label":"Resize image"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--e",onMouseDown:u,title:"Drag to resize",role:"separator","aria-label":"Resize image"}),m&&jsxRuntime.jsxs("span",{className:"rte-image-size-label","aria-live":"polite",children:[m,"px"]})]})]})}var qa=qu__default.default.extend({name:"image",addAttributes(){return {...this.parent?.(),width:{default:null,parseHTML:e=>{let t=e.getAttribute("width");return t?parseInt(t,10):null},renderHTML:e=>e.width?{width:e.width,style:`width:${e.width}px;`}:{}},height:{default:null,parseHTML:e=>{let t=e.getAttribute("height");return t?parseInt(t,10):null},renderHTML:e=>e.height?{height:e.height}:{}}}},addNodeView(){return react.ReactNodeViewRenderer(Xu)}}).configure({inline:true,allowBase64:true});function Gu({node:e,updateAttributes:t,selected:r}){let n=Yr.useRef(null),[o,a]=Yr.useState(false),s=Yr.useRef({x:0,width:0}),{src:l}=e.attrs,i=e.attrs.width;function d(m){m.preventDefault(),m.stopPropagation();let u=n.current?.offsetWidth??(typeof i=="number"?i:320);s.current={x:m.clientX,width:u},a(true);}return Yr.useEffect(()=>{if(!o)return;function m(p){let c=p.clientX-s.current.x,h=Math.max(120,Math.round(s.current.width+c));t({width:h});}function u(){a(false);}return document.addEventListener("mousemove",m),document.addEventListener("mouseup",u),()=>{document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",u);}},[o,t]),jsxRuntime.jsx(react.NodeViewWrapper,{as:"div",className:`rte-video-wrapper${r?" rte-video-wrapper--selected":""}`,children:jsxRuntime.jsxs("div",{ref:n,style:{display:"inline-block",maxWidth:"100%",width:i?`${i}px`:"100%",position:"relative"},children:[jsxRuntime.jsx("video",{src:l,controls:true,style:{display:"block",width:"100%",maxWidth:"100%"}}),r&&jsxRuntime.jsx("span",{className:"rte-rh rte-rh--e",onMouseDown:d,title:"Drag to resize",role:"separator","aria-label":"Resize video"})]})})}var Xa=Vn.create({name:"resizableVideo",group:"block",atom:true,draggable:true,addAttributes(){return {src:{default:null},width:{default:null,parseHTML:e=>{let t=e.getAttribute("data-width");return t?parseInt(t,10):null},renderHTML:e=>e.width?{"data-width":e.width}:{}}}},parseHTML(){return [{tag:"div[data-type=resizable-video]"}]},renderHTML({HTMLAttributes:e}){return ["div",Qt({"data-type":"resizable-video"},e)]},addNodeView(){return react.ReactNodeViewRenderer(Gu)}});function Ju({node:e,updateAttributes:t,selected:r}){let n=Yr.useRef(null),[o,a]=Yr.useState(false),s=Yr.useRef({x:0,width:0}),{src:l}=e.attrs,i=e.attrs.width??480,d=e.attrs.height??Math.round(i*9/16);function m(u){u.preventDefault(),u.stopPropagation();let p=n.current?.offsetWidth??i;s.current={x:u.clientX,width:p},a(true);}return Yr.useEffect(()=>{if(!o)return;function u(c){let h=c.clientX-s.current.x,f=Math.max(160,Math.round(s.current.width+h));t({width:f,height:Math.round(f*9/16)});}function p(){a(false);}return document.addEventListener("mousemove",u),document.addEventListener("mouseup",p),()=>{document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",p);}},[o,t]),jsxRuntime.jsx(react.NodeViewWrapper,{as:"div",className:`rte-embed-wrapper${r?" rte-embed-wrapper--selected":""}`,children:jsxRuntime.jsxs("div",{ref:n,style:{display:"inline-block",position:"relative",width:`${i}px`,maxWidth:"100%"},children:[jsxRuntime.jsx("iframe",{src:l,width:i,height:d,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen",sandbox:"allow-scripts allow-same-origin allow-popups allow-presentation",title:"Embedded video",style:{display:"block",border:"none",maxWidth:"100%"}}),r&&jsxRuntime.jsx("span",{className:"rte-rh rte-rh--e",onMouseDown:m,title:"Drag to resize",role:"separator","aria-label":"Resize embed"})]})})}var Ga=Vn.create({name:"embedFrame",group:"block",atom:true,draggable:true,addAttributes(){return {src:{default:null},width:{default:480},height:{default:270}}},parseHTML(){return [{tag:"div[data-type=embed-frame]"}]},renderHTML({HTMLAttributes:e}){return ["div",Qt({"data-type":"embed-frame"},e)]},addNodeView(){return react.ReactNodeViewRenderer(Ju)}});function pr(e){return marked.marked.parse(e,{async:false})}function Kr(e){return e.replace(/<h1[^>]*>([\s\S]*?)<\/h1>/gi,`# $1
102
+ ${h}`;}}),s}var Un=class Ga extends $n{constructor(){super(...arguments),this.type="node";}static create(t={}){let r=typeof t=="function"?t():t;return new Ga(r)}configure(t){return super.configure(t)}extend(t){let r=typeof t=="function"?t():t;return super.extend(r)}};var Yu=20,Ja=(e,t=0)=>{let r=[];return !e.children.length||t>Yu||Array.from(e.children).forEach(n=>{n.tagName==="SPAN"?r.push(n):n.children.length&&r.push(...Ja(n,t+1));}),r},qu=e=>{if(!e.children.length)return;let t=Ja(e);t&&t.forEach(r=>{var n,o;let a=r.getAttribute("style"),i=(o=(n=r.parentElement)==null?void 0:n.closest("span"))==null?void 0:o.getAttribute("style");r.setAttribute("style",`${i};${a}`);});},Kn=Fn.create({name:"textStyle",priority:101,addOptions(){return {HTMLAttributes:{},mergeNestedSpanStyles:true}},parseHTML(){return [{tag:"span",consuming:false,getAttrs:e=>e.hasAttribute("style")?(this.options.mergeNestedSpanStyles&&qu(e),{}):false}]},renderHTML({HTMLAttributes:e}){return ["span",Qt(this.options.HTMLAttributes,e),0]},addCommands(){return {toggleTextStyle:e=>({commands:t})=>t.toggleMark(this.name,e),removeEmptyTextStyle:()=>({tr:e})=>{let{selection:t}=e;return e.doc.nodesBetween(t.from,t.to,(r,n)=>{if(r.isTextblock)return true;r.marks.filter(o=>o.type===this.type).some(o=>Object.values(o.attrs).some(a=>!!a))||e.removeMark(n,n+r.nodeSize,this.type);}),true}}}}),Xu=Me.create({name:"backgroundColor",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{backgroundColor:{default:null,parseHTML:e=>{var t;let r=e.getAttribute("style");if(r){let n=r.split(";").map(o=>o.trim()).filter(Boolean);for(let o=n.length-1;o>=0;o-=1){let a=n[o].split(":");if(a.length>=2){let i=a[0].trim().toLowerCase(),l=a.slice(1).join(":").trim();if(i==="background-color")return l.replace(/['"]+/g,"")}}}return (t=e.style.backgroundColor)==null?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.backgroundColor?{style:`background-color: ${e.backgroundColor}`}:{}}}}]},addCommands(){return {setBackgroundColor:e=>({chain:t})=>t().setMark("textStyle",{backgroundColor:e}).run(),unsetBackgroundColor:()=>({chain:e})=>e().setMark("textStyle",{backgroundColor:null}).removeEmptyTextStyle().run()}}}),Gu=Me.create({name:"color",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{color:{default:null,parseHTML:e=>{var t;let r=e.getAttribute("style");if(r){let n=r.split(";").map(o=>o.trim()).filter(Boolean);for(let o=n.length-1;o>=0;o-=1){let a=n[o].split(":");if(a.length>=2){let i=a[0].trim().toLowerCase(),l=a.slice(1).join(":").trim();if(i==="color")return l.replace(/['"]+/g,"")}}}return (t=e.style.color)==null?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.color?{style:`color: ${e.color}`}:{}}}}]},addCommands(){return {setColor:e=>({chain:t})=>t().setMark("textStyle",{color:e}).run(),unsetColor:()=>({chain:e})=>e().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),Ju=Me.create({name:"fontFamily",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:e=>e.style.fontFamily,renderHTML:e=>e.fontFamily?{style:`font-family: ${e.fontFamily}`}:{}}}}]},addCommands(){return {setFontFamily:e=>({chain:t})=>t().setMark("textStyle",{fontFamily:e}).run(),unsetFontFamily:()=>({chain:e})=>e().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()}}}),Qu=Me.create({name:"fontSize",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize,renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands(){return {setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}}),Zu=Me.create({name:"lineHeight",addOptions(){return {types:["textStyle"]}},addGlobalAttributes(){return [{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:e=>e.style.lineHeight,renderHTML:e=>e.lineHeight?{style:`line-height: ${e.lineHeight}`}:{}}}}]},addCommands(){return {setLineHeight:e=>({chain:t})=>t().setMark("textStyle",{lineHeight:e}).run(),unsetLineHeight:()=>({chain:e})=>e().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()}}});Me.create({name:"textStyleKit",addExtensions(){let e=[];return this.options.backgroundColor!==false&&e.push(Xu.configure(this.options.backgroundColor)),this.options.color!==false&&e.push(Gu.configure(this.options.color)),this.options.fontFamily!==false&&e.push(Ju.configure(this.options.fontFamily)),this.options.fontSize!==false&&e.push(Qu.configure(this.options.fontSize)),this.options.lineHeight!==false&&e.push(Zu.configure(this.options.lineHeight)),this.options.textStyle!==false&&e.push(Kn.configure(this.options.textStyle)),e}});function tp({node:e,updateAttributes:t,selected:r}){let n=Xr.useRef(null),[o,a]=Xr.useState(false),i=Xr.useRef({x:0,width:0}),{src:l,alt:s,title:d}=e.attrs,m=e.attrs.width;function u(p){p.preventDefault(),p.stopPropagation();let c=n.current?.offsetWidth??(typeof m=="number"?m:200);i.current={x:p.clientX,width:c},a(true);}return Xr.useEffect(()=>{if(!o)return;function p(h){let f=h.clientX-i.current.x,g=Math.max(60,Math.round(i.current.width+f));t({width:g,height:null});}function c(){a(false);}return document.addEventListener("mousemove",p),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",c);}},[o,t]),jsxRuntime.jsxs(react.NodeViewWrapper,{as:"span",className:`rte-image-wrapper${r?" rte-image-wrapper--selected":""}`,children:[jsxRuntime.jsx("img",{ref:n,src:l,alt:s??"",title:d??"",draggable:false,style:{display:"block",maxWidth:"100%",width:m?`${m}px`:void 0,cursor:o?"ew-resize":"default"}}),r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"rte-rh rte-rh--nw"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--ne"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--sw"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--se",onMouseDown:u,title:"Drag to resize",role:"separator","aria-label":"Resize image"}),jsxRuntime.jsx("span",{className:"rte-rh rte-rh--e",onMouseDown:u,title:"Drag to resize",role:"separator","aria-label":"Resize image"}),m&&jsxRuntime.jsxs("span",{className:"rte-image-size-label","aria-live":"polite",children:[m,"px"]})]})]})}var Qa=ep__default.default.extend({name:"image",addAttributes(){return {...this.parent?.(),width:{default:null,parseHTML:e=>{let t=e.getAttribute("width");return t?parseInt(t,10):null},renderHTML:e=>e.width?{width:e.width,style:`width:${e.width}px;`}:{}},height:{default:null,parseHTML:e=>{let t=e.getAttribute("height");return t?parseInt(t,10):null},renderHTML:e=>e.height?{height:e.height}:{}}}},addNodeView(){return react.ReactNodeViewRenderer(tp)}}).configure({inline:true,allowBase64:true});function rp({node:e,updateAttributes:t,selected:r}){let n=Xr.useRef(null),[o,a]=Xr.useState(false),i=Xr.useRef({x:0,width:0}),{src:l}=e.attrs,s=e.attrs.width;function d(m){m.preventDefault(),m.stopPropagation();let u=n.current?.offsetWidth??(typeof s=="number"?s:320);i.current={x:m.clientX,width:u},a(true);}return Xr.useEffect(()=>{if(!o)return;function m(p){let c=p.clientX-i.current.x,h=Math.max(120,Math.round(i.current.width+c));t({width:h});}function u(){a(false);}return document.addEventListener("mousemove",m),document.addEventListener("mouseup",u),()=>{document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",u);}},[o,t]),jsxRuntime.jsx(react.NodeViewWrapper,{as:"div",className:`rte-video-wrapper${r?" rte-video-wrapper--selected":""}`,children:jsxRuntime.jsxs("div",{ref:n,style:{display:"inline-block",maxWidth:"100%",width:s?`${s}px`:"100%",position:"relative"},children:[jsxRuntime.jsx("video",{src:l,controls:true,style:{display:"block",width:"100%",maxWidth:"100%"}}),r&&jsxRuntime.jsx("span",{className:"rte-rh rte-rh--e",onMouseDown:d,title:"Drag to resize",role:"separator","aria-label":"Resize video"})]})})}var Za=Un.create({name:"resizableVideo",group:"block",atom:true,draggable:true,addAttributes(){return {src:{default:null},width:{default:null,parseHTML:e=>{let t=e.getAttribute("data-width");return t?parseInt(t,10):null},renderHTML:e=>e.width?{"data-width":e.width}:{}}}},parseHTML(){return [{tag:"div[data-type=resizable-video]"}]},renderHTML({HTMLAttributes:e}){return ["div",Qt({"data-type":"resizable-video"},e)]},addNodeView(){return react.ReactNodeViewRenderer(rp)}});function np({node:e,updateAttributes:t,selected:r}){let n=Xr.useRef(null),[o,a]=Xr.useState(false),i=Xr.useRef({x:0,width:0}),{src:l}=e.attrs,s=e.attrs.width??480,d=e.attrs.height??Math.round(s*9/16);function m(u){u.preventDefault(),u.stopPropagation();let p=n.current?.offsetWidth??s;i.current={x:u.clientX,width:p},a(true);}return Xr.useEffect(()=>{if(!o)return;function u(c){let h=c.clientX-i.current.x,f=Math.max(160,Math.round(i.current.width+h));t({width:f,height:Math.round(f*9/16)});}function p(){a(false);}return document.addEventListener("mousemove",u),document.addEventListener("mouseup",p),()=>{document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",p);}},[o,t]),jsxRuntime.jsx(react.NodeViewWrapper,{as:"div",className:`rte-embed-wrapper${r?" rte-embed-wrapper--selected":""}`,children:jsxRuntime.jsxs("div",{ref:n,style:{display:"inline-block",position:"relative",width:`${s}px`,maxWidth:"100%"},children:[jsxRuntime.jsx("iframe",{src:l,width:s,height:d,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen",sandbox:"allow-scripts allow-same-origin allow-popups allow-presentation",title:"Embedded video",style:{display:"block",border:"none",maxWidth:"100%"}}),r&&jsxRuntime.jsx("span",{className:"rte-rh rte-rh--e",onMouseDown:m,title:"Drag to resize",role:"separator","aria-label":"Resize embed"})]})})}var ei=Un.create({name:"embedFrame",group:"block",atom:true,draggable:true,addAttributes(){return {src:{default:null},width:{default:480},height:{default:270}}},parseHTML(){return [{tag:"div[data-type=embed-frame]"}]},renderHTML({HTMLAttributes:e}){return ["div",Qt({"data-type":"embed-frame"},e)]},addNodeView(){return react.ReactNodeViewRenderer(np)}});function fr(e){return marked.marked.parse(e,{async:false})}function Yr(e){return e.replace(/<h1[^>]*>([\s\S]*?)<\/h1>/gi,`# $1
103
103
 
104
104
  `).replace(/<h2[^>]*>([\s\S]*?)<\/h2>/gi,`## $1
105
105
 
@@ -123,5 +123,5 @@ ${h}`;}}),i}var Vn=class Wa extends Hn{constructor(){super(...arguments),this.ty
123
123
 
124
124
  `).replace(/<[^>]+>/g,"").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&nbsp;/g," ").replace(/\n{3,}/g,`
125
125
 
126
- `).trim()}function qn(e){return e.trim()?e.trim().split(/\s+/).length:0}function Xn(e,t,r=false){if(!t)return [];let n=[],o=r?"g":"gi",a=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=new RegExp(a,o);return e.descendants((l,i)=>{if(!l.isText||!l.text)return;let d;for(s.lastIndex=0;(d=s.exec(l.text))!==null;)n.push({from:i+d.index,to:i+d.index+d[0].length});}),n}function Wr(e,t,r=false){if(!t)return [];let n=r?"g":"gi",o=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=new RegExp(o,n),s=[],l;for(;(l=a.exec(e))!==null;)s.push([l.index,l.index+l[0].length]);return s}var ot=new state.PluginKey("rteSearch"),xp=Me.create({name:"rteSearch",addProseMirrorPlugins(){return [new state.Plugin({key:ot,state:{init(){return {query:"",caseSensitive:false,currentIndex:0,matches:[]}},apply(e,t){let r=e.getMeta(ot);if(r){let n={...t,...r};return n.matches=Xn(e.doc,n.query,n.caseSensitive),n.currentIndex>=n.matches.length&&(n.currentIndex=0),n}if(e.docChanged&&t.query){let n=Xn(e.doc,t.query,t.caseSensitive),o=Math.min(t.currentIndex,Math.max(0,n.length-1));return {...t,matches:n,currentIndex:o}}return t}},props:{decorations(e){let t=ot.getState(e);if(!t?.query||!t.matches.length)return view.DecorationSet.empty;let r=t.matches.map((n,o)=>view.Decoration.inline(n.from,n.to,{class:o===t.currentIndex?"rte-search-current":"rte-search-match"}));return view.DecorationSet.create(e.doc,r)}}})]}});function Qa(e){return react.useEditor({extensions:[op__default.default,ap__default.default,sp__default.default.configure({types:["heading","paragraph"]}),jn,extensionColor.Color,lp__default.default.configure({multicolor:true}),qa,Xa,Ga,cp__default.default.configure({openOnClick:false}),dp__default.default.configure({width:480,height:320}),up__default.default.configure({placeholder:e.placeholder??"Start typing\u2026"}),pp__default.default,mp__default.default,fp__default.default,hp__default.default,extensionTable.Table.configure({resizable:true}),bp__default.default,vp__default.default,yp__default.default,xp],content:e.defaultValue??"",editable:!e.readOnly,autofocus:e.autoFocus,onUpdate:({editor:r})=>{e.onChange?.({html:r.getHTML(),markdown:"",json:r.getJSON(),text:r.getText()});}})}var mm={tab_home:"Home",tab_insert:"Insert",tab_format:"Format",group_clipboard:"Clipboard",undo:"Undo",redo:"Redo",save:"Save",group_text:"Text",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",group_headings:"Headings",h1:"H1",h2:"H2",h3:"H3",paragraph:"Normal",group_alignment:"Alignment",alignLeft:"Left",alignCenter:"Center",alignRight:"Right",alignJustify:"Justify",group_lists:"Lists",bulletList:"Bullet",orderedList:"Ordered",group_media:"Media",image:"Image",video:"Video",youtube:"Video",group_content:"Content",link:"Link",table:"Table",codeBlock:"Code Block",blockquote:"Quote",divider:"Divider",group_style:"Style",color:"Color",highlight:"Highlight",subscript:"Sub",superscript:"Sup",group_reset:"Reset",clear:"Clear",group_table_rows:"Rows",addRowBefore:"Add Above",addRowAfter:"Add Below",deleteRow:"Del Row",group_table_cols:"Columns",addColBefore:"Add Left",addColAfter:"Add Right",deleteColumn:"Del Col",group_table_cells:"Cells",mergeCells:"Merge",splitCell:"Split",deleteTable:"Del Table"};function gt({icon:e,label:t,onClick:r,disabled:n=false,title:o}){return jsxRuntime.jsxs("button",{type:"button",className:v("rte-tbar-btn",n&&"rte-tbar-btn--disabled"),onClick:r,disabled:n,title:o??t,children:[e,jsxRuntime.jsx("span",{className:"rte-tbar-label",children:t})]})}function fm({editor:e,L:t,readOnly:r}){let[,n]=Yr.useState(0),[o,a]=Yr.useState(null),s=Yr.useRef(null);if(Yr.useEffect(()=>{if(!e)return;let m=()=>n(u=>u+1);return e.on("selectionUpdate",m),e.on("transaction",m),()=>{e.off("selectionUpdate",m),e.off("transaction",m);}},[e]),Yr.useEffect(()=>{if(!o)return;function m(u){s.current&&!s.current.contains(u.target)&&a(null);}return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[o]),!e||r||!e.isActive("table"))return null;let l=e.can().mergeCells(),i=e.can().splitCell();function d(){i?e.chain().focus().splitCell().run():a(m=>m?null:"col");}return jsxRuntime.jsxs("div",{className:"rte-tablebar",role:"toolbar","aria-label":"Table editing",children:[jsxRuntime.jsx("span",{className:"rte-tbar-group-label",children:t.group_table_rows}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenHorizontalStart,{size:13}),label:t.addRowBefore,onClick:()=>e.chain().focus().addRowBefore().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenHorizontalEnd,{size:13}),label:t.addRowAfter,onClick:()=>e.chain().focus().addRowAfter().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.Trash2,{size:13}),label:t.deleteRow,onClick:()=>e.chain().focus().deleteRow().run()}),jsxRuntime.jsx("div",{className:"rte-tbar-sep"}),jsxRuntime.jsx("span",{className:"rte-tbar-group-label",children:t.group_table_cols}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenVerticalStart,{size:13}),label:t.addColBefore,onClick:()=>e.chain().focus().addColumnBefore().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenVerticalEnd,{size:13}),label:t.addColAfter,onClick:()=>e.chain().focus().addColumnAfter().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.Trash2,{size:13}),label:t.deleteColumn,onClick:()=>e.chain().focus().deleteColumn().run()}),jsxRuntime.jsx("div",{className:"rte-tbar-sep"}),jsxRuntime.jsx("span",{className:"rte-tbar-group-label",children:t.group_table_cells}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.TableCellsMerge,{size:13}),label:t.mergeCells,onClick:()=>e.chain().focus().mergeCells().run(),disabled:!l,title:l?t.mergeCells:`${t.mergeCells} (Shift+click to select cells)`}),jsxRuntime.jsxs("div",{className:"rte-tbar-split-wrap",ref:s,children:[jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.TableCellsSplit,{size:13}),label:i?t.splitCell:`${t.splitCell}\u2026`,onClick:d,title:i?t.splitCell:"Split by adding a column or row"}),o&&!i&&jsxRuntime.jsxs("div",{className:"rte-tbar-split-picker",children:[jsxRuntime.jsxs("button",{className:"rte-tbar-split-pick-btn",onClick:()=>{e.chain().focus().addColumnAfter().run(),a(null);},children:[jsxRuntime.jsx(lucideReact.BetweenVerticalEnd,{size:13}),"Split column"]}),jsxRuntime.jsxs("button",{className:"rte-tbar-split-pick-btn",onClick:()=>{e.chain().focus().addRowAfter().run(),a(null);},children:[jsxRuntime.jsx(lucideReact.BetweenHorizontalEnd,{size:13}),"Split row"]})]})]}),jsxRuntime.jsx("div",{className:"rte-tbar-sep"}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.Trash2,{size:13}),label:t.deleteTable,onClick:()=>e.chain().focus().deleteTable().run()})]})}function Jn({open:e,onClose:t,children:r}){let n=Yr.useRef(null);return Yr.useEffect(()=>{if(!e)return;function o(a){n.current&&!n.current.contains(a.target)&&t();}return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[e,t]),e?jsxRuntime.jsx("div",{ref:n,className:"rte-inline-dialog",children:r}):null}function hm({mode:e,onClose:t,onFind:r,onPrev:n,onNext:o,onReplace:a,onReplaceAll:s,matchCount:l,currentIndex:i}){let[d,m]=Yr__default.default.useState(""),[u,p]=Yr__default.default.useState(""),[c,h]=Yr__default.default.useState(false),f=Yr__default.default.useRef(null);Yr.useEffect(()=>{f.current?.focus();},[]);function g(M){let F=M.target.value;m(F),r(F,c);}function b(){let M=!c;h(M),r(d,M);}function w(M){if(M.key==="Escape"){t();return}M.key==="Enter"&&(M.shiftKey?n():o());}let C=l>0,x=d?C?`${i+1} / ${l}`:"No results":"";return jsxRuntime.jsxs("div",{className:"rte-findbar",role:"search","aria-label":"Find and replace",children:[jsxRuntime.jsxs("div",{className:"rte-findbar-row",children:[jsxRuntime.jsx(lucideReact.Search,{size:14,className:"rte-findbar-icon"}),jsxRuntime.jsx("input",{ref:f,className:"rte-findbar-input",value:d,onChange:g,onKeyDown:w,placeholder:"Find\u2026","aria-label":"Find",spellCheck:false}),jsxRuntime.jsx("button",{className:v("rte-findbar-btn",c&&"rte-findbar-btn--active"),onClick:b,title:"Match case","aria-pressed":c,children:"Aa"}),jsxRuntime.jsx("span",{className:"rte-findbar-count",children:x}),jsxRuntime.jsx("button",{className:"rte-findbar-btn",onClick:n,disabled:!C,title:"Previous match (Shift+Enter)","aria-label":"Previous match",children:jsxRuntime.jsx(lucideReact.ChevronUp,{size:14})}),jsxRuntime.jsx("button",{className:"rte-findbar-btn",onClick:o,disabled:!C,title:"Next match (Enter)","aria-label":"Next match",children:jsxRuntime.jsx(lucideReact.ChevronDown,{size:14})}),jsxRuntime.jsx("button",{className:"rte-findbar-btn rte-findbar-btn--close",onClick:t,title:"Close (Esc)","aria-label":"Close find bar",children:jsxRuntime.jsx(lucideReact.X,{size:14})})]}),e==="replace"&&jsxRuntime.jsxs("div",{className:"rte-findbar-row",children:[jsxRuntime.jsx(lucideReact.Replace,{size:14,className:"rte-findbar-icon"}),jsxRuntime.jsx("input",{className:"rte-findbar-input",value:u,onChange:M=>p(M.target.value),onKeyDown:M=>M.key==="Escape"&&t(),placeholder:"Replace with\u2026","aria-label":"Replace with",spellCheck:false}),jsxRuntime.jsx("button",{className:"rte-findbar-btn rte-findbar-btn--action",onClick:()=>a(u),disabled:!C,title:"Replace current",children:"Replace"}),jsxRuntime.jsx("button",{className:"rte-findbar-btn rte-findbar-btn--action",onClick:()=>s(u),disabled:!C,title:"Replace all",children:"All"})]})]})}var fr=Yr.forwardRef(function(t,r){let{mode:n,defaultMode:o="richtext",onModeChange:a,showPreview:s,defaultShowPreview:l=false,onPreviewChange:i,defaultValue:d="",value:m,onChange:u,placeholder:p="Start typing\u2026",readOnly:c=false,height:h=400,minHeight:f,maxHeight:g,showWordCount:b=true,showCharCount:w=true,onImageUpload:C,allowedImageTypes:x,maxImageSize:M,autoFocus:F=false,spellCheck:P=true,className:L,style:H,labels:R,extraRibbonGroups:y,extraRibbonTabs:_,onSave:X}=t,z={...mm,...R},[Y,ge]=Yr.useState(o),E=n??Y;function ye(D){if(D!==E){if(D==="markdown"){let I=N?.getHTML()??le;ae(Kr(I));}else {let I=pr(O);te(I),N?.commands.setContent(I);}n===void 0&&ge(D),a?.(D);}}let[fe,Ne]=Yr.useState(()=>typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)").matches:false);function ne(D){Ne(D),D?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark");}Yr.useEffect(()=>{ne(fe);let D=window.matchMedia("(prefers-color-scheme: dark)");function I(ue){Ne(ue.matches),ne(ue.matches);}return D.addEventListener("change",I),()=>D.removeEventListener("change",I)},[]);let[Te,K]=Yr.useState(l),Ee=s??Te;function We(D){let I=D??!Ee;s===void 0&&K(I),i?.(I);}let[O,ae]=Yr.useState(E==="markdown"?m??d:""),[le,te]=Yr.useState(E==="richtext"?m??d??"":""),[be,Se]=Yr.useState(false),[De,J]=Yr.useState(""),[at,ce]=Yr.useState(false),[Pe,G]=Yr.useState(""),[he,ke]=Yr.useState(false),[Ze,xe]=Yr.useState(""),[re,Ye]=Yr.useState(null),[ct,it]=Yr.useState(null),[St,Ae]=Yr.useState(0),[_e,T]=Yr.useState(0),[q,de]=Yr.useState(""),A=Yr.useRef(null),oe=Yr.useRef(null),Re=Yr.useRef(null);Yr.useEffect(()=>{function D(I){!(I.metaKey||I.ctrlKey)||I.key.toLowerCase()!=="f"||oe.current?.contains(I.target)&&(I.preventDefault(),I.shiftKey?it(pe=>pe==="replace"?null:"replace"):it(pe=>pe!==null?null:"find"));}return document.addEventListener("keydown",D,true),()=>document.removeEventListener("keydown",D,true)},[]);function et(D){let I=D.trim();if(/\.(mp4|webm|ogg|ogv|mov|m4v|flv|mkv)(\?[^#]*)?$/i.test(I))return {kind:"video"};if(/(?:youtube\.com|youtu\.be|youtube-nocookie\.com)/.test(I))return {kind:"youtube"};let ue=I.match(/vimeo\.com\/(?:video\/)?(\d+)/);if(ue)return {kind:"iframe",embedUrl:`https://player.vimeo.com/video/${ue[1]}`};let pe=I.match(/bilibili\.com\/video\/(BV[\w]+|av\d+)/i);if(pe)return {kind:"iframe",embedUrl:`https://player.bilibili.com/player.html?bvid=${pe[1]}&high_quality=1&danmaku=0`};let Ie=I.match(/dailymotion\.com\/(?:video\/|embed\/video\/)([a-z0-9]+)/i);if(Ie)return {kind:"iframe",embedUrl:`https://www.dailymotion.com/embed/video/${Ie[1]}`};let $e=I.match(/twitch\.tv\/\w+\/clip\/([\w-]+)/);if($e){let Je=typeof window<"u"?window.location.hostname:"localhost";return {kind:"iframe",embedUrl:`https://clips.twitch.tv/embed?clip=${$e[1]}&parent=${Je}`}}return null}function _t(){let D=Ze.trim();if(!D)return;let I=et(D);if(!I){Ye("Unsupported URL. Paste a YouTube, Vimeo, Bilibili, Dailymotion, or direct .mp4/.webm link.");return}I.kind==="youtube"?N?.chain().focus().setYoutubeVideo({src:D}).run():I.kind==="iframe"?N?.chain().focus().insertContent({type:"embedFrame",attrs:{src:I.embedUrl}}).run():N?.chain().focus().insertContent({type:"resizableVideo",attrs:{src:D}}).run(),xe(""),Ye(null),ke(false);}function k(D,I){N&&N.view.dispatch(N.view.state.tr.setMeta(ot,{query:D,caseSensitive:I,currentIndex:0}));}function j(D){if(!N)return;let I=ot.getState(N.view.state);if(!I||!I.matches.length)return;let ue=I.matches.length,pe=((I.currentIndex+D)%ue+ue)%ue;N.view.dispatch(N.view.state.tr.setMeta(ot,{currentIndex:pe}));let Ie=I.matches[pe];Ie&&(N.commands.setTextSelection({from:Ie.from,to:Ie.to}),N.commands.scrollIntoView());}function se(D){if(!N)return;let I=ot.getState(N.view.state);if(!I||!I.matches.length)return;let ue=I.matches[I.currentIndex];ue&&(N.chain().setTextSelection({from:ue.from,to:ue.to}).insertContent(D).run(),k(I.query,I.caseSensitive));}function ie(D){if(!N)return;let I=ot.getState(N.view.state);if(!I||!I.matches.length)return;let ue=N.chain();[...I.matches].reverse().forEach(pe=>{ue.setTextSelection({from:pe.from,to:pe.to}).insertContent(D);}),ue.run(),k(I.query,I.caseSensitive);}function ve(D,I){de(D);let ue=Wr(O,D,I);Ae(ue.length),T(0);}function qe(D,I,ue){let pe=Wr(O,I,ue);if(!pe.length)return;let Ie=pe.length,$e=((_e+D)%Ie+Ie)%Ie;T($e);let Je=Re.current;Je&&(Je.focus(),Je.setSelectionRange(pe[$e][0],pe[$e][1]));}function dt(D,I,ue){let pe=Wr(O,D,ue);if(!pe.length)return;let[Ie,$e]=pe[_e]??pe[0],Je=O.slice(0,Ie)+I+O.slice($e);ae(Je);}function hr(D,I,ue){let pe=D.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Ie=new RegExp(pe,"gi");ae($e=>$e.replace(Ie,I)),Ae(0),T(0);}let N=Qa({defaultValue:E==="richtext"?m??d:"",placeholder:p,readOnly:c,autoFocus:E==="richtext"&&F,onChange:D=>{te(D.html),u?.({...D,markdown:Kr(D.html)});}});Yr.useEffect(()=>{m!==void 0&&N&&E==="richtext"&&N.getHTML()!==m&&(N.commands.setContent(m),te(m));},[m,N,E]);let ut=N?ot.getState(N.view.state):null,bt=E==="richtext"?ut?.matches.length??0:St,er=E==="richtext"?ut?.currentIndex??0:_e;function Ht(){if(!X)return;let D=E==="markdown"?O:N?.getHTML()??"";X(D,E);}Yr.useEffect(()=>{if(!X)return;function D(I){!(I.metaKey||I.ctrlKey)||I.key.toLowerCase()!=="s"||oe.current?.contains(I.target)&&(I.preventDefault(),Ht());}return document.addEventListener("keydown",D,true),()=>document.removeEventListener("keydown",D,true)},[X,E,O,N]);function Tt(D){let I=D.target.value;ae(I),u?.({html:pr(I),markdown:I,json:{},text:I});}let rs=Yr.useCallback(async D=>{let ue=Array.from(D.clipboardData?.items??[]).find($e=>$e.type.startsWith("image/"));if(!ue)return;D.preventDefault();let pe=ue.getAsFile();if(!pe||x&&!x.includes(pe.type)||M&&pe.size>M)return;let Ie;if(C?Ie=await C(pe):Ie=await new Promise($e=>{let Je=new FileReader;Je.onload=()=>$e(Je.result),Je.readAsDataURL(pe);}),E==="richtext"&&N)N.chain().focus().setImage({src:Ie}).run();else {let $e=D.currentTarget.querySelector(".rte-markdown-source");if($e){let Je=$e.selectionStart,is=`![pasted image](${Ie})`,ls=O.slice(0,Je),cs=O.slice(Je);ae(ls+is+cs);}}},[E,N,O,C,x,M]);Yr.useImperativeHandle(r,()=>({getContent:()=>E==="markdown"?O:N?.getHTML()??"",getMode:()=>E,getHTML:()=>N?.getHTML()??"",getMarkdown:()=>E==="markdown"?O:Kr(N?.getHTML()??""),getJSON:()=>N?.getJSON()??{},getText:()=>N?.getText()??"",setHTML:D=>N?.commands.setContent(D),setMarkdown:D=>{ae(D),N?.commands.setContent(pr(D));},setJSON:D=>N?.commands.setContent(D),clear:()=>{N?.commands.clearContent(),ae("");},focus:()=>N?.commands.focus(),blur:()=>(N?.view.dom).blur()}));let ns=N?.storage?.characterCount?.characters?.()??O.length,os=E==="richtext"?qn(N?.getText()??""):qn(O),as=[...[{key:"home",label:z.tab_home,groups:[{key:"clipboard",label:z.group_clipboard,items:[{key:"undo",label:z.undo,icon:jsxRuntime.jsx(lucideReact.Undo2,{}),disabled:c||!N?.can().undo()||E==="markdown",onClick:()=>N?.chain().focus().undo().run()},{key:"redo",label:z.redo,icon:jsxRuntime.jsx(lucideReact.Redo2,{}),disabled:c||!N?.can().redo()||E==="markdown",onClick:()=>N?.chain().focus().redo().run()},{key:"save",label:z.save,icon:jsxRuntime.jsx(lucideReact.Save,{}),disabled:c||!X,onClick:Ht}]},{key:"text",label:z.group_text,items:[{key:"bold",label:z.bold,icon:jsxRuntime.jsx(lucideReact.Bold,{}),active:N?.isActive("bold"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleBold().run()},{key:"italic",label:z.italic,icon:jsxRuntime.jsx(lucideReact.Italic,{}),active:N?.isActive("italic"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleItalic().run()},{key:"underline",label:z.underline,icon:jsxRuntime.jsx(lucideReact.Underline,{}),active:N?.isActive("underline"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleUnderline().run()},{key:"strike",label:z.strikethrough,icon:jsxRuntime.jsx(lucideReact.Strikethrough,{}),active:N?.isActive("strike"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleStrike().run()}]},{key:"headings",label:z.group_headings,items:[{key:"h1",label:z.h1,icon:jsxRuntime.jsx(lucideReact.Heading1,{}),active:N?.isActive("heading",{level:1}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleHeading({level:1}).run()},{key:"h2",label:z.h2,icon:jsxRuntime.jsx(lucideReact.Heading2,{}),active:N?.isActive("heading",{level:2}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleHeading({level:2}).run()},{key:"h3",label:z.h3,icon:jsxRuntime.jsx(lucideReact.Heading3,{}),active:N?.isActive("heading",{level:3}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleHeading({level:3}).run()},{key:"paragraph",label:z.paragraph,icon:jsxRuntime.jsx(lucideReact.Type,{}),active:N?.isActive("paragraph"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().setParagraph().run()}]},{key:"alignment",label:z.group_alignment,items:[{key:"align-left",label:z.alignLeft,icon:jsxRuntime.jsx(lucideReact.AlignLeft,{}),active:N?.isActive({textAlign:"left"}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().setTextAlign("left").run()},{key:"align-center",label:z.alignCenter,icon:jsxRuntime.jsx(lucideReact.AlignCenter,{}),active:N?.isActive({textAlign:"center"}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().setTextAlign("center").run()},{key:"align-right",label:z.alignRight,icon:jsxRuntime.jsx(lucideReact.AlignRight,{}),active:N?.isActive({textAlign:"right"}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().setTextAlign("right").run()},{key:"align-justify",label:z.alignJustify,icon:jsxRuntime.jsx(lucideReact.AlignJustify,{}),active:N?.isActive({textAlign:"justify"}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().setTextAlign("justify").run()}]},{key:"lists",label:z.group_lists,items:[{key:"bullet-list",label:z.bulletList,icon:jsxRuntime.jsx(lucideReact.List,{}),active:N?.isActive("bulletList"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleBulletList().run()},{key:"ordered-list",label:z.orderedList,icon:jsxRuntime.jsx(lucideReact.ListOrdered,{}),active:N?.isActive("orderedList"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleOrderedList().run()}]},...y?.home??[]]},{key:"insert",label:z.tab_insert,groups:[{key:"media",label:z.group_media,items:[{key:"image",label:z.image,icon:jsxRuntime.jsx(lucideReact.Image,{}),disabled:c||E==="markdown",onClick:()=>Se(true)},{key:"video",label:z.video??z.youtube,icon:jsxRuntime.jsx(lucideReact.Video,{}),disabled:c||E==="markdown",onClick:()=>{xe(""),Ye(null),ke(true);}}]},{key:"content",label:z.group_content,items:[{key:"link",label:z.link,icon:jsxRuntime.jsx(lucideReact.Link,{}),active:N?.isActive("link"),disabled:c||E==="markdown",onClick:()=>{let D=N?.getAttributes("link").href??"";G(D),ce(true);}},{key:"table",label:z.table,icon:jsxRuntime.jsx(lucideReact.Table,{}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:true}).run()},{key:"code-block",label:z.codeBlock,icon:jsxRuntime.jsx(lucideReact.Code,{}),active:N?.isActive("codeBlock"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleCodeBlock().run()},{key:"blockquote",label:z.blockquote,icon:jsxRuntime.jsx(lucideReact.Quote,{}),active:N?.isActive("blockquote"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleBlockquote().run()},{key:"hr",label:z.divider,icon:jsxRuntime.jsx(lucideReact.Minus,{}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().setHorizontalRule().run()}]},...y?.insert??[]]},{key:"format",label:z.tab_format,groups:[{key:"style",label:z.group_style,items:[{key:"color",label:z.color,icon:jsxRuntime.jsx(lucideReact.Palette,{}),disabled:c||E==="markdown",onClick:()=>{document.getElementById("rte-color-input")?.click();}},{key:"highlight",label:z.highlight,icon:jsxRuntime.jsx(lucideReact.Highlighter,{}),active:N?.isActive("highlight"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleHighlight().run()},{key:"subscript",label:z.subscript,icon:jsxRuntime.jsx(lucideReact.Subscript,{}),active:N?.isActive("subscript"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleSubscript().run()},{key:"superscript",label:z.superscript,icon:jsxRuntime.jsx(lucideReact.Superscript,{}),active:N?.isActive("superscript"),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().toggleSuperscript().run()}]},{key:"reset",label:z.group_reset,items:[{key:"clear",label:z.clear,icon:jsxRuntime.jsx(lucideReact.Eraser,{}),disabled:c||E==="markdown",onClick:()=>N?.chain().focus().unsetAllMarks().clearNodes().run()}]},...y?.format??[]]}],..._??[]],gr={};h&&(gr.height=typeof h=="number"?`${h}px`:h),f&&(gr.minHeight=typeof f=="number"?`${f}px`:f),g&&(gr.maxHeight=typeof g=="number"?`${g}px`:g);let ss=E==="richtext"?le:pr(O);return jsxRuntime.jsxs("div",{ref:oe,className:v("rte-root",L),style:{...gr,...H},"data-testid":"rte-root",onPaste:rs,children:[jsxRuntime.jsx("input",{id:"rte-color-input",type:"color",className:"sr-only","aria-hidden":true,onChange:D=>{N?.chain().focus().setColor(D.target.value).run();}}),jsxRuntime.jsxs("div",{ref:A,className:"rte-ribbon relative",children:[jsxRuntime.jsx(ha,{tabs:as}),jsxRuntime.jsxs(Jn,{open:be,onClose:()=>Se(false),children:[jsxRuntime.jsx("input",{type:"url",placeholder:"Image URL\u2026",value:De,onChange:D=>J(D.target.value),onKeyDown:D=>{D.key==="Enter"&&(De&&N?.chain().focus().setImage({src:De}).run(),J(""),Se(false));},autoFocus:true}),jsxRuntime.jsx("button",{onClick:()=>{De&&N?.chain().focus().setImage({src:De}).run(),J(""),Se(false);},children:"Insert"}),jsxRuntime.jsx("button",{className:"rte-cancel-btn",onClick:()=>Se(false),children:"Cancel"})]}),jsxRuntime.jsxs(Jn,{open:at,onClose:()=>ce(false),children:[jsxRuntime.jsx("input",{type:"url",placeholder:"https://\u2026",value:Pe,onChange:D=>G(D.target.value),onKeyDown:D=>{D.key==="Enter"&&(N?.chain().focus().setLink({href:Pe}).run(),G(""),ce(false));},autoFocus:true}),jsxRuntime.jsx("button",{onClick:()=>{N?.chain().focus().setLink({href:Pe}).run(),G(""),ce(false);},children:"Apply"}),jsxRuntime.jsx("button",{className:"rte-cancel-btn",onClick:()=>ce(false),children:"Cancel"})]}),jsxRuntime.jsxs(Jn,{open:he,onClose:()=>ke(false),children:[jsxRuntime.jsx("input",{type:"url",placeholder:"YouTube, Vimeo, Bilibili, or .mp4 URL\u2026",value:Ze,onChange:D=>{xe(D.target.value),Ye(null);},onKeyDown:D=>{D.key==="Enter"&&_t();},autoFocus:true,style:{minWidth:280}}),re&&jsxRuntime.jsx("span",{style:{fontSize:"0.72rem",color:"var(--color-danger-500)",flex:"0 0 100%"},children:re}),jsxRuntime.jsx("button",{onClick:_t,children:"Embed"}),jsxRuntime.jsx("button",{className:"rte-cancel-btn",onClick:()=>ke(false),children:"Cancel"})]})]}),E==="richtext"&&jsxRuntime.jsx(fm,{editor:N,L:z,readOnly:c??false}),ct!==null&&jsxRuntime.jsx(hm,{mode:ct,onClose:()=>{it(null),N&&N.view.dispatch(N.view.state.tr.setMeta(ot,{query:"",currentIndex:0,matches:[]})),Ae(0),T(0),de("");},onFind:(D,I)=>{E==="richtext"?k(D,I):ve(D,I);},onPrev:()=>{E==="richtext"?j(-1):qe(-1,q,false);},onNext:()=>{E==="richtext"?j(1):qe(1,q,false);},onReplace:D=>{if(E==="richtext"){let I=N?ot.getState(N.view.state):null;se(D),I&&ve(I.query,I.caseSensitive);}else dt(q,D,false);},onReplaceAll:D=>{E==="richtext"?ie(D):hr(q,D);},matchCount:bt,currentIndex:er}),jsxRuntime.jsxs("div",{className:"rte-body",children:[jsxRuntime.jsx("div",{className:"rte-editor-pane",children:E==="richtext"?jsxRuntime.jsx(react.EditorContent,{editor:N,spellCheck:P,readOnly:c}):jsxRuntime.jsx("textarea",{ref:Re,className:"rte-markdown-source",value:O,onChange:Tt,placeholder:p,readOnly:c,spellCheck:P,"data-testid":"rte-markdown-source"})}),Ee&&jsxRuntime.jsx("div",{className:"rte-preview-pane","data-testid":"rte-preview-pane",children:jsxRuntime.jsx("div",{className:"prose",dangerouslySetInnerHTML:{__html:ss}})})]}),jsxRuntime.jsxs("div",{className:"rte-statusbar",children:[jsxRuntime.jsxs("div",{className:"rte-statusbar-left",children:[jsxRuntime.jsx(Ir,{size:"sm",checked:fe,onCheckedChange:ne,checkedContent:jsxRuntime.jsx(lucideReact.Moon,{size:10}),uncheckedContent:jsxRuntime.jsx(lucideReact.Sun,{size:10}),"aria-label":"Toggle dark mode",title:fe?"Switch to light mode":"Switch to dark mode"}),jsxRuntime.jsx("span",{className:"rte-statusbar-divider"}),jsxRuntime.jsx(Ir,{size:"sm",checked:E==="markdown",onCheckedChange:D=>ye(D?"markdown":"richtext"),disabled:n!==void 0,checkedContent:jsxRuntime.jsx(lucideReact.Code,{size:10}),uncheckedContent:jsxRuntime.jsx(lucideReact.FileText,{size:10}),"aria-label":"Toggle editor mode",title:n!==void 0?`Mode locked: ${E}`:E==="markdown"?"Markdown mode (click for Rich Text)":"Rich Text mode (click for Markdown)"}),jsxRuntime.jsx("span",{className:"rte-statusbar-label",children:E==="markdown"?"Markdown":"Rich Text"})]}),jsxRuntime.jsxs("div",{className:"rte-statusbar-right",children:[jsxRuntime.jsx(Ir,{size:"sm",checked:Ee,onCheckedChange:We,checkedContent:jsxRuntime.jsx(lucideReact.Eye,{size:10}),uncheckedContent:jsxRuntime.jsx(lucideReact.EyeOff,{size:10}),"aria-label":"Toggle live preview",title:Ee?"Hide preview":"Show live preview"}),jsxRuntime.jsx("span",{className:"rte-statusbar-label",children:"Preview"}),(b||w)&&jsxRuntime.jsx("span",{className:"rte-statusbar-divider"}),b&&jsxRuntime.jsxs("span",{children:[os," words"]}),w&&jsxRuntime.jsxs("span",{children:[ns," chars"]})]})]})]})});fr.displayName="RichTextEditor";var gm={FilmReel:Gr,MiniPlayer:Qr,CinePlayer:en,FileExplorer:dn,Masonry:fn,TypewriterText:Sr,CommandPalette:Er,Timeline:bn,DateTimePicker:Rr,LoginPanel:zr,RichTextEditor:fr},Dv=gm;
127
- exports.CinePlayer=en;exports.CommandPalette=Er;exports.DateTimePicker=Rr;exports.Extras=gm;exports.FileExplorer=dn;exports.FilmReel=Gr;exports.LoginPanel=zr;exports.Masonry=fn;exports.MiniPlayer=Qr;exports.RichTextEditor=fr;exports.Timeline=bn;exports.TypewriterText=Sr;exports.default=Dv;
126
+ `).trim()}function Gn(e){return e.trim()?e.trim().split(/\s+/).length:0}function Jn(e,t,r=false){if(!t)return [];let n=[],o=r?"g":"gi",a=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=new RegExp(a,o);return e.descendants((l,s)=>{if(!l.isText||!l.text)return;let d;for(i.lastIndex=0;(d=i.exec(l.text))!==null;)n.push({from:s+d.index,to:s+d.index+d[0].length});}),n}function qr(e,t,r=false){if(!t)return [];let n=r?"g":"gi",o=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=new RegExp(o,n),i=[],l;for(;(l=a.exec(e))!==null;)i.push([l.index,l.index+l[0].length]);return i}var ot=new state.PluginKey("rteSearch"),Sp=Me.create({name:"rteSearch",addProseMirrorPlugins(){return [new state.Plugin({key:ot,state:{init(){return {query:"",caseSensitive:false,currentIndex:0,matches:[]}},apply(e,t){let r=e.getMeta(ot);if(r){let n={...t,...r};return n.matches=Jn(e.doc,n.query,n.caseSensitive),n.currentIndex>=n.matches.length&&(n.currentIndex=0),n}if(e.docChanged&&t.query){let n=Jn(e.doc,t.query,t.caseSensitive),o=Math.min(t.currentIndex,Math.max(0,n.length-1));return {...t,matches:n,currentIndex:o}}return t}},props:{decorations(e){let t=ot.getState(e);if(!t?.query||!t.matches.length)return view.DecorationSet.empty;let r=t.matches.map((n,o)=>view.Decoration.inline(n.from,n.to,{class:o===t.currentIndex?"rte-search-current":"rte-search-match"}));return view.DecorationSet.create(e.doc,r)}}})]}});function ri(e){return react.useEditor({extensions:[dp__default.default,up__default.default,pp__default.default.configure({types:["heading","paragraph"]}),Kn,extensionColor.Color,fp__default.default.configure({multicolor:true}),Qa,Za,ei,hp__default.default.configure({openOnClick:false}),gp__default.default.configure({width:480,height:320}),bp__default.default.configure({placeholder:e.placeholder??"Start typing\u2026"}),vp__default.default,yp__default.default,xp__default.default,wp__default.default,extensionTable.Table.configure({resizable:true}),Mp__default.default,Np__default.default,Cp__default.default,Sp],content:e.defaultValue??"",editable:!e.readOnly,autofocus:e.autoFocus,onUpdate:({editor:r})=>{e.onChange?.({html:r.getHTML(),markdown:"",json:r.getJSON(),text:r.getText()});}})}var ym={tab_home:"Home",tab_insert:"Insert",tab_format:"Format",group_clipboard:"Clipboard",undo:"Undo",redo:"Redo",save:"Save",group_text:"Text",bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",group_headings:"Headings",h1:"H1",h2:"H2",h3:"H3",paragraph:"Normal",group_alignment:"Alignment",alignLeft:"Left",alignCenter:"Center",alignRight:"Right",alignJustify:"Justify",group_lists:"Lists",bulletList:"Bullet",orderedList:"Ordered",group_media:"Media",image:"Image",video:"Video",youtube:"Video",group_content:"Content",link:"Link",table:"Table",codeBlock:"Code Block",blockquote:"Quote",divider:"Divider",group_style:"Style",color:"Color",highlight:"Highlight",subscript:"Sub",superscript:"Sup",group_reset:"Reset",clear:"Clear",group_table_rows:"Rows",addRowBefore:"Add Above",addRowAfter:"Add Below",deleteRow:"Del Row",group_table_cols:"Columns",addColBefore:"Add Left",addColAfter:"Add Right",deleteColumn:"Del Col",group_table_cells:"Cells",mergeCells:"Merge",splitCell:"Split",deleteTable:"Del Table"};function gt({icon:e,label:t,onClick:r,disabled:n=false,title:o}){return jsxRuntime.jsxs("button",{type:"button",className:v("rte-tbar-btn",n&&"rte-tbar-btn--disabled"),onClick:r,disabled:n,title:o??t,children:[e,jsxRuntime.jsx("span",{className:"rte-tbar-label",children:t})]})}function xm({editor:e,L:t,readOnly:r}){let[,n]=Xr.useState(0),[o,a]=Xr.useState(null),i=Xr.useRef(null);if(Xr.useEffect(()=>{if(!e)return;let m=()=>n(u=>u+1);return e.on("selectionUpdate",m),e.on("transaction",m),()=>{e.off("selectionUpdate",m),e.off("transaction",m);}},[e]),Xr.useEffect(()=>{if(!o)return;function m(u){i.current&&!i.current.contains(u.target)&&a(null);}return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[o]),!e||r||!e.isActive("table"))return null;let l=e.can().mergeCells(),s=e.can().splitCell();function d(){s?e.chain().focus().splitCell().run():a(m=>m?null:"col");}return jsxRuntime.jsxs("div",{className:"rte-tablebar",role:"toolbar","aria-label":"Table editing",children:[jsxRuntime.jsx("span",{className:"rte-tbar-group-label",children:t.group_table_rows}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenHorizontalStart,{size:13}),label:t.addRowBefore,onClick:()=>e.chain().focus().addRowBefore().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenHorizontalEnd,{size:13}),label:t.addRowAfter,onClick:()=>e.chain().focus().addRowAfter().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.Trash2,{size:13}),label:t.deleteRow,onClick:()=>e.chain().focus().deleteRow().run()}),jsxRuntime.jsx("div",{className:"rte-tbar-sep"}),jsxRuntime.jsx("span",{className:"rte-tbar-group-label",children:t.group_table_cols}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenVerticalStart,{size:13}),label:t.addColBefore,onClick:()=>e.chain().focus().addColumnBefore().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.BetweenVerticalEnd,{size:13}),label:t.addColAfter,onClick:()=>e.chain().focus().addColumnAfter().run()}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.Trash2,{size:13}),label:t.deleteColumn,onClick:()=>e.chain().focus().deleteColumn().run()}),jsxRuntime.jsx("div",{className:"rte-tbar-sep"}),jsxRuntime.jsx("span",{className:"rte-tbar-group-label",children:t.group_table_cells}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.TableCellsMerge,{size:13}),label:t.mergeCells,onClick:()=>e.chain().focus().mergeCells().run(),disabled:!l,title:l?t.mergeCells:`${t.mergeCells} (Shift+click to select cells)`}),jsxRuntime.jsxs("div",{className:"rte-tbar-split-wrap",ref:i,children:[jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.TableCellsSplit,{size:13}),label:s?t.splitCell:`${t.splitCell}\u2026`,onClick:d,title:s?t.splitCell:"Split by adding a column or row"}),o&&!s&&jsxRuntime.jsxs("div",{className:"rte-tbar-split-picker",children:[jsxRuntime.jsxs("button",{className:"rte-tbar-split-pick-btn",onClick:()=>{e.chain().focus().addColumnAfter().run(),a(null);},children:[jsxRuntime.jsx(lucideReact.BetweenVerticalEnd,{size:13}),"Split column"]}),jsxRuntime.jsxs("button",{className:"rte-tbar-split-pick-btn",onClick:()=>{e.chain().focus().addRowAfter().run(),a(null);},children:[jsxRuntime.jsx(lucideReact.BetweenHorizontalEnd,{size:13}),"Split row"]})]})]}),jsxRuntime.jsx("div",{className:"rte-tbar-sep"}),jsxRuntime.jsx(gt,{icon:jsxRuntime.jsx(lucideReact.Trash2,{size:13}),label:t.deleteTable,onClick:()=>e.chain().focus().deleteTable().run()})]})}function Zn({open:e,onClose:t,children:r}){let n=Xr.useRef(null);return Xr.useEffect(()=>{if(!e)return;function o(a){n.current&&!n.current.contains(a.target)&&t();}return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[e,t]),e?jsxRuntime.jsx("div",{ref:n,className:"rte-inline-dialog",children:r}):null}function wm({mode:e,onClose:t,onFind:r,onPrev:n,onNext:o,onReplace:a,onReplaceAll:i,matchCount:l,currentIndex:s}){let[d,m]=Xr__default.default.useState(""),[u,p]=Xr__default.default.useState(""),[c,h]=Xr__default.default.useState(false),f=Xr__default.default.useRef(null);Xr.useEffect(()=>{f.current?.focus();},[]);function g(M){let $=M.target.value;m($),r($,c);}function b(){let M=!c;h(M),r(d,M);}function w(M){if(M.key==="Escape"){t();return}M.key==="Enter"&&(M.shiftKey?n():o());}let C=l>0,x=d?C?`${s+1} / ${l}`:"No results":"";return jsxRuntime.jsxs("div",{className:"rte-findbar",role:"search","aria-label":"Find and replace",children:[jsxRuntime.jsxs("div",{className:"rte-findbar-row",children:[jsxRuntime.jsx(lucideReact.Search,{size:14,className:"rte-findbar-icon"}),jsxRuntime.jsx("input",{ref:f,className:"rte-findbar-input",value:d,onChange:g,onKeyDown:w,placeholder:"Find\u2026","aria-label":"Find",spellCheck:false}),jsxRuntime.jsx("button",{className:v("rte-findbar-btn",c&&"rte-findbar-btn--active"),onClick:b,title:"Match case","aria-pressed":c,children:"Aa"}),jsxRuntime.jsx("span",{className:"rte-findbar-count",children:x}),jsxRuntime.jsx("button",{className:"rte-findbar-btn",onClick:n,disabled:!C,title:"Previous match (Shift+Enter)","aria-label":"Previous match",children:jsxRuntime.jsx(lucideReact.ChevronUp,{size:14})}),jsxRuntime.jsx("button",{className:"rte-findbar-btn",onClick:o,disabled:!C,title:"Next match (Enter)","aria-label":"Next match",children:jsxRuntime.jsx(lucideReact.ChevronDown,{size:14})}),jsxRuntime.jsx("button",{className:"rte-findbar-btn rte-findbar-btn--close",onClick:t,title:"Close (Esc)","aria-label":"Close find bar",children:jsxRuntime.jsx(lucideReact.X,{size:14})})]}),e==="replace"&&jsxRuntime.jsxs("div",{className:"rte-findbar-row",children:[jsxRuntime.jsx(lucideReact.Replace,{size:14,className:"rte-findbar-icon"}),jsxRuntime.jsx("input",{className:"rte-findbar-input",value:u,onChange:M=>p(M.target.value),onKeyDown:M=>M.key==="Escape"&&t(),placeholder:"Replace with\u2026","aria-label":"Replace with",spellCheck:false}),jsxRuntime.jsx("button",{className:"rte-findbar-btn rte-findbar-btn--action",onClick:()=>a(u),disabled:!C,title:"Replace current",children:"Replace"}),jsxRuntime.jsx("button",{className:"rte-findbar-btn rte-findbar-btn--action",onClick:()=>i(u),disabled:!C,title:"Replace all",children:"All"})]})]})}var gr=Xr.forwardRef(function(t,r){let{mode:n,defaultMode:o="richtext",onModeChange:a,showPreview:i,defaultShowPreview:l=false,onPreviewChange:s,defaultValue:d="",value:m,onChange:u,placeholder:p="Start typing\u2026",readOnly:c=false,height:h=400,minHeight:f,maxHeight:g,showWordCount:b=true,showCharCount:w=true,onImageUpload:C,allowedImageTypes:x,maxImageSize:M,autoFocus:$=false,spellCheck:P=true,className:L,style:H,labels:D,extraRibbonGroups:y,extraRibbonTabs:_,onSave:B}=t,R={...ym,...D},[K,ie]=Xr.useState(o),T=n??K;function ye(A){if(A!==T){if(A==="markdown"){let I=N?.getHTML()??ce;ae(Yr(I));}else {let I=fr(O);te(I),N?.commands.setContent(I);}n===void 0&&ie(A),a?.(A);}}let[he,Ne]=Xr.useState(()=>typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)").matches:false);function ne(A){Ne(A),A?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark");}Xr.useEffect(()=>{ne(he);let A=window.matchMedia("(prefers-color-scheme: dark)");function I(pe){Ne(pe.matches),ne(pe.matches);}return A.addEventListener("change",I),()=>A.removeEventListener("change",I)},[]);let[Te,Y]=Xr.useState(l),Ee=i??Te;function We(A){let I=A??!Ee;i===void 0&&Y(I),s?.(I);}let[O,ae]=Xr.useState(T==="markdown"?m??d:""),[ce,te]=Xr.useState(T==="richtext"?m??d??"":""),[be,Se]=Xr.useState(false),[De,J]=Xr.useState(""),[at,de]=Xr.useState(false),[Pe,G]=Xr.useState(""),[ge,ke]=Xr.useState(false),[Ze,xe]=Xr.useState(""),[re,Ye]=Xr.useState(null),[ct,st]=Xr.useState(null),[St,Ae]=Xr.useState(0),[_e,E]=Xr.useState(0),[X,ue]=Xr.useState(""),z=Xr.useRef(null),oe=Xr.useRef(null),Re=Xr.useRef(null);Xr.useEffect(()=>{function A(I){!(I.metaKey||I.ctrlKey)||I.key.toLowerCase()!=="f"||oe.current?.contains(I.target)&&(I.preventDefault(),I.shiftKey?st(me=>me==="replace"?null:"replace"):st(me=>me!==null?null:"find"));}return document.addEventListener("keydown",A,true),()=>document.removeEventListener("keydown",A,true)},[]);function et(A){let I=A.trim();if(/\.(mp4|webm|ogg|ogv|mov|m4v|flv|mkv)(\?[^#]*)?$/i.test(I))return {kind:"video"};if(/(?:youtube\.com|youtu\.be|youtube-nocookie\.com)/.test(I))return {kind:"youtube"};let pe=I.match(/vimeo\.com\/(?:video\/)?(\d+)/);if(pe)return {kind:"iframe",embedUrl:`https://player.vimeo.com/video/${pe[1]}`};let me=I.match(/bilibili\.com\/video\/(BV[\w]+|av\d+)/i);if(me)return {kind:"iframe",embedUrl:`https://player.bilibili.com/player.html?bvid=${me[1]}&high_quality=1&danmaku=0`};let Ie=I.match(/dailymotion\.com\/(?:video\/|embed\/video\/)([a-z0-9]+)/i);if(Ie)return {kind:"iframe",embedUrl:`https://www.dailymotion.com/embed/video/${Ie[1]}`};let Fe=I.match(/twitch\.tv\/\w+\/clip\/([\w-]+)/);if(Fe){let Je=typeof window<"u"?window.location.hostname:"localhost";return {kind:"iframe",embedUrl:`https://clips.twitch.tv/embed?clip=${Fe[1]}&parent=${Je}`}}return null}function _t(){let A=Ze.trim();if(!A)return;let I=et(A);if(!I){Ye("Unsupported URL. Paste a YouTube, Vimeo, Bilibili, Dailymotion, or direct .mp4/.webm link.");return}I.kind==="youtube"?N?.chain().focus().setYoutubeVideo({src:A}).run():I.kind==="iframe"?N?.chain().focus().insertContent({type:"embedFrame",attrs:{src:I.embedUrl}}).run():N?.chain().focus().insertContent({type:"resizableVideo",attrs:{src:A}}).run(),xe(""),Ye(null),ke(false);}function k(A,I){N&&N.view.dispatch(N.view.state.tr.setMeta(ot,{query:A,caseSensitive:I,currentIndex:0}));}function U(A){if(!N)return;let I=ot.getState(N.view.state);if(!I||!I.matches.length)return;let pe=I.matches.length,me=((I.currentIndex+A)%pe+pe)%pe;N.view.dispatch(N.view.state.tr.setMeta(ot,{currentIndex:me}));let Ie=I.matches[me];Ie&&(N.commands.setTextSelection({from:Ie.from,to:Ie.to}),N.commands.scrollIntoView());}function se(A){if(!N)return;let I=ot.getState(N.view.state);if(!I||!I.matches.length)return;let pe=I.matches[I.currentIndex];pe&&(N.chain().setTextSelection({from:pe.from,to:pe.to}).insertContent(A).run(),k(I.query,I.caseSensitive));}function le(A){if(!N)return;let I=ot.getState(N.view.state);if(!I||!I.matches.length)return;let pe=N.chain();[...I.matches].reverse().forEach(me=>{pe.setTextSelection({from:me.from,to:me.to}).insertContent(A);}),pe.run(),k(I.query,I.caseSensitive);}function ve(A,I){ue(A);let pe=qr(O,A,I);Ae(pe.length),E(0);}function qe(A,I,pe){let me=qr(O,I,pe);if(!me.length)return;let Ie=me.length,Fe=((_e+A)%Ie+Ie)%Ie;E(Fe);let Je=Re.current;Je&&(Je.focus(),Je.setSelectionRange(me[Fe][0],me[Fe][1]));}function dt(A,I,pe){let me=qr(O,A,pe);if(!me.length)return;let[Ie,Fe]=me[_e]??me[0],Je=O.slice(0,Ie)+I+O.slice(Fe);ae(Je);}function br(A,I,pe){let me=A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Ie=new RegExp(me,"gi");ae(Fe=>Fe.replace(Ie,I)),Ae(0),E(0);}let N=ri({defaultValue:T==="richtext"?m??d:"",placeholder:p,readOnly:c,autoFocus:T==="richtext"&&$,onChange:A=>{te(A.html),u?.({...A,markdown:Yr(A.html)});}});Xr.useEffect(()=>{m!==void 0&&N&&T==="richtext"&&N.getHTML()!==m&&(N.commands.setContent(m),te(m));},[m,N,T]);let ut=N?ot.getState(N.view.state):null,bt=T==="richtext"?ut?.matches.length??0:St,er=T==="richtext"?ut?.currentIndex??0:_e;function Ht(){if(!B)return;let A=T==="markdown"?O:N?.getHTML()??"";B(A,T);}Xr.useEffect(()=>{if(!B)return;function A(I){!(I.metaKey||I.ctrlKey)||I.key.toLowerCase()!=="s"||oe.current?.contains(I.target)&&(I.preventDefault(),Ht());}return document.addEventListener("keydown",A,true),()=>document.removeEventListener("keydown",A,true)},[B,T,O,N]);function Tt(A){let I=A.target.value;ae(I),u?.({html:fr(I),markdown:I,json:{},text:I});}let ii=Xr.useCallback(async A=>{let pe=Array.from(A.clipboardData?.items??[]).find(Fe=>Fe.type.startsWith("image/"));if(!pe)return;A.preventDefault();let me=pe.getAsFile();if(!me||x&&!x.includes(me.type)||M&&me.size>M)return;let Ie;if(C?Ie=await C(me):Ie=await new Promise(Fe=>{let Je=new FileReader;Je.onload=()=>Fe(Je.result),Je.readAsDataURL(me);}),T==="richtext"&&N)N.chain().focus().setImage({src:Ie}).run();else {let Fe=A.currentTarget.querySelector(".rte-markdown-source");if(Fe){let Je=Fe.selectionStart,ui=`![pasted image](${Ie})`,pi=O.slice(0,Je),mi=O.slice(Je);ae(pi+ui+mi);}}},[T,N,O,C,x,M]);Xr.useImperativeHandle(r,()=>({getContent:()=>T==="markdown"?O:N?.getHTML()??"",getMode:()=>T,getHTML:()=>N?.getHTML()??"",getMarkdown:()=>T==="markdown"?O:Yr(N?.getHTML()??""),getJSON:()=>N?.getJSON()??{},getText:()=>N?.getText()??"",setHTML:A=>N?.commands.setContent(A),setMarkdown:A=>{ae(A),N?.commands.setContent(fr(A));},setJSON:A=>N?.commands.setContent(A),clear:()=>{N?.commands.clearContent(),ae("");},focus:()=>N?.commands.focus(),blur:()=>(N?.view.dom).blur()}));let si=N?.storage?.characterCount?.characters?.()??O.length,li=T==="richtext"?Gn(N?.getText()??""):Gn(O),ci=[...[{key:"home",label:R.tab_home,groups:[{key:"clipboard",label:R.group_clipboard,items:[{key:"undo",label:R.undo,icon:jsxRuntime.jsx(lucideReact.Undo2,{}),disabled:c||!N?.can().undo()||T==="markdown",onClick:()=>N?.chain().focus().undo().run()},{key:"redo",label:R.redo,icon:jsxRuntime.jsx(lucideReact.Redo2,{}),disabled:c||!N?.can().redo()||T==="markdown",onClick:()=>N?.chain().focus().redo().run()},{key:"save",label:R.save,icon:jsxRuntime.jsx(lucideReact.Save,{}),disabled:c||!B,onClick:Ht}]},{key:"text",label:R.group_text,items:[{key:"bold",label:R.bold,icon:jsxRuntime.jsx(lucideReact.Bold,{}),active:N?.isActive("bold"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleBold().run()},{key:"italic",label:R.italic,icon:jsxRuntime.jsx(lucideReact.Italic,{}),active:N?.isActive("italic"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleItalic().run()},{key:"underline",label:R.underline,icon:jsxRuntime.jsx(lucideReact.Underline,{}),active:N?.isActive("underline"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleUnderline().run()},{key:"strike",label:R.strikethrough,icon:jsxRuntime.jsx(lucideReact.Strikethrough,{}),active:N?.isActive("strike"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleStrike().run()}]},{key:"headings",label:R.group_headings,items:[{key:"h1",label:R.h1,icon:jsxRuntime.jsx(lucideReact.Heading1,{}),active:N?.isActive("heading",{level:1}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleHeading({level:1}).run()},{key:"h2",label:R.h2,icon:jsxRuntime.jsx(lucideReact.Heading2,{}),active:N?.isActive("heading",{level:2}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleHeading({level:2}).run()},{key:"h3",label:R.h3,icon:jsxRuntime.jsx(lucideReact.Heading3,{}),active:N?.isActive("heading",{level:3}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleHeading({level:3}).run()},{key:"paragraph",label:R.paragraph,icon:jsxRuntime.jsx(lucideReact.Type,{}),active:N?.isActive("paragraph"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().setParagraph().run()}]},{key:"alignment",label:R.group_alignment,items:[{key:"align-left",label:R.alignLeft,icon:jsxRuntime.jsx(lucideReact.AlignLeft,{}),active:N?.isActive({textAlign:"left"}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().setTextAlign("left").run()},{key:"align-center",label:R.alignCenter,icon:jsxRuntime.jsx(lucideReact.AlignCenter,{}),active:N?.isActive({textAlign:"center"}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().setTextAlign("center").run()},{key:"align-right",label:R.alignRight,icon:jsxRuntime.jsx(lucideReact.AlignRight,{}),active:N?.isActive({textAlign:"right"}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().setTextAlign("right").run()},{key:"align-justify",label:R.alignJustify,icon:jsxRuntime.jsx(lucideReact.AlignJustify,{}),active:N?.isActive({textAlign:"justify"}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().setTextAlign("justify").run()}]},{key:"lists",label:R.group_lists,items:[{key:"bullet-list",label:R.bulletList,icon:jsxRuntime.jsx(lucideReact.List,{}),active:N?.isActive("bulletList"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleBulletList().run()},{key:"ordered-list",label:R.orderedList,icon:jsxRuntime.jsx(lucideReact.ListOrdered,{}),active:N?.isActive("orderedList"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleOrderedList().run()}]},...y?.home??[]]},{key:"insert",label:R.tab_insert,groups:[{key:"media",label:R.group_media,items:[{key:"image",label:R.image,icon:jsxRuntime.jsx(lucideReact.Image,{}),disabled:c||T==="markdown",onClick:()=>Se(true)},{key:"video",label:R.video??R.youtube,icon:jsxRuntime.jsx(lucideReact.Video,{}),disabled:c||T==="markdown",onClick:()=>{xe(""),Ye(null),ke(true);}}]},{key:"content",label:R.group_content,items:[{key:"link",label:R.link,icon:jsxRuntime.jsx(lucideReact.Link,{}),active:N?.isActive("link"),disabled:c||T==="markdown",onClick:()=>{let A=N?.getAttributes("link").href??"";G(A),de(true);}},{key:"table",label:R.table,icon:jsxRuntime.jsx(lucideReact.Table,{}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:true}).run()},{key:"code-block",label:R.codeBlock,icon:jsxRuntime.jsx(lucideReact.Code,{}),active:N?.isActive("codeBlock"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleCodeBlock().run()},{key:"blockquote",label:R.blockquote,icon:jsxRuntime.jsx(lucideReact.Quote,{}),active:N?.isActive("blockquote"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleBlockquote().run()},{key:"hr",label:R.divider,icon:jsxRuntime.jsx(lucideReact.Minus,{}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().setHorizontalRule().run()}]},...y?.insert??[]]},{key:"format",label:R.tab_format,groups:[{key:"style",label:R.group_style,items:[{key:"color",label:R.color,icon:jsxRuntime.jsx(lucideReact.Palette,{}),disabled:c||T==="markdown",onClick:()=>{document.getElementById("rte-color-input")?.click();}},{key:"highlight",label:R.highlight,icon:jsxRuntime.jsx(lucideReact.Highlighter,{}),active:N?.isActive("highlight"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleHighlight().run()},{key:"subscript",label:R.subscript,icon:jsxRuntime.jsx(lucideReact.Subscript,{}),active:N?.isActive("subscript"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleSubscript().run()},{key:"superscript",label:R.superscript,icon:jsxRuntime.jsx(lucideReact.Superscript,{}),active:N?.isActive("superscript"),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().toggleSuperscript().run()}]},{key:"reset",label:R.group_reset,items:[{key:"clear",label:R.clear,icon:jsxRuntime.jsx(lucideReact.Eraser,{}),disabled:c||T==="markdown",onClick:()=>N?.chain().focus().unsetAllMarks().clearNodes().run()}]},...y?.format??[]]}],..._??[]],vr={};h&&(vr.height=typeof h=="number"?`${h}px`:h),f&&(vr.minHeight=typeof f=="number"?`${f}px`:f),g&&(vr.maxHeight=typeof g=="number"?`${g}px`:g);let di=T==="richtext"?ce:fr(O);return jsxRuntime.jsxs("div",{ref:oe,className:v("rte-root",L),style:{...vr,...H},"data-testid":"rte-root",onPaste:ii,children:[jsxRuntime.jsx("input",{id:"rte-color-input",type:"color",className:"sr-only","aria-hidden":true,onChange:A=>{N?.chain().focus().setColor(A.target.value).run();}}),jsxRuntime.jsxs("div",{ref:z,className:"rte-ribbon relative",children:[jsxRuntime.jsx(ya,{tabs:ci}),jsxRuntime.jsxs(Zn,{open:be,onClose:()=>Se(false),children:[jsxRuntime.jsx("input",{type:"url",placeholder:"Image URL\u2026",value:De,onChange:A=>J(A.target.value),onKeyDown:A=>{A.key==="Enter"&&(De&&N?.chain().focus().setImage({src:De}).run(),J(""),Se(false));},autoFocus:true}),jsxRuntime.jsx("button",{onClick:()=>{De&&N?.chain().focus().setImage({src:De}).run(),J(""),Se(false);},children:"Insert"}),jsxRuntime.jsx("button",{className:"rte-cancel-btn",onClick:()=>Se(false),children:"Cancel"})]}),jsxRuntime.jsxs(Zn,{open:at,onClose:()=>de(false),children:[jsxRuntime.jsx("input",{type:"url",placeholder:"https://\u2026",value:Pe,onChange:A=>G(A.target.value),onKeyDown:A=>{A.key==="Enter"&&(N?.chain().focus().setLink({href:Pe}).run(),G(""),de(false));},autoFocus:true}),jsxRuntime.jsx("button",{onClick:()=>{N?.chain().focus().setLink({href:Pe}).run(),G(""),de(false);},children:"Apply"}),jsxRuntime.jsx("button",{className:"rte-cancel-btn",onClick:()=>de(false),children:"Cancel"})]}),jsxRuntime.jsxs(Zn,{open:ge,onClose:()=>ke(false),children:[jsxRuntime.jsx("input",{type:"url",placeholder:"YouTube, Vimeo, Bilibili, or .mp4 URL\u2026",value:Ze,onChange:A=>{xe(A.target.value),Ye(null);},onKeyDown:A=>{A.key==="Enter"&&_t();},autoFocus:true,style:{minWidth:280}}),re&&jsxRuntime.jsx("span",{style:{fontSize:"0.72rem",color:"var(--color-danger-500)",flex:"0 0 100%"},children:re}),jsxRuntime.jsx("button",{onClick:_t,children:"Embed"}),jsxRuntime.jsx("button",{className:"rte-cancel-btn",onClick:()=>ke(false),children:"Cancel"})]})]}),T==="richtext"&&jsxRuntime.jsx(xm,{editor:N,L:R,readOnly:c??false}),ct!==null&&jsxRuntime.jsx(wm,{mode:ct,onClose:()=>{st(null),N&&N.view.dispatch(N.view.state.tr.setMeta(ot,{query:"",currentIndex:0,matches:[]})),Ae(0),E(0),ue("");},onFind:(A,I)=>{T==="richtext"?k(A,I):ve(A,I);},onPrev:()=>{T==="richtext"?U(-1):qe(-1,X,false);},onNext:()=>{T==="richtext"?U(1):qe(1,X,false);},onReplace:A=>{if(T==="richtext"){let I=N?ot.getState(N.view.state):null;se(A),I&&ve(I.query,I.caseSensitive);}else dt(X,A,false);},onReplaceAll:A=>{T==="richtext"?le(A):br(X,A);},matchCount:bt,currentIndex:er}),jsxRuntime.jsxs("div",{className:"rte-body",children:[jsxRuntime.jsx("div",{className:"rte-editor-pane",children:T==="richtext"?jsxRuntime.jsx(react.EditorContent,{editor:N,spellCheck:P,readOnly:c}):jsxRuntime.jsx("textarea",{ref:Re,className:"rte-markdown-source",value:O,onChange:Tt,placeholder:p,readOnly:c,spellCheck:P,"data-testid":"rte-markdown-source"})}),Ee&&jsxRuntime.jsx("div",{className:"rte-preview-pane","data-testid":"rte-preview-pane",children:jsxRuntime.jsx("div",{className:"prose",dangerouslySetInnerHTML:{__html:di}})})]}),jsxRuntime.jsxs("div",{className:"rte-statusbar",children:[jsxRuntime.jsxs("div",{className:"rte-statusbar-left",children:[jsxRuntime.jsx(Hr,{size:"sm",checked:he,onCheckedChange:ne,checkedContent:jsxRuntime.jsx(lucideReact.Moon,{size:10}),uncheckedContent:jsxRuntime.jsx(lucideReact.Sun,{size:10}),"aria-label":"Toggle dark mode",title:he?"Switch to light mode":"Switch to dark mode"}),jsxRuntime.jsx("span",{className:"rte-statusbar-divider"}),jsxRuntime.jsx(Hr,{size:"sm",checked:T==="markdown",onCheckedChange:A=>ye(A?"markdown":"richtext"),disabled:n!==void 0,checkedContent:jsxRuntime.jsx(lucideReact.Code,{size:10}),uncheckedContent:jsxRuntime.jsx(lucideReact.FileText,{size:10}),"aria-label":"Toggle editor mode",title:n!==void 0?`Mode locked: ${T}`:T==="markdown"?"Markdown mode (click for Rich Text)":"Rich Text mode (click for Markdown)"}),jsxRuntime.jsx("span",{className:"rte-statusbar-label",children:T==="markdown"?"Markdown":"Rich Text"})]}),jsxRuntime.jsxs("div",{className:"rte-statusbar-right",children:[jsxRuntime.jsx(Hr,{size:"sm",checked:Ee,onCheckedChange:We,checkedContent:jsxRuntime.jsx(lucideReact.Eye,{size:10}),uncheckedContent:jsxRuntime.jsx(lucideReact.EyeOff,{size:10}),"aria-label":"Toggle live preview",title:Ee?"Hide preview":"Show live preview"}),jsxRuntime.jsx("span",{className:"rte-statusbar-label",children:"Preview"}),(b||w)&&jsxRuntime.jsx("span",{className:"rte-statusbar-divider"}),b&&jsxRuntime.jsxs("span",{children:[li," words"]}),w&&jsxRuntime.jsxs("span",{children:[si," chars"]})]})]})]})});gr.displayName="RichTextEditor";var km={FilmReel:Qr,MiniPlayer:en,CinePlayer:rn,FileExplorer:pn,Masonry:gn,TypewriterText:Er,CommandPalette:Rr,Timeline:yn,DateTimePicker:Ar,LoginPanel:Ir,RichTextEditor:gr},Fv=km;
127
+ exports.CinePlayer=rn;exports.CommandPalette=Rr;exports.DateTimePicker=Ar;exports.Extras=km;exports.FileExplorer=pn;exports.FilmReel=Qr;exports.LoginPanel=Ir;exports.Masonry=gn;exports.MiniPlayer=en;exports.RichTextEditor=gr;exports.Timeline=yn;exports.TypewriterText=Er;exports.default=Fv;