PageSourceSearch

https://app.alloomi.ai/_next/static/chunks/fe374059.728181ee480c3222.js

js alloomi.ai collected 2026-10-05 14:13:16 UTC 199,076 bytes, 39 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[78364],{76008:(e,t,r)=>{r.d(t,{i1:()=>nD});var n=r(19222),i=r(7620),o=r(77368),l=r(89515),a=r(99250),s=r(69006),d=r(59967),u=r(37812),c=r(77024),h=r(14889),p=r(54314),f=r(9844),g=r(13932),m=r(29709),x=r(66888),b=r(9917),y=r(67637),v=r(54568),w=r(25313),j=r(72973),N=r(4857),C=r(91397),k=r(78347),S=r(7378),A=r(50644),M=r(61201),E=r(56969),L=r(95947),$=r(93035),D=r(58564),I=r(91170),R=r(63785),z=r(83234),F=r(69676),_=r(52915),P=r(45307),B=r(90924),T=r(76439),O=r(60470),H=r(53497),V=r(77094),W=r(99216),U=r(74445),Y=r(34925),X=r(61384),q=r(86753),G=r(36899),K=r(81436),Z=r(44766),J=r(77198),Q=r(67673),ee=r(34827),et=r(86531),er=r(68444),en=r(14476),ei=r(8099),eo=r(49731),el=r(39713),ea=r(34703),es=r(54092),ed=r(59810),eu=r(6211),ec=r(49810),eh=r(9232),ep=r(14645),ef=r(72155),eg=r(93037),em=r(47396),ex=r(27103),eb=r(19920),ey=r(35131),ev=r(26486),ew=r(78920),ej=r(46609);function eN(...e){return(0,y.QP)((0,b.$)(e))}var eC=[{id:"html",label:"Presenter View HTML",desc:"Package as one shareable offline page with built-in presenter controls",icon:o.A},{id:"source-files",label:"HTML Source Files",desc:"Download the deck source files as a ZIP archive",icon:l.A},{id:"pdf",label:"PDF",desc:"Export as a printable PDF document",icon:a.A},{id:"pptx",label:"PPTX",desc:"Export as a PowerPoint file",icon:s.A,soon:!0},{id:"gslides",label:"Google Slides",desc:"Sync to Google Slides",icon:d.A,soon:!0}];function ek({title:e,decks:t=[],currentDeckId:r,onTitleChange:n,onDeckSwitch:o,onDeckImport:l,onDeckImportPath:a,onPresent:s,onExportPdf:d,onExportHtml:g,onExportSourceFiles:m,pdfSlides:b=[],pdfThumbnails:y={},isSaving:w,isSwitchingDeck:j=!1}){let[N,C]=(0,i.useState)(!1),[k,S]=(0,i.useState)(!1),[A,M]=(0,i.useState)(!1),[E,L]=(0,i.useState)(0),$=(0,i.useRef)(null),D=(0,i.useRef)(null),I=(0,i.useRef)(null),R=e||"Untitled presentation",z=t.length>0||!!(a||l);(0,i.useEffect)(()=>{let e=e=>{$.current&&!$.current.contains(e.target)&&C(!1),D.current&&!D.current.contains(e.target)&&S(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let F=(0,i.useCallback)(e=>{e&&L(Math.ceil(e.getBoundingClientRect().width))},[]);return(0,v.jsxs)("header",{className:"px-6 h-14 flex items-center justify-between bg-white border-b border-foreground
1/[0.06]",children:[(0,v.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,v.jsx)("a",{href:"https://github.com/StarryKit/starry-slides",target:"_blank",rel:"noreferrer","aria-label":"Open the Starry Slides GitHub repository",className:"shrink-0 rounded-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-foreground/20",children:(0,v.jsx)("img",{src:"./logo-starry-slides-IRZNWIV7.png",alt:"Starry Slides logo",className:"h-8 rounded-lg object-contain"})}),(0,v.jsx)("div",{className:"w-px h-5 bg-foreground/10"}),(0,v.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,v.jsxs)("div",{className:"relative min-w-0 shrink",children:[(0,v.jsx)("input",{value:e,onChange:e=>n?.(e.target.value),"aria-label":"Deck title",className:"max-w-full min-w-0 flex-none rounded-md bg-transparent px-2 py-1 text-[18px] font-semibold text-foreground outline-none focus:bg-foreground/[0.04]",style:E?{width:`${E}px`}:void 0,placeholder:"Untitled presentation"}),(0,v.jsx)("span",{ref:F,"aria-hidden":"true",className:"pointer-events-none invisible absolute left-0 top-0 whitespace-pre rounded-md px-2 py-1 text-[18px] font-semibold",children:R},R)]}),(0,v.jsxs)("div",{className:"relative shrink-0",ref:D,children:[(0,v.jsx)("button",{type:"button","aria-label":"Switch deck","aria-expanded":k,"aria-haspopup":"menu",disabled:!z||j,onClick:()=>{z&&!j&&S(e=>!e)},className:"flex h-7 w-7 items-center justify-center rounded-md text-foreground/45 transition-colors hover:bg-foreground
1/[0.04] hover:text-foreground disabled:cursor-not-allowed disabled:opacity-35",children:(0,v.jsx)(u.A,{className:eN("h-3.5 w-3.5 transition-transform",k&&"rotate-180")})}),(0,v.jsx)("input",{ref:I,type:"file",multiple:!0,"aria-label":"Import deck folder",className:"hidden",webkitdirectory:"",directory:"",onChange:e=>{let t=e.currentTarget.files;t?.length&&l?.(t),e.currentTarget.value=""}}),k&&(0,v.jsxs)("div",{role:"menu","aria-label":"Local decks",className:"absolute left-0 z-50 mt-1.5 w-[300px] rounded-lg border border-foreground/[0.08] bg-white p-1.5 shadow-[0_4px_20px_rgba(0,0,0,0.06),0_12px_40px_rgba(0,0,0,0.08)] animate-fade-in",children:[(0,v.jsx)("div",{className:"px-2.5 py-1.5 text-[10px] font-medium uppercase tracking-wider text-foreground/40",children:"Local decks"}),t.map(e=>{let t=e.isCurrent||e.id===r;return(0,v.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":t,disabled:t||j,onClick:()=>{S(!1),o?.(e.id)},className:eN("flex w-full items-start gap-2.5 rounded-md px-2.5 py-2 text-left transition-colors",t?"bg-foreground
1/[0.045] text-foreground":"text-foreground/72 hover:bg-foreground/[0.04] hover:text-foreground",j&&"cursor-wait opacity-60"),children:[(0,v.jsx)("span",{className:"mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center",children:t?(0,v.jsx)(c.A,{className:"h-3.5 w-3.5"}):null}),(0,v.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,v.jsx)("span",{className:"block truncate text-[13px] font-medium",children:e.title}),(0,v.jsx)("span",{className:"mt-0.5 block truncate text-[11px] text-foreground/45",children:"."===e.relativePath?e.directoryName:e.relativePath})]})]},e.id)}),a||l?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("div",{className:"my-1 h-px bg-foreground/[0.08]"}),(0,v.jsxs)("button",{type:"button",role:"menuitem",onClick:()=>{(S(!1),a)?a():I.current?.click()},className:"flex w-full items-start gap-2.5 rounded-md px-2.5 py-2 text-left text-foreground/72 transition-colors hover:bg-foreground/[0.04] hover:text-foreground",children:[(0,v.jsx)("span",{className:"mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center",children:(0,v.jsx)(h.A,{className:"h-3.5 w-3.5"})}),(0,v.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,v.jsx)("span",{className:"block truncate text-[13px] font-medium",children:"Open deck path..."}),(0,v.jsx)("span",{className:"mt-0.5 block truncate text-[11px] text-foreground/45",children:"Use an existing folder with manifest.json"})]})]})]}):null]})]})]}),w?(0,v.jsx)("span",{className:"inline-flex h-5 shrink-0 items-center rounded-md border border-foreground
1/[0.08] bg-foreground/[0.03] px-2 text-[10px] font-medium uppercase leading-none tracking-wider text-foreground/45","aria-live":"polite",children:"saving..."}):null]}),(0,v.jsxs)("div",{className:"flex items-center gap-2",children:[(0,v.jsxs)("div",{className:"relative",ref:$,children:[(0,v.jsxs)("button",{type:"button",onClick:()=>C(e=>!e),className:"h-8 px-3 rounded-md flex items-center gap-1.5 text-[13px] text-foreground/70 hover:bg-foreground/[0.04] hover:text-foreground transition-colors",children:[(0,v.jsx)(p.A,{className:"w-3.5 h-3.5"}),(0,v.jsx)("span",{children:"Export"}),(0,v.jsx)(u.A,{className:eN("w-3 h-3 transition-transform",N&&"rotate-180")})]}),N&&(0,v.jsxs)("div",{className:"absolute right-0 mt-1.5 w-[280px] bg-white rounded-xl border border-foreground/[0.08] shadow-[0_4px_20px_rgba(0,0,0,0.06),0_12px_40px_rgba(0,0,0,0.08)] p-1.5 animate-fade-in z-50",children:[(0,v.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-foreground/40 px-2.5 py-1.5 font-medium",children:"Export formats"}),eC.map(e=>{let t=e.icon;return(0,v.jsxs)("button",{type:"button",onClick:()=>{(C(!1),e.soon)?(0,x.toast)(`${e.label} is not available yet.`,{description:"We are still building this export option."}):"pdf"===e.id?M(!0):"html"===e.id?g?.():"source-files"===e.id?m?.():(0,x.toast)(`Exporting as ${e.label}...`)},className:eN("w-full text-left px-2.5 py-2 rounded-md flex items-start gap-2.5 transition-colors",e.soon?"opacity-50 cursor-not-allowed":"hover:bg-foreground
1/[0.04] cursor-pointer"),children:[(0,v.jsx)("div",{className:"w-7 h-7 rounded-md bg-foreground/[0.04] flex items-center justify-center shrink-0 mt-0.5",children:(0,v.jsx)(t,{className:"w-3.5 h-3.5 text-foreground/70"})}),(0,v.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,v.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,v.jsx)("span",{className:"text-[13px] font-medium text-foreground",children:e.label}),e.soon&&(0,v.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-foreground/[0.06] text-foreground/50 uppercase tracking-wider",children:"Soon"})]}),(0,v.jsx)("div",{className:"text-[11px] text-foreground/50 mt-0.5 leading-snug",children:e.desc})]}),!e.soon&&(0,v.jsx)(c.A,{className:"w-3 h-3 text-foreground/0 mt-2"})]},e.id)})]})]}),(0,v.jsxs)("button",{type:"button",onClick:s,className:"h-8 px-3.5 rounded-md flex items-center gap-1.5 text-[13px] font-medium bg-foreground text-background hover:bg-foreground/90 transition-colors",children:[(0,v.jsx)(f.A,{className:"w-3.5 h-3.5"}),(0,v.jsx)("span",{children:"Present"})]})]}),A?(0,v.jsx)(eS,{slides:b,thumbnails:y,onClose:()=>M(!1),onExport:e=>{M(!1),d?.(e)}}):null]})}function eS({slides:e,thumbnails:t,onClose:r,onExport:n}){let o=e.filter(e=>e.file),[s,d]=(0,i.useState)("all"),[u,c]=(0,i.useState)([]),h=new Set(u),p=u.length;return(0,i.useEffect)(()=>{let e=e=>{"Escape"===e.key&&r()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[r]),(0,v.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-foreground
1/20 px-4",onMouseDown:e=>{e.target===e.currentTarget&&r()},children:(0,v.jsxs)("dialog",{open:!0,"aria-modal":"true","aria-labelledby":"pdf-export-title",className:"relative m-0 flex max-h-[86vh] w-full max-w-[680px] flex-col overflow-hidden rounded-lg border border-foreground/[0.08] bg-white p-0 shadow-[0_24px_80px_rgba(0,0,0,0.18)]",children:[(0,v.jsxs)("div",{className:"flex items-center justify-between border-b border-foreground/[0.08] px-4 py-3",children:[(0,v.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[(0,v.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-foreground/[0.05]",children:(0,v.jsx)(a.A,{className:"h-4 w-4 text-foreground/70"})}),(0,v.jsxs)("div",{className:"min-w-0",children:[(0,v.jsx)("h2",{id:"pdf-export-title",className:"text-[14px] font-semibold text-foreground",children:"Export PDF"}),(0,v.jsx)("p",{className:"mt-0.5 text-[11px] text-foreground/50",children:"Choose which slides to include."})]})]}),(0,v.jsx)("button",{type:"button","aria-label":"Close PDF export dialog",onClick:r,className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-foreground/55 transition-colors hover:bg-foreground
1/[0.05] hover:text-foreground",children:(0,v.jsx)(g.A,{className:"h-4 w-4"})})]}),(0,v.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto px-4 py-4",children:[(0,v.jsxs)("fieldset",{className:"space-y-2",children:[(0,v.jsx)("legend",{className:"mb-2 text-[10px] font-medium uppercase tracking-wider text-foreground/45",children:"PDF range"}),(0,v.jsx)(eA,{checked:"all"===s,icon:l.A,label:"All slides",detail:`${o.length} slides`,onChange:()=>d("all")}),(0,v.jsx)(eA,{checked:"selected"===s,icon:m.A,label:"Selected slides",detail:1===p?"1 slide selected":`${p} slides selected`,onChange:()=>d("selected")})]}),"selected"===s?(0,v.jsxs)("div",{className:"mt-4 rounded-md border border-foreground/[0.08]",children:[(0,v.jsx)("div",{className:"border-b border-foreground/[0.08] px-3 py-2 text-[11px] font-medium text-foreground/55",children:"Slides"}),(0,v.jsx)("div",{className:"grid max-h-[360px] grid-cols-2 gap-2 overflow-auto p-2 max-[620px]:grid-cols-1","data-testid":"pdf-slide-picker",children:o.map((e,r)=>{let n=e.file;return n?(0,v.jsxs)("label",{"data-testid":"pdf-slide-option",className:eN("grid cursor-pointer grid-cols-[104px_1fr] gap-2 rounded-md border border-foreground
1/[0.08] bg-white p-2 text-[12px] transition-colors hover:border-foreground/20 hover:bg-foreground/[0.025]",h.has(n)&&"border-foreground/35 bg-foreground/[0.035]"),children:[(0,v.jsx)("div",{className:"relative aspect-[16/9] overflow-hidden rounded border border-foreground/[0.08] bg-white",children:t[e.id]?(0,v.jsx)("img",{alt:`Slide ${r+1} thumbnail`,className:"absolute inset-0 block size-full object-cover",src:t[e.id]}):(0,v.jsxs)("div",{className:"absolute inset-0 flex items-center justify-center text-[10px] text-foreground/25",children:["Slide ",r+1]})}),(0,v.jsx)("div",{className:"flex min-w-0 flex-col justify-between gap-2",children:(0,v.jsxs)("div",{className:"flex items-start gap-2",children:[(0,v.jsx)("input",{type:"checkbox","aria-label":`Select slide ${r+1}`,checked:h.has(n),onChange:e=>{var t;return t=e.target.checked,void c(e=>t?e.includes(n)?e:[...e,n]:e.filter(e=>e!==n))},className:"mt-0.5 h-3.5 w-3.5 shrink-0 accent-foreground"}),(0,v.jsxs)("div",{className:"min-w-0",children:[(0,v.jsx)("div",{className:"font-mono text-[11px] text-foreground/45",children:r+1}),(0,v.jsx)("div",{className:"mt-0.5 line-clamp-2 text-[12px] font-medium leading-snug text-foreground/75",children:e.title})]})]})})]},e.id):null})})]}):null]}),(0,v.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-foreground
1/[0.08] px-4 py-3",children:[(0,v.jsx)("button",{type:"button",onClick:r,className:"h-8 rounded-md px-3 text-[12px] font-medium text-foreground/60 transition-colors hover:bg-foreground/[0.05] hover:text-foreground",children:"Cancel"}),(0,v.jsx)("button",{type:"button",onClick:()=>{if("selected"===s){u.length>0&&n({mode:"slides",slideFiles:u});return}n({mode:"all"})},disabled:!("all"===s||"selected"===s&&p>0),className:"h-8 rounded-md bg-foreground px-3.5 text-[12px] font-medium text-background transition-colors hover:bg-foreground/90 disabled:cursor-not-allowed disabled:opacity-40",children:"Export PDF"})]})]})})}function eA({checked:e,disabled:t,icon:r,label:n,detail:i,onChange:o}){return(0,v.jsxs)("label",{className:eN("flex cursor-pointer items-center gap-3 rounded-md border border-foreground/[0.08] px-3 py-2.5 transition-colors",e&&"border-foreground/30 bg-foreground/[0.035]",t?"cursor-not-allowed opacity-45":"hover:border-foreground/20 hover:bg-foreground/[0.03]"),children:[(0,v.jsx)("input",{type:"radio",name:"pdf-export-scope",checked:e,disabled:t,onChange:o,className:"h-3.5 w-3.5 accent-foreground"}),(0,v.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-foreground
1/[0.05]",children:(0,v.jsx)(r,{className:"h-4 w-4 text-foreground/65"})}),(0,v.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,v.jsx)("div",{className:"text-[13px] font-medium text-foreground",children:n}),(0,v.jsx)("div",{className:"mt-0.5 truncate text-[11px] text-foreground/50",children:i})]})]})}var eM=(0,C.F)("inline-flex shrink-0 items-center justify-center gap-1.5 rounded-md text-[13px] font-medium whitespace-nowrap transition-colors outline-none focus-visible:border-ring focus-visible:ring-[2px] focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",{variants:{variant:{default:"bg-foreground text-background hover:bg-foreground/85",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20",outline:"border border-foreground/[0.08] bg-white text-foreground/70 shadow-none hover:bg-foreground/[0.04] hover:text-foreground",secondary:"bg-foreground
1/[0.06] text-foreground hover:bg-foreground/[0.08]",ghost:"text-foreground/70 hover:bg-foreground/[0.04] hover:text-foreground",link:"text-foreground underline-offset-4 hover:underline"},size:{default:"h-8 px-3 py-1.5 has-[>svg]:px-2.5",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1 rounded-md px-2 has-[>svg]:px-2",lg:"h-10 rounded-md px-4 has-[>svg]:px-3",icon:"size-8","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}}),eE=i.forwardRef(({className:e,variant:t="default",size:r="default",asChild:n=!1,...i},o)=>{let l=n?k.bL:"button";return(0,v.jsx)(l,{"data-slot":"button","data-variant":t,"data-size":r,className:eN(eM({variant:t,size:r,className:e})),ref:o,...i})});function eL({slides:e,startSlideId:t,onExit:r}){let o=(0,i.useMemo)(()=>{let r=e.findIndex(e=>e.id===t);return r>=0?r:0},[e,t]),[l,a]=(0,i.useState)(o),[s,d]=(0,i.useState)("none"),[u,c]=(0,i.useState)("#F59E0B"),[h,p]=(0,i.useState)(!1),[f,m]=(0,i.useState)([]),[x,b]=(0,i.useState)({x:-100,y:-100}),[y,C]=(0,i.useState)(!!document.fullscreenElement),[k,S]=(0,i.useState)(()=>({height:window.innerHeight,width:window.innerWidth})),A=(0,i.useRef)(null),M=(0,i.useRef)(null),E=(0,i.useRef)(null),L=(0,i.useRef)(l),$=(0,i.useRef)(null),D=(0,i.useMemo)(()=>(0,n.We)(e),[e]),I=D[Math.min(l,D.length-1)]??null;(0,i.useEffect)(()=>{let e=D.findIndex(e=>e.id===t);a(e>=0?e:0)},[D,t]),(0,i.useEffect)(()=>{let e=D.findIndex(e=>e.id===I?.id);e>=0&&e!==l&&a(e)},[l,I?.id,D]),(0,i.useEffect)(()=>()=>{E.current&&window.clearTimeout(E.current)},[]),(0,i.useEffect)(()=>{let e=()=>
1{C(!!document.fullscreenElement),S({height:window.innerHeight,width:window.innerWidth})};return window.addEventListener("resize",e),document.addEventListener("fullscreenchange",e),()=>{window.removeEventListener("resize",e),document.removeEventListener("fullscreenchange",e)}},[]);let R=(0,i.useCallback)(()=>{p(!0),E.current&&window.clearTimeout(E.current),E.current=window.setTimeout(()=>{p(!1)},1500)},[]);function z(e){d(t=>t===e?"none":e)}let F=(0,i.useCallback)(()=>{m([]),M.current=null},[]);function _(e){d("none"),a((0,n.iS)(e,D.length)),F()}function P(){M.current=null}if((0,i.useEffect)(()=>{L.current!==l&&(L.current=l,F())},[l,F]),(0,i.useEffect)(()=>{let e=e=>{if("Escape"===e.key){if("pen"===s){d("none"),F(),R();return}r();return}("ArrowRight"===e.key||"ArrowDown"===e.key||"PageDown"===e.key)&&(d("none"),a(e=>Math.min(e+1,D.length-1))),("ArrowLeft"===e.key||"ArrowUp"===e.key||"PageUp"===e.key)&&(d("none"),a(e=>Math.max(e-1,0)))};return window.addEventListener("keydown",e),$.current=e,()=>window.removeEventListener("keydown",e)},[F,r,D.length,R,s]),(0,i.useEffect)(()=>{if(!I)return;let e=A.current?.querySelector("[data-testid='presenter-slide-iframe']");e&&(e.srcdoc=(0,n.bw)(I.htmlSource,I.sourceFile))},[I]),(0,i.useEffect)(()=>{let e=A.current?.querySelector("[data-testid='presenter-slide-iframe']"),t=e?.contentWindow;if(!t)return;let r=e=>{$.current?.(e)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[]),!I)return null;let B=Math.min(k.width/I.width,k.height/I.height),T=Math.max(320,Math.floor(I.width*B)),O=Math.max(240,Math.floor(I.height*B)),H=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6' fill='${encodeURIComponent(u)}' stroke='%23111827' stroke-width='2'/%3E%3C/svg%3E") 12 12, auto`;return(0,v.jsxs)("main",{className:"fixed inset-0 z-50 overflow-hidden bg-[#111]","data-testid":"presenter-view",style:{cursor:"laser"===s?"none":"pen"===s?H:"default"},onPointerMove:function(e){if(e.clientY>=window.innerHeight-96&&R(),"laser"===s&&b({x:e.clientX,y:e.clientY}),"pen"===s&&M.current){let t=A.current,r=t?.getBoundingClientRect();if(t&&r){let t=Math.min(Math.max(e.clientX-r.left,0),r.width)/B,n=Math.min(Math.max(e.clientY-r.top,0),r.height)/B,i={...M.current,points:`${M.current.points} L ${t.toFixed(1)} ${n.toFixed(1)}`};M.current=i,m(e=>[...e.slice(0,-1),i])}}},onPointerDown:function(e){if("pen"!==s||!A.current||!(e.target instanceof Node)||!A.current.contains(e.target))return;let t=A.current.getBoundingClientRect();if(!(e.clientX>=t.left&&e.clientX<=t.right&&e.clientY>=t.top&&e.clientY<=t.bottom))return;let r=Math.min(Math.max(e.clientX-t.left,0),t.width)/B,n=Math.min(Math.max(e.clientY-t.top,0),t.height)/B,i={color:u,points:`M ${r.toFixed(1)} ${n.toFixed(1)}`};M.current=i,m(e=>[...e,i])},onPointerUp:function(e){P(),"none"===s&&A.current&&e.target instanceof Node&&A.current.contains(e.target)&&_(l+1)},onPointerLeave:P,children:[(0,v.jsxs)("div",{ref:A,className:"absolute left-1/2 top-1/2 overflow-hidden bg-white shadow-[0_18px_70px_rgba(0,0,0,0.42)]","data-testid":"presenter-slide-frame",style:{width:`${T}px`,height:`${O}px`,transform:"translate(-50%, -50%)"},children:[(0,v.jsx)("iframe",{title:"Presented slide",className:"pointer-events-none block border-0 bg-white","data-testid":"presenter-slide-iframe",style:{width:`${I.width}px`,height:`${I.height}px`,transform:`scale(${B})`,transformOrigin:"top left"}}),(0,v.jsx)("svg",{className:"pointer-events-none absolute inset-0 h-full w-full overflow-visible","data-testid":"presenter-ink-layer","aria-hidden":"true",viewBox:`0 0 ${I.width} ${I.height}`,children:f.map((e,t)=>(0,v.jsx)("path",{d:e.points,fill:"none",stroke:e.color,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:4},`${e.color}-${t}`))})]}),(0,v.jsx)("div",{className:"pointer-events-none fixed left-0 top-0 size-4 rounded-full bg-[#f7ff2a] shadow-[0_0_0_1px_rgba(17,24,39,0.85),0_0_14px_rgba(247,255,42,0.9),0_0_24px_rgba(34,211,238,0.65)]","data-testid":"presenter-laser-cursor",style:{opacity:+("laser"===s),transform:`translate(${x.x}px, ${x.y}px) translate(-50%, -50%)`}}),"pen"===s?(0,v.jsx)("div",{className:"absolute bottom-[78px] left-1/2 z-20 flex -translate-x-1/2 items-center gap-2 rounded-md border border-white/15 bg-[#111]/90 px-2 py-2 shadow-[0_14px_44px_rgba(0,0,0,0.32)] backdrop-blur-lg","data-testid":"presenter-pen-colors","aria-label":"Pen colors",children:n.Au.map(e=>(0,v.jsx)("button",{type:"button","aria-label":`Use pen color ${e}`,className:"size-7 rounded-full border border-white/25 shadow-[0_0_0_1px_rgba(0,0,0,0.25)] transition-transform hover:scale-105",style:{background:e,outline:u===e?"2px solid rgba(255,255,255,0.9)":"none",outlineOffset:"2px"},onClick:()=>c(e)},e))}):null,(0,v.jsxs)("nav",{className:"absolute bottom-6 left-1/2 z-20 flex h-11 -translate-x-1/2 items-center gap-2 rounded-md border border-white/15 bg-[#111]/90 px-2 py-1.5 text-white shadow-[0_18px_52px_rgba(0,0,0,0.38)] backdrop-blur-lg transition-[opacity,transform] duration-150 data-[visible=false]:translate-y-3 data-[visible=false]:opacity-0 data-[visible=false]:pointer-events-none","data-testid":"presenter-toolbar","data-visible":h?"true":"false",onPointerEnter:R,onPointerMove:R,children:[(0,v.jsx)(eE,{variant:"ghost",size:"sm","aria-label":"Previous slide",className:"h-8 px-2.5 text-white/80 hover:text-white",onClick:()=>_(l-1),disabled:0===l,children:"Prev"}),(0,v.jsxs)("span",{className:"min-w-14 text-center text-[12px] font-semibold text-white/80",children:[l+1," / ",D.length]}),(0,v.jsx)(eE,{variant:"ghost",size:"sm","aria-label":"Next slide",className:"h-8 px-2.5 text-white/80 hover:text-white",onClick:()=>_(l+1),disabled:l>=D.length-1,children:"Next"}),(0,v.jsx)("span",{className:"h-5 w-px bg-white/15"}),(0,v.jsxs)(eE,{variant:"laser"===s?"secondary":"ghost",size:"sm","aria-label":"Laser pointer",className:"h-8 px-2.5 text-white/80 hover:text-white",onClick:()=>z("laser"),"aria-pressed":"laser"===s,children:[(0,v.jsx)(w.A,{className:"size-3.5"}),"Laser"]}),(0,v.jsxs)(eE,{variant:"pen"===s?"secondary":"ghost",size:"sm","aria-label":"Pen",className:"h-8 px-2.5 text-white/80 hover:text-white",onClick:()=>z("pen"),"aria-pressed":"pen"===s,children:[(0,v.jsx)(j.A,{className:"size-3.5"}),"Pen"]}),(0,v.jsxs)(eE,{variant:"ghost",size:"sm","aria-label":y?"Exit fullscreen":"Enter fullscreen",className:"h-8 px-2.5 text-white/80 hover:text-white",onClick:function(){let e=document.documentElement;document.fullscreenElement?document.exitFullscreen?.():e.requestFullscreen&&e.requestFullscreen()},children:[(0,v.jsx)(N.A,{className:"size-3.5"}),y?"Window":"Fullscreen"]}),(0,v.jsx)("span",{className:"h-5 w-px bg-white/15"}),(0,v.jsxs)(eE,{variant:"ghost",size:"sm","aria-label":"Exit presentation",className:"h-8 px-2.5 text-white/80 hover:text-white",onClick:r,children:[(0,v.jsx)(g.A,{className:"size-3.5"}),"Exit"]})]})]})}function e$({...e}){return(0,v.jsx)(I.bL,{"data-slot":"context-menu",...e})}function eD({...e}){return(0,v.jsx)(I.l9,{"data-slot":"context-menu-trigger",...e})}function eI({...e}){return(0,v.jsx)(I.Pb,{"data-slot":"context-menu-sub",...e})}function eR({className:e,inset:t,children:r,...n}){return(0,v.jsxs)(I.ZP,{"data-slot":"context-menu-sub-trigger","data-inset":t,className:eN("flex cursor-default select-none items-center gap-2 rounded-md px-2 py-1.5 text-[13px] outline-hidden focu
1s:bg-foreground/[0.04] data-[state=open]:bg-foreground/[0.04] data-[inset=true]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",e),...n,children:[r,(0,v.jsx)(D.A,{className:"ml-auto size-3.5 text-foreground/40"})]})}function ez({className:e,...t}){return(0,v.jsx)(I.G5,{"data-slot":"context-menu-sub-content",className:eN("z-50 min-w-44 rounded-md border border-foreground/[0.08] bg-white p-1.5 text-popover-foreground shadow-[0_4px_20px_rgba(0,0,0,0.06),0_12px_40px_rgba(0,0,0,0.08)] outline-hidden data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function eF({className:e,...t}){return(0,v.jsx)(I.ZL,{children:(0,v.jsx)(I.UC,{"data-slot":"context-menu-content",className:eN("z-50 min-w-48 rounded-md border border-foreground/[0.08] bg-white p-1.5 text-popover-foreground shadow-[0_4px_20px_rgba(0,0,0,0.06),0_12px_40px_rgba(0,0,0,0.08)] outline-hidden data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})})}function e_({className:e,inset:t,variant:r="default",...n}){return(0,v.jsx)(I.q7,{"data-slot":"context-menu-item","data-inset":t,"data-variant":r,className:eN("relative flex cursor-default select-none items-center gap-2 rounded-md px-2 py-1.5 text-[13px] text-foreground/75 outline-hidden transition-colors focus:bg-foreground
1/[0.04] focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-45 data-[inset=true]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",e),...n})}function eP({className:e,...t}){return(0,v.jsx)(I.wv,{"data-slot":"context-menu-separator",className:eN("-mx-1 my-1 h-px bg-foreground/10",e),...t})}function eB({className:e,...t}){return(0,v.jsx)("span",{"data-slot":"context-menu-shortcut",className:eN("ml-auto text-[11px] tracking-normal text-foreground/40",e),...t})}function eT({className:e,type:t,...r}){return(0,v.jsx)("input",{type:t,"data-slot":"input",className:eN("h-8 w-full min-w-0 rounded-md border border-foreground/[0.08] bg-foreground/[0.03] px-2 py-1 text-sm shadow-none transition-colors outline-none selection:bg-foreground selection:text-background file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-foreground/35 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50","hover:bg-foreground
1/[0.04] focus-visible:border-foreground/20 focus-visible:bg-white focus-visible:ring-[2px] focus-visible:ring-ring/35","aria-invalid:border-destructive aria-invalid:ring-destructive/20",e),...r})}function eO({slides:e,activeSlideId:t,slideCount:r,thumbnails:n,onSelectSlide:o,onAdd:l,onAddSlideAbove:a,onAddSlideBelow:s,onDuplicate:d,onDelete:u,onToggleHidden:c,onRename:h,onReorder:p,onSlideFocusChange:f,onSidebarFocusChange:g}){let[m,x]=(0,i.useState)(null),[b,y]=(0,i.useState)(null),[w,j]=(0,i.useState)(null),[N,C]=(0,i.useState)(""),k=(0,i.useRef)(!1),D=m?e.findIndex(e=>e.id===m):-1,I=w?e.find(e=>e.id===w):null,R=(0,i.useCallback)(e=>{e?.scrollIntoView({block:"nearest",inline:"nearest"}),e&&document.activeElement?.closest('[data-testid="slide-card"]')&&e.focus(),e&&k.current&&e.focus()},[]),z=(0,i.useCallback)((t,r)=>{if(!t||null===r){x(null),y(null);return}let n=e.findIndex(e=>e.id===t);n>=0&&n!==r&&p?.(t,r),x(null),y(null)},[p,e]),F=(0,i.useCallback)(e=>{j(e.id),C(e.title||"Untitled Slide"),o(e.id)},[o]),_=(0,i.useCallback)(()=>{j(null),C("")},[]),P=(0,i.useCallback)(()=>{w&&(h?.(w,N),_())},[_,h,w,N]);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("aside",{className:"flex h-[calc(100vh-3.5rem)] w-[212px] shrink-0 flex-col border-r border-foreground
1/[0.06] bg-white","data-testid":"slide-sidebar",onFocus:()=>g?.(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||g?.(!1)},children:(0,v.jsxs)("div",{className:"flex h-full min-h-0 w-full min-w-0 flex-col","data-testid":"slide-sidebar-panel",children:[(0,v.jsxs)("div",{className:"flex h-10 items-center justify-between border-b border-foreground/[0.06] px-3",children:[(0,v.jsxs)("div",{className:"text-[11px] font-medium uppercase tracking-wider text-foreground/50","data-testid":"slide-count",children:[(0,v.jsx)("span",{className:"tabular-nums",children:r})," slides"]}),(0,v.jsx)("button",{onClick:l,className:"flex size-7 items-center justify-center rounded-md text-foreground/50 transition-colors hover:bg-foreground/[0.06] hover:text-foreground",type:"button",title:"Add slide","aria-label":"Add slide",children:(0,v.jsx)(S.A,{className:"size-3.5"})})]}),(0,v.jsx)("div",{className:"min-h-0 flex-1 space-y-2.5 overflow-y-auto px-2 py-2.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden","data-testid":"slide-list",onBlur:e=>{let t=e.currentTarget,r=e.relatedTarget;r instanceof Node&&e.currentTarget.contains(r)||(f?.(!1),window.requestAnimationFrame(()=>{let e=document.activeElement;!(e instanceof Node&&t.contains(e))&&e&&e!==document.body&&(k.current=!1)}))},children:e.map((r,i)=>{let l=r.id===t,h=!0===r.hidden,p=r.id===m,g=D>=0&&b===i&&i<D&&m!==r.id,w=D>=0&&b===i&&i>D&&m!==r.id;return(0,v.jsxs)(e$,{children:[(0,v.jsx)(eD,{asChild:!0,children:(0,v.jsxs)("div",{draggable:!0,onDragStart:e=>{x(r.id),y(i),e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",r.id)},onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect="move",y(i)},onDrop:e=>{e.preventDefault(),e.stopPropagation(),z(e.dataTransfer.getData("text/plain")||m,i)},onDragEnd:()=>{x(null),y(null)},className:eN("group relative flex cursor-grab items-stretch gap-1.5 rounded-lg active:cursor-grabbing",p&&"opacity-60"),"data-testid":"slide-card",children:[g?(0,v.jsx)(eV,{}):null,(0,v.jsx)("div",{className:eN("flex w-5 items-start justify-center pt-2 text-[11px] font-semibold tabular-nums transition-colors",l?"text-foreground":"text-foreground/55 group-hover:text-foreground/75"),children:i+1}),(0,v.jsxs)("div",{className:eN("relative flex-1 overflow-hidden rounded-lg ring-1 ring-inset transition-all",l?"shadow-[0_0_0_2px_var(--background),0_0_0_3px_var(--foreground)] ring-foreground":"ring-foreground/30 shadow-[0_0_0_1px_rgba(0,0,0,0.05),0_1px_3px_rgba(0,0,0,0.04)] hover:ring-foreground/45",h&&"opacity-40"),children:[(0,v.jsx)("button",{ref:l?R:null,className:"block w-full text-left focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",onClick:()=>o(r.id),onFocus:()=>{k.current=!0,f?.(!0)},type:"button","aria-label":`Slide ${i+1}`,"aria-current":l?"true":void 0,children:(0,v.jsxs)("div",{className:"relative aspect-[16/9] w-full bg-white","data-testid":"slide-thumbnail",children:[n[r.id]?(0,v.jsx)("img",{alt:`Slide ${i+1}`,className:"absolute inset-0 block size-full object-cover",src:n[r.id]}):(0,v.jsxs)("div",{className:"absolute inset-0 flex items-center justify-center text-[10px] text-foreground/20",children:["Slide ",i+1]}),h?(0,v.jsx)("div",{className:"absolute left-1 top-1 flex size-4 items-center justify-center rounded bg-foreground
1/80 text-background","data-testid":"slide-hidden-indicator",children:(0,v.jsx)(A.A,{className:"size-2.5"})}):null]})}),(0,v.jsx)("div",{className:"h-6 border-t border-foreground/[0.04] bg-white",children:(0,v.jsx)("button",{className:"h-full w-full truncate rounded-b-lg px-2 text-left text-[11px] text-foreground/60 focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring",type:"button",onClick:()=>o(r.id),onFocus:()=>{k.current=!0,f?.(!0)},onDoubleClick:()=>F(r),"aria-label":`Slide title: ${r.title||"Untitled Slide"}`,children:r.title||"Untitled Slide"})})]}),w?(0,v.jsx)(eV,{position:"after"}):null]})}),(0,v.jsxs)(eF,{"aria-label":"Slide actions",className:"min-w-36",children:[(0,v.jsxs)(e_,{onSelect:()=>a?.(r.id),children:[(0,v.jsx)(S.A,{className:"size-3.5"}),"Add Slide Above"]}),(0,v.jsxs)(e_,{onSelect:()=>s?.(r.id),children:[(0,v.jsx)(S.A,{className:"size-3.5"}),"Add Slide Below"]}),(0,v.jsx)(eP,{}),(0,v.jsxs)(e_,{onSelect:()=>d?.(r.id),children:[(0,v.jsx)(M.A,{className:"size-3.5"}),"Duplicate"]}),(0,v.jsxs)(e_,{onSelect:()=>F(r),children:[(0,v.jsx)(E.A,{className:"size-3.5"}),"Rename"]}),(0,v.jsxs)(e_,{onSelect:()=>c?.(r.id),children:[h?(0,v.jsx)(L.A,{className:"size-3.5"}):(0,v.jsx)(A.A,{className:"size-3.5"}),h?"Show":"Hide"]}),(0,v.jsx)(eP,{}),(0,v.jsxs)(e_,{disabled:e.length<=1,variant:"destructive",onSelect:()=>u?.(r.id),children:[(0,v.jsx)($.A,{className:"size-3.5"}),"Delete"]})]})]},r.id)})})]})}),I?(0,v.jsx)(eH,{draft:N,slideTitle:I.title||"Untitled Slide",onCancel:_,onChange:C,onSave:P}):null]})}function eH({draft:e,slideTitle:t,onCancel:r,onChange:n,onSave:o}){let l=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=window.requestAnimationFrame(()=>{l.current?.focus(),l.current?.select()}),t=e=>{"Escape"===e.key&&r()};return document.addEventListener("keydown",t),()=>{window.cancelAnimationFrame(e),document.removeEventListener("keydown",t)}},[r]),(0,v.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-foreground
1/20 px-4",onMouseDown:e=>{e.target===e.currentTarget&&r()},children:(0,v.jsx)("dialog",{open:!0,"aria-modal":"true","aria-labelledby":"rename-slide-title",className:"relative m-0 w-full max-w-[420px] overflow-hidden rounded-lg border border-foreground/[0.08] bg-white p-0 shadow-[0_24px_80px_rgba(0,0,0,0.18)]","data-testid":"rename-slide-dialog",children:(0,v.jsxs)("form",{onSubmit:e=>{e.preventDefault(),o()},children:[(0,v.jsxs)("div",{className:"border-b border-foreground/[0.08] px-4 py-3",children:[(0,v.jsx)("h2",{id:"rename-slide-title",className:"text-[14px] font-semibold text-foreground",children:"Rename slide"}),(0,v.jsx)("p",{className:"mt-0.5 truncate text-[11px] text-foreground/50",children:t})]}),(0,v.jsxs)("div",{className:"space-y-2 px-4 py-4",children:[(0,v.jsx)("label",{htmlFor:"rename-slide-input",className:"text-[12px] font-medium text-foreground",children:"Slide name"}),(0,v.jsx)(eT,{ref:l,id:"rename-slide-input",value:e,onChange:e=>n(e.target.value)})]}),(0,v.jsxs)("div",{className:"flex justify-end gap-2 border-t border-foreground
1/[0.08] px-4 py-3",children:[(0,v.jsx)(eE,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),(0,v.jsx)(eE,{type:"submit",children:"Save"})]})]})})})}function eV({position:e="before"}){return(0,v.jsxs)("div",{className:eN("pointer-events-none absolute left-6 right-1 z-10 flex h-3 items-center","before"===e?"-top-[11px]":"-bottom-[11px]"),"data-testid":"slide-insertion-marker",children:[(0,v.jsx)("span",{className:"size-2 rounded-full bg-foreground/55"}),(0,v.jsx)("span",{className:"h-0.5 flex-1 rounded-full bg-foreground/55"})]})}eE.displayName="Button";var eW="#ef4444";function eU(e,t,r,n,i){return Math.max(e,r)-Math.min(t,n)<=i}function eY(e){return encodeURIComponent(`<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><g fill="none">${e}</g></svg>`)}var eX={"top-left":eY('<path d="M9.25586 18.0001H10C10 16.7304 9.98325 15.7073 10.2217 14.8174L10.3477 14.4024C11.0437 12.3601 12.7151 10.7853 14.8174 10.2217L15.1572 10.1436C15.9666 9.98704 16.8889 10.0001 18 10.0001V9.25591C18.0006 7.85135 19.5606 7.03837 20.7041 7.78814L20.8135 7.86529V7.86627L24.4014 10.6104C25.316 11.3106 25.3174 12.689 24.4014 13.3897L20.8135 16.1338V16.1348C19.6622 17.0148 18.0006 16.1934 18 14.7442V14.0001C16.4717 14.0001 16.1053 14.0173 15.8525 14.085C14.9903 14.3163 14.3162 14.9903 14.085 15.8526C14.0172 16.1054 14 16.4717 14 18.0001H14.7441V19.0001H13.0059C13.0025 18.7242 13 18.3961 13 18.0001C13 16.541 13.0085 16.0068 13.1191 15.5938C13.4429 14.3864 14.3864 13.4429 15.5938 13.1192C16.0067 13.0085 16.5409 13.0001 18 13.0001C18.3961 13.0001 18.7241 13.0028 19 13.0059V14.7442C19.0002 15.3652 19.7126 15.7172 20.2061 15.3399L23.7939 12.5958C24.1864 12.2956 24.1862 11.7046 23.7939 11.4044L20.2061 8.66021C19.7127 8.28343 19.0003 8.63508 19 9.25591V11.003C18.6975 10.9998 18.3665 11.0001 18 11.0001C16.6696 11.0001 15.8076 10.9916 15.0762 11.1876C13.1786 11.6962 11.6962 13.1787 11.1875 15.0762C10.9915 15.8076 11 16.6697 11 18.0001C11 18.3665 11.0007 18.6976 11.0039 19.0001H9.25586C8.63503 19.0004 8.28338 19.7127 8.66016 20.2061L11.4043 23.794C11.7045 24.1862 12.2956 24.1864 12.5957 23.794L15.3398 20.2061C15.7171 19.7127 15.3652 19.0003 14.7441 19.0001V18.0001C16.1933 18.0006 17.0147 19.6623 16.1348 20.8135H16.1338L13.3897 24.4014C12.6889 25.3174 11.3105 25.3161 10.6104 24.4014L7.86621 20.8135H7.86524C6.98648 19.663 7.8061 18.0007 9.25586 18.0001Z" fill="#fff" filter="url(#rtl-shadow)"/><path d="M19 9.2559C19.0003 8.63502 19.7127 8.28335 20.2061 8.6602L23.794 11.4043C24.1862 11.7046 24.1864 12.2956 23.794 12.5957L20.2061 15.3399C19.7127 15.7171 19.0003 15.3652 19 14.7442V13.0059C18.7242 13.0027 18.3961 13 18 13C16.5409 13 16.0068 13.0085 15.5938 13.1192C14.3864 13.4429 13.4429 14.3864 13.1192 15.5938C13.0085 16.0068 13 16.5409 13 18C13 18.3961 13.0026 18.7242 13.0059 19H14.7442C15.3652 19.0003 15.7171 19.7127 15.3399 20.2061L12.5957 23.794C12.2956 24.1864 11.7046 24.1862 11.4043 23.794L8.6602 20.2061C8.28335 19.7127 8.63503 19.0003 9.2559 19H11.0039C11.0007 18.6976 11 18.3665 11 18C11 16.6696 10.9916 15.8076 11.1875 15.0762C11.6962 13.1786 13.1786 11.6962 15.0762 11.1875C15.8076 10.9916 16.6696 11 18 11C18.3665 11 18.6976 10.9997 19 11.003V9.2559Z" fill="#000"/><defs><filter id="rtl-shadow" x="6.503" y="7.503" width="19.585" height="19.585" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation=".5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/><feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/></filter></defs>'),"top-right":eY('<path d="M22.7441 18.0001H22C22 16.7304 22.0168 15.7073 21.7783 14.8174L21.6523 14.4024C20.9563 12.3601 19.2849 10.7853 17.1826 10.2217L16.8428 10.1436C16.0334 9.98704 15.1111 10.0001 14 10.0001V9.25591C13.9994 7.85135 12.4394 7.03837 11.2959 7.78814L11.1865 7.86529V7.86627L7.59863 10.6104C6.68398 11.3106 6.68261 12.689 7.59863 13.3897L11.1865 16.1338V16.1348C12.3378 17.0148 13.9994 16.1934 14 14.7442V14.0001C15.5283 14.0001 15.8947 14.0173 16.1475 14.085C17.0097 14.3163 17.6838 14.9903 17.915 15.8526C17.9828 16.1054 18 16.4717 18 18.0001H17.2559V19.0001H18.9941C18.9975 18.7242 19 18.3961 19 18.0001C19 16.541 18.9915 16.0068 18.8809 15.5938C18.5571 14.3864 17.6136 13.4429 16.4062 13.1192C15.9933 13.0085 15.4591 13.0001 14 13.0001C13.6039 13.0001 13.2759 13.0028 13 13.0059V14.7442C12.9998 15.3652 12.2874 15.7172 11.7939 15.3399L8.20605 12.5958C7.81365 12.2956 7.81382 11.7046 8.20605 11.4044L11.7939 8.66021C12.2873 8.28343 12.9997 8.63508 13 9.25591V11.003C13.3025 10.9998 13.6335 11.0001 14 11.0001C15.3304 11.0001 16.1924 10.9916 16.9238 11.1876C18.8214 11.6962 20.3038 13.1787 20.8125 15.0762C21.0085 15.8076 21 16.6697 21 18.0001C21 18.3665 20.9993 18.6976 20.9961 19.0001H22.7441C23.365 19.0004 23.7166 19.7127 23.3398 20.2061L20.5957 23.794C20.2955 24.1862 19.7044 24.1864 19.4043 23.794L16.6602 20.2061C16.2829 19.7127 16.6348 19.0003 17.2559 19.0001V18.0001C15.8067 18.0006 14.9853 19.6623 15.8652 20.8135H15.8662L18.6103 24.4014C19.3111 25.3174 20.6895 25.3161 21.3896 24.4014L24.1338 20.8135H24.1348C25.
10135 19.663 24.1939 18.0007 22.7441 18.0001Z" fill="#fff" filter="url(#rtr-shadow)"/><path d="M13 9.2559C12.9997 8.63502 12.2873 8.28335 11.7939 8.6602L8.20604 11.4043C7.81381 11.7046 7.81363 12.2956 8.20604 12.5957L11.7939 15.3399C12.2873 15.7171 12.9997 15.3652 13 14.7442V13.0059C13.2758 13.0027 13.6039 13 14 13C15.4591 13 15.9932 13.0085 16.4062 13.1192C17.6136 13.4429 18.5571 14.3864 18.8808 15.5938C18.9915 16.0068 19 16.5409 19 18C19 18.3961 18.9974 18.7242 18.9941 19H17.2558C16.6348 19.0003 16.2829 19.7127 16.6601 20.2061L19.4043 23.794C19.7044 24.1864 20.2954 24.1862 20.5957 23.794L23.3398 20.2061C23.7166 19.7127 23.365 19.0003 22.7441 19H20.9961C20.9993 18.6976 21 18.3665 21 18C21 16.6696 21.0084 15.8076 20.8125 15.0762C20.3038 13.1786 18.8214 11.6962 16.9238 11.1875C16.1924 10.9916 15.3304 11 14 11C13.6335 11 13.3024 10.9997 13 11.003V9.2559Z" fill="#000"/><defs><filter id="rtr-shadow" x="5.912" y="7.503" width="19.585" height="19.585" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation=".5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/><feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/></filter></defs>'),"bottom-right":eY('<path d="M22.7441 13.9999H22C22 15.2696 22.0168 16.2927 21.7783 17.1826L21.6523 17.5976C20.9563 19.6399 19.2849 21.2147 17.1826 21.7783L16.8428 21.8564C16.0334 22.013 15.1111 21.9999 14 21.9999V22.7441C13.9994 24.1486 12.4394 24.9616 11.2959 24.2119L11.1865 24.1347V24.1337L7.59863 21.3896C6.68398 20.6894 6.68261 19.311 7.59863 18.6103L11.1865 15.8662V15.8652C12.3378 14.9852 13.9994 15.8066 14 17.2558V17.9999C15.5283 17.9999 15.8947 17.9827 16.1475 17.915C17.0097 17.6837 17.6838 17.0097 17.915 16.1474C17.9828 15.8946 18 15.5283 18 13.9999H17.2559V12.9999H18.9941C18.9975 13.2758 19 13.6039 19 13.9999C19 15.459 18.9915 15.9932 18.8809 16.4062C18.5571 17.6136 17.6136 18.5571 16.4062 18.8808C15.9933 18.9915 15.4591 18.9999 14 18.9999C13.6039 18.9999 13.2759 18.9972 13 18.9941V17.2558C12.9998 16.6348 12.2874 16.2828 11.7939 16.6601L8.20605 19.4042C7.81365 19.7044 7.81382 20.2954 8.20605 20.5956L11.7939 23.3398C12.2873 23.7166 12.9997 23.3649 13 22.7441V20.997C13.3025 21.0002 13.6335 20.9999 14 20.9999C15.3304 20.9999 16.1924 21.0084 16.9238 20.8124C18.8214 20.3038 20.3038 18.8213 20.8125 16.9238C21.0085 16.1924 21 15.3303 21 13.9999C21 13.6335 20.9993 13.3024 20.9961 12.9999H22.7441C23.365 12.9996 23.7166 12.2873 23.3398 11.7939L20.5957 8.206C20.2955 7.81377 19.7044 7.81359 19.4043 8.206L16.6602 11.7939C16.2829 12.2873 16.6348 12.9997 17.2559 12.9999V13.9999C15.8067 13.9994 14.9853 12.3377 15.8652 11.1865H15.8662L18.6103 7.59858C19.3111 6.68256 20.6895 6.68393 21.3896 7.59858L24.1338 11.1865H24.1348C25.0135 12.337 24.1939 13.9993 22.7441 13.9999Z" fill="#fff" filter="url(#rbr-shadow)"/><path d="M13 22.7441C12.9997 23.365 12.2873 23.7166 11.7939 23.3398L8.20604 20.5957C7.81381 20.2954 7.81363 19.7044 8.20604 19.4043L11.7939 16.6601C12.2873 16.2829 12.9997 16.6348 13 17.2558V18.9941C13.2758 18.9973 13.6039 19 14 19C15.4591 19 15.9932 18.9915 16.4062 18.8808C17.6136 18.5571 18.5571 17.6136 18.8808 16.4062C18.9915 15.9932 19 15.4591 19 14C19 13.6039 18.9974 13.2758 18.9941 13H17.2558C16.6348 12.9997 16.2829 12.2873 16.6601 11.7939L19.4043 8.20604C19.7044 7.81363 20.2954 7.81381 20.5957 8.20604L23.3398 11.7939C23.7166 12.2873 23.365 12.9997 22.7441 13H20.9961C20.9993 13.3024 21 13.6335 21 14C21 15.3304 21.0084 16.1924 20.8125 16.9238C20.3038 18.8214 18.8214 20.3038 16.9238 20.8125C16.1924 21.0084 15.3304 21 14 21C13.6335 21 13.3024 21.0003 13 20.997V22.7441Z" fill="#000"/><defs><filter id="rbr-shadow" x="5.912" y="6.912" width="19.585" height="19.585" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation=".5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
1<feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/><feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/></filter></defs>'),"bottom-left":eY('<path d="M9.25586 13.9999H10C10 15.2696 9.98325 16.2927 10.2217 17.1826L10.3477 17.5976C11.0437 19.6399 12.7151 21.2147 14.8174 21.7783L15.1572 21.8564C15.9666 22.013 16.8889 21.9999 18 21.9999V22.7441C18.0006 24.1486 19.5606 24.9616 20.7041 24.2119L20.8135 24.1347V24.1337L24.4014 21.3896C25.316 20.6894 25.3174 19.311 24.4014 18.6103L20.8135 15.8662V15.8652C19.6622 14.9852 18.0006 15.8066 18 17.2558V17.9999C16.4717 17.9999 16.1053 17.9827 15.8525 17.915C14.9903 17.6837 14.3162 17.0097 14.085 16.1474C14.0172 15.8946 14 15.5283 14 13.9999H14.7441V12.9999H13.0059C13.0025 13.2758 13 13.6039 13 13.9999C13 15.459 13.0085 15.9932 13.1191 16.4062C13.4429 17.6136 14.3864 18.5571 15.5938 18.8808C16.0067 18.9915 16.5409 18.9999 18 18.9999C18.3961 18.9999 18.7241 18.9972 19 18.9941V17.2558C19.0002 16.6348 19.7126 16.2828 20.2061 16.6601L23.7939 19.4042C24.1864 19.7044 24.1862 20.2954 23.7939 20.5956L20.2061 23.3398C19.7127 23.7166 19.0003 23.3649 19 22.7441V20.997C18.6975 21.0002 18.3665 20.9999 18 20.9999C16.6696 20.9999 15.8076 21.0084 15.0762 20.8124C13.1786 20.3038 11.6962 18.8213 11.1875 16.9238C10.9915 16.1924 11 15.3303 11 13.9999C11 13.6335 11.0007 13.3024 11.0039 12.9999H9.25586C8.63503 12.9996 8.28338 12.2873 8.66016 11.7939L11.4043 8.206C11.7045 7.81377 12.2956 7.81359 12.5957 8.206L15.3398 11.7939C15.7171 12.2873 15.3652 12.9997 14.7441 12.9999V13.9999C16.1933 13.9994 17.0147 12.3377 16.1348 11.1865H16.1338L13.3897 7.59858C12.6889 6.68256 11.3105 6.68393 10.6104 7.59858L7.86621 11.1865H7.86524C6.98648 12.337 7.8061 13.9993 9.25586 13.9999Z" fill="#fff" filter="url(#rbl-shadow)"/><path d="M19 22.7441C19.0003 23.365 19.7127 23.7166 20.2061 23.3398L23.794 20.5957C24.1862 20.2954 24.1864 19.7044 23.794 19.4043L20.2061 16.6601C19.7127 16.2829 19.0003 16.6348 19 17.2558V18.9941C18.7242 18.9973 18.3961 19 18 19C16.5409 19 16.0068 18.9915 15.5938 18.8808C14.3864 18.5571 13.4429 17.6136 13.1192 16.4062C13.0085 15.9932 13 15.4591 13 14C13 13.6039 13.0026 13.2758 13.0059 13H14.7442C15.3652 12.9997 15.7171 12.2873 15.3399 11.7939L12.5957 8.20604C12.2956 7.81363 11.7046 7.81381 11.4043 8.20604L8.6602 11.7939C8.28335 12.2873 8.63503 12.9997 9.2559 13H11.0039C11.0007 13.3024 11 13.6335 11 14C11 15.3304 10.9916 16.1924 11.1875 16.9238C11.6962 18.8214 13.1786 20.3038 15.0762 20.8125C15.8076 21.0084 16.6696 21 18 21C18.3665 21 18.6976 21.0003 19 20.997V22.7441Z" fill="#000"/><defs><filter id="rbl-shadow" x="6.503" y="6.912" width="19.585" height="19.585" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation=".5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/><feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/></filter></defs>')};function eq({selectionBounds:e,snapGuides:t,resizeHandles:r,rotationZones:n,onResizeHandleMouseDown:i,onCornerRotationZoneMouseDown:o}){return(0,v.jsxs)(v.Fragment,{children:[t.map((e,t)=>{let r="spacing"===e.variant?"2px":"1px",n="spacing"===e.variant?2:1,i="vertical"===e.orientation,o=i?{left:`${e.start.x}px`,top:`${Math.min(e.start.y,e.end.y)}px`,width:"0",height:`${Math.max(Math.abs(e.end.y-e.start.y),32)}px`,borderLeftWidth:r,borderLeftStyle:"solid",borderLeftColor:eW,opacity:"spacing"===e.variant?.9:.82}:{left:`${Math.min(e.start.x,e.end.x)}px`,top:`${e.start.y}px`,width:`${Math.max(Math.abs(e.end.x-e.start.x),32)}px`,height:"0",borderTopWidth:r,borderTopStyle:"solid",borderTopColor:eW,opacity:"spacing"===e.variant?.9:.82},l=i?{width:"14px",height:`${n}px`,left:"-7px",backgroundColor:eW}:{width:`${n}px`,height:"14px",top:"-7px",backgroundColor:eW};return(0,v.jsx)("div",{className:"pointer-events-none absolute z-[4]","data-testid":`snap-guide-${e.orientation}`,"data-variant":e.variant,style:o,children:"spacing"===e.variant?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("span",{className:"absolute","data-testid":"snap-guide-cap",style:i?{...l,top:"0"}:{...l,left:"0"}}),(0,v.jsx)("span",{className:"absolute","data-testid":"snap-guide-cap",style:i?{...l,bottom:"0"}:{...l,right:"0"}})]}):null},`${e.orientation}-${e.start.x}-${e.start.y}-${e.end.x}-${e.end.y}-${e.variant}-${t}`)}),n.map(e=>(0,v.jsx)("button",{type:"button",className:"absolute z-[4] size-[50px] -translate-x-1/2 -translate-y-1/2 roun
1ded-full bg-transparent","data-testid":`block-rotation-zone-${e.corner}`,"aria-label":`Rotate selected element from ${e.corner}`,style:{left:`${e.x}px`,top:`${e.y}px`,cursor:`url("data:image/svg+xml,${eX[e.corner]}") 12 12, grab`},onMouseDown:o},e.corner)),r.map(e=>{var t;return(0,v.jsx)("button",{type:"button",className:`absolute z-[5] size-[13px] -translate-x-1/2 -translate-y-1/2 rounded-full border border-white bg-foreground shadow-[0_2px_8px_rgba(0,0,0,0.16)] transition-colors before:absolute before:inset-[3px] before:rounded-full before:bg-white/90 hover:bg-foreground/80 ${"top-center"===(t=e.position)||"bottom-center"===t?"cursor-ns-resize":"left-center"===t||"right-center"===t?"cursor-ew-resize":"top-left"===t||"bottom-right"===t?"cursor-nwse-resize":"cursor-nesw-resize"}`,"data-testid":`block-resize-handle-${e.position}`,"aria-label":`Resize selected element from ${e.position}`,style:{left:`${e.x}px`,top:`${e.y}px`},onMouseDown:t=>{0===t.button&&i(e.position,t)}},e.position)})]})}function eG({selectionCommandAvailability:e,onAlignToSlide:t,onDelete:r,onDistribute:n,onDuplicate:i,onGroup:o,onLayerOrder:l,onUngroup:a}){return(0,v.jsxs)(eF,{"aria-label":"Selection actions",children:[(0,v.jsxs)(e_,{disabled:!e.group,onSelect:o,children:[(0,v.jsx)(R.A,{className:"size-3.5"}),"Group"]}),(0,v.jsxs)(e_,{disabled:!e.ungroup,onSelect:a,children:[(0,v.jsx)(z.A,{className:"size-3.5"}),"Ungroup"]}),(0,v.jsx)(eP,{}),(0,v.jsxs)(eI,{children:[(0,v.jsxs)(eR,{children:[(0,v.jsx)(F.A,{className:"size-3.5"}),"Layer"]}),(0,v.jsxs)(ez,{children:[(0,v.jsxs)(e_,{onSelect:()=>l("front"),children:[(0,v.jsx)(F.A,{className:"size-3.5"}),"Bring to front"]}),(0,v.jsxs)(e_,{onSelect:()=>l("forward"),children:[(0,v.jsx)(_.A,{className:"size-3.5"}),"Bring forward"]}),(0,v.jsxs)(e_,{onSelect:()=>l("backward"),children:[(0,v.jsx)(u.A,{className:"size-3.5"}),"Send backward"]}),(0,v.jsxs)(e_,{onSelect:()=>
1l("back"),children:[(0,v.jsx)(P.A,{className:"size-3.5"}),"Send to back"]})]})]}),(0,v.jsxs)(eI,{children:[(0,v.jsxs)(eR,{children:[(0,v.jsx)(B.A,{className:"size-3.5"}),"Align"]}),(0,v.jsxs)(ez,{children:[(0,v.jsxs)(e_,{onSelect:()=>t("left"),children:[(0,v.jsx)(T.A,{className:"size-3.5"}),"Align left"]}),(0,v.jsxs)(e_,{onSelect:()=>t("hcenter"),children:[(0,v.jsx)(B.A,{className:"size-3.5"}),"Align horizontal center"]}),(0,v.jsxs)(e_,{onSelect:()=>t("right"),children:[(0,v.jsx)(O.A,{className:"size-3.5"}),"Align right"]}),(0,v.jsxs)(e_,{onSelect:()=>t("top"),children:[(0,v.jsx)(H.A,{className:"size-3.5"}),"Align top"]}),(0,v.jsxs)(e_,{onSelect:()=>t("vcenter"),children:[(0,v.jsx)(V.A,{className:"size-3.5"}),"Align vertical center"]}),(0,v.jsxs)(e_,{onSelect:()=>t("bottom"),children:[(0,v.jsx)(W.A,{className:"size-3.5"}),"Align bottom"]})]})]}),(0,v.jsxs)(eI,{children:[(0,v.jsxs)(eR,{children:[(0,v.jsx)(U.A,{className:"size-3.5"}),"Distribute"]}),(0,v.jsxs)(ez,{children:[(0,v.jsxs)(e_,{onSelect:()=>n("horizontal"),children:[(0,v.jsx)(U.A,{className:"size-3.5"}),"Horizontally"]}),(0,v.jsxs)(e_,{onSelect:()=>n("vertical"),children:[(0,v.jsx)(Y.A,{className:"size-3.5"}),"Vertically"]})]})]}),(0,v.jsx)(eP,{}),(0,v.jsxs)(e_,{onSelect:i,children:[(0,v.jsx)(M.A,{className:"size-3.5"}),"Duplicate",(0,v.jsx)(eB,{children:"⌘D"})]}),(0,v.jsxs)(e_,{variant:"destructive",onSelect:r,children:[(0,v.jsx)($.A,{className:"size-3.5"}),"Delete",(0,v.jsx)(eB,{children:"Del"})]})]})}var eK=[{label:"Inter",value:'"Inter", "IBM Plex Sans", "Segoe UI", sans-serif'},{label:"Aptos",value:'"Aptos", "Segoe UI", Arial, sans-serif'},{label:"Avenir Next",value:'"Avenir Next", "Montserrat", "Segoe UI", sans-serif'},{label:"Optima",value:'"Optima", "Candara", "Segoe UI", sans-serif'},{label:"Arial Narrow",value:'"Arial Narrow", "Roboto Condensed", "Helvetica Neue", sans-serif'},{label:"Georgia",value:'Georgia, "Times New Roman", serif'},{label:"Times New Roman",value:'"Times New Roman", Times, serif'},{label:"Didot",value:'"Didot", "Bodoni 72", Georgia, serif'},{label:"SF Mono",value:'"SFMono-Regular", Menlo, Consolas, monospace'},{label:"IBM Plex Mono",value:'"IBM Plex Mono", "SFMono-Regular", Consolas, monospace'},{label:"System UI",value:'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'},{label:"Nunito",value:'"Nunito", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif'}];function eZ(e,t){let r=e0(e),n=e0(t);return!!r&&!!n&&(r===n||e1(eQ(e))===e1(eQ(t)))}function eJ(e){let t=new Set,r=e.toLowerCase();if(!r||"none"===r)return t;for(let e of r.split(/\s+/))("underline"===e||"line-through"===e||"overline"===e)&&t.add(e);return t}function eQ(e){return(e.split(",")[0]??"").trim().replace(/^["']|["']$/g,"")}function e0(e){return e.toLowerCase().replace(/["']/g,"").replace(/\s+/g," ").trim()}function e1(e){return e.toLowerCase().replace(/["']/g,"").trim()}function e2({feature:e,inspectedStyles:t,attributeValues:r}){let i;if("attribute"===e.target)return"other-link"===e.id?r.linkUrl:"other-aria-label"===e.id?r.ariaLabel:"data-editor-locked"===e.attributeName?r.locked:"aria-label"===e.attributeName?r.ariaLabel:"data-link-url"===e.attributeName?r.linkUrl:"";if(!e.propertyName)return"";let o="background-color"===e.id?(i=e7(l=t,"background-image")).trim().toLowerCase().startsWith("linear-gradient")?i:e7(l,"background-color"):e7(t,e.propertyName);if("font-family"===e.id)return e.options?.find(e=>eZ(o,e.value))?.value??o;if("font-size"===e.id&&o.endsWith("px"))return o.slice(0,-2);if("line-height"===e.id){var l,a,s,d,u=o,c=t;if(!u)return"";if(!u.endsWith("px"))return u;let e=Number.parseFloat(u),r=Number.parseFloat(e7(c,"font-size"));return Number.isFinite(e)&&Number.isFinite(r)&&!(r<=0)?String(Math.round(e/r*100)/100):u}if("opacity"===e.id)return o||"1";if("rotation"===e.id)return String((0,n._F)(o).rotate);if("background-color"===e.id&&o.trim().startsWith("linear-gradient"))return o;if("color"===e.controlType){return(s=a=e9(e.id,t)||o,/^rgba?\(\s*(\d{1,3})[\s,]+(\d{1,3})[\s,]+(\d{1,3})(?:[\s,/]+[\d.]+)?\s*\)$/i.test(s.trim())||(d=a,/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i.test(d.trim())))?a.trim():"transparent"===a.trim().toLowerCase()?"rgba(0, 0, 0, 0)":"#000000"}let h=e9(e.id,t);return h||("text-align"===e.id&&"start"===o?"left":o)}function e9(e,t){if("border"===e)return e5(e7(t,"border-style")||e7(t,"border-top-style")||e3(t).style);if("border-width"===e){let e=e3(t),r=e5(e7(t,"border-style")||e7(t,"border-top-style")||e.style),n=e8(e7(t,"border-width")||e7(t,"border-top-width")||e.width)||"3px";return"none"===r&&"0px"===n?"3px":n}return"border-color"===e?e7(t,"border-color")||e7(t,"border-top-color")||e3(t).color:"border-radius"===e?e8(e7(t,"border-radius")||e7(t,"border-top-left-radius")):"box-shadow"===e?e7(t,"box-shadow")||"none":""}function e3(e){var t;let r=e7(e,"border");return{color:(t=r,t.trim().match(/(?:rgba?\([^)]+\)|hsla?\([^)]+\)|#[0-9a-f]{3,8}\b|(?:[a-z]+))/i)?.[0]??""),style:r.trim().split(/\s+/).find(e=>["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"].includes(e.toLowerCase()))??"",width:r.trim().split(/\s+/).find(e=>/^(?:\d+(?:\.\d+)?px|thin|medium|thick)$/i.test(e))??""}}function e5(e){let t=e.trim().toLowerCase();return t.includes("dashed")?"dashed":t.includes("dotted")?"dotted":t.includes("solid")?"solid":t.includes("none")||!t?"none":t.split(/\s+/)[0]??"none"}function e8(e){return e.trim().split(/\s+/)[0]??""}function e4(e,t){if("font-size"===e.id&&t.trim()){let e=Number.parseFloat(t),r=Math.min(200,Math.max(8,Number.isFinite(e)?e:8));return`${r}px`}if("border-width"===e.id&&t.trim()){let e=Number.parseFloat(t),r=Math.min(24,Math.max(0,Number.isFinite(e)?e:0));return`${r}px`}return("width"===e.id||"height"===e.id)&&t?function(e,t){var r,i;if("auto"===t)return"";return r=("width"===e?n.$Y:n.Am)*("compact"===(i=t)?.18:"wide"===i?.42:"full"===i?.82:.42),`${Math.round(100*r)/100}px`}(e.id,t):"font-bold"===e.id?t?"700":"400":"font-italic"===e.id?t?"italic":"normal":"font-underline"===e.id?t?"underline":"none":"font-strikethrough"===e.id?t?"line-through":"none":"locked"===e.id?t?"true":"":t.trim()}function e6(e,t,r){let n=eJ(e);return r?n.delete(t):n.add(t),n.size?Array.from(n).join(" "):"none"}function e7(e,t){return e.find(e=>e.name===t)?.value??""}var te=[{value:"left",label:"Left",icon:X.A},{value:"center",label:"Center",icon:q.A},{value:"right",label:"Right",icon:G.A}],tt=[{value:"left",icon:T.A,label:"Align left"},{value:"hcenter",icon:B.A,label:"Align horizontal center"},{value:"right",icon:O.A,label:"Align right"}
1,{value:"top",icon:H.A,label:"Align top"},{value:"vcenter",icon:V.A,label:"Align vertical center"},{value:"bottom",icon:W.A,label:"Align bottom"}],tr=[{value:"front",icon:F.A,label:"Bring to front"},{value:"forward",icon:_.A,label:"Bring forward"},{value:"backward",icon:u.A,label:"Send backward"},{value:"back",icon:P.A,label:"Send to back"}],tn=[{value:"horizontal",icon:U.A,label:"Distribute horizontally"},{value:"vertical",icon:Y.A,label:"Distribute vertically"}],ti=[{value:"decrease",icon:K.A,label:"Decrease font size"},{value:"increase",icon:S.A,label:"Increase font size"}],to=[{value:"compact",label:"Compact",description:"Small supporting element"},{value:"wide",label:"Wide",description:"Primary text or media area"},{value:"full",label:"Full width",description:"Span most of the slide"},{value:"auto",label:"Auto fit",description:"Let content define the size"}],tl=[{value:"none",label:"None"},{value:"solid",label:"Solid"},{value:"dashed",label:"Dashed"},{value:"dotted",label:"Dotted"}],ta=[{id:"typography",label:"Typography",icon:Z.A,subgroups:[{id:"font",label:"Font",icon:Z.A,features:[{id:"font-family",label:"Font family",controlType:"select",target:"style",propertyName:"font-family",options:eK.map(e=>({label:e.label,value:e.value}))},{id:"font-size",label:"Font size",controlType:"action-group",target:"style",propertyName:"font-size",options:ti,min:8,max:200,step:2,unit:"px"},{id:"font-bold",label:"Bold",controlType:"toggle",target:"style",propertyName:"font-weight"},{id:"font-italic",label:"Italic",controlType:"toggle",target:"style",propertyName:"font-style"},{id:"font-underline",label:"Underline",controlType:"toggle",target:"style",propertyName:"text-decoration-line"},{id:"font-strikethrough",label:"Strikethrough",controlType:"toggle",target:"style",propertyName:"text-decoration-line"}]},{id:"paragraph",label:"Paragraph",icon:J.A,features:[{id:"line-height",label:"Line height",controlType:"action-group",target:"style",propertyName:"line-height",options:[{value:"1",label:"Tight",description:"Compact text blocks"},{value:"1.2",label:"Normal",description:"Balanced paragraph spacing"},{value:"1.45",label:"Relaxed",description:"Readable body copy"},{value:"1.7",label:"Airy",description:"Open editorial spacing"}]},{id:"text-align",label:"Text align",controlType:"action-group",target:"style",propertyName:"text-align",options:te}]}]},{id:"appearance",label:"Appearance",icon:Q.A,subgroups:[{id:"fill",label:"Fill",icon:Q.A,features:[{id:"text-color",label:"Text color",controlType:"color",target:"style",propertyName:"color"},{id:"background-color",label:"Background color",controlType:"color",target:"style",propertyName:"background-color"}]},{id:"border",label:"Border",icon:ee.A,features:[{id:"border",label:"Border style",controlType:"action-group",target:"style",propertyName:"border-style",options:tl},{id:"border-color",label:"Border color",controlType:"color",target:"style",propertyName:"border-color"},{id:"border-width",label:"Stroke width",controlType:"action-group",target:"style",propertyName:"border-width",options:[{value:"0px",label:"None"},{value:"1px",label:"Thin"},{value:"2px",label:"Medium"},{value:"4px",label:"Thick"}],min:0,max:24,step:1,unit:"px"},{id:"border-radius",label:"Border radius",controlType:"action-group",target:"style",propertyName:"border-radius",options:[{value:"0px",label:"Sharp"},{value:"8px",label:"Soft"},{value:"18px",label:"Round"}]},{id:"box-shadow",label:"Shadow",controlType:"action-group",target:"style",propertyName:"box-shadow",options:[{value:"none",label:"None"},{value:"0 8px 22px rgba(15, 23, 42, 0.12)",label:"Soft"},{value:"0 18px 42px rgba(15, 23, 42, 0.18)",label:"Lifted"},{value:"0 28px 70px rgba(15, 23, 42, 0.24)",label:"Dramatic"}]}]}]},{id:"layout",label:"Layout",icon:et.A,subgroups:[{id:"size",label:"Size",icon:et.A,features:[{id:"width",label:"Width",controlType:"action-group",target:"style",propertyName:"width",options:to},{id:"height",label:"Height",controlType:"action-group",target:"style",propertyName:"height",options:to}]},{id:"visibility",label:"Visibility",icon:L.A,features:[{id:"opacity",label:"Opacity",controlType:"action-group",target:"style",propertyName:"opacity",options:[{value:"1",label:"100%"},{value:"0.75",label:"75%"},{value:"0.5",label:"50%"},{value:"0.25",label:"25%"}]}]},{id:"rotation",label:"Rotation",icon:er.A,features:[{id:"rotation",label:"Rotation",controlType:"action-group",target:"style",propertyName:"transform",options:[{value:"-15",label:"-15"},{value:"0",label:"0"},{value:"15",label:"15"},{value:"45",label:"45"}],min:-360,max:360,step:15,unit:"deg"},{id:"image-crop",label:"Crop image",controlType:"action-group",target:"style",propertyName:"object-fit",options:[{value:"cover",icon:en.A,label:"Crop"}]}]},{id:"layer-alignment",label:"Layer, Align, Distribute",icon:l.A,features:[{id:"align-to-slide",label:"Align selected element to slide bounds",controlType:"action-group",target:"operation",options:tt},{id:"layer-order",label:"Layer order",controlType:"action-group",target:"operation",options:tr},{id:"distribute",label:"Distribute selection",controlType:"action-group",target:"operation",options:tn}]}]},{id:"misc",label:"Misc",icon:ei.A,subgroups:[{id:"state",label:"State",icon:ei.A,features:[{id:"locked",label:"Lock / unlock",controlType:"toggle",target:"attribute",attributeName:"data-editor-locked"},{id:"group",label:"Group selection",controlType:"action-group",target:"operation",options:[{value:"group",icon:R.A,label:"Group"}]},{id:"ungroup",label:"Ungroup selected group",controlType:"action-group",target:"operation",options:[{value:"ungroup",icon:z.A,label:"Ungroup"}]}]},{id:"link",label:"Link",icon:eo.A,features:[{id:"link-url",label:"Link URL",controlType:"text",target:"attribute",attributeName:"data-link-url",placeholder:"https://"}]}]},{id:"others",label:"Others",icon:el.A,subgroups:[{id:"labels",label:"Labels",icon:el.A,features:[{id:"aria-label",label:"ARIA label",controlType:"text",target:"attribute",attributeName:"aria-label",placeholder:"aria-label"}]}]}],ts={"other-aria-label":{id:"other-aria-label",label:"ARIA label",controlType:"text",target:"operation"},"other-link":{id:"other-link",label:"Link",controlType:"text",target:"operation"}},td="size-3.5",tu="flex min-h-7 w-full items-center justify-between gap-2 rounded-md px-2 py-1 text-left text-[12px] text-foreground
1/70 outline-none transition-colors hover:bg-foreground/[0.05] hover:text-foreground focus-visible:bg-foreground/[0.06] focus-visible:text-foreground focus-visible:ring-[2px] focus-visible:ring-ring/25 disabled:pointer-events-none disabled:opacity-40",tc="size-7.5 rounded-xl text-foreground/60 transition-colors hover:bg-foreground/[0.05] hover:text-foreground active:scale-[0.98]",th="bg-foreground/[0.07] text-foreground shadow-[inset_0_1px_2px_rgba(0,0,0,0.08)] hover:bg-foreground/[0.08]";function tp({...e}){return(0,v.jsx)(ea.bL,{"data-slot":"dialog",...e})}function tf({...e}){return(0,v.jsx)(ea.ZL,{"data-slot":"dialog-portal",...e})}function tg({className:e,...t}){return(0,v.jsx)(ea.hJ,{"data-slot":"dialog-overlay",className:eN("fixed inset-0 z-50 bg-black/20 backdrop-blur-[1px]",e),...t})}function tm({children:e,className:t,...r}){return(0,v.jsxs)(tf,{children:[(0,v.jsx)(tg,{}),(0,v.jsxs)(ea.UC,{"data-slot":"dialog-content",className:eN("fixed left-1/2 top-1/2 z-50 grid w-[min(420px,calc(100vw-32px))] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-md border border-foreground
1/[0.08] bg-white p-4 shadow-[0_20px_70px_rgba(15,23,42,0.18)] outline-none",t),...r,children:[e,(0,v.jsxs)(ea.bm,{className:"absolute right-3 top-3 inline-flex size-7 items-center justify-center rounded-md text-foreground/45 hover:bg-foreground/[0.05] hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",children:[(0,v.jsx)(g.A,{className:"size-3.5"}),(0,v.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function tx({className:e,...t}){return(0,v.jsx)("div",{className:eN("grid gap-1 pr-8",e),...t})}function tb({className:e,...t}){return(0,v.jsx)(ea.hE,{"data-slot":"dialog-title",className:eN("text-sm font-semibold text-foreground",e),...t})}function ty({className:e,...t}){return(0,v.jsx)(ea.VY,{"data-slot":"dialog-description",className:eN("text-xs leading-normal text-foreground/55",e),...t})}function tv({className:e,...t}){return(0,v.jsx)("div",{className:eN("flex justify-end gap-2",e),...t})}function tw({className:e,...t}){return(0,v.jsx)("textarea",{"data-slot":"textarea",className:eN("flex field-sizing-content min-h-16 w-full rounded-md border border-foreground
1/[0.08] bg-foreground/[0.03] px-2 py-2 text-sm shadow-none transition-colors outline-none placeholder:text-foreground/35 hover:bg-foreground/[0.04] focus-visible:border-foreground/20 focus-visible:bg-white focus-visible:ring-[2px] focus-visible:ring-ring/35 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20",e),...t})}function tj({attributeValues:e,dialogId:t,onCommitFeature:r,onOpenChange:n}){let o=t?tN[t]:null,[l,a]=(0,i.useState)("");return(0,i.useEffect)(()=>{var r,n;t&&a((r=t,n=e,"other-link"===r?n.linkUrl:n.ariaLabel))},[e,t]),(0,v.jsx)(tp,{open:!!t,onOpenChange:n,children:(0,v.jsxs)(tm,{children:[(0,v.jsxs)(tx,{children:[(0,v.jsx)(tb,{children:o?.title}),(0,v.jsx)(ty,{children:o?.description})]}),o?.multiline?(0,v.jsx)(tw,{value:l,onChange:e=>a(e.target.value)}):(0,v.jsx)(eT,{value:l,onChange:e=>a(e.target.value)}),(0,v.jsxs)(tv,{children:[(0,v.jsx)(eE,{type:"button",variant:"outline",onClick:()=>n(!1),children:"Cancel"}),(0,v.jsx)(eE,{type:"button",onClick:()=>{t&&(r(ts[t],l),n(!1))},children:"Save"})]})]})})}var tN={"other-aria-label":{description:"Set the ARIA label used by assistive technologies.",title:"ARIA label"},"other-link":{description:"Attach a URL to the selected element.",title:"Link"}};function tC({className:e,orientation:t="horizontal",decorative:r=!0,...n}){return(0,v.jsx)(es.b,{"data-slot":"separator",decorative:r,orientation:t,className:eN("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...n})}function tk({children:e,active:t=!1,className:r,label:n,onClick:i}){return(0,v.jsx)(eE,{variant:t?"secondary":"ghost",size:"icon-sm",className:eN("size-7.5 rounded-xl text-foreground/60 transition-colors hover:bg-foreground
1/[0.05] hover:text-foreground active:scale-[0.98]",t&&"bg-foreground/[0.07] text-foreground shadow-[inset_0_1px_2px_rgba(0,0,0,0.08)] hover:bg-foreground/[0.08]",r),type:"button","aria-label":n,title:n,onClick:i,children:e})}function tS(){return(0,v.jsx)(tC,{orientation:"vertical",className:"mx-0.5 h-4 bg-foreground/10"})}function tA({icon:e,strokeWidth:t=2.5}){return(0,v.jsx)(e,{className:"size-3.5",strokeWidth:t})}function tM({className:e,orientation:t="horizontal",...r}){return(0,v.jsx)(ey.bL,{"data-slot":"tabs","data-orientation":t,orientation:t,className:eN("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...r})}var tE=(0,C.F)("group/tabs-list inline-flex w-fit items-center justify-center rounded-md p-0.5 text-foreground/55 group-data-[orientation=horizontal]/tabs:h-8 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-foreground/[0.04]",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function tL({className:e,variant:t="default",...r}){return(0,v.jsx)(ey.B8,{"data-slot":"tabs-list","data-variant":t,className:eN(tE({variant:t}),e),...r})}function t$({className:e,...t}){return(0,v.jsx)(ey.l9,{"data-slot":"tabs-trigger",className:eN("relative inline-flex h-full flex-1 items-center justify-center gap-1.5 rounded px-2 py-1 text-[13px] font-medium whitespace-nowrap text-foreground/60 transition-colors group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[2px] focus-visible:ring-ring/40 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-white data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-px group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-
1px group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...t})}function tD({className:e,...t}){return(0,v.jsx)(ey.UC,{"data-slot":"tabs-content",className:eN("flex-1 outline-none",e),...t})}var tI=["#0F172A","#FFFFFF","#EF4444","#F97316","#F59E0B","#EAB308","#84CC16","#10B981","#06B6D4","#3B82F6","#8B5CF6","#EC4899"],tR=["linear-gradient(135deg,#a855f7,#ec4899)","linear-gradient(135deg,#06b6d4,#8b5cf6)","linear-gradient(135deg,#f59e0b,#ec4899)","linear-gradient(135deg,#10b981,#06b6d4)","linear-gradient(135deg,#f97316,#ef4444)","linear-gradient(135deg,#8b5cf6,#3b82f6)"];function tz({ariaLabelPrefix:e,value:t,includeGradients:r=!0,includeOpacity:n=!0,onChange:o,onCommit:l}){let a=(0,i.useRef)(null),s=(0,i.useRef)(null),d=(0,i.useMemo)(()=>t_(t),[t]),u=(0,i.useMemo)(()=>tT(t),[t]),c=(0,i.useMemo)(()=>(function(e){let t=/^#?([0-9a-f]{6})$/i.exec(tO(e));if(!t)return{h:220,s:.54,v:.5};let r=t[1],n=Number.parseInt(r.slice(0,2),16)/255,i=Number.parseInt(r.slice(2,4),16)/255,o=Number.parseInt(r.slice(4,6),16)/255,l=Math.max(n,i,o),a=l-Math.min(n,i,o),s=0;0!==a&&(s=l===n?(i-o)/a%6:l===i?(o-n)/a+2:(n-i)/a+4);let d=Math.round(60*s);return{h:d<0?d+360:d,s:0===l?0:a/l,v:l}})(d.hex),[d.hex]),h=tO(d.hex),[p,f]=(0,i.useState)(h.replace("#","")),[g,m]=(0,i.useState)(u?.start??"#06B6D4"),[x,b]=(0,i.useState)(u?.end??"#8B5CF6"),[y,w]=(0,i.useState)(u?.angle??135),[j,N]=(0,i.useState)(u?"gradient":"color"),C=`hsl(${c.h}, 100%, 50%)`,k=(0,v.jsxs)("div",{className:"grid gap-3",children:[(0,v.jsx)("div",{className:"relative h-36 w-full touch-none select-none overflow-hidden rounded-xl border-0 before:pointer-events-none before:absolute before:inset-0 before:bg-[linear-gradient(to_top,#000,transparent),linear-gradient(to_right,#fff,transparent)] before:content-[''] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",ref:a,role:"slider","aria-label":"Color saturation and brightness","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(100*c.v),"aria-valuetext":tP(h,d.alpha),tabIndex:0,style:{backgroundColor:C},onPointerDown:L,onPointerMove:e=>{1===e.buttons&&L(e)},children:(0,v.jsx)("span",{className:"pointer-events-none absolute size-4 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white bg-current shadow-[0_2px_8px_rgba(0,0,0,0.22)]","aria-hidden":"true",style:{color:h,left:`calc(${100*c.s}% + ${(.5-c.s)*22}px)`,top:`calc(${(1-c.v)*100}% + ${(c.v-.5)*22}px)`}})}),(0,v.jsx)("div",{className:"relative h-3 touch-none select-none rounded-full bg-[linear-gradient(to_right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",ref:s,role:"slider","aria-label":"Hue","aria-valuemin":0,"aria-valuemax":359,"aria-valuenow":c.h,tabIndex:0,onPointerDown:$,onPointerMove:e=>{1===e.buttons&&$(e)},children:(0,v.jsx)("span",{className:"pointer-events-none absolute -top-0.5 size-4 -translate-x-1/2 rounded-full border-2 border-white bg-current shadow-[0_2px_8px_rgba(0,0,0,0.2)]","aria-hidden":"true",style:{color:C,left:`${c.h/360*100}%`}})}),(0,v.jsxs)("div",{className:"grid grid-cols-[40px_auto_minmax(0,1fr)] items-center gap-2",children:[(0,v.jsx)("span",{className:"size-10 rounded-md border border-foreground
1/10 shadow-[0_1px_4px_rgba(0,0,0,0.08)]",style:{background:tP(h,d.alpha)},"aria-hidden":"true"}),(0,v.jsx)("span",{className:"font-mono text-sm font-medium leading-none text-foreground/45",children:"#"}),(0,v.jsx)(eT,{className:"h-8 rounded-md bg-foreground/[0.03] px-2 font-mono text-sm font-medium uppercase",type:"text",value:p,spellCheck:!1,onChange:e=>{let t=e.target.value.replace(/[^0-9a-f]/gi,"").slice(0,6);f(t),6===t.length&&A(`#${t}`)},onBlur:()=>{f(h.replace("#",""))}})]}),n?(0,v.jsxs)("section",{className:"grid gap-1.5","aria-label":"Opacity",children:[(0,v.jsxs)("div",{className:"flex items-center justify-between text-[10px] font-medium uppercase leading-tight tracking-wider text-foreground/40",children:[(0,v.jsx)("span",{children:"Opacity"}),(0,v.jsxs)("span",{children:[Math.round(100*d.alpha),"%"]})]}),(0,v.jsx)("input",{type:"range",min:0,max:100,value:Math.round(100*d.alpha),"aria-label":"Opacity",onChange:function(e){A(h,Number.parseInt(e.target.value,10)/100)},className:"h-2 w-full cursor-pointer accent-foreground"})]}):null,(0,v.jsxs)("section",{className:"grid gap-1.5","aria-label":"Preset colors",children:[(0,v.jsx)("div",{className:"text-[10px] font-medium uppercase leading-tight tracking-wider text-foreground/40",children:"Presets"}),(0,v.jsx)("div",{className:"grid grid-cols-12 gap-1",children:tI.map(t=>(0,v.jsx)("button",{className:eN("aspect-square min-w-0 cursor-pointer rounded-md border border-foreground
1/10 shadow-[0_1px_4px_rgba(0,0,0,0.08)] transition-[box-shadow,outline-color,border-color] duration-150 hover:border-foreground/25 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",t.toLowerCase()===h.toLowerCase()&&"shadow-[0_0_0_2px_white,0_0_0_4px_rgba(0,0,0,0.18)]"),type:"button",style:{background:t},"aria-label":e?`Use ${e} ${t}`:`Use ${t}`,onClick:()=>{A(t),l?.()}},t))})]})]}),S=r?(0,v.jsxs)("section",{className:"grid gap-2","aria-label":"Preset gradients",children:[(0,v.jsx)("div",{className:"grid grid-cols-6 gap-1.5",children:tR.map((r,n)=>(0,v.jsx)("button",{className:eN("h-8 cursor-pointer rounded-md border border-foreground/10 shadow-[0_1px_4px_rgba(0,0,0,0.08)] transition-[box-shadow,outline-color,border-color] duration-150 hover:border-foreground/25 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",r===t&&"shadow-[0_0_0_2px_white,0_0_0_4px_rgba(0,0,0,0.18)]"),type:"button",style:{background:r},"aria-label":e?`Use ${e} gradient ${n+1}`:`Use gradient ${n+1}`,onClick:()=>{let e=tT(r);e&&(w(e.angle),m(e.start),b(e.end)),M(e??void 0),l?.()}},r))}),(0,v.jsxs)("div",{className:"grid gap-2 rounded-md bg-foreground
1/[0.03] p-2",children:[(0,v.jsx)("div",{className:"h-8 rounded-md border border-foreground/10",style:{background:tB(y,g,x)},"aria-hidden":"true"}),(0,v.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,v.jsx)(eT,{className:"h-8 rounded-md bg-white px-2 font-mono text-xs uppercase","aria-label":"Gradient start",value:g.replace("#",""),onChange:e=>E("start",e.target.value),onBlur:()=>m(tO(g))}),(0,v.jsx)(eT,{className:"h-8 rounded-md bg-white px-2 font-mono text-xs uppercase","aria-label":"Gradient end",value:x.replace("#",""),onChange:e=>E("end",e.target.value),onBlur:()=>b(tO(x))})]}),(0,v.jsxs)("div",{className:"grid gap-1",children:[(0,v.jsxs)("div",{className:"flex items-center justify-between text-[10px] font-medium uppercase tracking-wider text-foreground/40",children:[(0,v.jsx)("span",{children:"Angle"}),(0,v.jsxs)("span",{children:[y,"deg"]})]}),(0,v.jsx)("input",{type:"range",min:0,max:360,value:y,"aria-label":"Gradient angle",onChange:e=>{let t=Number.parseInt(e.target.value,10);w(t),M({angle:t})},className:"h-2 w-full cursor-pointer accent-foreground"})]})]})]}):null;function A(e,t=n&&d.alpha||1){o(tP(e,t))}function M(e={}){o(tB(e.angle??y,e.start??g,e.end??x))}function E(e,t){let r=`#${t.replace(/[^0-9a-f]/gi,"").slice(0,6)}`;"start"===e?m(r):b(r),7===r.length&&M({[e]:tO(r)})}function L(e){let t=a.current?.getBoundingClientRect();if(!t)return;e.currentTarget.setPointerCapture(e.pointerId);let r=tF((e.clientX-t.left)/t.width,0,1),n=tF(1-(e.clientY-t.top)/t.height,0,1);A(tH({...c,s:r,v:n}))}function $(e){let t=s.current?.getBoundingClientRect();if(!t)return;e.currentTarget.setPointerCapture(e.pointerId);let r=Math.round(360*tF((e.clientX-t.left)/t.width,0,1));A(tH({...c,h:360===r?0:r}))}return(0,i.useEffect)(()=>{f(h.replace("#",""))},[h]),(0,i.useEffect)(()=>{u&&(w(u.angle),m(u.start),b(u.end),N("gradient"))},[u]),r?(0,v.jsxs)(tM,{value:j,onValueChange:N,className:"gap-3",children:[(0,v.jsxs)(tL,{className:"grid w-full grid-cols-2","aria-label":"Color picker mode",children:[(0,v.jsx)(t$,{value:"color",children:"Color"}),(0,v.jsx)(t$,{value:"gradient",children:"Gradient"})]}),(0,v.jsx)(tD,{value:"color",className:"mt-0",children:k}),(0,v.jsx)(tD,{value:"gradient",className:"mt-0",children:S})]}):k}function tF(e,t,r){return Math.min(Math.max(e,t),r)}function t_(e){var t;let r=e.trim().match(/^rgba?\(\s*(\d{1,3})[\s,]+(\d{1,3})[\s,]+(\d{1,3})(?:[\s,/]+([\d.]+))?\s*\)$/i);return r?{alpha:tF(Number.parseFloat(r[4]??"1"),0,1),hex:`#${tW(r[1]||"0")}${tW(r[2]||"0")}${tW(r[3]||"0")}`}:{alpha:1,hex:(t=e,/^#?(?:[0-9a-f]{3}|[0-9a-f]{6})$/i.test(t.trim()))?e.trim():"#0F172A"}}function tP(e,t){if(t>=.995)return e.toUpperCase();let r=tO(e).replace("#",""),n=Number.parseInt(r.slice(0,2),16),i=Number.parseInt(r.slice(2,4),16),o=Number.parseInt(r.slice(4,6),16);return`rgba(${n}, ${i}, ${o}, ${Math.round(100*t)/100})`}function tB(e,t,r){return`linear-gradient(${e}deg, ${tO(t)}, ${tO(r)})`}function tT(e){let t=e.trim();if(!t.toLowerCase().startsWith("linear-gradient(")||!t.endsWith(")"))return null;let r=function(e){let t=[],r=0,n=0;for(let i=0;i<e.length;i+=1){let o=e[i];"("===o?r+=1:")"===o?r=Math.max(0,r-1):","===o&&0===r&&(t.push(e.slice(n,i).trim()),n=i+1)}return t.push(e.slice(n).trim()),t}(t.slice(t.indexOf("(")+1,-1));if(r.length<3)return null;let n=Number.parseFloat(r[0]??""),i=t_(r[1]??"").hex,o=t_(r[2]??"").hex;return{angle:Number.isFinite(n)?tF(Math.round(n),0,360):135,start:tO(i),end:tO(o)}}function tO(e){let t=e.trim().replace("#","");return 3===t.length?`#${t.split("").map(e=>e+e).join("")}`.toUpperCase():6===t.length?`#${t}`.toUpperCase():"#0F172A"}function tH({h:e,s:t,v:r}){let n=r*t,i=n*(1-Math.abs(e/60%2-1)),o=r-n,l=0,a=0,s=0;return e<60?(l=n,a=i):e<120?(l=i,a=n):e<180?(a=n,s=i):e<240?(a=i,s=n):e<300?(l=i,s=n):(l=n,s=i),`#${tV(l+o)}${tV(a+o)}${tV(s+o)}`.toUpperCase()}function tV(e){return Math.round(255*tF(e,0,1)).toString(16).padStart(2,"0")}function tW(e){return Math.max(0,Math.min(255,Number.parseInt(e,10)||0)).toString(16).padStart(2,"0")}function tU({...e}){return(0,v.jsx)(ev.bL,{"data-slot":"popover",...e})}function tY({...e}){return(0,v.jsx)(ev.l9,{"data-slot":"popover-trigger",...e})}function tX({className:e,align:t="center",sideOffset:r=4,...n}){return(0,v.jsx)(ev.ZL,{children:(0,v.jsx)(ev.UC,{"data-slot":"popover-content",align:t,sideOffset:r,className:eN("z-50 w-72 rounded-2xl border border-foreground
1/[0.08] bg-white/95 p-2 text-popover-foreground shadow-[0_8px_26px_rgba(0,0,0,0.08),0_18px_58px_rgba(0,0,0,0.12)] outline-hidden backdrop-blur-xl data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})})}function tq({...e}){return(0,v.jsx)(ev.Mz,{"data-slot":"popover-anchor",...e})}function tG({currentValue:e,onCommit:t,onOpen:r,onPreview:n}){var o;let l,[a,s]=(0,i.useState)(!1),[d,c]=(0,i.useState)(""),[h,p]=(0,i.useState)(""),f=(o=e,(l=eK.find(e=>eZ(o,e.value)))?l.label:eQ(e)||"Font"),g=d.trim().toLowerCase(),m=g?eK.filter(e=>`${e.label} ${e.value}`.toLowerCase().includes(g)):eK,x=h||(a?d:f);function b(e){p(""),n(null),t(e),s(!1)}function y(){p(""),n(null)}function w(){r(),s(!0)}return(0,i.useEffect)(()=>{a||(c(""),p(""),n(null))},[n,a]),(0,v.jsxs)(tU,{open:a,onOpenChange:s,children:[(0,v.jsx)(tq,{asChild:!0,children:(0,v.jsxs)("div",{className:"relative flex h-7.5 w-[126px] items-center rounded-xl border border-transparent bg-transparent text-foreground/75 transition-colors hover:bg-foreground
1/[0.05] focus-within:border-foreground/20 focus-within:bg-white focus-within:ring-[2px] focus-within:ring-ring/35",children:[(0,v.jsx)(Z.A,{className:eN("size-3.5 text-foreground/55","pointer-events-none absolute left-2"),strokeWidth:2.5}),(0,v.jsx)(eT,{"aria-controls":"floating-font-menu","aria-expanded":a,"aria-label":"Font",autoComplete:"off",className:"h-full min-w-0 border-0 bg-transparent px-7 text-[12px] shadow-none outline-none ring-0 placeholder:text-foreground/45 focus-visible:ring-0","data-value":e,onChange:e=>{p(""),c(e.target.value),w()},onClick:w,onFocus:w,onKeyDown:function(e){if("ArrowDown"===e.key){e.preventDefault(),w();return}if("Enter"===e.key){e.preventDefault();let t=m.find(e=>e.label.toLowerCase()===g)??m[0];t&&b(t.value);return}"Escape"===e.key&&s(!1)},placeholder:"Font",role:"combobox",value:x}),(0,v.jsx)("button",{type:"button",className:"absolute right-0.5 grid size-6.5 place-items-center rounded-lg text-foreground/45 transition-colors hover:bg-foreground/[0.06] hover:text-foreground","aria-label":"Show fonts",onClick:()=>{a?s(!1):w()},children:(0,v.jsx)(u.A,{className:td,strokeWidth:2.5,"aria-hidden":"true"})})]})}),(0,v.jsx)(tX,{align:"start",avoidCollisions:!0,className:"w-[240px] p-1.5","data-testid":"floating-font-menu",id:"floating-font-menu",onOpenAutoFocus:e=>e.preventDefault(),side:"bottom",sideOffset:18,children:(0,v.jsx)("div",{className:"h-56 overflow-y-auto pr-1","data-testid":"floating-font-menu-scroll",children:m.length?m.map(t=>(0,v.jsx)("button",{type:"button",className:eN(tu,e===t.value&&"bg-foreground
1/[0.06]"),"data-value":t.value,onBlur:y,onClick:()=>b(t.value),onFocus:()=>{var e,r;return e=t.label,r=t.value,void(p(e),n(r))},onMouseEnter:()=>{var e,r;return e=t.label,r=t.value,void(p(e),n(r))},onMouseLeave:y,style:{fontFamily:t.value},children:(0,v.jsx)("span",{className:"truncate",children:t.label})},t.value)):(0,v.jsx)("div",{className:"px-2.5 py-2 text-[13px] text-foreground/45",children:"No fonts found"})})})]})}function tK({currentValue:e,feature:t,onCommitFeature:r}){let[n,o]=(0,i.useState)(()=>tJ(e)),[l,a]=(0,i.useState)(!1),s=(0,i.useRef)(tJ(e));(0,i.useEffect)(()=>{let t=tJ(e);s.current=t,l||o(t)},[e,l]),(0,i.useEffect)(()=>{if(!l||!n.trim()||n.trim()===s.current)return;let e=window.setTimeout(()=>{u(n,!1)},t0);return()=>window.clearTimeout(e)},[n,l]);let d=tQ(e);function u(n,i){let l;if(!n.trim())return void o(tJ(e));let a=String(tZ(Number.isFinite(l=Number.parseFloat(n))?l:8,8,200));if(a===s.current){i&&o(a);return}s.current=a,r(t,a),i&&o(a)}function c(e){let i=Number.parseFloat(n),l=String(tZ((Number.isFinite(i)?i:d)+("increase"===e?1:-1)*(t.step??2),8,200));r(t,l),o(l)}return(0,v.jsxs)("div",{className:"flex items-center rounded-xl",children:[(0,v.jsx)(tk,{className:"size-6.5 rounded-lg border-0 shadow-none hover:shadow-none",label:"Decrease font size",onClick:()=>c("decrease"),children:(0,v.jsx)(K.A,{className:td,strokeWidth:2.5})}),(0,v.jsx)(eT,{"aria-label":"Font size",className:"h-6.5 w-10 rounded-lg border-0 bg-transparent px-1 text-center text-[11px] font-semibold leading-none tabular-nums text-foreground/75 shadow-none [appearance:textfield] hover:bg-foreground
1/[0.04] focus-visible:bg-white [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",inputMode:"decimal",min:t.min??8,max:t.max??200,step:t.step??2,type:"number",value:n,onBlur:()=>{u(n,!0),a(!1)},onChange:e=>o(e.target.value),onFocus:()=>a(!0),onKeyDown:t=>{"Enter"===t.key&&t.currentTarget.blur(),"Escape"===t.key&&(o(tJ(e)),t.currentTarget.blur())}}),(0,v.jsx)(tk,{className:"size-6.5 rounded-lg border-0 shadow-none hover:shadow-none",label:"Increase font size",onClick:()=>c("increase"),children:(0,v.jsx)(S.A,{className:td,strokeWidth:2.5})})]})}function tZ(e,t,r){return Math.min(r,Math.max(t,e))}function tJ(e){return String(tQ(e))}function tQ(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:32}var t0=500;function t1({activePopoverId:e,commitFeature:t,feature:r,getCurrentValue:n,icon:i,includeGradients:o,label:l,popoverId:a,setActivePopoverId:s}){return(0,v.jsxs)(tU,{open:e===a,onOpenChange:e=>s(e?a:null),children:[(0,v.jsx)(tY,{asChild:!0,children:(0,v.jsx)(t8,{active:e===a,"data-testid":`floating-${a}-trigger`,icon:i,label:l})}),(0,v.jsx)(tX,{className:"w-80 max-h-[calc(100vh-40px)] overflow-y-auto p-2",children:(0,v.jsx)(tz,{value:n(r),ariaLabelPrefix:l,includeGradients:o,onChange:e=>t(r,e),onCommit:()=>s(null)})})]})}function t2({activePopoverId:e,commitFeature:t,custom:r,feature:n,getCurrentValue:o,icon:l,label:a,options:s,popoverId:d,selectionCommandAvailability:u,setActivePopoverId:c,onStylePreview:h}){var p;let f=o(n),g="text-align"===n.id?"left"===(p=f)?(0,v.jsx)(X.A,{className:td,strokeWidth:2.5}):"right"===p?(0,v.jsx)(G.A,{className:td,strokeWidth:2.5}):(0,v.jsx)(q.A,{className:td,strokeWidth:2.5}):l,m="style"===n.target&&!!n.propertyName,x=t6(n),b=(0,i.useRef)(!1);function y(){!b.current&&m&&n.propertyName&&h(n.propertyName,null)}return(0,v.jsxs)(tU,{open:e===d,onOpenChange:e=>{e&&(b.current=!1),e||y(),c(e?d:null)},children:[(0,v.jsx)(tY,{asChild:!0,children:(0,v.jsx)(t8,{active:e===d,"data-testid":`floating-${d}-trigger`,icon:g,label:a})}),(0,v.jsxs)(tX,{className:eN("p-1.5",x?"w-40":"w-64"),onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:[(0,v.jsx)("div",{className:eN("grid",x?"gap-0.5":"gap-1"),children:s.map(e=>{let r=e.icon,i="operation"===n.target&&"distribute"===n.id&&!u.group,o=t6(n);return(0,v.jsx)("button",{type:"button",className:eN(tu,f===e.value&&"bg-foreground
1/[0.06]"),"aria-pressed":f===e.value,"data-value":e.value,disabled:i,onBlur:y,onClick:()=>{b.current=!0,t(n,e.value),c(null)},onFocus:()=>{n.propertyName&&h(n.propertyName,e.value)},onMouseDown:()=>{b.current=!0},onMouseEnter:()=>{n.propertyName&&h(n.propertyName,e.value)},onMouseLeave:y,onPointerDown:()=>{b.current=!0},children:o?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("span",{className:"min-w-0 truncate",children:e.label}),(0,v.jsx)(t4,{feature:n,option:e})]}):(0,v.jsxs)(v.Fragment,{children:[r?(0,v.jsx)(tA,{icon:r}):(0,v.jsx)(t4,{feature:n,option:e}),(0,v.jsx)("span",{className:"truncate",children:e.label})]})},e.value)})}),r?(0,v.jsx)("div",{className:"mt-2 border-t border-foreground/[0.08] pt-2",children:r}):null]})]})}function t9({activePopoverId:e,commitFeature:t,feature:r,getCurrentValue:n,icon:o,label:l,popoverId:a,setActivePopoverId:s,onStylePreview:d}){let u=n(r),[c,h]=(0,i.useState)(()=>t7(u)),p=re(c);function f(e=c){d("line-height",null),t(r,e)}return(0,i.useEffect)(()=>{e===a&&h(t7(u))},[e,u,a]),(0,v.jsxs)(tU,{open:e===a,onOpenChange:e=>{e||d("line-height",null),s(e?a:null)},children:[(0,v.jsx)(tY,{asChild:!0,children:(0,v.jsx)(t8,{active:e===a,icon:o,label:l})}),(0,v.jsx)(tX,{className:"w-64 p-3",onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:(0,v.jsxs)("section",{className:"grid gap-2","aria-label":"Line height",children:[(0,v.jsxs)("div",{className:"flex items-center justify-between text-[10px] font-medium uppercase leading-tight tracking-wider text-foreground/40",children:[(0,v.jsx)("span",{children:"Line height"}),(0,v.jsxs)("span",{className:"tabular-nums",children:[p,"x"]})]}),(0,v.jsx)("input",{"aria-label":"Line height",className:"h-2 w-full cursor-pointer appearance-none rounded-full bg-foreground
1/10 accent-foreground",max:rr,min:rt,onBlur:()=>f(),onChange:e=>{var t;h(t=e.target.value),d("line-height",t)},onKeyUp:()=>f(),onPointerUp:()=>f(),step:rn,type:"range",value:c}),(0,v.jsxs)("div",{className:"flex justify-between text-[10px] font-medium text-foreground/35",children:[(0,v.jsxs)("span",{children:[rt,"x"]}),(0,v.jsxs)("span",{children:[rr,"x"]})]})]})})]})}function t3({icon:e,label:t,onClick:r}){return(0,v.jsxs)("button",{type:"button",className:tu,onClick:r,children:[e,t]})}function t5({children:e}){return(0,v.jsx)("div",{className:"flex items-center gap-px rounded-xl",children:e})}function t8({active:e,className:t,icon:r,label:n,...i}){return(0,v.jsx)(eE,{...i,type:"button",variant:"ghost",size:"icon-sm","aria-label":n,title:n,className:eN(tc,e&&th,t),children:r})}function t4({feature:e,option:t}){return"border"===e.id?(0,v.jsx)("span",{className:"h-4 w-9 shrink-0 rounded bg-white","data-testid":"floating-toolbar-option-preview",style:{borderColor:"rgba(15,23,42,.5)",borderStyle:"none"===t.value?"solid":t.value,borderWidth:"none"===t.value?"1px":"2px",opacity:"none"===t.value?.32:1},"aria-hidden":"true"}):"border-radius"===e.id?(0,v.jsx)("span",{className:"h-4 w-9 shrink-0 border border-foreground
1/15 bg-foreground/[0.04]","data-testid":"floating-toolbar-option-preview",style:{borderRadius:t.value},"aria-hidden":"true"}):"border-width"===e.id?(0,v.jsx)("span",{className:"flex h-4 w-9 shrink-0 items-center justify-center","aria-hidden":"true",children:(0,v.jsx)("span",{className:"w-full rounded-full bg-foreground/65","data-testid":"floating-toolbar-option-preview",style:{height:"0px"===t.value?"1px":t.value,opacity:"0px"===t.value?.22:1}})}):"box-shadow"===e.id?(0,v.jsx)("span",{className:"flex h-5 w-10 shrink-0 items-center justify-center","aria-hidden":"true",children:(0,v.jsx)("span",{className:"h-3.5 w-8 rounded border border-foreground/10 bg-white","data-testid":"floating-toolbar-option-preview",style:{boxShadow:"none"===t.value?void 0:t.value}})}):(0,v.jsx)("span",{className:"size-1.5 rounded-full bg-foreground/35"})}function t6(e){return"border"===e.id||"border-color"===e.id||"border-radius"===e.id||"border-width"===e.id||"box-shadow"===e.id}function t7(e){var t;let r=Number.parseFloat(e);return re((t=Number.isFinite(r)?r:ri,Math.min(rr,Math.max(rt,t))))}function re(e){let t="number"==typeof e?e:Number.parseFloat(e);return String(Math.round(100*(Number.isFinite(t)?t:ri))/100)}var rt=.8,rr=2.4,rn=.01,ri=1.2;function ro({activePopoverId:e,isSelectedElementLocked:t,selectionCommandAvailability:r,selectedElementType:n,showGroupTool:i,showMultiTools:o,commitFeature:l,getCurrentValue:a,getFeature:s,onStylePreview:d,setActiveAttributeDialog:u,setActivePopoverId:c}){let h="image"===n;return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(ra,{commitFeature:l,getFeature:s,isSelectedElementLocked:t,selectionCommandAvailability:r,showGroupTool:i}),t?null:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(tS,{}),h?(0,v.jsx)(rl,{commitFeature:l,getFeature:s}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(rs,{commitFeature:l,getCurrentValue:a,getFeature:s,onStylePreview:d,setActivePopoverId:c}),(0,v.jsx)(tS,{}),(0,v.jsx)(rd,{commitFeature:l,getCurrentValue:a,getFeature:s}),(0,v.jsx)(tS,{}),(0,v.jsx)(ru,{activePopoverId:e,commitFeature:l,getCurrentValue:a,getFeature:s,onStylePreview:d,selectionCommandAvailability:r,setActivePopoverId:c}),(0,v.jsx)(tS,{}),(0,v.jsx)(rf,{activePopoverId:e,commitFeature:l,getCurrentValue:a,getFeature:s,onStylePreview:d,selectionCommandAvailability:r,setActivePopoverId:c})]}),h?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(tS,{}),(0,v.jsx)(rg,{activePopoverId:e,commitFeature:l,getCurrentValue:a,getFeature:s,onStylePreview:d,selectionCommandAvailability:r,setActivePopoverId:c})]}):null,o?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(tS,{}),(0,v.jsx)(rN,{activePopoverId:e,commitFeature:l,getCurrentValue:a,getFeature:s,onStylePreview:d,selectionCommandAvailability:r,setActivePopoverId:c})]}):null,(0,v.jsx)(tS,{}),(0,v.jsx)(rk,{activePopoverId:e,setActiveAttributeDialog:u,setActivePopoverId:c})]})]})}function rl({commitFeature:e,getFeature:t}){return(0,v.jsx)(t5,{children:(0,v.jsx)(tk,{label:"Crop image",onClick:()=>e(t("image-crop"),"cover"),children:(0,v.jsx)(en.A,{className:td,strokeWidth:2.5})})})}function ra({commitFeature:e,getFeature:t,isSelectedElementLocked:r,selectionCommandAvailability:n,showGroupTool:i}){return(0,v.jsxs)(t5,{children:[(0,v.jsx)(tk,{label:r?"Unlock":"Lock",active:r,onClick:()=>e(t("locked"),r?"":"true"),children:r?(0,v.jsx)(ed.A,{className:td,strokeWidth:2.5}):(0,v.jsx)(ei.A,{className:td,strokeWidth:2.5})}),r||!i?null:(0,v.jsx)(rC,{commitFeature:e,getFeature:t,selectionCommandAvailability:n})]})}function rs({commitFeature:e,getCurrentValue:t,getFeature:r,onStylePreview:n,setActivePopoverId:i}){let o=r("font-family"),l=r("font-size");return(0,v.jsxs)(t5,{children:[(0,v.jsx)(tG,{currentValue:t(o),onCommit:t=>e(o,t),onOpen:()=>i(null),onPreview:e=>n("font-family",e)}),(0,v.jsx)(tK,{currentValue:t(l),feature:l,onCommitFeature:e})]})}function rd({commitFeature:e,getCurrentValue:t,getFeature:r}){return(0,v.jsx)(t5,{children:[{feature:r("font-bold"),icon:eu.A},{feature:r("font-italic"),icon:ec.A},{feature:r("font-underline"),icon:eh.A},{feature:r("font-strikethrough"),icon:ep.A}].map(({feature:r,icon:n})=>{let i=function(e,t){if("font-bold"===e.id){let e=t.trim().toLowerCase();if("bold"===e||"bolder"===e)return!0;let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>=600}return"font-italic"===e.id?"italic"===t.trim().toLowerCase():"font-underline"===e.id?eJ(t).has("underline"):"font-strikethrough"===e.id?eJ(t).has("line-through"):"locked"===e.id?"true"===t:!!t}(r,t(r));return(0,v.jsx)(tk,{label:r.label,active:i,onClick:()=>e(r,i?"":"true"),children:(0,v.jsx)(n,{className:td,strokeWidth:2.5})},r.id)})})}function ru(e){let t=e.getFeature("text-color"),r=e.getFeature("background-color");return(0,v.jsxs)(t5,{children:[(0,v.jsx)(t1,{...e,feature:t,icon:(0,v.jsx)(rc,{colorValue:e.getCurrentValue(t),label:"Text color"}),includeGradients:!1,label:"Text color",popoverId:"text-color"}),(0,v.jsx)(t1,{...e,feature:r,icon:(0,v.jsx)(rh,{colorValue:e.getCurrentValue(r),label:"Backgroun
1d color"}),includeGradients:!0,label:"Background color",popoverId:"background-color"}),(0,v.jsx)(rg,{activePopoverId:e.activePopoverId,commitFeature:e.commitFeature,getCurrentValue:e.getCurrentValue,getFeature:e.getFeature,onStylePreview:e.onStylePreview,selectionCommandAvailability:e.selectionCommandAvailability,setActivePopoverId:e.setActivePopoverId})]})}function rc({colorValue:e,label:t}){return(0,v.jsxs)("span",{className:"relative inline-grid size-4 place-items-center","aria-hidden":"true","data-testid":"floating-toolbar-text-color-icon",title:t,children:[(0,v.jsx)(ef.A,{className:td,strokeWidth:2.5}),(0,v.jsx)("span",{className:"absolute bottom-0 h-1.5 w-4 rounded-[3px] border border-white/80 shadow-[0_0_0_1px_rgba(15,23,42,0.14)]",style:{background:rp(e)}})]})}function rh({colorValue:e,label:t}){return(0,v.jsx)("span",{className:"inline-block size-4 rounded-[4px] border border-white/85 shadow-[0_0_0_1px_rgba(15,23,42,0.16),inset_0_0_0_1px_rgba(255,255,255,0.45)]","aria-hidden":"true","data-testid":"floating-toolbar-background-color-icon",title:t,style:{background:rp(e)}})}function rp(e){return e.trim()||"transparent"}function rf(e){return(0,v.jsxs)(t5,{children:[(0,v.jsx)(t9,{...e,feature:e.getFeature("line-height"),icon:(0,v.jsx)(eg.A,{className:td,strokeWidth:2.5}),label:"Line height",popoverId:"line-height"}),(0,v.jsx)(t2,{...e,feature:e.getFeature("text-align"),icon:(0,v.jsx)(em.A,{className:td,strokeWidth:2.5}),label:"Text align",options:te,popoverId:"text-align"})]})}function rg(e){let t=e.getFeature("border"),r=e.getFeature("border-color"),n=e.getFeature("border-width"),i=e.getFeature("border-radius"),o=e.getFeature("box-shadow"),l=e.getCurrentValue(t),a=e.getCurrentValue(r),s=e.getCurrentValue(n),d=e.getCurrentValue(i),u=e.getCurrentValue(o);return(0,v.jsx)(rm,{active:"border"===e.activePopoverId,borderColor:a,borderColorFeature:r,borderFeature:t,borderRadius:d,borderRadiusFeature:i,borderStyle:l,borderWidth:s,borderWidthFeature:n,boxShadow:u,boxShadowFeature:o,commitFeature:e.commitFeature,onOpenChange:t=>e.setActivePopoverId(t?"border":null),onStylePreview:e.onStylePreview})}function rm({active:e,borderColor:t,borderColorFeature:r,borderFeature:n,borderRadius:i,borderRadiusFeature:o,borderStyle:l,borderWidth:a,borderWidthFeature:s,boxShadow:d,boxShadowFeature:u,commitFeature:c,onOpenChange:h,onStylePreview:p}){let f=l||"none",g=rj(Math.round(rv(a)),0,24),m=rj(Math.round(rv(i)),0,64),x=rj(Math.round(function(e){if(!e||"none"===e)return 0;let t=e.match(/(?:^|\s)(-?\d+(?:\.\d+)?)px\s+(-?\d+(?:\.\d+)?)px/),r=Number.parseFloat(t?.[2]??"");return Number.isFinite(r)?r:0}(d)),0,32);function b(e){n.propertyName&&p(n.propertyName,e)}function y(){n.propertyName&&p(n.propertyName,null)}return(0,v.jsxs)(tU,{open:e,onOpenChange:h,children:[(0,v.jsx)(tY,{asChild:!0,children:(0,v.jsx)(eE,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Border",title:"Border","data-testid":"floating-border-trigger",className:eN(tc,e&&th),children:(0,v.jsx)(ry,{borderColor:t,borderStyle:l,borderWidth:a})})}),(0,v.jsx)(tX,{align:"start",className:"w-[288px] !bg-white p-2.5 !backdrop-blur-none",onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:(0,v.jsxs)(tM,{defaultValue:"style",className:"gap-2",children:[(0,v.jsxs)(tL,{className:"h-7 w-full","aria-label":"Border settings tabs",children:[(0,v.jsx)(t$,{value:"style",className:"text-[12px]",children:"Style"}),(0,v.jsx)(t$,{value:"color",className:"text-[12px]",children:"Color"})]}),(0,v.jsxs)(tD,{value:"style",className:"grid gap-3 pt-1",children:[(0,v.jsxs)("section",{className:"grid gap-1.5",children:[(0,v.jsx)("div",{className:"text-[10px] font-medium uppercase leading-tight tracking-wider text-foreground/40",children:"Stroke Style"}),(0,v.jsx)("div",{className:"grid gap-1","aria-label":"Stroke Style",children:tl.map(e=>{let t=f===e.value;return(0,v.jsxs)("button",{type:"button",className:eN("flex h-8 items-center justify-between gap-2 rounded-md px-2 text-[12px] font-medium text-foreground/65 transition-colors hover:bg-foreground
1/[0.04] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",t&&"bg-foreground/[0.07] text-foreground shadow-[inset_0_0_0_1px_rgba(15,23,42,0.08)]"),"aria-label":e.label,"aria-pressed":t,"data-value":e.value,onBlur:y,onClick:()=>{var t;return t=e.value,void(y(),c(n,t))},onFocus:()=>b(e.value),onMouseEnter:()=>b(e.value),onMouseLeave:y,children:[(0,v.jsx)("span",{className:"min-w-0 truncate",children:e.label}),"none"===e.value?(0,v.jsx)("span",{"aria-hidden":"true"}):(0,v.jsx)(rb,{optionValue:e.value})]},e.value)})})]}),(0,v.jsx)(rx,{label:"Stroke weight",max:24,min:0,value:g,onCommit:e=>c(s,`${e}px`),onPreview:e=>{s.propertyName&&p(s.propertyName,`${e}px`)}}),(0,v.jsx)(rx,{label:"Corner radius",max:64,min:0,value:m,onCommit:e=>c(o,`${e}px`),onPreview:e=>{o.propertyName&&p(o.propertyName,`${e}px`)}}),(0,v.jsx)(rx,{label:"Shadow",max:32,min:0,value:x,onCommit:e=>c(u,rw(e)),onPreview:e=>{u.propertyName&&p(u.propertyName,rw(e))}})]}),(0,v.jsx)(tD,{value:"color",className:"pt-1",children:(0,v.jsx)(tz,{ariaLabelPrefix:"Border color",includeGradients:!1,includeOpacity:!1,value:t,onChange:e=>c(r,e),onCommit:()=>h(!1)})})]})})]})}function rx({label:e,max:t,min:r,onCommit:n,onPreview:o,value:l}){let[a,s]=(0,i.useState)(l),d=(0,i.useRef)(l),u=(0,i.useRef)(!1),c=(0,i.useRef)(null);function h(){null!==c.current&&(window.clearTimeout(c.current),c.current=null),u.current&&(u.current=!1,n(d.current))}return(0,i.useEffect)(()=>{s(l),d.current=l},[l]),(0,i.useEffect)(()=>()=>{null!==c.current&&window.clearTimeout(c.current)},[]),(0,v.jsxs)("section",{className:"grid gap-1.5",children:[(0,v.jsxs)("div",{className:"flex items-center justify-between text-[10px] font-medium uppercase leading-tight tracking-wider text-foreground/40",children:[(0,v.jsx)("span",{children:e}),(0,v.jsxs)("span",{children:[a,"px"]})]}),(0,v.jsxs)("div",{className:"grid grid-cols-[1fr_44px] items-center gap-2",children:[(0,v.jsx)("input",{type:"range",min:r,max:t,value:a,"aria-label":e,className:"h-1.5 w-full cursor-pointer appearance-none rounded-full bg-foreground
1/10 accent-foreground",onBlur:h,onChange:e=>{var t;d.current=t=Number.parseInt(e.target.value,10),u.current=!0,s(t),o(t),null!==c.current&&window.clearTimeout(c.current),c.current=window.setTimeout(h,160)},onKeyUp:h,onPointerUp:h}),(0,v.jsxs)("div",{className:"grid h-6 place-items-center rounded-md border border-foreground/[0.1] bg-white px-1 text-[11px] font-medium tabular-nums text-foreground/70",children:[a,"px"]})]})]})}function rb({optionValue:e}){return(0,v.jsx)("span",{className:"block w-8 shrink-0 border-t-[3px] border-foreground","data-testid":"floating-toolbar-option-preview",style:{borderTopStyle:e},"aria-hidden":"true"})}function ry({borderColor:e,borderStyle:t,borderWidth:r}){var n;let i,o="none"===t?"3px":(i=rv(r),`${Math.max(1,Math.min(5,i||1))}px`);return(0,v.jsx)("span",{className:"flex h-3.5 w-5 items-center justify-center","data-testid":"floating-border-trigger-icon","aria-hidden":"true",children:(0,v.jsxs)("span",{className:"relative block h-3 w-full","aria-hidden":"true",children:[(0,v.jsx)("span",{className:"absolute inset-x-0 top-1/2 h-0 -translate-y-1/2 border-t-[2px] border-t-foreground/85"}),(0,v.jsx)("span",{className:"absolute inset-x-0 top-1/2 h-0 -translate-y-1/2","data-testid":"floating-border-trigger-line",style:{borderTopColor:e||"rgba(15,23,42,.7)",borderTopStyle:"dashed"===(n=t)||"dotted"===n?n:"solid",borderTopWidth:o,opacity:"none"===t?.36:1}})]})})}function rv(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function rw(e){if(e<=0)return"none";let t=Math.round(2.35*e),r=Math.min(.28,.1+e/180);return`0 ${e}px ${t}px rgba(15, 23, 42, ${Math.round(100*r)/100})`}function rj(e,t,r){return Math.min(r,Math.max(t,e))}function rN(e){return(0,v.jsxs)(t5,{children:[(0,v.jsx)(t2,{...e,feature:e.getFeature("align-to-slide"),icon:(0,v.jsx)(q.A,{className:td,strokeWidth:2.5}),label:"Align",options:tt,popoverId:"align"}),(0,v.jsx)(t2,{...e,feature:e.getFeature("layer-order"),icon:(0,v.jsx)(l.A,{className:td,strokeWidth:2.5}),label:"Layer",options:tr,popoverId:"layer"}),(0,v.jsx)(t2,{...e,feature:e.getFeature("distribute"),icon:(0,v.jsx)(Y.A,{className:td,strokeWidth:2.5}),label:"Distribute",options:tn,popoverId:"distribute"})]})}function rC({commitFeature:e,getFeature:t,selectionCommandAvailability:r}){let n=r.ungroup,i=t(n?"ungroup":"group");return(0,v.jsx)(t5,{children:(0,v.jsx)(tk,{label:n?"Ungroup":"Group",onClick:()=>e(i,n?"ungroup":"group"),children:n?(0,v.jsx)(z.A,{className:td,strokeWidth:2.5}):(0,v.jsx)(R.A,{className:td,strokeWidth:2.5})})})}function rk({activePopoverId:e,setActiveAttributeDialog:t,setActivePopoverId:r}){let n=e=>{r(null),t(e)};return(0,v.jsx)(t5,{children:(0,v.jsxs)(tU,{open:"other"===e,onOpenChange:e=>r(e?"other":null),children:[(0,v.jsx)(tY,{asChild:!0,children:(0,v.jsx)(eE,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Other",title:"Other",className:eN(tc,"other"===e&&th),children:(0,v.jsx)(ex.A,{className:td,strokeWidth:2.5})})}),(0,v.jsxs)(tX,{align:"end",className:"w-56 p-1.5",children:[(0,v.jsx)(t3,{icon:(0,v.jsx)(eo.A,{className:td,strokeWidth:2.5}),label:"Link",onClick:()=>n("other-link")}),(0,v.jsx)(t3,{icon:(0,v.jsx)(eb.A,{className:td,strokeWidth:2.5}),label:"ARIA label",onClick:()=>n("other-aria-label")})]})]})})}var rS=new Map(ta.flatMap(e=>e.subgroups.flatMap(e=>e.features.map(e=>[e.id,e]))));function rA({inspectedStyles:e,selectedElementType:t,selectionCommandAvailability:r,isSelectedElementLocked:o,attributeValues:l,onStyleChange:a,onStyleChanges:s,onStylePreview:d,onAttributeChange:u,onAlignToSlide:c,onCropImage:h,onDistribute:p,onGroup:f,onLayerOrder:g,onUngroup:m}){let x=(0,i.useRef)(null),[b,y]=(0,i.useState)(0),w=(0,i.useRef)(0),[j,N]=(0,i.useState)(null),[C,k]=(0,i.useState)(null),[S,A]=(0,i.useState)({}),M="multi"===t,E=M||r.ungroup,L=(0,i.useCallback)((e,t)=>{rM(e)&&A(r=>r[e]===t?r:{...r,[e]:t}),d(e,t)},[d]);function $(t,r){"distribute"===t.id?p(r):"group"===t.id?f():"ungroup"===t.id?m():"image-crop"===t.id?h():"other-link"===t.id?u("data-link-url",r.trim()):"other-aria-label"===t.id?u("aria-label",r.trim()):"background-color"===t.id?r.startsWith("linear-gradient")?(A(e=>({...e,"background-image":r})),a("background-image",r)):(A(e=>({...e,"background-color":r,"background-image":""})),s([{propertyName:"background-color",nextValue:r},{propertyName:"background-image",nextValue:""}])):("style"===t.target&&t.propertyName&&rM(t.propertyName)&&A(e=>({...e,[t.propertyName??""]:r})),function({attributeValues:e,feature:t,inspectedStyles:r,nextValue:i,onAlignToSlide:o,onAttributeChange:l,onLayerOrder:a,onStyleChange:s}){if("style"===t.target&&t.propertyName){let o=e2({feature:t,inspectedStyles:r,attributeValues:e});if("rotation"===t.id){var d;let e=(d=r,d.find(e=>"transform"===e.name)?.value??""),o=(0,n._F)(e),l=Number.parseFloat(i);s(t.propertyName,(0,n.HL)(o.translateX,o.translateY,Number.isFinite(l)?l:0)??"");return}return"font-underline"===t.id?s(t.propertyName,e6(o,"underline",""===i)):"font-strikethrough"===t.id?s(t.propertyName,e6(o,"line-through",""===i)):s(t.propertyName,e4(t,i))}"attribute"===t.target&&t.attributeName?l(t.attributeName,e4(t,i)):"other-link"===t.id?l("data-link-url",i.trim()):"other-aria-label"===t.id?l("aria-label",i.trim()):("align-to-slide"===t.id&&o(i),"layer-order"===t.id&&a(i))}({attributeValues:l,feature:t,inspectedStyles:e,nextValue:r,onAlignToSlide:c,onAttributeChange:u,onLayerOrder:g,onStyleChange:a}))}return(0,i.useEffect)(()=>
1{if(x.current)return()=>{let e=x.current,t=e?.closest('[data-testid="stage-panel"]');if(!(e instanceof HTMLElement)||!(t instanceof HTMLElement))return;let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=e.cloneNode(!0);i instanceof HTMLElement&&(i.className=eN(i.className,"absolute z-40 m-0 pointer-events-none"),i.classList.remove("motion-safe:animate-in","motion-safe:fade-in-0"),i.className=eN(i.className,"motion-safe:animate-out motion-safe:fade-out-0 motion-reduce:animate-none"),i.setAttribute("aria-hidden","true"),i.style.left=`${r.left-n.left}px`,i.style.top=`${r.top-n.top}px`,i.style.width=`${r.width}px`,i.style.height=`${r.height}px`,t.appendChild(i),i.addEventListener("animationend",()=>i.remove()),window.setTimeout(()=>i.remove(),250))}},[]),(0,i.useLayoutEffect)(()=>{let e=x.current;if(!e)return;let t=e.getBoundingClientRect(),r=t.left-w.current,n=t.right-w.current,i=0;r<16&&(i=16-r),n+i>window.innerWidth-16&&(i+=window.innerWidth-16-(n+i)),Math.abs(w.current-i)>=.5&&(w.current=i,y(i))},[]),(0,i.useEffect)(()=>{function e(e){let t=e.target;x.current?.contains(e.target)||t instanceof Element&&t.closest('[data-slot="select-content"], [data-slot="popover-content"]')||k(null)}return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),(0,i.useEffect)(()=>{function e(e){"Escape"===e.key&&k(null)}return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[]),(0,v.jsxs)("div",{className:eN("relative grid w-max min-w-max max-w-[min(1120px,calc(100vw-280px))] gap-2 text-foreground pointer-events-auto max-[1200px]:w-full max-[1200px]:min-w-0","motion-safe:duration-200 motion-safe:ease-out","motion-safe:animate-in motion-safe:fade-in-0 motion-reduce:animate-none"),onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),ref:x,style:{marginLeft:b},children:[(0,v.jsx)("div",{className:"flex w-max items-center gap-0.5 overflow-x-auto overflow-y-hidden rounded-2xl border border-foreground
1/[0.08] bg-white/92 px-1.5 py-1.5 shadow-[0_2px_12px_rgba(0,0,0,0.04),0_8px_32px_rgba(0,0,0,0.06)] backdrop-blur-xl max-[1200px]:min-w-[940px]","aria-label":"Full editing toolbar",children:(0,v.jsx)(ro,{activePopoverId:C,isSelectedElementLocked:o,selectionCommandAvailability:r,selectedElementType:t,showGroupTool:E,showMultiTools:M,commitFeature:$,getCurrentValue:function(t){if("background-color"===t.id){let r=S["background-image"];if(r?.trim().startsWith("linear-gradient"))return r;if("background-color"in S)return S["background-color"]??e2({attributeValues:l,feature:t,inspectedStyles:e})}return t.propertyName&&t.propertyName in S?S[t.propertyName]??e2({attributeValues:l,feature:t,inspectedStyles:e}):e2({attributeValues:l,feature:t,inspectedStyles:e})},getFeature:rE,onStylePreview:L,setActiveAttributeDialog:N,setActivePopoverId:k})}),(0,v.jsx)(tj,{attributeValues:l,dialogId:j,onCommitFeature:$,onOpenChange:e=>{e||N(null)}})]})}function rM(e){return"background-color"===e||"background-image"===e||"border"===e||"border-style"===e||"border-color"===e||"border-width"===e||"border-radius"===e||"box-shadow"===e}function rE(e){let t=rS.get(e);if(!t)throw Error(`Missing floating toolbar feature: ${e}`);return t}var rL={"top-left":"M12 22V12H22","top-right":"M2 12h10v10","bottom-right":"M12 2v10H2","bottom-left":"M22 12H12V2"};function r$({overlay:e,onCropHandleMouseDown:t}){var r,n,i;let o,l,a,s,d=(r=e.selectionBounds,n=e.cropBounds,o=r.x+r.width,l=r.y+r.height,a=n.x+n.width,s=n.y+n.height,[{name:"top",x:r.x,y:r.y,width:r.width,height:Math.max(n.y-r.y,0)},{name:"right",x:a,y:n.y,width:Math.max(o-a,0),height:n.height},{name:"bottom",x:r.x,y:s,width:r.width,height:Math.max(l-s,0)},{name:"left",x:r.x,y:n.y,width:Math.max(n.x-r.x,0),height:n.height}]);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("div",{className:"pointer-events-none absolute inset-0 z-[5]","data-testid":"image-crop-mask",children:d.map(e=>(0,v.jsx)("div",{className:"absolute bg-background/35 backdrop-blur-[6px]","data-crop-mask-region":e.name,style:{left:`${e.x}px`,top:`${e.y}px`,width:`${e.width}px`,height:`${e.height}px`}},e.name))}),(0,v.jsx)("div",{className:"pointer-events-none absolute z-[6] border border-solid border-foreground bg-transparent","data-testid":"image-crop-overlay",style:{borderRadius:(i=e.cropRadii,`${i.topLeft} ${i.topRight} ${i.bottomRight} ${i.bottomLeft}`),left:`${e.cropBounds.x}px`,top:`${e.cropBounds.y}px`,width:`${e.cropBounds.width}px`,height:`${e.cropBounds.height}px`}}),e.handles.map(e=>{var r,n,i;let o,l;return(0,v.jsxs)("button",{type:"button",className:"absolute z-[7] size-8 -translate-x-1/2 -translate-y-1/2 rounded-sm bg-transparent text-white drop-shadow-[0_1px_2px_rgba(0,0,0,0.7)]","data-testid":`image-crop-handle-${e.corner}`,"aria-label":`Crop image from ${e.corner}`,style:{cursor:(o="top-left"===(r=e.corner)||"bottom-right"===r?"nwse-resize":"nesw-resize",`url("data:image/svg+xml,${l=rL[r],encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="${l}" fill="none" stroke="black" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="${l}" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`)}") 12 12, ${o}`),left:`${e.x}px`,top:`${e.y}px`},onMouseDown:r=>t(e.corner,r),children:[(0,v.jsx)("span",{className:`absolute h-[3px] w-[22px] rounded-full bg-current ${"top-left"===(n=e.corner)||"bottom-left"===n?`${"top-left"===n?"top-1/2":"bottom-1/2"} left-1/2 -translate-y-1/2`:`${"top-right"===n?"top-1/2":"bottom-1/2"} right-1/2 -translate-y-1/2`}`,"aria-hidden":"true"}),(0,v.jsx)("span",{className:`absolute h-[22px] w-[3px] rounded-full bg-current ${"top-left"===(i=e.corner)||"top-right"===i?`${"top-left"===i?"left-1/2":"right-1/2"} top-1/2 -translate-x-1/2`:`${"bottom-left"===i?"left-1/2":"right-1/2"} bottom-1/2 -translate-x-1/2`}`,"aria-hidden":"true"})]},e.corner)})]})}var rD={borderColor:"#facc15",backgroundColor:"rgba(250, 204, 21, 0.08)",boxShadow:"0 0 0 1px rgba(24, 24, 27, 0.2)"};function rI({slideWidth:e,slideHeight:t,offsetX:r,offsetY:n,scale:i,preselectionOverlay:o,marqueeOverlay:l,selectionOverlay:a,toolbarKey:s,inspectedStyles:d,selectedElementType:u,selectionCommandAvailability:c,isSelectedElementLocked:h,groupScopeOverlayPassive:p,isEditingText:f,isCropMode:g,cropOverlay:m,manipulationOverlay:x,attributeValues:b,iframeRef:y,stageViewportRef:w,selectionOverlayRef:j,selectionContextMenuTriggerRef:N,isManipulating:C,isToolbarSuppressed:k,onSelectionOverlayMouseDown:S,onSelectionOverlayMouseUp:A,onSelectionOverlayMouseMove:M,onSelectionOverlayContextMenu:E,onStageMouseLeave:L,onResizeHandleMouseDown:$,onCornerRotationZoneMouseDown:D,onCropHandleMouseDown:I,onSelectionOverlayDoubleClick:R,onBackgroun
1dClick:z,onStyleChange:F,onStyleChanges:_,onStylePreview:P,onAttributeChange:B,onAlignToSlide:T,onCropImage:O,onDistribute:H,onGroup:V,onLayerOrder:W,onUngroup:U,onDuplicate:Y,onDelete:X}){let q=(e,t)=>{e===t&&z()},G=a?function({selectionOverlay:e,offsetX:t,scale:r,slideWidth:n}){let i=t+n*r,o=Math.min(288,Math.max((i-t)/2,0)),l=t+o,a=Math.min(Math.max(e.x+e.width/2,l),Math.max(l,i-o));return{left:`${a}px`,top:e.y<84?`${e.y+e.height+18}px`:`${e.y-18}px`,transform:e.y<84?"translate(-50%, 0)":"translate(-50%, -100%)"}}({selectionOverlay:a,offsetX:r,scale:i,slideWidth:e}):void 0;return(0,v.jsxs)("section",{className:"relative z-[5] min-h-0 min-w-0 flex-auto overflow-visible p-10 pb-6 max-[1200px]:px-5 max-[1200px]:py-4","data-testid":"stage-panel",ref:w,onClick:e=>{q(e.target,e.currentTarget)},onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&q(e.target,e.currentTarget)},onMouseLeave:L,children:[!a||C||k||f||g?null:(0,v.jsx)("div",{className:"pointer-events-none absolute z-40 w-max max-[1200px]:static max-[1200px]:mb-4 max-[1200px]:pointer-events-auto",style:G,"data-testid":"floating-toolbar-anchor",children:(0,v.jsx)(rA,{inspectedStyles:d,selectedElementType:u,selectionCommandAvailability:c,isSelectedElementLocked:h,attributeValues:b,onStyleChange:F,onStyleChanges:_,onStylePreview:P,onAttributeChange:B,onAlignToSlide:T,onCropImage:O,onDistribute:H,onGroup:V,onLayerOrder:W,onUngroup:U},s)}),(0,v.jsx)("div",{className:"absolute origin-top-left overflow-hidden rounded-xl shadow-[0_0_0_1px_rgba(0,0,0,0.08),0_2px_12px_rgba(0,0,0,0.04),0_8px_32px_rgba(0,0,0,0.06)] max-[1200px]:max-w-full","data-testid":"stage-frame",style:{width:`${e}px`,height:`${t}px`,left:`${r}px`,top:`${n}px`,transform:`scale(${i})`},children:(0,v.jsx)("iframe",{ref:y,title:"Slide canvas",className:"size-full border-0","data-testid":"slide-iframe"})}),!o||f||C?null:(0,v.jsx)("div",{"data-testid":"preselection-overlay",className:"pointer-events-none absolute z-[2] border border-dashed",style:{...rD,left:`${o.x}px`,top:`${o.y}px`,width:`${o.width}px`,height:`${o.height}px`}}),l&&!f?(0,v.jsx)("div",{"data-testid":"marquee-selection-overlay",className:"pointer-events-none absolute z-[4] border border-yellow-400 bg-yellow-400/15",style:{left:`${l.x}px`,top:`${l.y}px`,width:`${l.width}px`,height:`${l.height}px`}}):null,f?null:(0,v.jsxs)(e$,{children:[(0,v.jsx)(eD,{asChild:!0,children:(0,v.jsx)("span",{ref:N,"data-testid":"selection-context-menu-trigger",className:"pointer-events-none absolute size-0","aria-hidden":"true"})}),(0,v.jsx)(eG,{selectionCommandAvailability:c,onAlignToSlide:T,onDelete:X,onDistribute:H,onDuplicate:Y,onGroup:V,onLayerOrder:W,onUngroup:U})]}),a&&!f?(0,v.jsx)("div",{ref:j,"data-testid":"selection-overlay",className:eN("absolute z-[3] border border-dashed",p||g?"pointer-events-none":"pointer-events-auto"),style:{...rD,left:`${a.x}px`,top:`${a.y}px`,width:`${a.width}px`,height:`${a.height}px`},onMouseDown:S,onMouseMove:M,onMouseUp:A,onContextMenu:E,onDoubleClick:e=>{R(e)}}):null,m?(0,v.jsx)(r$,{overlay:m,onCropHandleMouseDown:I}):null,x?(0,v.jsx)(eq,{selectionBounds:x.selectionBounds,snapGuides:x.snapGuides,resizeHandles:x.resizeHandles,rotationZones:x.rotationZones,onResizeHandleMouseDown:$,onCornerRotationZoneMouseDown:D}):null]})}function rR({delayDuration:e=0,...t}){return(0,v.jsx)(ew.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function rz({slides:e,activeSlide:t,deckTitle:r,decks:n,currentDeckId:i,isSaving:o,isSwitchingDeck:l,isPresenting:a,thumbnails:s,slideWidth:d,slideHeight:u,offsetX:c,offsetY:h,scale:p,preselectionOverlay:f,marqueeOverlay:g,selectionOverlay:m,toolbarKey:x,inspectedStyles:b,selectedElementType:y,selectionCommandAvailability:w,isSelectedElementLocked:j,groupScopeOverlayPassive:N,isEditingText:C,isCropMode:k,cropOverlay:S,manipulationOverlay:A,attributeValues:M,iframeRef:E,stageViewportRef:L,selectionOverlayRef:$,selectionContextMenuTriggerRef:D,isManipulating:I,isToolbarSuppressed:R,onDeckTitleChange:z,onDeckSwitch:F,onDeckImport:_,onDeckImportPath:P,onExportPdf:B,onExportHtml:T,onExportSourceFiles:O,onPresent:H,onExitPresenting:V,onSelectSlide:W,onSidebarSlideFocusChange:U,onAddSlide:Y,onAddSlideAbove:X,onAddSlideBelow:q,onDuplicateSlide:G,onDeleteSlide:K,onToggleSlideHidden:Z,onRenameSlide:J,onReorderSlide:Q,onSidebarFocusChange:ee,onSelectionOverlayMouseDown:et,onSelectionOverlayMouseUp:er,onSelectionOverlayMouseMove:en,onSelectionOverlayContextMenu:ei,onStageMouseLeave:eo,onResizeHandleMouseDown:el,onCornerRotationZoneMouseDown:ea,onCropHandleMouseDown:es,onSelectionOverlayDoubleClick:ed,onBackgroun
1dClick:eu,onStyleChange:ec,onStyleChanges:eh,onStylePreview:ep,onAttributeChange:ef,onAlignToSlide:eg,onCropImage:em,onDistribute:ex,onGroup:eb,onLayerOrder:ey,onUngroup:ev,onDuplicateElement:ew,onDeleteElement:ej}){return(0,v.jsx)(rR,{children:(0,v.jsxs)("div",{className:"flex h-screen flex-col overflow-hidden bg-background text-foreground",children:[(0,v.jsxs)("div",{className:`flex min-h-0 flex-auto flex-col ${a?"invisible pointer-events-none absolute inset-0":""}`,children:[(0,v.jsx)(ek,{title:r,onTitleChange:z,decks:n,currentDeckId:i,isSwitchingDeck:l,onDeckSwitch:F,onDeckImport:_,onDeckImportPath:P,isSaving:o,onPresent:H,onExportHtml:T,onExportSourceFiles:O,pdfSlides:e.map(e=>({id:e.id,title:e.title,file:e.sourceFile})),pdfThumbnails:s,onExportPdf:B}),(0,v.jsxs)("div",{className:"flex min-h-0 flex-auto gap-3 overflow-hidden max-[1200px]:block",children:[(0,v.jsx)(eO,{slides:e,activeSlideId:t.id,slideCount:e.length,thumbnails:s,onSelectSlide:W,onSlideFocusChange:U,onAdd:Y,onAddSlideAbove:X,onAddSlideBelow:q,onDuplicate:G,onDelete:K,onToggleHidden:Z,onRename:J,onReorder:Q,onSidebarFocusChange:ee}),(0,v.jsx)("main",{className:"flex min-h-0 min-w-0 flex-auto overflow-visible max-[1200px]:block",children:(0,v.jsx)(rI,{slideWidth:d,slideHeight:u,offsetX:c,offsetY:h,scale:p,preselectionOverlay:f,marqueeOverlay:g,selectionOverlay:m,toolbarKey:x,inspectedStyles:b,selectedElementType:y,selectionCommandAvailability:w,isSelectedElementLocked:j,groupScopeOverlayPassive:N,isEditingText:C,isCropMode:k,cropOverlay:S,manipulationOverlay:A,iframeRef:E,stageViewportRef:L,selectionOverlayRef:$,selectionContextMenuTriggerRef:D,isManipulating:I,isToolbarSuppressed:R,onSelectionOverlayMouseDown:et,onSelectionOverlayMouseMove:en,onSelectionOverlayContextMenu:ei,onSelectionOverlayMouseUp:er,onStageMouseLeave:eo,onResizeHandleMouseDown:el,onCornerRotationZoneMouseDown:ea,onCropHandleMouseDown:es,onSelectionOverlayDoubleClick:ed,onBackgroundClick:eu,onStyleChange:ec,onStyleChanges:eh,onStylePreview:ep,onAttributeChange:ef,onAlignToSlide:eg,onCropImage:em,onDistribute:ex,onGroup:eb,onLayerOrder:ey,onUngroup:ev,onDuplicate:ew,onDelete:ej,attributeValues:M})})]})]}),a?(0,v.jsx)(eL,{slides:e,startSlideId:t.id,onExit:V}):null]})})}function rF(e,t){let r=[];return t.vertical&&r.push(...r_(e,t.vertical,"vertical")),t.horizontal&&r.push(...r_(e,t.horizontal,"horizontal")),r}function r_(e,t,r){return"spacing"===t.target.kind?function(e,t,r){let n=t.target.relatedRects;if(n.length<2)return[];let[i,o]=n;if(!i||!o)return[];if("vertical"===r){let r=i.x<=o.x?i:o,n=r===i?o:i,l=r.x+r.width,a=n.x,s="start"===t.anchor?e.x:e.x+e.width;return[{orientation:"horizontal",start:{x:l,y:r.y+r.height/2},end:{x:a,y:n.y+n.height/2},variant:"spacing"},{orientation:"horizontal",start:"start"===t.anchor?{x:n.x+n.width,y:n.y+n.height/2}:{x:r.x,y:r.y+r.height/2},end:{x:s,y:e.y+e.height/2},variant:"spacing"}]}let l=i.y<=o.y?i:o,a=l===i?o:i,s=l.y+l.height,d=a.y,u="start"===t.anchor?e.y:e.y+e.height;return[{orientation:"vertical",start:{x:l.x+l.width/2,y:s},end:{x:a.x+a.width/2,y:d},variant:"spacing"},{orientation:"vertical",start:"start"===t.anchor?{x:a.x+a.width/2,y:a.y+a.height}:{x:l.x+l.width/2,y:l.y},end:{x:e.x+e.width/2,y:u},variant:"spacing"}]}(e,t,r):[function(e,t,r){let n=t.target;if(e.x,e.width,e.y,e.height,n.rect.x,n.rect.width,n.rect.y,n.rect.height,"vertical"===r){let i=rP(e,t.anchor,"vertical");return"slide"===n.kind?{orientation:r,start:{x:n.position,y:e.y},end:{x:n.position,y:e.y+e.height},..."center"===n.role?{start:{x:n.position,y:n.rect.y},end:{x:n.position,y:n.rect.y+n.rect.height}}:{},variant:"alignment"}:{orientation:r,start:{x:i,y:Math.min(e.y,n.rect.y)-24},end:{x:i,y:Math.max(e.y+e.height,n.rect.y+n.rect.height)+24},variant:"alignment"}}let i=rP(e,t.anchor,"horizontal");return"slide"===n.kind?{orientation:r,start:{x:e.x,y:n.position},end:{x:e.x+e.width,y:n.position},..."center"===n.role?{start:{x:n.rect.x,y:n.position},end:{x:n.rect.x+n.rect.width,y:n.position}}:{},variant:"alignment"}:{orientation:r,start:{x:Math.min(e.x,n.rect.x)-24,y:i},end:{x:Math.max(e.x+e.width,n.rect.x+n.rect.width)+24,y:i},variant:"alignment"}}(e,t,r)]}function rP(e,t,r){return"vertical"===r?"start"===t?e.x:"end"===t?e.x+e.width:e.x+e.width/2:"start"===t?e.y:"end"===t?e.y+e.height:e.y+e.height/2}function rB({position:e,rect:t,anchor:r,relatedRects:n}){return{position:e,rect:t,kind:"spacing",role:"end",anchor:r,priority:1,elementId:null,relatedRects:n}}function rT(e,t,r,n){var i,o,l,a;let s,d=(i=t,s=new Set,i.filter(e=>{let t=`${e.kind}:${e.elementId??"slide"}:${e.position.toFixed(2)}`;return!s.has(t)&&(s.add(t),!0)})),u=null;for(let t of e)for(let e of d){if(o=r,l=e,a=n,!("slide"===l.kind||"spacing"!==l.kind||function(e,t,r){if(t.relatedRects.length<2)return!1;if("vertical"===r){let r=Math.min(...t.relatedRects.map(e=>e.y)),n=Math.max(...t.relatedRects.map(e=>e.y+e.height));return eU(e.y,e.y+e.height,r,n,40)}let n=Math.min(...t.relatedRects.map(e=>e.x)),i=Math.max(...t.relatedRects.map(e=>e.x+e.width));return eU(e.x,e.x+e.width,n,i,40)}(o,l,a))||e.anchor&&e.anchor!==t.anchor)continue;let i=e.position-t.position;if(!(Math.abs(i)>18))rO({anchor:t.anchor,delta:i,target:e},r,n)>=(u?rO(u,r,n):1/0)||(u={anchor:t.anchor,delta:i,target:e})}return u}function rO(e,t,r){var n,i,o,l,a,s;let d=Math.abs(e.delta);return 1e3*("spacing"===e.target.kind?Math.max(0,d-6):d)+("element"===(n=e.target).kind?0:"spacing"===n.kind?8:16)+e.target.priority+(i=e.anchor,25*("slide"===(o=e.target).kind&&"center"===o.role&&"center"!==i))+(l=t,a=e.target,s=r,("slide"===a.kind?0:"vertical"===s?function(e,t,r,n){return t<r?r-t:n<e?e-n:0}(l.y,l.y+l.height,a.rect.y,a.rect.y+a.rect.height):function(e,t,r,n){return t<r?r-t:n<e?e-n:0}(l.x,l.x+l.width,a.rect.x,a.rect.x+a.rect.width))/100)}function rH(e,t){for(let r of n.Dr)e.style[r]=t[r]??""}function rV(e){return`${Math.round(100*e)/100}px`}function rW(e,t){return Math.max(e,48*t)}function rU(e){return e?.type==="block"||e?.type==="text"||e?.type==="image"||e?.type==="group"}function rY(e,t,r,n){return 180*Math.atan2(t-n,e-r)/Math.PI}function rX({top:e,right:t,bottom:r,left:n}){return .01>=Math.abs(e)&&.01>=Math.abs(t)&&.01>=Math.abs(r)&&.01>=Math.abs(n)?null:`${rV(e)} ${rV(t)} ${rV(r)} ${rV(n)}`}function rq(e){return e?.getAttribute(n.yN)?`editable:${e.getAttribute(n.yN)}`:"slide"}function rG(e,t,r){return(0,n.Zt)(e,t,r)}function rK(e,t,r){if("u"<typeof DOMParser)return"";let i=new DOMParser().parseFromString(e.htmlSource,"text/html"),o=(0,n.Y1)(i,t);return o?.getAttribute(r)?.trim()??""}function rZ({elementId:e,nextValue:t,propertyName:r,slide:n}){let i=rG(n,e,r),o=t.trim();return i===o?null:{type:"style.update",slideId:n.id,elementId:e,propertyName:r,previousValue:i,nextValue:o,timestamp:Date.now()}}function rJ(e){return Math.round(100*e)/100}function rQ(e,t){if("u"<typeof DOMParser)return e;let r=new DOMParser().parseFromString(`<template>${e}</template>`,"text/html"),i=r.querySelector("template")?.content.firstElementChild;if(!(i instanceof HTMLElement))return e;let o=(0,n._F)(i.style.transform),l=(0,n.HL)(0,0,o.rotate);return i.style.position="absolute",i.style.left=`${rJ(t.x)}px`,i.style.top=`${rJ(t.y)}px`,i.style.width=`${rJ(t.width)}px`,i.style.height=`${rJ(t.height)}px`,i.style.margin="0px",i.style.boxSizing="border-box",l?i.style.transform=l:i.style.removeProperty("transform"),i.style.transformOrigin||(i.style.transformOrigin="center center"),i.outerHTML}function r0(e,t){return{x:e.left-t.left,y:e.top-t.top,width:e.width,height:e.height}}function r1(e,t,r){return{x:rJ(e.x+t),y:rJ(e.y+r),width:e.width,height:e.height}}function r2(e,t){let r=new Map;if(!t)return r;let i=(0,n.kh)(e,t);if(!i||(0,n.J2)(i))return r;let o=new Set(Array.from(e.querySelectorAll(`[${n.yN}]`)).map(e=>e.getAttribute(n.yN)).filter(e=>!!e)),l=e=>{if(!o.has(e))return o.add(e),e;let t=e.match(/^(.*?)(?:-(\d+))?$/),r=t?.[1]||e,n=Number.parseInt(t?.[2]||"1",10)+1;for(;o.has(`${r}-${n}`);)n+=1;let i=`${r}-${n}`;return o.add(i),i};for(let e of Array.from(i.children))r9(e)&&r.set(e,e.getAttribute(n.yN)||l("block-1"));return r}function r9(e){let t=e.tagName.toLowerCase();return("ul"===t||"ol"===t)&&Array.from(e.children).some(e=>"li"===e.tagName.toLowerCase()&&e.hasAttribute("data-editable"))}function r3({doc:e,slide:t,flattenRootElementId:r}){let i=e?.querySelector(t?.rootSelector??"");if(!e||!i||!t)return{};let o=i.getBoundingClientRect(),l=t.width/o.width,a=t.height/o.height,s={},d=r2(e,r);for(let t of[...Array.from(e.querySelectorAll(`[data-editable][${n.yN}]`)),...Array.from(d.keys())]){let e=t.getAttribute(n.yN)||d.get(t);if(!e)continue;let r=t.getBoundingClientRect(),i=t.parentElement,u=i?.hasAttribute("data-editable")&&i.getAttribute(n.yN)?i.getAttribute(n.yN):null,c=u?s[u]??{x:0,y:0,width:o.width,height:o.height}:{x:0,y:0,width:o.width,height:o.height};s[e]={x:(r.left-o.left)*l-c.x,y:(r.top-o.top)*a-c.y,width:r.width*l,he
1ight:r.height*a}}return s}var r5={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function r8(e,t,r){return!!t.length&&(r(1===t.length?t[0]:{type:"operation.batch",slideId:e,operations:t,timestamp:Date.now()}),!0)}var r4="hse-editing-text-style",r6=`
2html:not([data-hse-allow-native-selection]),
3html:not([data-hse-allow-native-selection]) body,
4html:not([data-hse-allow-native-selection]) [data-editable] {
5  user-select: none;
6  -webkit-user-select: none;
7}
8
9[data-hse-editing="true"] {
10  outline: none !important;
11  box-shadow: none !important;
12  overflow: visible;
13  caret-color: currentColor;
14  white-space: pre-wrap;
15  user-select: text;
16  -webkit-user-select: text;
17}
18
19[data-hse-editing="true"]:focus,
20[data-hse-editing="true"]:focus-visible {
21  outline: none !important;
22  box-shadow: none !important;
23}
24
25body[data-hse-group-scope] [data-editable] {
26  transition: opacity 120ms ease, filter 120ms ease;
27}
28
29body[data-hse-group-scope] [data-editable][data-hse-outside-group-scope="true"] {
30  opacity: 0.28;
31  filter: blur(1.5px);
32}
33
34body[data-hse-group-scope] [data-editable][data-hse-active-group-scope="true"] {
35  outline: 1px solid rgba(15, 23, 42, 0.22);
36  outline-offset: 4px;
37}
38`;function r7(e){return!!(e&&1===e.nodeType)}function ne(e){return!!(e&&"block"===e.getAttribute("data-editable")&&Array.from(e.children).some(e=>{if(!r7(e)||!e.hasAttribute("data-editable"))return!1;let t=e.getAttribute("data-editable");return"text"===t||"image"===t||"block"===t&&Array.from(e.children).some(e=>r7(e)&&e.hasAttribute("data-editable"))}))}function nt(e,t,r,n){let i=e.elementFromPoint(t,r);return i?nn(i,n):null}function nr(e,t){let r=Array.from(e.querySelectorAll("[data-editable]"));for(let e of r)e.removeAttribute("data-hse-active-group-scope"),e.removeAttribute("data-hse-outside-group-scope");if(!t)return void e.body.removeAttribute("data-hse-group-scope");e.body.setAttribute("data-hse-group-scope",t);let i=e.querySelector(`[data-editable="block"][${n.yN}="${t}"]`),o=ne(i)?i:null;if(!o)return void e.body.removeAttribute("data-hse-group-scope");for(let e of(o.setAttribute("data-hse-active-group-scope","true"),r))e===o||o.contains(e)||e.setAttribute("data-hse-outside-group-scope","true")}function nn(e,t){let r=e.closest(`[data-editable][${n.yN}]`);if(!r)return null;if(!t)return function(e){let t=e;for(;t;){if((0,n.J2)(t)&&ne(t))return t;t=t.parentElement}return null}(r)??r;let i=r.closest(`[data-editable="block"][${n.yN}="${t}"]`);return(i&&(0,n.J2)(i)&&ne(i)?i:null)?r:null}function ni(e,t,r){let i=Array.from(e.querySelectorAll(`[data-editable="text"][${n.yN}]`)).filter(e=>nn(e,r)===e),o=i.find(e=>{let r=e.getBoundingClientRect();return t.x>=r.left&&t.x<=r.right&&t.y>=r.top&&t.y<=r.bottom});if(o)return o;let l=i.map(e=>{let r=e.getBoundingClientRect(),n=Math.min(Math.max(t.x,r.left),r.right),i=Math.min(Math.max(t.y,r.top),r.bottom);return{candidate:e,distance:Math.hypot(t.x-n,t.y-i)}}).sort((e,t)=>e.distance-t.distance)[0];return l&&l.distance<=24?l.candidate:null}function no(e){let t=e.ownerDocument.getSelection(),r=t?.anchorNode,n=t?.focusNode;return!!(t&&!t.isCollapsed&&r&&e.contains(r)&&n&&e.contains(n))}function nl(e,t){return e.includes(t)?e:[...e,t]}var na={top:0,right:0,bottom:0,left:0},ns={topLeft:"0px",topRight:"0px",bottomRight:"0px",bottomLeft:"0px"};function nd(e,t,r){return Math.min(Math.max(e,t),r)}function nu(e,t){let r=[t.topLeft,t.topRight,t.bottomRight,t.bottomLeft];if(r.every(e=>e.split(/\s+/).filter(Boolean).every(e=>0===Number.parseFloat(e))))return`inset(${nf(e.top)}% ${nf(e.right)}% ${nf(e.bottom)}% ${nf(e.left)}%)`;return`inset(${nf(e.top)}% ${nf(e.right)}% ${nf(e.bottom)}% ${nf(e.left)}% round ${r.join(" ")})`}function nc(e){return function(e){let t=e.match(/^inset\((.+)\)$/i);if(!t)return na;let[r=0,n=r,i=r,o=n]=(t[1].split(/\s+round\s+/i)[0]??"").trim().split(/\s+/).map(e=>{let t=e.match(/^(-?\d+(?:\.\d+)?)%$/);return t?Number.parseFloat(t[1]??"0"):0});return{top:nd(r,0,100),right:nd(n,0,100),bottom:nd(i,0,100),left:nd(o,0,100)}}(e.style.getPropertyValue("clip-path").trim())}function nh(e){let t=e.ownerDocument.defaultView?.getComputedStyle(e);return t?{topLeft:t.borderTopLeftRadius||"0px",topRight:t.borderTopRightRadius||"0px",bottomRight:t.borderBottomRightRadius||"0px",bottomLeft:t.borderBottomLeftRadius||"0px"}:ns}function np(e){var t;let r,n,i,o,l=e.getBoundingClientRect();return"image"!==e.getAttribute("data-editable")?l:(t=nc(e),r=l.width*t.left/100,n=l.height*t.top/100,i=l.width*t.right/100,o=l.height*t.bottom/100,{...l,left:l.left+r,top:l.top+n,width:Math.max(l.width-r-i,0),height:Math.max(l.height-n-o,0)})}function nf(e){return Math.round(100*e)/100}function ng(e,t){let r=e.x+e.width*t.left/100,n=e.y+e.height*t.top/100;return{x:r,y:n,width:Math.max(e.x+e.width-e.width*t.right/100-r,0),height:Math.max(e.y+e.height-e.height*t.bottom/100-n,0)}}function nm(e){return[{corner:"top-left",x:e.x,y:e.y},{corner:"top-right",x:e.x+e.width,y:e.y},{corner:"bottom-right",x:e.x+e.width,y:e.y+e.height},{corner:"bottom-left",x:e.x,y:e.y+e.height}]}function nx(e,t,r){let n=ng(t,r),i=nm(n);for(let r of(function(e,t,r){if(!e)return;let n=t.x+t.width,i=t.y+t.height,o=r.x+r.width,l=r.y+r.height;for(let[a,s]of Object.entries({top:{x:t.x,y:t.y,width:t.width,height:Math.max(r.y-t.y,0)},right:{x:o,y:r.y,width:Math.max(n-o,0),height:r.height},bottom:{x:t.x,y:l,width:t.width,height:Math.max(i-l,0)},left:{x:t.x,y:r.y,width:Math.max(r.x-t.x,0),height:r.height}})){let t=e.querySelector(`[data-crop-mask-region="${a}"]`);t&&(t.style.left=`${s.x}px`,t.style.top=`${s.y}px`,t.style.width=`${s.width}px`,t.style.height=`${s.height}px`)}}(e.cropMaskNode,t,n),e.cropOverlayNode&&(e.cropOverlayNode.style.left=`${n.x}px`,e.cropOverlayNode.style.top=`${n.y}px`,e.cropOverlayNode.style.width=`${n.width}px`,e.cropOverlayNode.style.height=`${n.height}px`),i)){let t=e.handleNodes.find(e=>e.dataset.testid===`image-crop-handle-${r.corner}`);t&&(t.style.left=`${r.x}
38px`,t.style.top=`${r.y}px`)}}function nb(e){e.style.setProperty("object-fit","cover"),e.style.removeProperty("clip-path")}function ny(e){return!!(e&&"block"===e.getAttribute("data-editable")&&Array.from(e.children).some(e=>e instanceof HTMLElement&&e.hasAttribute("data-editable")))}var nv=["-webkit-","-moz-","-ms-"],nw=new Set(["appearance","caret-color","color-interpolation","color-rendering","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","math-depth","math-shift","print-color-adjust","ruby-align","ruby-position","speak","text-size-adjust"]);function nj(e){let t=window.getComputedStyle(e),r=[];for(let n of Array.from(t)){if(!function(e){return!nv.some(t=>e.startsWith(t))&&!nw.has(e)}(n))continue;let i=("transform"===n||"line-height"===n)&&e.style.getPropertyValue(n)?e.style.getPropertyValue(n).trim():t.getPropertyValue(n).trim();0!==i.length&&r.push({name:n,value:i})}return r.sort((e,t)=>e.name.localeCompare(t.name))}function nN(e,t,r){var n,i;return e.key===t&&(n=e.rect,n===(i=r)||!!n&&!!i&&n.x===i.x&&n.y===i.y&&n.width===i.width&&n.height===i.height)}function nC(e,t){return e.length===t.length&&e.every((e,r)=>{let n=t[r];return n?.name===e.name&&n.value===e.value})}function nk(e){return new Promise(t=>{window.setTimeout(t,e)})}async function nS(e){if(e.fonts?.ready)try{await e.fonts.ready}catch{}}async function nA(e){let t=document.createElement("iframe");t.setAttribute("aria-hidden","true"),t.tabIndex=-1,t.style.position="fixed",t.style.left="-10000px",t.style.top="0",t.style.width=`${e.width}px`,t.style.height=`${e.height}px`,t.style.opacity="0",t.style.pointerEvents="none",t.style.border="0",document.body.appendChild(t);try{var r,i,o;let l,a,s,d,u,c,h=t.contentDocument;if(!h)throw Error("Unable to access thumbnail iframe document.");h.open(),h.write((0,n.bw)(e.htmlSource,e.sourceFile)),h.close(),await nS(h),await nM(h),await nk(50);let p=h.querySelector(e.rootSelector);if(!p)throw Error("Slide root not found while rendering thumbnail.");let f=(r=h,i=h.body??p,o=e,l=nL(o),a=Math.min(l.width/o.width,l.height/o.height),s=i.cloneNode(!0),d=r.createElement("div"),u=r.defaultView?.getComputedStyle(i),c=u?.background,d.style.width=`${l.width}px`,d.style.height=`${l.height}px`,d.style.position="relative",d.style.overflow="hidden",d.style.margin="0",d.style.padding="0",d.style.boxSizing="border-box",c&&"rgba(0, 0, 0, 0)"!==c&&"transparent"!==c&&(d.style.background=c),s.style.width=`${o.width}px`,s.style.height=`${o.height}px`,s.style.position="absolute",s.style.left="0",s.style.top="0",s.style.margin="0",s.style.maxWidth="none",s.style.maxHeight="none",s.style.boxSizing="border-box",s.style.transform=`scale(${a})`,s.style.transformOrigin="top left",d.appendChild(s),r.body.appendChild(d),d);return await nE(h,f,e)}finally{t.remove()}}async function nM(e){let t=Array.from(e.images).filter(e=>!e.complete);t.length&&await Promise.race([Promise.all(t.map(e=>new Promise(t=>{e.addEventListener("load",()=>t(),{once:!0}),e.addEventListener("error",()=>t(),{once:!0})}))),nk(750)])}async function nE(e,t,r){let n=nL(r),i={cacheBust:!0,pixelRatio:2,width:n.width,height:n.height,canvasWidth:n.width,canvasHeight:n.height,skipFonts:!1};try{return await (0,ej.$E)(t,i)}catch{return function(e){for(let t of Array.from(e.images))t.complete&&t.naturalWidth>0||t.remove()}(e),await (0,ej.$E)(t,i)}}function nL(e){return{width:224,height:Math.round(e.height/e.width*224)}}var n$=[];function nD({slides:e,deckTitle:t,decks:r,currentDeckId:o,isSaving:l=!1,isSwitchingDeck:a=!1,onSlidesChange:s,onDeckTitleChange:d,onDeckSwitch:u,onDeckImport:c,onDeckImportPath:h,onExportPdf:p,onExportHtml:f,onExportSourceFiles:g}){let{slides:m,activeSlide:x,activeSlideId:b,undoDepth:y,redoDepth:w,setActiveSlideId:j,commitOperation:N,runUndo:C,runRedo:k}=function(e,t={}){let{onSlidesChange:r}=t,[o,l]=(0,i.useReducer)(n.VA,e,n.Cc),[a,s]=(0,i.useState)(e[0]?.id??"");(0,i.useEffect)(()=>
38{l({type:"history.reset",slides:e}),s(e[0]?.id??"")},[e]);let d=(0,i.useMemo)(()=>o.slides.find(e=>e.id===a)??o.slides[0],[a,o.slides]),u=d?.id??"";function c(e){return e.some(e=>e.id===a)||s(e[0]?.id??""),r?.(e),e}return{slides:o.slides,activeSlide:d,activeSlideId:u,undoDepth:o.undoStack.length,redoDepth:o.redoStack.length,setActiveSlideId:s,commitOperation:e=>{let t=(0,n.VA)(o,{type:"history.commit",operation:e});return l({type:"history.commit",operation:e}),c(t.slides)},runUndo:()=>{let e=(0,n.VA)(o,{type:"history.undo"});l({type:"history.undo"}),c(e.slides)},runRedo:()=>{let e=(0,n.VA)(o,{type:"history.redo"});l({type:"history.redo"}),c(e.slides)}}}(e,{onSlidesChange:s}),S=(0,i.useRef)(null),A=(0,i.useRef)(null),M=(0,i.useRef)(null),E=(0,i.useRef)(null),L=(0,i.useRef)(()=>{}),$=(0,i.useRef)(null),[D,I]=(0,i.useState)(!1),[R,z]=(0,i.useState)(!1),[F,_]=(0,i.useState)(!1),P=(0,i.useCallback)(e=>{_(e)},[]),[B,T]=(0,i.useState)({}),O=x?B[x.id]??n$:n$,H=(0,i.useMemo)(()=>new Set(O),[O]),V=(0,i.useCallback)(e=>H.has(e),[H]),W=function(e){let[t,r]=(0,i.useState)({}),n=(0,i.useRef)(new Map),o=(0,i.useMemo)(()=>e.map(e=>({id:e.id,key:`${e.id}:${e.htmlSource}`})),[e]);return(0,i.useEffect)(()=>{let t=!1,i=window.setTimeout(async()=>{let i={};for(let r of e){let e=`${r.id}:${r.htmlSource}`,o=n.current.get(e);if(o){i[r.id]=o;continue}try{let t=await nA(r);n.current.set(e,t),i[r.id]=t}catch{}if(t)return}t||r(e=>({...e,...i}))},300);return()=>{t=!0,window.clearTimeout(i)}},[e]),(0,i.useEffect)(()=>{let e=new Set(o.map(e=>e.key));for(let t of n.current.keys())e.has(t)||n.current.delete(t)},[o]),t}(m),U=(0,i.useCallback)((e,t)=>{let r=E.current;r&&r.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!0,view:window,clientX:e,clientY:t,button:2,buttons:2}))},[]),{selectedElementId:Y,selectedElementIds:X,preselectedElementId:q,isEditingText:G,activeGroupScopeId:K,setSelectedElementId:Z,setSelectedElementIds:J,beginTextEditing:Q,beginGroupEditingScope:ee,clearSelection:et,clearPreselection:er,updatePointerPreselection:en,retargetPointerSelection:ei,openPointerSelectionContextMenu:eo}=function({activeSlide:e,iframeRef:t,onCommitOperation:r,isElementLocked:o,onOpenSelectionContextMenu:l,onBeginPointerMove:a}){let[s,d]=(0,i.useState)([]),[u,c]=(0,i.useState)(null),[h,p]=(0,i.useState)(null),[f,g]=(0,i.useState)(null),m=(0,i.useRef)(null),x=(0,i.useRef)(null),b=(0,i.useRef)(()=>{}),y=(0,i.useRef)(()=>{}),v=s[s.length-1]??null,w=(0,i.useCallback)(()=>{c(e=>null===e?e:null)},[]),j=(0,i.useCallback)((e,r)=>{let i=t.current,o=i?.contentDocument;if(!i||!o||m.current)return null;let l=i.getBoundingClientRect(),a=l.width>0?i.clientWidth/l.width:1,s=l.height>0?i.clientHeight/l.height:1,d=nt(o,(e-l.left)*a,(r-l.top)*s,x.current);return d?.getAttribute(n.yN)??null},[t]),N=(0,i.useCallback)((e,t)=>{let r=j(e,t);return c(e=>e===r?e:r),r},[j]),C=(0,i.useCallback)((e,t,r)=>{let n=j(e,t);return n?(r?d(e=>nl(e,n)):d([n]),n):null},[j]),k=(0,i.useCallback)((e,t)=>{let r=j(e,t);return!!r&&(d(e=>nl(e,r)),c(r),l?.(e,t),!0)},[j,l]),S=(0,i.useCallback)(r=>{if(!e)return;let i=t.current?.contentDocument,o=i?(0,n.kh)(i,r):null;if(!o||"text"!==o.getAttribute("data-editable"))return;let l={slideId:e.id,elementId:r,initialText:o.textContent||""};d([r]),m.current=l,g(l)},[e,t]),A=(0,i.useCallback)(e=>{let r=t.current?.contentDocument;p(e),x.current=e,d([e]),r&&nr(r,e)},[t]),M=(0,i.useCallback)(()=>{let e=x.current,r=t.current?.contentDocument;x.current=null,p(null),d(e?[e]:[]),r&&nr(r,null)},[t]),E=(0,i.useCallback)(()=>{if(m.current)return d(e=>e.length?[]:e),!0;let e=function({selectedElementIds:e,activeGroupScopeId:t}){return t?{handled:!0,nextSelection:[t],exitGroupScope:!0}:e.length?{handled:!0,nextSelection:[],exitGroupScope:!1}:{handled:!1,nextSelection:e,exitGroupScope:!1}}({selectedElementIds:s,activeGroupScopeId:x.current});return e.handled&&(e.exitGroupScope&&(x.current=null,p(null)),d(e.nextSelection)),e.handled},[s]);return(0,i.useEffect)(()=>{m.current=f},[f]),(0,i.useEffect)(()=>{x.current=h},[h]),(0,i.useEffect)(()=>{e&&f&&f.slideId!==e.id&&g(null)},[e,f]),(0,i.useEffect)(()=>{var r;let n=t.current?.contentDocument;n&&(r=!!(e&&f?.slideId===e.id),n.documentElement.toggleAttribute("data-hse-allow-native-selection",r))},[e,t,f]),b.current=function(t,n){if(!e||!f||f.slideId!==e.id||f.elementId!==t){m.current=null,g(null);return}let i=f.initialText;m.current=null,g(null),n!==i&&r({type:"text.update",slideId:e.id,elementId:t,previousText:i,nextText:n,timestamp:Date.now()})},y.current=function(){let e=t.current?.contentDocument,r=m.current;if(r&&e){let t=(0,n.kh)(e,r.elementId);t&&(t.textContent=r.initialText)}m.current=null,g(null)},!function({activeGroupScopeIdRef:e,activeSlide:t,beginGroupEditingScope:r,beginTextEditing:o,clearPreselection:l,commitTextEditRef:a,iframeRef:s,isElementLocked:d,onBeginPointerMove:u,openPointerSelectionContextMenu:c,setPreselectedElementId:h,setSelectedElementIds:p,textEditingRef:f}){(0,i.useEffect)(()=>
38{if(!t)return;let i=s.current,g=i?.contentDocument;if(!i||!g)return;g.open(),g.write((0,n.bw)(t.htmlSource,t.sourceFile)),g.close(),function(e){if(e.getElementById(r4))return;let t=e.createElement("style");t.id=r4,t.textContent=r6,e.head.appendChild(t)}(g),nr(g,e.current);let m=e=>{let t=e.getAttribute(n.yN);t&&a.current(t,e.textContent||"")};g.onclick=t=>{!function({activeGroupScopeId:e,commitNodeText:t,doc:r,event:i,setSelectedElementIds:o,textEditing:l}){let a=i.target;if(!(a instanceof Element)){if(l){let e=(0,n.kh)(r,l.elementId);if(e){t(e),o([]);return}}o([]);return}if(l){let e=(0,n.kh)(r,l.elementId);e&&!e.contains(a)&&(t(e),o([]));return}let s=nn(a,e);if(!s){e||o([]);return}let d=s.getAttribute(n.yN);d&&o(i.shiftKey||i.metaKey||i.ctrlKey?e=>nl(e,d):[d])}({activeGroupScopeId:e.current,commitNodeText:m,doc:g,event:t,setSelectedElementIds:p,textEditing:f.current})},g.onmousemove=t=>{if(f.current)return void l();let r=nt(g,t.clientX,t.clientY,e.current),i=r?.getAttribute(n.yN)??null;h(e=>e===i?e:i)},g.oncontextmenu=e=>{if(f.current)return;let t=i.getBoundingClientRect(),r=t.width>0?i.clientWidth/t.width:1,n=t.height>0?i.clientHeight/t.height:1;c(t.left+e.clientX/r,t.top+e.clientY/n)&&(e.preventDefault(),e.stopPropagation())},g.onmouseleave=()=>{l()};let x=t=>{let r=ni(g,{x:t.clientX,y:t.clientY},e.current),i=r?.getAttribute(n.yN);if(i){if(f.current?.elementId===i)return void t.stopPropagation();t.preventDefault(),t.stopPropagation(),o(i)}};for(let l of(g.addEventListener("dblclick",x,!0),Array.from(g.querySelectorAll(`[data-editable][${n.yN}]`))))!function({activeGroupScopeIdRef:e,activeSlide:t,beginGroupEditingScope:r,beginTextEditing:i,iframe:o,isElementLocked:l,node:a,onBeginPointerMove:s,setPreselectedElementId:d,setSelectedElementIds:u,textEditingRef:c}){a.style.cursor="default",a.ondblclick=null,a.onblur=null,a.onkeydown=null,a.onmousedown=null,a.onclick=t=>{t.stopPropagation();let r=nn(t.target,e.current);if(e.current&&!r)return;let i=r?.getAttribute(n.yN)??a.getAttribute(n.yN);c.current?.elementId!==i&&i&&(t.shiftKey||t.metaKey||t.ctrlKey?u(e=>nl(e,i)):u([i]))},a.onmousedown=t=>{if(0!==t.button||c.current)return;let r=nn(t.target,e.current);if(e.current&&!r)return;let i=r?.getAttribute(n.yN)??a.getAttribute(n.yN);if(!i||l?.(i))return;let h=o.getBoundingClientRect(),p=h.width>0?o.clientWidth/h.width:1,f=h.height>0?o.clientHeight/h.height:1,g=o.contentWindow;if(!g)return;let m=t.clientX,x=t.clientY,b=!1,y=()=>{g.removeEventListener("mousemove",v),g.removeEventListener("mouseup",w)},v=e=>{b||4>=Math.hypot(e.clientX-m,e.clientY-x)||(b=!0,y(),u([i]),d(e=>e===i?e:i),s?.(i,m,x,{sourceWindow:g,toStagePoint:(e,t)=>({x:h.left+e/p,y:h.top+t/f})}),e.preventDefault(),e.stopPropagation())},w=()=>{y()};g.addEventListener("mousemove",v),g.addEventListener("mouseup",w)},a.ondblclick=o=>{let s=ni(a.ownerDocument,{x:o.clientX,y:o.clientY},e.current)??nn(o.target,e.current),d=s?.getAttribute(n.yN);if(d&&l?.(d)){o.preventDefault(),o.stopPropagation();return}if(s?.getAttribute("data-editable")==="text"&&d){o.preventDefault(),o.stopPropagation(),i(d);return}let u=a.getAttribute(n.yN),h=c.current;if(u&&(0,n.J2)(a)){o.preventDefault(),o.stopPropagation(),r(u);return}if("text"===a.getAttribute("data-editable")){if(u&&h&&h.slideId===t.id&&h.elementId===u)return void o.stopPropagation();o.preventDefault(),o.stopPropagation(),u&&i(u)}}}({activeGroupScopeIdRef:e,activeSlide:t,beginGroupEditingScope:r,beginTextEditing:o,iframe:i,isElementLocked:d,node:l,onBeginPointerMove:u,setPreselectedElementId:h,setSelectedElementIds:p,textEditingRef:f});return()=>{g.removeEventListener("dblclick",x,!0)}},[e,t,r,o,l,a,s,d,u,c,h,p,f])}({activeGroupScopeIdRef:x,activeSlide:e,beginGroupEditingScope:A,beginTextEditing:S,clearPreselection:w,commitTextEditRef:b,iframeRef:t,isElementLocked:o,onBeginPointerMove:a,openPointerSelectionContextMenu:k,setPreselectedElementId:c,setSelectedElementIds:d,textEditingRef:m}),(0,i.useEffect)(()=>{let e=t.current?.contentDocument;e&&nr(e,h)},[h,t]),!function({activeSlide:e,cancelTextEditRef:t,commitTextEditRef:r,iframeRef:o,textEditing:l,textEditingRef:a}){(0,i.useEffect)(()=>{var i;let s,d;if(!l||!e||l.slideId!==e.id)return;let u=o.current,c=u?.contentDocument;if(!u||!c)return;let h=c.querySelector((0,n.dI)(l.elementId));if(!h)return;let p={alignItems:(i=h).style.alignItems,cursor:i.style.cursor,display:i.style.display,onblur:i.onblur,onclick:i.onclick,onkeydown:i.onkeydown,onmousedown:i.onmousedown,onmouseup:i.onmouseup,overflow:i.style.overflow},f=!1,g=h.ownerDocument.defaultView?.getComputedStyle(h).display??"";h.setAttribute("contenteditable","plaintext-only"),h.setAttribute("spellcheck","fal
38se"),h.setAttribute("data-hse-editing","true"),h.style.cursor="text",h.style.overflow="visible","inline-flex"===g?(h.style.display="inline-block",h.style.alignItems="normal"):("flex"===g||"grid"===g||"inline-grid"===g)&&(h.style.display="block",h.style.alignItems="normal"),h.focus(),s=h.ownerDocument.getSelection(),(d=h.ownerDocument.createRange()).selectNodeContents(h),d.collapse(!1),s?.removeAllRanges(),s?.addRange(d);let m=()=>{r.current(l.elementId,h.textContent||"")};return h.onkeydown=e=>{if("Enter"===e.key&&!e.shiftKey){e.preventDefault(),m();return}"Escape"===e.key&&(e.preventDefault(),t.current())},h.onmousedown=()=>{f=!1},h.onmouseup=()=>{f=no(h)},h.onclick=e=>{e.stopPropagation(),f&&(e.preventDefault(),f=!1)},h.onblur=()=>{window.setTimeout(()=>{a.current?.elementId!==l.elementId||h.ownerDocument.activeElement===h||no(h)||m()},0)},()=>{var e,t;h.ownerDocument.getSelection()?.removeAllRanges(),h.ownerDocument.activeElement===h&&h.blur(),e=h,t=p,e.removeAttribute("contenteditable"),e.removeAttribute("spellcheck"),e.removeAttribute("data-hse-editing"),e.style.cursor=t.cursor,e.style.display=t.display,e.style.alignItems=t.alignItems,e.style.overflow=t.overflow,e.onblur=t.onblur,e.onclick=t.onclick,e.onkeydown=t.onkeydown,e.onmousedown=t.onmousedown,e.onmouseup=t.onmouseup}},[e,t,r,o,l,a])}({activeSlide:e,cancelTextEditRef:y,commitTextEditRef:b,iframeRef:t,textEditing:f,textEditingRef:m}),{selectedElementId:v,selectedElementIds:s,preselectedElementId:u,activeGroupScopeId:h,isEditingText:!!(e&&f?.slideId===e.id),setSelectedElementId:function(e){d(t=>{var r;return(r="function"==typeof e?e(t[t.length-1]??null):e)?[r]:[]})},setSelectedElementIds:d,beginTextEditing:S,beginGroupEditingScope:A,exitGroupEditingScope:M,clearSelection:E,clearPreselection:w,updatePointerPreselection:N,retargetPointerSelection:C,openPointerSelectionContextMenu:k}}({activeSlide:x,iframeRef:S,onCommitOperation:N,isElementLocked:V,onOpenSelectionContextMenu:U,onBeginPointerMove:(0,i.useCallback)((e,t,r,n)=>{L.current(e,t,r,n)},[])}),el=x?.elements.find(e=>e.id===Y),ea=x?.elements.find(e=>e.id===K),es=X.length>1?"multi":el?.type??ea?.type??"block",ed=x?X.map(e=>x.elements.find(t=>t.id===e)).filter(e=>!!e):[],eu={group:X.length>=2&&ed.length===X.length,ungroup:1===X.length&&!!(el?.type==="group"||x&&Y&&function(e,t){if("u"<typeof DOMParser)return!1;let r=new DOMParser().parseFromString(e,"text/html"),i=(0,n.kh)(r,t);return!!i&&"block"===i.getAttribute("data-editable")&&Array.from(i.children).some(e=>e instanceof HTMLElement&&(e.hasAttribute("data-editable")||r9(e)))}(x.htmlSource,Y))},ec=!!K&&1===X.length&&Y===K,eh=!!(Y&&V(Y)),ep=x?.width||n.$Y,ef=x?.height||n.Am,{scale:eg,offsetX:em,offsetY:ex}=function({stageViewportRef:e,slideWidth:t,slideHeight:r}){let[n,o]=(0,i.useState)({width:0,height:0});(0,i.useEffect)(()=>{let t=e.current;if(!t)return;let r=()=>{let e=t.getBoundingClientRect();o(t=>t.width===e.width&&t.height===e.height?t:{width:e.width,height:e.height})};r();let n=new ResizeObserver(()=>{r()});return n.observe(t),()=>{n.disconnect()}},[e]);let l=Math.min(n.width>0?n.width/t:1,n.height>0?n.height/r:1),a=Number.isFinite(l)&&l>0?l:1;return{scale:a,offsetX:Math.max((n.width-t*a)/2,0),offsetY:Math.max((n.height-r*a)/2,0)}}({stageViewportRef:A,slideWidth:ep,slideHeight:ef}),{selectedStageRect:eb,preselectionOverlay:ey,selectionOverlay:ev,inspectedStyles:ew}=function({iframeRef:e,activeSlide:t,selectedElement:r,selectedElementIds:o,preselectedElementId:l,scale:a,offsetX:s,offsetY:d,slideWidth:u,slideHeight:c}){let h=o.join("\0"),p=l??"",[f,g]=(0,i.useState)({key:"",rect:null}),[m,x]=(0,i.useState)({key:"",rect:null}),[b,y]=(0,i.useState)({key:"",rect:null}),[v,w]=(0,i.useState)([]),j=f.key===h?f.rect:null,N=m.key===p?m.rect:null,C=b.key===h?b.rect:null;return(0,i.useEffect)(()=>{let r=e.current,i=r?.contentDocument;if(!r||!i||!t){g({key:h,rect:null}),x({key:p,rect:null}),y({key:h,rect:null}),w([]);return}let f=i.querySelector(t.rootSelector),m=o[0]?(0,n.kh)(i,o[0]):f;if(!m){g({key:h,rect:null}),x({key:p,rect:null}),y({key:h,rect:null}),w([]);return}let b=nj(m);w(e=>nC(e,b)?e:b);let v=new MutationObserver(()=>{let e=nj(m);w(t=>nC(t,e)?t:e)});v.observe(m,{attributeFilter:["class","style"],attributes:!0});let j=f?.getBoundingClientRect(),N=null;if(o.length&&f&&j){let e=o.map(e=>(0,n.kh)(i,e)).filter(e=>!!e).map(e=>(0,n.sV)(np(e),j,{scale:a,offsetX:s,offsetY:d,slideWidth:u,slideHeight:c}));e.length&&(N=e.reduce((e,t)=>
38{let r=Math.min(e.x,t.x),n=Math.min(e.y,t.y);return{x:r,y:n,width:Math.max(e.x+e.width,t.x+t.width)-r,height:Math.max(e.y+e.height,t.y+t.height)-n}}))}else N=null;g(e=>nN(e,h,N)?e:{key:h,rect:N}),y(e=>nN(e,h,N)?e:{key:h,rect:N});let C=l?(0,n.kh)(i,l):null,k=C&&j?(0,n.sV)(np(C),j,{scale:a,offsetX:s,offsetY:d,slideWidth:u,slideHeight:c}):null;return x(e=>nN(e,p,k)?e:{key:p,rect:k}),()=>v.disconnect()},[t,e,s,d,l,p,a,o,h,c,u]),{selectedStageRect:j,preselectionOverlay:N,selectionOverlay:C,selectionLabel:r?.type||"element",inspectedStyles:v}}({iframeRef:S,activeSlide:x,selectedElement:el,selectedElementIds:X,preselectedElementId:q,scale:eg,offsetX:em,offsetY:ex,slideWidth:ep,slideHeight:ef}),{manipulationOverlay:ej,isManipulating:eN,suppressBackgroundClear:eC,beginMove:ek,beginResize:eS,beginRotate:eA}=function({activeSlide:e,selectedElement:t,selectedElementId:r,selectedElementIds:o,selectedStageRect:l,iframeRef:a,stageGeometry:s,isEditingText:d,onCommitOperation:u,isElementLocked:c}){let{offsetX:h,offsetY:p,scale:f,slideHeight:g,slideWidth:m}=s,x=(0,i.useRef)(null),b=(0,i.useRef)(!1),y=(0,i.useRef)(null),[v,w]=(0,i.useState)(!1),[j,N]=(0,i.useState)(!1),[C,k]=(0,i.useState)(null),[S,A]=(0,i.useState)([]),M=function({isEditingText:e,isManipulating:t,isLocked:r,selectedElement:n,selectedElementId:i,snapGuides:o,stageRect:l}){return!l||!i||n?.type!=="block"&&n?.type!=="text"&&n?.type!=="image"&&n?.type!=="group"||e||r?null:{selectionBounds:l,snapGuides:t?o:[],resizeHandles:t?[]:[{position:"top-left",x:l.x,y:l.y},{position:"top-center",x:l.x+l.width/2,y:l.y},{position:"top-right",x:l.x+l.width,y:l.y},{position:"right-center",x:l.x+l.width,y:l.y+l.height/2},{position:"bottom-right",x:l.x+l.width,y:l.y+l.height},{position:"bottom-center",x:l.x+l.width/2,y:l.y+l.height},{position:"bottom-left",x:l.x,y:l.y+l.height},{position:"left-center",x:l.x,y:l.y+l.height/2}],rotationZones:t?[]:[{corner:"top-left",x:l.x-18,y:l.y-18},{corner:"top-right",x:l.x+l.width+18,y:l.y-18},{corner:"bottom-right",x:l.x+l.width+18,y:l.y+l.height+18},{corner:"bottom-left",x:l.x-18,y:l.y+l.height+18}]}}({isEditingText:d,isManipulating:v,isLocked:!!(r&&c(r)),selectedElement:t,selectedElementId:r,snapGuides:S,stageRect:C??l});(0,i.useEffect)(()=>()=>{x.current=null,y.current&&window.clearTimeout(y.current)},[]),(0,i.useEffect)(()=>{e&&r&&rU(t)&&!d||(x.current=null,w(!1),k(null))},[e,d,t,r]),(0,i.useEffect)(()=>{v||(k(null),A([]))},[v]);let E=(0,i.useCallback)(()=>{N(!0),y.current&&window.clearTimeout(y.current),y.current=window.setTimeout(()=>{N(!1),y.current=null},0)},[]),L=(0,i.useCallback)((t,i,l=null,s=r)=>{let y=s?e?.elements.find(e=>e.id===s):void 0;if(!e||!s||!rU(y)||d||c(s))return;let v=a.current?.contentDocument;if(!v)return;let j=v.querySelector(e.rootSelector),N=(0,n.kh)(v,s);if(!j||!N)return;let C=Object.fromEntries((function({activeSlide:e,doc:t,mode:r,selectedElementId:i,selectedElementIds:o}){let l=o.filter(t=>rU(e.elements.find(e=>e.id===t)));if("move"===r)return l.includes(i)?l:[i];if("rotate"===r)return[i];let a=new Set;for(let e of l.length?l:[i]){let r=(0,n.kh)(t,e);if(r&&(a.add(e),(0,n.J2)(r)))for(let e of r.querySelectorAll(`[data-editable][${n.yN}]`)){let t=e.getAttribute(n.yN);t&&a.add(t)}}return[...a]})({activeSlide:e,doc:v,mode:t,selectedElementId:s,selectedElementIds:o}).map(e=>[e,(0,n.kh)(v,e)]).filter(e=>!!e[1]));if(!Object.keys(C).length)return;let S=Object.fromEntries(Object.entries(C).map(([e,t])=>[e,(0,n.WZ)(t)])),M=Object.fromEntries(Object.entries(C).map(([e,t])=>{let r=window.getComputedStyle(t);return[e,{top:Number.parseFloat(r.marginTop||"0")||0,right:Number.parseFloat(r.marginRight||"0")||0,bottom:Number.parseFloat(r.marginBottom||"0")||0,left:Number.parseFloat(r.marginLeft||"0")||0}]})),L=Object.fromEntries(Object.entries(C).map(([e,t])=>[e,function(e,t){let r=Object.entries(t),n=e.parentElement;for(;n;){let e=r.find(([,e])=>e===n);if(e)return e[0];n=n.parentElement}return null}(t,C)])),$=a.current,D=$?.style.pointerEvents||"",I=i.sourceWindow??window,R=i.toStagePoint??((e,t)=>({x:e,y:t})),z=R(i.clientX,i.clientY);i.preventDefault(),i.stopPropagation();let F=N.getBoundingClientRect(),_=j.getBoundingClientRect(),P={scale:f,offsetX:h,offsetY:p,slideWidth:m,slideHeight:g},B=function({activeSlide:e,doc:t,rootRect:r,selectedElementId:i,slideStageRect:o,stageGeometry:l}){let a=(e,t)=>({position:e,rect:o,kind:"slide",role:t,anchor:null,priority:2*("center"!==t),elementId:null,relatedRects:[]}),s=[a(o.x,"start"),a(o.x+o.width/2,"center"),a(o.x+o.width,"end")],d=[a(o.y,"start"),a(o.y+o.height/2,"center"),a(o.y+o.height,"end")],u=t.querySelector(`[${n.yN}="${i}"]`),c=[];for(let o of e.elements){if(o.id===i)continue;let e=t.querySelector(`[${n.yN}="${o.id}"]`);if(!e||u&&(u.contains(e)||e.contains(u)))continue;let a=t.defaultView?.getComputedStyle(e);
38if(a?.display==="none"||a?.visibility==="hidden")continue;let h=e.getBoundingClientRect();if(h.width<=0||h.height<=0)continue;let p=(0,n.sV)(h,r,l);("block"===o.type||"image"===o.type)&&c.push({elementId:o.id,rect:p});let f=p.x,g=p.x+p.width/2,m=p.x+p.width,x=p.y,b=p.y+p.height/2,y=p.y+p.height,v=(e,t)=>({position:e,rect:p,kind:"element",role:t,anchor:null,priority:"center"===t?3:4,elementId:o.id,relatedRects:[]});s.push(v(f,"start"),v(g,"center"),v(m,"end")),d.push(v(x,"start"),v(b,"center"),v(y,"end"))}let h=function(e){let t=[],r=[],n=e.slice().sort((e,t)=>e.rect.x-t.rect.x).filter(e=>e.rect.width>0&&e.rect.height>0),i=e.slice().sort((e,t)=>e.rect.y-t.rect.y).filter(e=>e.rect.width>0&&e.rect.height>0);for(let e=0;e<n.length-1;e+=1){let r=n[e],i=n[e+1];if(r&&i&&!eU(r.rect.x,r.rect.x+r.rect.width,i.rect.x,i.rect.x+i.rect.width,0)){let e=i.rect.x-(r.rect.x+r.rect.width);e>=12&&e<=360&&eU(r.rect.y,r.rect.y+r.rect.height,i.rect.y,i.rect.y+i.rect.height,40)&&t.push(rB({position:i.rect.x+i.rect.width+e,rect:i.rect,anchor:"start",relatedRects:[r.rect,i.rect]}),rB({position:r.rect.x-e,rect:r.rect,anchor:"end",relatedRects:[r.rect,i.rect]}))}}for(let e=0;e<i.length-1;e+=1){let t=i[e],n=i[e+1];if(t&&n&&!eU(t.rect.y,t.rect.y+t.rect.height,n.rect.y,n.rect.y+n.rect.height,0)){let e=n.rect.y-(t.rect.y+t.rect.height);e>=12&&e<=360&&eU(t.rect.x,t.rect.x+t.rect.width,n.rect.x,n.rect.x+n.rect.width,40)&&r.push(rB({position:n.rect.y+n.rect.height+e,rect:n.rect,anchor:"start",relatedRects:[t.rect,n.rect]}),rB({position:t.rect.y-e,rect:t.rect,anchor:"end",relatedRects:[t.rect,n.rect]}))}}return{vertical:t,horizontal:r}}(c);return s.push(...h.vertical),d.push(...h.horizontal),{vertical:s,horizontal:d}}({activeSlide:e,doc:v,rootRect:_,selectedElementId:s,slideStageRect:{x:h,y:p,width:m*f,height:g*f},stageGeometry:P}),T=Object.values(C).map(e=>(0,n.sV)(e.getBoundingClientRect(),_,P)),O=Object.fromEntries(Object.entries(C).map(([e,t])=>[e,(0,n.sV)(t.getBoundingClientRect(),_,P)])),H=Object.fromEntries(Object.values(C).map(e=>e.parentElement).filter(e=>!!e).map(e=>[rq(e),(0,n.sV)(e.getBoundingClientRect(),_,P)]));if(!T.length)return;let V=function(e){let[t,...r]=e;return t?r.reduce((e,t)=>{let r=Math.min(e.x,t.x),n=Math.min(e.y,t.y);return{x:r,y:n,width:Math.max(e.x+e.width,t.x+t.width)-r,height:Math.max(e.y+e.height,t.y+t.height)-n}},t):{x:0,y:0,width:0,height:0}}(T);x.current={slideId:e.id,elementId:s,elementIds:Object.keys(C),mode:t,resizeHandle:l,startPointer:z,startStageRect:V,centerPoint:{x:F.left+F.width/2,y:F.top+F.height/2},previousStyle:S[s],previousStyles:S,startComputedMargins:M,startElementStageRects:O,resizeParentElementIds:L,startParentStageRects:H,targetNodes:C,snapTargets:B},b.current=!0,w(!0),A([]),$&&($.style.pointerEvents="none");let W=(e,t)=>{let r=x.current;if(!r)return;e.preventDefault();let i=t(e.clientX,e.clientY),o=i.x-r.startPointer.x,l=i.y-r.startPointer.y;if("move"===r.mode){var a;let t,i,s,d={x:r.startStageRect.x+o,y:r.startStageRect.y+l,width:r.startStageRect.width,height:r.startStageRect.height},u=e.altKey?{rect:d,guides:[]}:(a=r.snapTargets,t=rT([{anchor:"start",position:d.x},{anchor:"center",position:d.x+d.width/2},{anchor:"end",position:d.x+d.width}],a.vertical,d,"vertical"),i=rT([{anchor:"start",position:d.y},{anchor:"center",position:d.y+d.height/2},{anchor:"end",position:d.y+d.height}],a.horizontal,d,"horizontal"),{rect:s={...d,x:d.x+(t?.delta??0),y:d.y+(i?.delta??0)},guides:rF(s,{vertical:t,horizontal:i})});k(u.rect),A(u.guides);let c=(u.rect.x-r.startStageRect.x)/f,h=(u.rect.y-r.startStageRect.y)/f;for(let e of r.elementIds){let t=r.targetNodes[e],i=r.previousStyles[e];if(!t||!i)continue;let o=(0,n._F)(i.transform);rH(t,{...i,transform:(0,n.HL)(o.translateX+c,o.translateY+h,o.rotate),transformOrigin:i.transformOrigin||"center center"})}return}if("resize"===r.mode){let t=function({resizeHandle:e,scale:t,stageDeltaX:r,stageDeltaY:n,startStageRect:i}){let o=i.x,l=i.y,a=i.width,s=i.height;switch(e){case"top-left":a=rW(i.width-r,t),s=rW(i.height-n,t),o=i.x+(i.width-a),l=i.y+(i.height-s);break;case"top-right":a=rW(i.width+r,t),s=rW(i.height-n,t),l=i.y+(i.height-s);break;case"bottom-left":a=rW(i.width-r,t),s=rW(i.height+n,t),o=i.x+(i.width-a);break;case"bottom-right":a=rW(i.width+r,t),s=rW(i.height+n,t);break;case"top-center":s=rW(i.height-n,t),l=i.y+(i.height-s);break;case"right-center":a=rW(i.width+r,t);break;case"bottom-center":s=rW(i.height+n,t);break;case"left-center":a=rW(i.width-r,t),o=i.x+(i.width-a)}return{x:o,y:l,width:a,height:s}}({resizeHandle:r.resizeHandle,scale:f,stageDeltaX:o,stageDeltaY:l,startStageRect:r.startStageRect}),i=e.altKey||!r.resizeHandle?{rect:t,guides:[]}:function(e,t,r){var n,i;let o={...e},l="top-left"===(n=t)||"bottom-left"===n||"left-center"===n?"start":"top-right"===n||"bottom-right"===n||"right-center"===n?"end":null,a="top-left"===(i=t)||"top-right"===i||"top-center"===i?"start":"bottom-left"===i||"bottom-right"===i||"bottom-center"===i?"end":null,s=l?rT([{anch
38or:l,position:"start"===l?e.x:e.x+e.width}],r.vertical,e,"vertical"):null,d=a?rT([{anchor:a,position:"start"===a?e.y:e.y+e.height}],r.horizontal,e,"horizontal"):null;if(s)if("start"===l){let e=o.width-s.delta;e>=48&&(o.x+=s.delta,o.width=e)}else{let e=o.width+s.delta;e>=48&&(o.width=e)}if(d)if("start"===a){let e=o.height-d.delta;e>=48&&(o.y+=d.delta,o.height=e)}else{let e=o.height+d.delta;e>=48&&(o.height=e)}return{rect:o,guides:rF(o,{vertical:d,horizontal:s})}}(t,r.resizeHandle,r.snapTargets);k(i.rect),A(i.guides),function(e,t,r){let i=e.startStageRect.width>0?t.width/e.startStageRect.width:1,o=e.startStageRect.height>0?t.height/e.startStageRect.height:1,l={x:r.offsetX,y:r.offsetY,width:r.slideWidth*r.scale,height:r.slideHeight*r.scale},a=Object.fromEntries(Object.entries(e.startElementStageRects).map(([r,n])=>[r,{x:t.x+(n.x-e.startStageRect.x)*i,y:t.y+(n.y-e.startStageRect.y)*o,width:n.width*i,height:n.height*o}]));for(let t of e.elementIds){let i=e.targetNodes[t],o=e.previousStyles[t],s=a[t];if(!i||!o||!s)continue;let d=e.resizeParentElementIds[t]?a[e.resizeParentElementIds[t]]:e.startParentStageRects[rq(i.parentElement)]??l;if(!d)continue;let u=(0,n._F)(o.transform),c=rV(s.width/r.scale),h=rV(s.height/r.scale),p=e=>({x:(e.x-r.offsetX)/r.scale,y:(e.y-r.offsetY)/r.scale,width:e.width/r.scale,height:e.height/r.scale});if("absolute"!==o.position&&"fixed"!==o.position){rH(i,{...o,width:c,maxWidth:"none",height:h,margin:o.margin,transform:(0,n.HL)(u.translateX,u.translateY,u.rotate),transformOrigin:o.transformOrigin});let r=p(s),l={...e.startComputedMargins[t]??{top:0,right:0,bottom:0,left:0}};for(let e=0;e<6;e+=1){let e=i.getBoundingClientRect(),t=r.x-e.left,a=r.y-e.top;if(.5>=Math.abs(t)&&.5>=Math.abs(a))break;l.left+=t,l.top+=a,rH(i,{...o,width:c,maxWidth:"none",height:h,margin:rX(l),transform:(0,n.HL)(u.translateX,u.translateY,u.rotate),transformOrigin:o.transformOrigin})}rH(i,{...o,width:c,maxWidth:"none",height:h,margin:rX(l),transform:(0,n.HL)(u.translateX,u.translateY,u.rotate),transformOrigin:o.transformOrigin});continue}rH(i,{...o,left:rV((s.x-d.x)/r.scale),top:rV((s.y-d.y)/r.scale),width:c,maxWidth:o.maxWidth,height:h,transform:(0,n.HL)(0,0,u.rotate),transformOrigin:o.transformOrigin||"center center"})}}(r,i.rect,{offsetX:h,offsetY:p,scale:f,slideHeight:g,slideWidth:m});return}let s=(0,n._F)(r.previousStyle.transform),d=rY(r.startPointer.x,r.startPointer.y,r.centerPoint.x,r.centerPoint.y),u=rY(i.x,i.y,r.centerPoint.x,r.centerPoint.y);rH(N,{...r.previousStyle,transform:(0,n.HL)(s.translateX,s.translateY,s.rotate+(u-d)),transformOrigin:"center center"}),A([])},U=e=>{W(e,R)},Y=e=>{W(e,(e,t)=>({x:e,y:t}))},X=()=>{I.removeEventListener("mousemove",U),I.removeEventListener("mouseup",q),I.removeEventListener("keydown",G),I!==window&&(window.removeEventListener("mousemove",Y),window.removeEventListener("mouseup",q)),$&&($.style.pointerEvents=D)},q=()=>{let e=x.current;if(X(),b.current=!1,w(!1),E(),x.current=null,A([]),!e)return;let t=e.elementIds.map(t=>{let r=e.targetNodes[t],i=e.previousStyles[t];if(!r||!i)return null;let o=(0,n.WZ)(r);return JSON.stringify(o)===JSON.stringify(i)?null:{type:"element.layout.update",slideId:e.slideId,elementId:t,previousStyle:i,nextStyle:o,timestamp:Date.now()}}).filter(e=>!!e);t.length?u(1===t.length?t[0]:{type:"operation.batch",slideId:e.slideId,operations:t,timestamp:Date.now()}):k(null)},G=e=>{if("Escape"!==e.key)return;let t=x.current;if(X(),w(!1),E(),x.current=null,A([]),t){for(let e of t.elementIds){let r=t.targetNodes[e],n=t.previousStyles[e];r&&n&&rH(r,n)}k(null)}};I.addEventListener("mousemove",U),I.addEventListener("mouseup",q),I.addEventListener("keydown",G),I!==window&&(window.addEventListener("mousemove",Y),window.addEventListener("mouseup",q))},[e,a,d,u,r,o,f,h,p,m,g,E,c]);return{manipulationOverlay:M,isManipulating:v||b.current,suppressBackgroundClear:j,beginMove:(e,t)=>{L("move",e,null,t)},beginResize:(e,t)=>
38{L("resize",t,e)},beginRotate:e=>{L("rotate",e)}}}({activeSlide:x,selectedElement:el,selectedElementId:Y,selectedElementIds:X,selectedStageRect:eb,iframeRef:S,stageGeometry:{scale:eg,offsetX:em,offsetY:ex,slideWidth:ep,slideHeight:ef},isEditingText:G,onCommitOperation:N,isElementLocked:V}),{marqueeOverlay:eM,isMarqueeSelecting:eE}=function({activeGroupScopeId:e,activeSlide:t,iframeRef:r,isEditingText:o,onClearPreselection:l,onSelectElementIds:a,selectedElementIds:s,stageGeometry:d}){let{offsetX:u,offsetY:c,scale:h,slideHeight:p,slideWidth:f}=d,g=(0,i.useRef)(null),m=(0,i.useRef)(!1),x=(0,i.useRef)(0),b=(0,i.useRef)(s),[y,v]=(0,i.useState)(null),[w,j]=(0,i.useState)(!1);(0,i.useEffect)(()=>{b.current=s},[s]);let N=(0,i.useCallback)(()=>{window.getSelection()?.removeAllRanges(),r.current?.contentWindow?.getSelection()?.removeAllRanges()},[r]);return(0,i.useEffect)(()=>{let i=r.current,s=i?.contentDocument,d=i?.contentWindow;if(!t||!i||!s||!d||o)return;let y=s.querySelector(t.rootSelector);if(!y)return;let w=(e,t)=>{let r=y.getBoundingClientRect();return{x:u+(e-r.left)*h,y:c+(t-r.top)*h}},C=(e,t)=>{let r=i.getBoundingClientRect();return{x:u+(e-r.left),y:c+(t-r.top)}},k=t=>{let r=g.current;if(g.current=null,j(!1),v(null),$(),N(),r){if(!t){r.additive||e||a([]);return}m.current=!0,x.current=Date.now()+750,window.setTimeout(()=>{m.current=!1},100),((t,r)=>{let i=y.getBoundingClientRect(),o=new Map;for(let r of Array.from(s.querySelectorAll(`[data-editable][${n.yN}]`))){if(!function(e,t){if(!t){let t=e.closest(`[data-editable="block"][${n.yN}]`),r=ny(t)?t:null;return!r||r===e}return ny(e.closest(`[data-editable="block"][${n.yN}="${t}"]`))}(r,e))continue;let a=function(e,t){let r=function(e){let t=[],r=e;for(;r;)r.matches(`[data-editable][${n.yN}]`)&&t.push(r),r=r.parentElement;return t}(e);if(!r.length)return null;if(!t)return r.find(e=>ny(e))??r[r.length-1]??null;let i=r.findIndex(e=>e.getAttribute(n.yN)===t);return i<0?null:r[i-1]??r[i]??null}(r,e),s=a?.getAttribute(n.yN);if(!(!a||!s||o.has(s))){var l,d;l=t,d=(0,n.sV)(r.getBoundingClientRect(),i,{offsetX:u,offsetY:c,scale:h,slideHeight:p,slideWidth:f}),l.x<=d.x+d.width&&l.x+l.width>=d.x&&l.y<=d.y+d.height&&l.y+l.height>=d.y&&o.set(s,a)}}let g=Array.from(o.entries()).filter(([,e])=>!function(e,t){for(let r of t.values())if(r!==e&&r.contains(e))return!0;return!1}(e,o)).map(([e])=>e);if(!g.length){r||a([]);return}r?a(e=>g.reduce(nl,e)):a(g)})(t,r.additive)}},S=e=>{var t,r;let n=g.current;if(!n)return null;let i=Math.hypot(e.x-n.startPoint.x,e.y-n.startPoint.y);if(n.hasDragged||(n.hasDragged=i>4),!n.hasDragged)return null;let o=(t=n.startPoint,r=e,{x:Math.min(t.x,r.x),y:Math.min(t.y,r.y),width:Math.abs(r.x-t.x),height:Math.abs(r.y-t.y)});return j(!0),v(o),o},A=e=>{g.current&&(e.preventDefault(),e.stopPropagation(),N(),S(w(e.clientX,e.clientY)))},M=e=>{g.current&&(e.preventDefault(),N(),S(C(e.clientX,e.clientY)))},E=e=>{g.current&&(e.preventDefault(),k(S(e.view===d?w(e.clientX,e.clientY):C(e.clientX,e.clientY))))},L=e=>{if("Escape"!==e.key||!g.current)return;e.preventDefault();let t=g.current;k(null),a(t.selectedElementIds)},$=()=>{d.removeEventListener("mousemove",A),d.removeEventListener("mouseup",E),d.removeEventListener("keydown",L),window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",E),window.removeEventListener("keydown",L)},D=t=>{var r;if(0!==t.button||o||g.current)return;let n=(r=t.target)&&"number"==typeof r.nodeType?r.nodeType===r.ELEMENT_NODE?r:r.parentElement:null;n&&nn(n,e)||(t.preventDefault(),t.stopPropagation(),N(),l(),g.current={additive:t.shiftKey||t.metaKey||t.ctrlKey,hasDragged:!1,selectedElementIds:b.current,startPoint:w(t.clientX,t.clientY)},d.addEventListener("mousemove",A),d.addEventListener("mouseup",E),d.addEventListener("keydown",L),window.addEventListener("mousemove",M),window.addEventListener("mouseup",E),window.addEventListener("keydown",L))},I=e=>{!m.current&&Date.now()>x.current||(m.current=!1,e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation())};return s.addEventListener("mousedown",D,!0),s.addEventListener("click",I,!0),()=>{s.removeEventListener("mousedown",D,!0),s.removeEventListener("click",I,!0),$()}},[e,t,N,r,o,u,c,l,a,h,p,f]),{marqueeOverlay:y,isMarqueeSelecting:w}}({activeGroupScopeId:K,activeSlide:x,iframeRef:S,isEditingText:G,onClearPreselection:er,onSelectElementIds:J,selectedElementIds:X,stageGeometry:{scale:eg,offsetX:em,offsetY:ex,slideWidth:ep,slideHeight:ef}});L.current=(e,t,r,n)=>{ek({clientX:t,clientY:r,...n,preventDefault:()=>{},stopPropagation:()=>{}},e)};let eL=ej?.selectionBounds??ev,e$=function({activeSlide:e,iframeRef:t,selectedElementId:r,selectedElementIds:i,isSelectedElementLocked:o,selectionOverlay:l,stage:a,onCommitOperation:s,onSelectElementIds:d,onLockedElementIdsBySlideIdChange:u}){let c=r??n.t6,h={locked:o?"true":"",ariaLabel:e?rK(e,c,"aria-label"):"",linkUrl:e?rK(e,c,"data-link-url"):""},p=t=>{var r;if(!e)return;let n=(r=e.id,0===t.length?null:1===t.length?t[0]:{type:"operation.batch",slideId:r,operations:t,timestamp:Date.now()});n&&s(n)},f=(t,r)=>{if(!e)return;let n=rZ({elementId:c,nextValue:r,propertyName:t,slide:e});n&&s(n)};return{attributeValues:h,commitStyleChange:f,commitStyleChanges:t=>{e&&0!==t.length&&p(t.map(({propertyName:t,nextValue:r})=>rZ({elementId:c,nextValue:r,propertyName:t,slide:e})).filter(e=>null!==e))},previewStyleChange:(e,r)=>{let i=t.current?.contentDocument;if(!i)return;let o=(0,n.Y1)(i,c);if(!o)return;let l=`data-editor-preview-${e}`,a=o.getAttribute(l);
38if(null===r){if(null===a)return;o.style.setProperty(e,a),o.removeAttribute(l);return}null===a&&o.setAttribute(l,o.style.getPropertyValue(e)),o.style.setProperty(e,r)},commitAttributeChange:(t,n)=>{if(!e)return;if("data-editor-locked"===t){let t="true"===n.trim();if(!r)return;u(n=>{let i=new Set(n[e.id]??[]);return t?i.add(r):i.delete(r),{...n,[e.id]:Array.from(i)}});return}let i=function({attributeName:e,elementId:t,nextValue:r,slide:n}){let i=rK(n,t,e),o=r.trim();return i===o?null:{type:"attribute.update",slideId:n.id,elementId:t,attributeName:e,previousValue:i,nextValue:o,timestamp:Date.now()}}({attributeName:t,elementId:c,nextValue:n,slide:e});i&&s(i)},commitLayerAction:t=>{e&&0!==i.length&&p(i.map(r=>{let n=rG(e,r,"z-index"),i=Number.parseInt(n,10),o=Number.isFinite(i)?i:0,l="front"===t?"999":"back"===t?"0":String(Math.max(0,o+("forward"===t?1:-1)));return n===l?null:{type:"style.update",slideId:e.id,elementId:r,propertyName:"z-index",previousValue:n,nextValue:l,timestamp:Date.now()}}).filter(e=>!!e))},duplicateSelection:()=>{if(!e||0===i.length)return;let{operations:r,nextElementIds:o}=function({slide:e,elementIds:t,doc:r}){let i=r?.querySelector(e.rootSelector),o=i?.getBoundingClientRect(),l=e.htmlSource,a=[];return{operations:t.map(t=>{let i=(0,n.nl)(e.htmlSource,t),s=(0,n.OZ)(e.htmlSource,t),d=r?(0,n.kh)(r,t):null;if(!i||!s||!d||!o)return null;let u=(0,n.ZL)(l,`${t}-copy`),c=rQ((0,n.Mt)(i,function(e,t,r){let i={[t]:r},o=new DOMParser().parseFromString(`<template>${e}</template>`,"text/html"),l=o.querySelector("template")?.content.firstElementChild;if(!(l instanceof HTMLElement))return i;for(let e of l.querySelectorAll(`[${n.yN}]`)){let t=e.getAttribute(n.yN);t&&(i[t]=`${r}-${t}`)}return i}(i,t,u)),r1(r0(d.getBoundingClientRect(),o),24,24));return l=`${l}
39<!-- ${u} reserved -->`,a.push(u),{type:"element.insert",slideId:e.id,elementId:u,...s,html:c,timestamp:Date.now()}}).filter(e=>!!e),nextElementIds:a}}({slide:e,elementIds:i,doc:t.current?.contentDocument});p(r),o.length&&d(o)},deleteSelection:()=>{if(!e||0===i.length)return;let t=i.map(t=>{let r=(0,n.nl)(e.htmlSource,t),i=(0,n.OZ)(e.htmlSource,t);return r&&i?{type:"element.remove",slideId:e.id,elementId:t,...i,html:r,timestamp:Date.now()}:null}).filter(e=>!!e);p(t),t.length&&d([])},groupSelection:()=>{if(!e||i.length<2)return;let r=function({slide:e,elementIds:t,elementRects:r}){let i=(0,n.ZL)(e.htmlSource,"group-1"),o=(0,n.H3)({html:e.htmlSource,slideId:e.id,groupElementId:i,elementRects:r,elementIds:t});return o?{operation:o,groupElementId:i}:null}({slide:e,elementIds:i,elementRects:r3({doc:t.current?.contentDocument,slide:e})});r&&(s(r.operation),d([r.groupElementId]))},ungroupSelection:()=>{let o;if(!e||1!==i.length||!r)return;let l=t.current?.contentDocument??null;if(l&&e){let t=l.querySelector(`[data-editable-id="${r}"]`),n=l.querySelector(e.rootSelector),i=t?.parentElement??null;for(;i&&i!==n&&"static"===getComputedStyle(i).position;)i=i.parentElement;if(i&&n&&i!==n&&!i.hasAttribute("data-editable")){let t=n.getBoundingClientRect(),r=i.getBoundingClientRect(),l=getComputedStyle(i),a=Number.parseFloat(l.borderLeftWidth)||0,s=Number.parseFloat(l.borderTopWidth)||0,d=r.left-t.left+a,u=r.top-t.top+s;(0!==d||0!==u)&&(o={x:Math.round(d*(e.width/(t.width||1))),y:Math.round(u*(e.height/(t.height||1)))})}}let a=function({slide:e,elementId:t,elementRects:r,elementPresentationStyles:i,parentPosition:o}){return(0,n.dH)({html:e.htmlSource,slideId:e.id,groupElementId:t,elementRects:r,elementPresentationStyles:i,parentPosition:o})}({slide:e,elementId:r,elementRects:r3({doc:l,slide:e,flattenRootElementId:r}),elementPresentationStyles:function({doc:e,elementId:t}){if(!e)return{};let r=(0,n.kh)(e,t);if(!r||(0,n.J2)(r))return{};let i={},o=r2(e,t);for(let e of Array.from(r.children)){if(!e.hasAttribute("data-editable")&&!r9(e))continue;let t=e.getAttribute(n.yN)||o.get(e),r=e.ownerDocument.defaultView?.getComputedStyle(e);if(t&&r)for(let o of(i[t]={color:r.color,fontSize:r.fontSize,fontWeight:r.fontWeight,fontStyle:r.fontStyle,lineHeight:r.lineHeight,textAlign:r.textAlign,paddingTop:r.paddingTop,paddingRight:r.paddingRight,paddingBottom:r.paddingBottom,paddingLeft:r.paddingLeft,listStylePosition:r.listStylePosition,listStyleType:r.listStyleType},Array.from(e.querySelectorAll(`[data-editable][${n.yN}]`)))){let e=o.getAttribute(n.yN),t=o.ownerDocument.defaultView?.getComputedStyle(o);e&&t&&(i[e]={color:t.color,fontSize:t.fontSize,fontWeight:t.fontWeight,fontStyle:t.fontStyle,lineHeight:t.lineHeight,textAlign:t.textAlign})}}return i}({doc:l,elementId:r}),parentPosition:o});a&&(s(a),d(a.childElementIds))},commitArrangeAction:t=>{if(!e||!r||!l)return;
39let i=function({action:e,elementId:t,slide:r,selectionOverlay:i,stage:o}){let l=rG(r,t,"transform"),a={x:(i.x-o.offsetX)/o.scale,y:(i.y-o.offsetY)/o.scale,width:i.width/o.scale,height:i.height/o.scale},s=0,d=0;if("left"===e?s=-a.x:"hcenter"===e?s=o.width/2-(a.x+a.width/2):"right"===e?s=o.width-(a.x+a.width):"top"===e?d=-a.y:"vcenter"===e?d=o.height/2-(a.y+a.height/2):"bottom"===e&&(d=o.height-(a.y+a.height)),.01>Math.abs(s)&&.01>Math.abs(d))return null;let u=(0,n._F)(l);return(0,n.HL)(u.translateX+s,u.translateY+d,u.rotate)??""}({action:t,elementId:r,slide:e,selectionOverlay:l,stage:a});null!==i&&f("transform",i)},distributeSelection:r=>{e&&!(i.length<3)&&p(function({slide:e,elementIds:t,doc:r,action:i}){let o=r?.querySelector(e.rootSelector),l=o?.getBoundingClientRect();if(!r||!l||t.length<3)return[];let a=t.map(e=>{let t=(0,n.kh)(r,e);if(!t)return null;let i=t.getBoundingClientRect();return{elementId:e,node:t,rect:{x:i.left-l.left,y:i.top-l.top,width:i.width,height:i.height}}}).filter(e=>!!e);if(a.length<3)return[];let s="vertical"===i?"y":"x",d="vertical"===i?"height":"width",u=[...a].sort((e,t)=>e.rect[s]-t.rect[s]),c=u[0],h=u[u.length-1];if(!c||!h)return[];let p=c.rect[s]+c.rect[d]/2,f=(h.rect[s]+h.rect[d]/2-p)/(u.length-1);return u.map((t,r)=>{let i=p+f*r-(t.rect[s]+t.rect[d]/2);if(.01>Math.abs(i))return null;let o=(0,n.WZ)(t.node),l=(0,n._F)(o.transform),a=(0,n.fq)({...o,transform:(0,n.HL)(l.translateX+("x"===s?i:0),l.translateY+("y"===s?i:0),l.rotate),transformOrigin:o.transformOrigin||"center center"});return{type:"element.layout.update",slideId:e.id,elementId:t.elementId,previousStyle:o,nextStyle:a,timestamp:Date.now()}}).filter(e=>!!e)}({slide:e,elementIds:i,doc:t.current?.contentDocument,action:r}))}}}({activeSlide:x,iframeRef:S,selectedElementId:Y,selectedElementIds:X,isSelectedElementLocked:eh,selectionOverlay:eL,stage:{offsetX:em,offsetY:ex,scale:eg,width:ep,height:ef},onCommitOperation:N,onSelectElementIds:J,onLockedElementIdsBySlideIdChange:T}),eD=function({activeSlide:e,selectedElementId:t,selectedElementType:r,selectedStageRect:o,stageGeometry:l,iframeRef:a,isEditingText:s,isSelectedElementLocked:d,onCommitOperation:u}){let[c,h]=(0,i.useState)(!1),[p,f]=(0,i.useState)(null),g=(0,i.useRef)(null),m=(0,i.useRef)(null),x=(0,i.useRef)(null),b=(0,i.useRef)(null),y="image"===r,v=e?.id??null,w=e?.htmlSource??"";b.current=t;let j=(0,i.useMemo)(()=>{if(!e||!t||!y)return null;let r=a.current?.contentDocument,i=r?.querySelector(e.rootSelector),o=r?(0,n.kh)(r,t):null;return i&&o?(0,n.sV)(o.getBoundingClientRect(),i.getBoundingClientRect(),l):null},[e,a,y,t,l]),N=(0,i.useMemo)(()=>{var r,i;let o;if(!e||!t||!y)return ns;let l=a.current?.contentDocument;return l?(r=l,i=t,(o=(0,n.kh)(r,i))?nh(o):ns):ns},[e,a,y,t]),C=(0,i.useCallback)(()=>{var e,t;let r=a.current?.contentDocument,i=m.current??(r&&b.current?(0,n.kh)(r,b.current):null),o=x.current;i&&o&&(e=i,t=o,e.style.setProperty("object-fit","cover"),e.style.setProperty("clip-path",nu(t,nh(e)))),m.current=null,x.current=null},[a]);(0,i.useEffect)(()=>{(!y||s||d)&&(C(),h(!1),f(null),g.current=null)},[s,y,d,C]),(0,i.useEffect)(()=>{(v||t)&&(C(),h(!1),f(null),g.current=null)},[v,C,t]);let k=(0,i.useCallback)(()=>{if(!e||!t||!y||d)return;let r=a.current?.contentDocument,i=r?(0,n.kh)(r,t):null;if(!i)return;let o=nc(i);nb(i),m.current=i,x.current=o,f(o),h(!0)},[e,a,y,d,t]),S=(0,i.useCallback)(()=>{C(),h(!1),f(null),g.current=null},[C]);(0,i.useEffect)(()=>{if(!c||!e||!t||!y)return;let r=a.current?.contentDocument,i=r?(0,n.kh)(r,t):null;i&&(nb(i),m.current=i)},[e,a,c,y,t]),(0,i.useEffect)(()=>{if(!c||!w)return;let e=a.current?.contentDocument;if(!e)return;let t=e=>{let t=e.target;t instanceof Element&&t.closest(`[data-editable][${n.yN}]`)||(e.preventDefault(),e.stopImmediatePropagation(),S())};return e.addEventListener("click",t,!0),()=>{e.removeEventListener("click",t,!0)}},[w,S,a,c]),(0,i.useEffect)(()=>{if(!c)return;let e=a.current?.contentWindow??null,t=e=>{"Enter"===e.key&&(e.preventDefault(),e.stopPropagation(),S())};return window.addEventListener("keydown",t),e?.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t),e?.removeEventListener("keydown",t)}},[S,a,c]);let A=(0,i.useMemo)(()=>
39{if(!c||!j||!y)return null;let e=ng(j,p??na);return{cropBounds:e,cropRadii:N,handles:nm(e),selectionBounds:j}},[N,j,c,y,p]);return{beginCropMode:k,beginCropResize:(0,i.useCallback)((r,i)=>{if(!e||!t||!j||!c)return;let o=a.current?.contentDocument,l=o?(0,n.kh)(o,t):null;if(!l)return;i.preventDefault(),i.stopPropagation();let s=a.current,d=s?.style.pointerEvents||"",h=p??nc(l),m=nh(l);g.current={corner:r,cropMaskNode:document.querySelector('[data-testid="image-crop-mask"]'),cropOverlayNode:document.querySelector('[data-testid="image-crop-overlay"]'),currentInsets:h,handleNodes:Array.from(document.querySelectorAll('[data-testid^="image-crop-handle-"]')),pendingAnimationFrame:null,pendingInsets:null,previousIframePointerEvents:d,startInsets:h,startPointer:{x:i.clientX,y:i.clientY},targetNode:l},s&&(s.style.pointerEvents="none");let b=s?.contentWindow??null,y=(e,t,r)=>{let n=g.current;if(!n)return;r.preventDefault();let i=e-n.startPointer.x,o=t-n.startPointer.y,l=i/j.width*100,a=o/j.height*100,s=24/j.width*100,d=24/j.height*100,u={...n.startInsets};n.corner.includes("left")&&(u.left=nd(n.startInsets.left+l,0,100-n.startInsets.right-s)),n.corner.includes("right")&&(u.right=nd(n.startInsets.right-l,0,100-n.startInsets.left-s)),n.corner.includes("top")&&(u.top=nd(n.startInsets.top+a,0,100-n.startInsets.bottom-d)),n.corner.includes("bottom")&&(u.bottom=nd(n.startInsets.bottom-a,0,100-n.startInsets.top-d)),n.currentInsets=u,n.pendingInsets=u,null===n.pendingAnimationFrame&&(n.pendingAnimationFrame=window.requestAnimationFrame(()=>{n.pendingAnimationFrame=null,n.pendingInsets&&nx(n,j,n.pendingInsets)}))},v=e=>{y(e.clientX,e.clientY,e)},w=e=>{if(!s)return;let t=s.getBoundingClientRect(),r=t.width>0?s.clientWidth/t.width:1,n=t.height>0?s.clientHeight/t.height:1;y(t.left+e.clientX/r,t.top+e.clientY/n,e)},N=()=>{window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",C),window.removeEventListener("keydown",k),b?.removeEventListener("mousemove",w),b?.removeEventListener("mouseup",C),b?.removeEventListener("keydown",k),s&&(s.style.pointerEvents=d)},C=()=>{var r,n;let i,o=g.current;if(N(),g.current=null,!o)return;null!==o.pendingAnimationFrame&&(window.cancelAnimationFrame(o.pendingAnimationFrame),o.pendingAnimationFrame=null);let l=o.currentInsets;if(r=o.startInsets,.01>Math.abs(r.top-l.top)&&.01>Math.abs(r.right-l.right)&&.01>Math.abs(r.bottom-l.bottom)&&.01>Math.abs(r.left-l.left)){f(l),x.current=l;return}nb(o.targetNode),nx(o,j,l),x.current=l,f(l);let a=(n=nu(l,m),(i=[rZ({elementId:t,nextValue:"cover",propertyName:"object-fit",slide:e}),rZ({elementId:t,nextValue:n,propertyName:"clip-path",slide:e})].filter(e=>!!e)).length?1===i.length?i[0]:{type:"operation.batch",slideId:e.id,operations:i,timestamp:Date.now()}:null);a&&u(a)},k=e=>{if("Escape"!==e.key)return;let t=g.current;N(),g.current=null,t&&(null!==t.pendingAnimationFrame&&(window.cancelAnimationFrame(t.pendingAnimationFrame),t.pendingAnimationFrame=null),nb(t.targetNode),x.current=t.startInsets,f(t.startInsets),nx(t,j,t.startInsets))};window.addEventListener("mousemove",v),window.addEventListener("mouseup",C),window.addEventListener("keydown",k),b?.addEventListener("mousemove",w),b?.addEventListener("mouseup",C),b?.addEventListener("keydown",k)},[e,a,c,u,t,j,p]),cropOverlay:A,exitCropMode:S,isCropMode:c}}({activeSlide:x,selectedElementId:Y,selectedElementType:es,selectedStageRect:eb,stageGeometry:{offsetX:em,offsetY:ex,scale:eg,slideWidth:ep,slideHeight:ef},iframeRef:S,isEditingText:G,isSelectedElementLocked:eh,onCommitOperation:N}),eI=function({slides:e,activeSlide:t,activeSlideId:r,onCommitOperation:o,onActiveSlideChange:l,onClearSelection:a}){return(0,i.useMemo)(()=>{let i=r=>{if(!t||0===e.length)return;let i=(0,n.av)(e,r);o({type:"slide.create",slide:i,index:r,timestamp:Date.now()}),l(i.id),a()};return{selectSlideByDirection:r=>{if(!t||e.length<=1)return!1;let n=e.findIndex(e=>e.id===t.id);if(n<0)return!1;let i="previous"===r?Math.max(0,n-1):Math.min(e.length-1,n+1),o=e[i];return!!o&&o.id!==t.id&&(l(o.id),!0)},addSlideAfterActive:()=>{if(!t)return;let r=e.findIndex(e=>e.id===t.id);i(r>=0?r+1:e.length)},addSlideAbove:t=>{let r=e.findIndex(e=>e.id===t);r>=0&&i(r)},addSlideBelow:t=>{let r=e.findIndex(e=>e.id===t);r>=0&&i(r+1)},duplicateSlide:t=>{let r=e.find(e=>e.id===t);if(!r)return;let i=e.findIndex(e=>e.id===t),s=i>=0?i+1:e.length,d=(0,n.zG)(e,r);o({type:"slide.duplicate",sourceSlideId:t,slide:d,index:s,timestamp:Date.now()}),l(d.id),a()},deleteSlide:t=>
39{if(e.length<=1)return!1;let n=e.findIndex(e=>e.id===t),i=e[n];if(!i)return!1;let s=e[n+1]??e[n-1]??e[0];return o({type:"slide.delete",slide:i,index:n,timestamp:Date.now()}),r===t&&l(s?.id??""),a(),!0},toggleSlideHidden:t=>{let r=e.find(e=>e.id===t);r&&o({type:"slide.visibility.update",slideId:t,previousHidden:!0===r.hidden,nextHidden:!0!==r.hidden,timestamp:Date.now()})},renameSlide:(t,r)=>{let n=e.find(e=>e.id===t),i=r.trim()||"Untitled Slide";n&&n.title!==i&&o({type:"slide.title.update",slideId:t,previousTitle:n.title,nextTitle:i,timestamp:Date.now()})},reorderSlide:(t,r)=>{let n=e.findIndex(e=>e.id===t);n<0||n===r||(o({type:"slide.reorder",slideId:t,fromIndex:n,toIndex:r,timestamp:Date.now()}),l(t))}}},[t,r,l,a,o,e])}({slides:m,activeSlide:x,activeSlideId:b,onCommitOperation:N,onActiveSlideChange:e=>{j(e),Z(null)},onClearSelection:et}),eR=function({selectedElementId:e,selectedElementIds:t,selectedElement:r,activeGroupScopeId:i,isSelectedElementLocked:o,suppressBackgroundClear:l,iframeRef:a,overlayPointerDownRef:s,onToolbarSuppressedChange:d,onPointerPreselectionUpdate:u,onPointerSelectionRetarget:c,onSelectionContextMenuOpen:h,onBeginMove:p,onBeginResize:f,onBeginRotate:g,onBeginTextEditing:m,onBeginGroupEditingScope:x,onClearSelection:b}){let y=(()=>{if(!e)return!1;if((0,n.SB)(e))return!0;let t=a.current?.contentDocument;return!!t&&(0,n.J2)((0,n.kh)(t,e))})(),v=y&&!i&&1===t.length;return{onSelectionOverlayMouseDown:r=>{if(0!==r.button||!t.length)return;if(o){r.preventDefault(),r.stopPropagation();return}d(!0);let l=r.shiftKey||r.metaKey||r.ctrlKey,c=u(r.clientX,r.clientY),h=function({activeGroupScopeId:e,clientX:t,clientY:r,iframe:i,selectedElementIds:o}){let l=i?.contentDocument;if(!i||!l||!o.length)return null;let a=i.getBoundingClientRect(),s=a.width>0?i.clientWidth/a.width:1,d=a.height>0?i.clientHeight/a.height:1,u=function(e,t,r,i,o){let l=e.elementFromPoint(t,r);if(!l)return null;let a=nn(l,i);if(!a)return null;let s=new Set(o),d=a,u=null;for(;d;){let e=d.getAttribute(n.yN);d.matches(`[data-editable][${n.yN}]`)&&e&&s.has(e)&&(u=d),d=d.parentElement}return u}(l,(t-a.left)*s,(r-a.top)*d,e,o);return u?.getAttribute(n.yN)??null}({activeGroupScopeId:i,clientX:r.clientX,clientY:r.clientY,iframe:a.current,selectedElementIds:t})??c;s.current={clientX:r.clientX,clientY:r.clientY,additive:l,targetElementId:h};let f=!!(h&&t.includes(h));h&&h!==e&&!f?r.stopPropagation():(h&&(h===e||f)&&r.stopPropagation(),v||p({clientX:r.clientX,clientY:r.clientY,preventDefault:()=>r.preventDefault(),stopPropagation:()=>r.stopPropagation()},h&&f?h:void 0))},onSelectionOverlayMouseMove:r=>{if(o)return;let n=s.current;if(u(r.clientX,r.clientY),!n||n.targetElementId===e||n.targetElementId&&t.includes(n.targetElementId))return;let i=r.clientX-n.clientX,l=r.clientY-n.clientY;if(v&&Math.hypot(i,l)>4&&e){s.current=null,p({clientX:n.clientX,clientY:n.clientY,preventDefault:()=>r.preventDefault(),stopPropagation:()=>r.stopPropagation()},e);return}4>=Math.hypot(i,l)||(s.current=null,c(n.clientX,n.clientY,n.additive),p({clientX:n.clientX,clientY:n.clientY,preventDefault:()=>r.preventDefault(),stopPropagation:()=>r.stopPropagation()},n.targetElementId??void 0))},onSelectionOverlayContextMenu:e=>{e.preventDefault(),e.stopPropagation(),h(e.clientX,e.clientY)},onSelectionOverlayMouseUp:r=>{if(o){s.current=null,d(!1);return}let n=s.current;s.current=null,d(!1),!n||(r.detail>=2&&y&&!i&&1===t.length&&e?x(e):Math.hypot(r.clientX-n.clientX,r.clientY-n.clientY)>4||y&&!i&&1===t.length&&n.targetElementId&&n.targetElementId!==e||c(r.clientX,r.clientY,n.additive))},onResizeHandleMouseDown:(e,r)=>{t.length&&f(e,{clientX:r.clientX,clientY:r.clientY,preventDefault:()=>r.preventDefault(),stopPropagation:()=>r.stopPropagation()})},onCornerRotationZoneMouseDown:e=>{1===t.length&&g({clientX:e.clientX,clientY:e.clientY,preventDefault:()=>e.preventDefault(),stopPropagation:()=>e.stopPropagation()})},onSelectionOverlayDoubleClick:o=>{if(i&&a.current?.contentDocument){let e=a.current.getBoundingClientRect(),t=a.current.contentDocument,r=e.width/a.current.clientWidth||1,l=e.height/a.current.clientHeight||1,s=function(e,t,r){let i=(0,n.kh)(e,t);if(!i)return null;let o=e.elementFromPoint(r.x,r.y),l=o?.closest(`[data-editable="text"][${n.yN}]`);if(l&&i.contains(l))return l;let a=Array.from(i.querySelectorAll(`[data-editable="text"][${n.yN}]`)),s=a.find(e=>{let t=e.getBoundingClientRect();return r.x>=t.left&&r.x<=t.right&&r.y>=t.top&&r.y<=t.bottom});if(s)return s;let d=a.map(e=>{let t=e.getBoundingClientRect(),n=Math.min(Math.max(r.x,t.left),t.right),i=Math.min(Math.max(r.y,t.top),t.bottom);return{candidate:e,distance:Math.hypot(r.x-n,r.y-i)}}).sort((e,t)=>
39e.distance-t.distance)[0];return d&&d.distance<=24?d.candidate:null}(t,i,{x:(o.clientX-e.left)/r,y:(o.clientY-e.top)/l}),d=s?.getAttribute(n.yN);if(d)return void m(d)}1===t.length&&r?.type==="text"&&e?m(e):1===t.length&&(r?.type==="group"||y)&&e&&x(e)},onBackgroundClick:()=>{l||b()}}}({selectedElementId:Y,selectedElementIds:X,selectedElement:el,activeGroupScopeId:K,isSelectedElementLocked:eh,suppressBackgroundClear:eC,iframeRef:S,overlayPointerDownRef:$,onToolbarSuppressedChange:z,onPointerPreselectionUpdate:en,onPointerSelectionRetarget:ei,onSelectionContextMenuOpen:U,onBeginMove:ek,onBeginResize:eS,onBeginRotate:eA,onBeginTextEditing:Q,onBeginGroupEditingScope:ee,onClearSelection:et}),ez=(0,i.useCallback)(()=>{eD.isCropMode?eD.exitCropMode():eR.onBackgroundClick()},[eD,eR]);return(!function({activeSlide:e,selectedElementIds:t,lockedElementIds:r,iframeRef:o,slideWidth:l,slideHeight:a,isEditingText:s,isSidebarFocused:d,canUndo:u,canRedo:c,onEscapeSelection:h,onNavigateSlide:p,onCommitOperation:f,onSelectElementIds:g,onDeleteSlide:m,onUndo:x,onRedo:b}){let y=(0,i.useRef)(null),v=(0,i.useRef)(e),w=(0,i.useRef)(t),j=(0,i.useRef)(r),N=(0,i.useRef)(u),C=(0,i.useRef)(c),k=(0,i.useRef)(s),S=(0,i.useRef)(d),A=(0,i.useRef)(h),M=e?.htmlSource??"",E=(0,i.useRef)(p),L=(0,i.useRef)(m);v.current=e,w.current=t,j.current=r,N.current=u,C.current=c,k.current=s,S.current=d,A.current=h,E.current=p,L.current=m,(0,i.useEffect)(()=>{var e;let t=()=>{let e=function({slide:e,selectedElementIds:t,iframeRef:r}){var i;if(!e||!t.length)return null;let o=r.current?.contentDocument,l=o?.querySelector(e.rootSelector),a=l?.getBoundingClientRect();if(!a)return null;let s=t.map(t=>{let r=(0,n.nl)(e.htmlSource,t),i=(0,n.OZ)(e.htmlSource,t),l=o?(0,n.kh)(o,t):null;return r&&i&&l?{sourceElementId:t,html:r,rect:r0(l.getBoundingClientRect(),a),...i}:null}).filter(e=>!!e),d=(i=s.map(e=>e.rect)).length?i.reduce((e,t)=>{let r=Math.min(e.x,t.x),n=Math.min(e.y,t.y);return{x:r,y:n,width:Math.max(e.x+e.width,t.x+t.width)-r,height:Math.max(e.y+e.height,t.y+t.height)-n}}):null;return d?{elements:s,unionRect:d}:null}({slide:v.current,selectedElementIds:w.current,iframeRef:o});return e&&(y.current=e),!!e},r=()=>{let e=v.current;if(!e)return!1;let t=function({slide:e,selectedElementIds:t}){return e&&t.length?t.map(t=>{let r=(0,n.nl)(e.htmlSource,t),i=(0,n.OZ)(e.htmlSource,t);return r&&i?{type:"element.remove",slideId:e.id,elementId:t,...i,html:r,timestamp:Date.now()}:null}).filter(e=>!!e):[]}({slide:e,selectedElementIds:w.current});return!!t.length&&(r8(e.id,t,f),g([]),!0)},i=(e=y.current)=>{var t;let r=v.current,i=function({slide:e,payload:t,iframeRef:r,slideSize:i}){var o;let l,a,s,d,u,c,h;if(!e||!t)return null;let p=e.htmlSource,f=[],g=(l=r.current?.contentDocument,a=l?.querySelector(e.rootSelector),s=a?.getBoundingClientRect(),{width:s?.width||i.width,height:s?.height||i.height}),m=(o=t.unionRect,d=Math.max(0,g.width-o.width),u=Math.max(0,g.height-o.height),c=Math.min(d,Math.max(0,o.x+24)),h=Math.min(u,Math.max(0,o.y+24)),{x:rJ(c-o.x),y:rJ(h-o.y)}),x=[];return{operations:t.elements.map(t=>{let r=(0,n.ZL)(p,`${t.sourceElementId}-copy`),i=(0,n.Mt)(t.html,function(e,t,r){let i={[t]:r};if("u"<typeof DOMParser)return i;let o=new DOMParser().parseFromString(`<template>${e}</template>`,"text/html"),l=o.querySelector("template")?.content.firstElementChild;if(!(l instanceof HTMLElement))return i;for(let e of l.querySelectorAll(`[${n.yN}]`)){let t=e.getAttribute(n.yN);t&&(i[t]=`${r}-${t}`)}return i}(t.html,t.sourceElementId,r)),o=r1(t.rect,m.x,m.y),l=rQ(i,o),a={type:"element.insert",slideId:e.id,elementId:r,parentElementId:null,previousSiblingElementId:null,nextSiblingElementId:null,html:l,timestamp:Date.now()};return p=(0,n.ni)(p,a),f.push(r),x.push({...t,rect:o}),a}),selectedElementIds:f,nextHtmlSource:p,nextClipboard:{elements:x,unionRect:r1(t.unionRect,m.x,m.y)}}}({slide:r,payload:e,iframeRef:o,slideSize:{width:l,height:a}});return!!r&&!!i&&(t=r.id,r8(t,i.operations,f),v.current={...r,htmlSource:i.nextHtmlSource},g(i.selectedElementIds),y.current=i.nextClipboard,!0)},s=e=>{let t=v.current,r=w.current,i=j.current;if(!t||!r.length||r.some(e=>i.includes(e)))return!1;let l=o.current?.contentDocument,a=r.map(r=>{let o=l?(0,n.kh)(l,r):null;if(!o||i.includes(r))return null;let a=(0,n.WZ)(o),s=Number.parseInt(a.zIndex||"",10),d=Number.isFinite(s)?s:0,u="front"===e?999:"back"===e?0:Math.max(0,d+("forward"===e?1:-1)),c=(0,n.fq)({...a,zIndex:String(u)});return c.zIndex===a.zIndex?null:{type:"element.layout.update",slideId:t.id,elementId:r,previousStyle:a,nextStyle:c,timestamp:Date.now()}}).filter(e=>!!e);return r8(t.id,a,f)},d=e=>{var l,a;if(e.defaultPrevented||k.current)return;let d=e.key.toLowerCase(),u=e.metaKey||e.ctrlKey,c=u&&!e.shiftKey&&"z"===d,h=u&&(e.shiftKey&&"z"===d||"y"===d),p=(l=e.target)instanceof Element&&!!l.closest('input, textarea, select, [contenteditable="true"], [contenteditable="plaintext-only"]'),m=!1;if(c&&N.current)x(),m=!0;else if(h&&C.current)b(),m=!0;else if(p)return;else if(u&&!e.shiftKey&&"a"===d){let e;m=!!(e=(a=o.current?.contentDocument)?Array.from(a.querySelectorAll(`[data-editable][${n.yN}]`)).filter(e=>!e.parentElement?.closest(`[data-editable][${n.yN}]`)).map(e=>e.getAttribute(n.yN)).filter(e=>!!e):[]).length&&(g(e),!0)}else u&&!e.shiftKey&&"c"===d?m=t():u&&!e.shiftKey&&"x"===d?m=!w.current.some(e=>j.current.includes(e))&&t()&&r():u&&!e.shiftKey&&"v"===d?m=!w.current.some(e=>j.current.includes(e))&&i():u&&!e.shiftKey&&"d"===d?m=!w.current.some(e=>j.current.includes(e))&&t()&&i():"Backspace"===e.key||"Delete"===e.key?S.current&&v.current?m=L.current(v.current.id):w.current.length&&(m=!w.current.some(e=>j.current.includes(e))&&r()):"Escape"===e.key?m=A.current():e.key in r5?w.current.length>0?m=(e=>{let t=r5[e.key],r=v.current,i=w.current,l=j.current;if(!r||!i.length||!t||i.some(e=>l.includes(e)))return!1;let a=o.current?.contentDocument,s=e.altKey?1:e.shiftKey?10:5,d=i.map(e=>{var i;if(i=r.elements.find(t=>
39t.id===e),i?.type!=="block"&&i?.type!=="text"&&i?.type!=="image"||l.includes(e))return null;let o=a?(0,n.kh)(a,e):null;if(!o)return null;let d=(0,n.WZ)(o),u=(0,n._F)(d.transform),c=(0,n.fq)({...d,transform:(0,n.HL)(u.translateX+t.x*s,u.translateY+t.y*s,u.rotate),transformOrigin:d.transformOrigin||"center center"});return{type:"element.layout.update",slideId:r.id,elementId:e,previousStyle:d,nextStyle:c,timestamp:Date.now()}}).filter(e=>!!e);return r8(r.id,d,f),!0})(e):e.altKey||e.shiftKey||u||(m=E.current("ArrowUp"===e.key||"ArrowLeft"===e.key?"previous":"next")):u&&"]"===e.key?m=s(e.shiftKey?"front":"forward"):u&&"["===e.key&&(m=s(e.shiftKey?"back":"backward"));m&&(e.preventDefault(),e.stopPropagation())},u=(e=o,e.current?.contentDocument),c=o.current?.contentWindow;return window.addEventListener("keydown",d),c?.addEventListener("keydown",d),u?.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d),c?.removeEventListener("keydown",d),u?.removeEventListener("keydown",d)}},[M,o,f,b,g,x,a,l])}({activeSlide:x,selectedElementIds:X,lockedElementIds:O,iframeRef:S,slideWidth:ep,slideHeight:ef,isEditingText:G,isSidebarFocused:F,canUndo:y>0,canRedo:w>0,onCommitOperation:N,onSelectElementIds:J,onDeleteSlide:eI.deleteSlide,onEscapeSelection:et,onNavigateSlide:eI.selectSlideByDirection,onUndo:C,onRedo:k}),x)?(0,v.jsx)(rz,{slides:m,activeSlide:x,deckTitle:t??"",decks:r,currentDeckId:o,isSaving:l,isSwitchingDeck:a,isPresenting:D,thumbnails:W,slideWidth:ep,slideHeight:ef,offsetX:em,offsetY:ex,scale:eg,preselectionOverlay:ey,marqueeOverlay:eM,selectionOverlay:eL,toolbarKey:X.length?`${x.id}:${X.join(",")}`:null,inspectedStyles:ew,selectedElementType:es,selectionCommandAvailability:eu,isSelectedElementLocked:eh,groupScopeOverlayPassive:ec,isEditingText:G,isCropMode:eD.isCropMode,cropOverlay:eD.cropOverlay,manipulationOverlay:eD.isCropMode?null:ej,iframeRef:S,stageViewportRef:A,selectionOverlayRef:M,selectionContextMenuTriggerRef:E,isManipulating:eN||eE,isToolbarSuppressed:R,onDeckTitleChange:d,onDeckSwitch:u,onDeckImport:c,onDeckImportPath:h,onExportHtml:f,onExportSourceFiles:g,onExportPdf:p,onPresent:()=>{et(),I(!0)},onExitPresenting:()=>I(!1),onSelectSlide:e=>{j(e),Z(null)},onSidebarSlideFocusChange:_,onAddSlide:eI.addSlideAfterActive,onAddSlideAbove:eI.addSlideAbove,onAddSlideBelow:eI.addSlideBelow,onDuplicateSlide:eI.duplicateSlide,onDeleteSlide:eI.deleteSlide,onToggleSlideHidden:eI.toggleSlideHidden,onRenameSlide:eI.renameSlide,onReorderSlide:eI.reorderSlide,onSidebarFocusChange:P,onSelectionOverlayMouseDown:eR.onSelectionOverlayMouseDown,onSelectionOverlayMouseMove:eR.onSelectionOverlayMouseMove,onSelectionOverlayContextMenu:eR.onSelectionOverlayContextMenu,onSelectionOverlayMouseUp:eR.onSelectionOverlayMouseUp,onStageMouseLeave:er,onResizeHandleMouseDown:eR.onResizeHandleMouseDown,onCornerRotationZoneMouseDown:eR.onCornerRotationZoneMouseDown,onCropHandleMouseDown:eD.beginCropResize,onSelectionOverlayDoubleClick:eR.onSelectionOverlayDoubleClick,onBackgroundClick:ez,onStyleChange:e$.commitStyleChange,onStyleChanges:e$.commitStyleChanges,onStylePreview:e$.previewStyleChange,onAttributeChange:e$.commitAttributeChange,onAlignToSlide:e$.commitArrangeAction,onCropImage:eD.beginCropMode,onDistribute:e$.distributeSelection,onGroup:e$.groupSelection,onLayerOrder:e$.commitLayerAction,onUngroup:e$.ungroupSelection,onDuplicateElement:e$.duplicateSelection,onDeleteElement:e$.deleteSelection,attributeValues:e$.attributeValues}):(0,v.jsx)("div",{className:"grid min-h-screen place-items-center",children:"No slides loaded."})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.