whiteboard-v2 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ (function(H,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia")):typeof define=="function"&&define.amd?define(["exports","vue","pinia"],e):(H=typeof globalThis<"u"?globalThis:H||self,e(H.WhiteboardEditor={},H.Vue,H.Pinia))})(this,(function(H,e,Me){"use strict";function Ko(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const Qt=Ko(e),Z=Me.defineStore("zoom",{state:()=>({zoom:1}),getters:{zoomPercentage:t=>Math.round(t.zoom*100)},actions:{zoomIn(){this.zoom<3&&(this.zoom=Math.min(this.zoom+.1,3))},zoomOut(){this.zoom>.1&&(this.zoom=Math.max(this.zoom-.1,.1))},setZoom(t){this.zoom=Math.max(.1,Math.min(3,t))},resetZoom(){this.zoom=1},autoFit(t,n,o,r=100){if(t.length===0){this.resetZoom();return}const s=Math.min(...t.map(p=>p.x)),a=Math.min(...t.map(p=>p.y)),l=Math.max(...t.map(p=>p.x+p.width)),i=Math.max(...t.map(p=>p.y+p.height)),c=l-s,d=i-a,u=(n-r)/c,f=(o-r)/d,m=Math.min(u,f,3);this.setZoom(Math.max(.1,m))}}}),Go={"data-testid":"grid-svg",class:"absolute top-0 left-0 w-full h-full pointer-events-none z-0 text-ma-grey-200",xmlns:"http://www.w3.org/2000/svg"},Xo=["width","height"],en=e.defineComponent({__name:"GridCanvas",props:{contentWidth:{},contentHeight:{}},emits:["canvas-click","delete-selected","copy-selected","paste","duplicate","undo","redo"],setup(t,{emit:n}){const o=t,r=n,s=Z(),a=e.computed(()=>o.contentWidth&&o.contentWidth>0?o.contentWidth:null),l=e.computed(()=>o.contentHeight&&o.contentHeight>0?o.contentHeight:null),i=e.computed(()=>({width:a.value?`${a.value*s.zoom}px`:"100%",height:l.value?`${l.value*s.zoom}px`:"100%",minWidth:"100%",minHeight:"100%"})),c=e.computed(()=>({width:a.value?`${a.value}px`:"100%",height:l.value?`${l.value}px`:"100%",transform:`scale(${s.zoom})`,transformOrigin:"top left"})),d=e.computed(()=>({width:i.value.width,height:i.value.height,minWidth:"100%",minHeight:"100%"})),u=m=>{(m.target===m.currentTarget||m.target.classList.contains("grid-pattern")||m.target.classList.contains("zoom-container")||m.target.classList.contains("zoom-content"))&&r("canvas-click")},f=m=>{const h=navigator.platform.toUpperCase().indexOf("MAC")>=0?m.metaKey:m.ctrlKey;h&&m.key==="z"&&!m.shiftKey?(m.preventDefault(),r("undo")):h&&m.key==="z"&&m.shiftKey||h&&m.key==="y"?(m.preventDefault(),r("redo")):h&&m.key==="c"?(m.preventDefault(),r("copy-selected")):h&&m.key==="v"?(m.preventDefault(),r("paste")):h&&m.key==="d"&&(m.preventDefault(),r("duplicate"))};return(m,p)=>(e.openBlock(),e.createElementBlock("div",{"data-testid":"canvas-container",class:"flex-1 relative bg-bg-maincontent overflow-auto outline-none",tabindex:"0",onMousedown:u,onKeydown:[p[0]||(p[0]=e.withKeys(h=>m.$emit("delete-selected"),["delete"])),p[1]||(p[1]=e.withKeys(h=>m.$emit("delete-selected"),["backspace"])),f]},[(e.openBlock(),e.createElementBlock("svg",Go,[e.createElementVNode("defs",null,[e.createElementVNode("pattern",{id:"grid",width:20/e.unref(s).zoom,height:20/e.unref(s).zoom,patternUnits:"userSpaceOnUse"},[...p[2]||(p[2]=[e.createElementVNode("path",{"data-testid":"grid-pattern-path",d:"M 20 0 L 0 0 0 20",fill:"none",stroke:"currentColor","stroke-width":"0.5"},null,-1)])],8,Xo)]),p[3]||(p[3]=e.createElementVNode("rect",{width:"100%",height:"100%",fill:"url(#grid)"},null,-1))])),e.createElementVNode("div",{class:"zoom-container absolute top-0 left-0",style:e.normalizeStyle(i.value)},[e.createElementVNode("div",{class:"zoom-content",style:e.normalizeStyle(c.value)},[e.renderSlot(m.$slots,"default")],4)],4),e.createElementVNode("div",{class:"absolute top-0 left-0 pointer-events-none",style:e.normalizeStyle(d.value)},[e.renderSlot(m.$slots,"overlay")],4)],32))}});function Yo(t){if(!t||!t.trim())return[];const n=[],o=t.trim().split(/\s+/);for(const r of o){const s=r.split(","),a=s[0],l=s[1];if(!a||!l)return[];const i=parseFloat(a),c=parseFloat(l);if(isNaN(i)||isNaN(c))return[];n.push({x:i,y:c})}return n}function Jo(t){const n=Yo(t);if(n.length===0)return"";const o=n.map(f=>f.x),r=n.map(f=>f.y),s=Math.min(...o),a=Math.max(...o),l=Math.min(...r),i=Math.max(...r),c=a-s,d=i-l;return c===0||d===0?t:n.map(f=>({x:Math.round((f.x-s)/c*100),y:Math.round((f.y-l)/d*100)})).map(f=>`${f.x},${f.y}`).join(" ")}const je=30;function Zo(t,n,o){switch((o%360+360)%360){case 90:return{x:n,y:-t};case 180:return{x:-t,y:-n};case 270:return{x:-n,y:t};default:return{x:t,y:n}}}function Qo(t,n,o){switch((o%360+360)%360){case 90:return{x:-n,y:t};case 180:return{x:-t,y:-n};case 270:return{x:n,y:-t};default:return{x:t,y:n}}}function er(t,n,o,r){const{x:s,y:a,width:l,height:i,rotation:c}=t,d={x:s+l/2,y:a+i/2},u=Zo(o,r,c);let f=l,m=i,p=0,h=0;if(n.includes("nw")||n.includes("se")?Math.abs(u.x)<Math.abs(u.y)?u.x=u.y:u.y=u.x:(n.includes("ne")||n.includes("sw"))&&(Math.abs(u.x)<Math.abs(u.y)?u.x=-u.y:u.y=-u.x),n.includes("e"))f=Math.max(je,l+u.x),p=(f-l)/2;else if(n.includes("w")){const y=l-u.x;f=Math.max(je,y),p=-(f-l)/2}if(n.includes("s"))m=Math.max(je,i+u.y),h=(m-i)/2;else if(n.includes("n")){const y=i-u.y;m=Math.max(je,y),h=-(m-i)/2}const g=Qo(p,h,c);return{x:d.x+g.x-f/2,y:d.y+g.y-m/2,width:f,height:m,rotation:c}}function We(t){const{x:n,y:o,width:r,height:s,rotation:a}=t,l=(a%360+360)%360;if(l===90||l===270){const i={x:n+r/2,y:o+s/2};return{x:i.x-s/2,y:i.y-r/2,width:s,height:r,rotation:l}}return t}function tn(t,n){const o=n.find(s=>s.id===t);if(!o)return[];const r=[o];return o.type==="group"&&o.childIds.forEach(a=>{const l=n.find(i=>i.id===a);l&&!r.some(i=>i.id===l.id)&&r.push(l)}),r}function ve(t,n){const o=[],r=new Set;return t.forEach(s=>{tn(s,n).forEach(l=>{r.has(l.id)||(r.add(l.id),o.push(l))})}),o}function nn(t,n){t.forEach(o=>{if(o.groupId&&n[o.groupId]&&(o.groupId=n[o.groupId]),o.type==="group"){const r=o;r.childIds=r.childIds.map(s=>n[s]||s)}})}function on(t){let n=1/0,o=1/0,r=-1/0,s=-1/0;return t.forEach(a=>{const l=We(a);n=Math.min(n,l.x),o=Math.min(o,l.y),r=Math.max(r,l.x+l.width),s=Math.max(s,l.y+l.height)}),{x:n,y:o,width:r-n,height:s-o}}function tr(t,n,o,r){const s=n.width>0?o.width/n.width:1,a=n.height>0?o.height/n.height:1,l=[];return t.childIds.forEach(i=>{const c=r.find(w=>w.id===i);if(!c)return;const d=We(c),u=d.x-n.x,f=d.y-n.y,m=o.x+u*s,p=o.y+f*a,h=Math.max(10,d.width*s),g=Math.max(10,d.height*a),y=(c.rotation%360+360)%360;if(y===90||y===270){const w=g,k=h,N=m+h/2,S=p+g/2;l.push({id:i,updates:{x:N-w/2,y:S-k/2,width:w,height:k}})}else l.push({id:i,updates:{x:m,y:p,width:h,height:g}})}),l}function nr(t,n){const o=t.x+t.width/2,r=t.y+t.height/2,s=[],a=[];t.childIds.forEach(i=>{const c=n.find(k=>k.id===i);if(!c)return;const d=c.x+c.width/2,u=c.y+c.height/2,f=d-o,p=-(u-r),h=f,g=o+p,y=r+h,x=(c.rotation+90)%360,w={x:g-c.width/2,y:y-c.height/2,rotation:x};s.push({id:i,updates:w}),a.push({...c,...w})});const l=on(a);return{childUpdates:s,newGroupBounds:l}}const Ue="#cfe4ed",ne="#279ac8",He="#073446",or=50,W=Me.defineStore("elements",{state:()=>({elements:[],selectedElementIds:[],nextId:1,history:[[]],historyIndex:0,clipboard:[],customShapes:[]}),getters:{selectedElement:t=>t.selectedElementIds.length===0?null:t.elements.find(n=>n.id===t.selectedElementIds[0])||null,selectedElementId:t=>t.selectedElementIds.length>0?t.selectedElementIds[0]:null,selectedElements:t=>t.elements.filter(n=>t.selectedElementIds.includes(n.id)),hasMultipleSelected:t=>t.selectedElementIds.length>1,sortedElements:t=>[...t.elements].sort((n,o)=>n.zIndex-o.zIndex),topLevelElements:t=>t.elements.filter(n=>!n.groupId),canUndo:t=>t.historyIndex>0,canRedo:t=>t.historyIndex<t.history.length-1,hasCopiedElement:t=>t.clipboard!==null&&t.clipboard.length>0},actions:{saveCustomShape(t,n){this.customShapes.push({name:t,points:Jo(n)})},saveSnapshot(){this.canRedo&&(this.history=this.history.slice(0,this.historyIndex+1));const t=JSON.parse(JSON.stringify(this.elements));this.history.push(t),this.historyIndex=this.history.length-1,this.history.length>or&&(this.history.shift(),this.historyIndex=this.history.length-1)},undo(){this.canUndo&&(this.historyIndex--,this.elements=JSON.parse(JSON.stringify(this.history[this.historyIndex])),this.selectedElementIds=this.selectedElementIds.filter(t=>this.elements.some(n=>n.id===t)))},redo(){this.canRedo&&(this.historyIndex++,this.elements=JSON.parse(JSON.stringify(this.history[this.historyIndex])),this.selectedElementIds=this.selectedElementIds.filter(t=>this.elements.some(n=>n.id===t)))},addElement(t){this.elements.push(t),this.selectedElementIds=[t.id],this.saveSnapshot()},addShape(t,n=100,o=100,r){const s={id:`shape-${this.nextId++}`,type:"shape",shapeType:t,x:n,y:o,width:100,height:100,outline:ne,fill:Ue,strokeWeight:3,fontSize:16,fontFamily:"Arial",color:He,zIndex:this.elements.length,rotation:0,customPoints:t==="custom"?r:void 0};this.addElement(s)},addText(t=100,n=100){const o={id:`text-${this.nextId++}`,type:"text",content:"Double click to edit",x:t,y:n,width:200,height:50,fontSize:16,fontFamily:"Arial",color:He,zIndex:this.elements.length,rotation:0};this.addElement(o)},addIcon(t,n=100,o=100){const r={id:`icon-${this.nextId++}`,type:"icon",iconType:t,x:n,y:o,width:50,height:50,color:ne,strokeWeight:2,zIndex:this.elements.length,rotation:0};this.addElement(r)},updateElement(t,n,o=!0){const r=this.elements.findIndex(s=>s.id===t);r!==-1&&(this.elements[r]={...this.elements[r],...n},o&&this.saveSnapshot())},deleteElement(t){const n=this.elements.findIndex(o=>o.id===t);n!==-1&&(this.elements.splice(n,1),this.selectedElementIds=this.selectedElementIds.filter(o=>o!==t),this.saveSnapshot())},deleteSelectedElement(){if(this.selectedElementIds.length===0)return;const t=ve(this.selectedElementIds,this.elements),n=new Set(t.map(o=>o.id));this.elements=this.elements.filter(o=>!n.has(o.id)),this.selectedElementIds=[],this.saveSnapshot()},selectElement(t){this.selectedElementIds=t?[t]:[]},toggleElementSelection(t){const n=this.selectedElementIds.indexOf(t);n===-1?this.selectedElementIds.push(t):this.selectedElementIds.splice(n,1)},addToSelection(t){this.selectedElementIds.includes(t)||this.selectedElementIds.push(t)},clearSelection(){this.selectedElementIds=[]},groupSelectedElements(){if(this.selectedElementIds.length<2)return;const t=[],n=[];if(this.selectedElementIds.forEach(a=>{const l=this.elements.find(i=>i.id===a);l&&(l.type==="group"?(l.childIds.forEach(c=>{const d=this.elements.find(u=>u.id===c);d&&!t.includes(d)&&(d.groupId=void 0,t.push(d))}),n.push(l.id)):l.groupId||t.includes(l)||t.push(l))}),t.length<2)return;this.elements=this.elements.filter(a=>!n.includes(a.id));const o=on(t),r=`group-${this.nextId++}`,s={id:r,type:"group",x:o.x,y:o.y,width:o.width,height:o.height,rotation:0,zIndex:Math.max(...t.map(a=>a.zIndex))+1,childIds:t.map(a=>a.id)};t.forEach(a=>{a.groupId=r}),this.elements.push(s),this.selectedElementIds=[r],this.saveSnapshot()},ungroupElement(t){const n=this.elements.find(r=>r.id===t&&r.type==="group");if(!n)return;n.childIds.forEach(r=>{const s=this.elements.find(a=>a.id===r);s&&(s.groupId=void 0)});const o=this.elements.findIndex(r=>r.id===t);o!==-1&&this.elements.splice(o,1),this.selectedElementIds=[...n.childIds],this.saveSnapshot()},ungroupSelectedElements(){const t=this.elements.filter(o=>this.selectedElementIds.includes(o.id)&&o.type==="group");if(t.length===0)return;const n=[];t.forEach(o=>{if(o.type==="group"){o.childIds.forEach(a=>{const l=this.elements.find(i=>i.id===a);l&&(l.groupId=void 0,n.push(a))});const s=this.elements.findIndex(a=>a.id===o.id);s!==-1&&this.elements.splice(s,1)}}),this.selectedElementIds=n,this.saveSnapshot()},copySelectedElement(){if(this.selectedElementIds.length===0)return;const t=ve(this.selectedElementIds,this.elements);t.length>0&&(this.clipboard=JSON.parse(JSON.stringify(t)))},pasteElement(){if(!this.clipboard||this.clipboard.length===0)return;const t=[],n=this.elements.length,o={},r=[...this.clipboard].sort((a,l)=>a.zIndex-l.zIndex);r.forEach(a=>{o[a.id]=`${a.type}-${this.nextId++}`});const s=r.map((a,l)=>({...JSON.parse(JSON.stringify(a)),id:o[a.id],x:a.x+20,y:a.y+20,zIndex:n+l}));nn(s,o),s.forEach(a=>{this.elements.push(a),a.groupId||t.push(a.id)}),this.clipboard.forEach(a=>{a.x+=20,a.y+=20}),this.selectedElementIds=t,this.saveSnapshot()},duplicateSelectedElement(){if(this.selectedElementIds.length===0)return;const t=ve(this.selectedElementIds,this.elements);if(t.length===0)return;const n=[],o=this.elements.length,r={};t.forEach(l=>{r[l.id]=`${l.type}-${this.nextId++}`});const a=[...t].sort((l,i)=>l.zIndex-i.zIndex).map((l,i)=>({...JSON.parse(JSON.stringify(l)),id:r[l.id],x:l.x+20,y:l.y+20,zIndex:o+i}));nn(a,r),a.forEach(l=>{this.elements.push(l),l.groupId||n.push(l.id)}),this.selectedElementIds=n,this.saveSnapshot()},updateElementPosition(t,n,o){tn(t,this.elements).forEach(s=>{s.x+=n,s.y+=o})},bringToFront(){if(this.selectedElementIds.length===0)return;const t=ve(this.selectedElementIds,this.elements);if(t.length===0)return;const n=Math.max(...this.elements.map(r=>r.zIndex));Math.max(...t.map(r=>r.zIndex))!==n&&(t.sort((r,s)=>r.zIndex-s.zIndex),t.forEach((r,s)=>{r.zIndex=n+1+s}),this.saveSnapshot())},bringToBack(){if(this.selectedElementIds.length===0)return;const t=ve(this.selectedElementIds,this.elements);if(t.length===0)return;const n=new Set(t.map(s=>s.id)),o=Math.min(...this.elements.map(s=>s.zIndex));Math.min(...t.map(s=>s.zIndex))!==o&&(t.sort((s,a)=>s.zIndex-a.zIndex),this.elements.forEach(s=>{n.has(s.id)||(s.zIndex+=t.length)}),t.forEach((s,a)=>{s.zIndex=a}),this.saveSnapshot())},endDrag(){this.saveSnapshot()},endResize(){this.saveSnapshot()},clearAll(){this.elements=[],this.selectedElementIds=[],this.saveSnapshot()},exportSnapshot(){return{version:1,timestamp:Date.now(),elements:JSON.parse(JSON.stringify(this.elements)),nextId:this.nextId}},importSnapshot(t){if(!t||typeof t!="object"||!("elements"in t)||!Array.isArray(t.elements)){console.error("Invalid snapshot data");return}const n=t;this.elements=JSON.parse(JSON.stringify(n.elements)),this.nextId=n.nextId||this.nextId,this.selectedElementIds=[],this.history=[JSON.parse(JSON.stringify(this.elements))],this.historyIndex=0}}}),Ce=100,Ke=Me.defineStore("drag",{state:()=>({isDragging:!1,draggedShapeType:null,draggedCustomPoints:void 0,ghostPosition:{x:0,y:0},canvasElement:null}),actions:{startDrag(t,n,o){this.isDragging=!0,this.draggedShapeType=t,this.draggedCustomPoints=o;const r=Z();this.ghostPosition={x:n.clientX-Ce*r.zoom/2,y:n.clientY-Ce*r.zoom/2},document.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp),document.addEventListener("keydown",this._handleKeyDown)},cancelDrag(){this._cleanup()},setCanvasElement(t){this.canvasElement=t},_handleMouseMove(t){if(!this.isDragging)return;const n=Z();this.ghostPosition={x:t.clientX-Ce*n.zoom/2,y:t.clientY-Ce*n.zoom/2}},_handleMouseUp(t){if(!this.isDragging||!this.draggedShapeType){this._cleanup();return}if(this.canvasElement){const n=this.canvasElement.getBoundingClientRect(),o=t.clientX,r=t.clientY;if(o>=n.left&&o<=n.right&&r>=n.top&&r<=n.bottom){const a=Z(),l=(o-n.left+this.canvasElement.scrollLeft)/a.zoom-Ce/2,i=(r-n.top+this.canvasElement.scrollTop)/a.zoom-Ce/2;W().addShape(this.draggedShapeType,l,i,this.draggedCustomPoints)}}this._cleanup()},_handleKeyDown(t){t.key==="Escape"&&this.isDragging&&this.cancelDrag()},_cleanup(){this.isDragging=!1,this.draggedShapeType=null,this.draggedCustomPoints=void 0,document.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),document.removeEventListener("keydown",this._handleKeyDown)}}});const rn=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),rr=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,o,r)=>r?r.toUpperCase():o.toLowerCase()),sr=t=>{const n=rr(t);return n.charAt(0).toUpperCase()+n.slice(1)},ar=(...t)=>t.filter((n,o,r)=>!!n&&n.trim()!==""&&r.indexOf(n)===o).join(" ").trim(),sn=t=>t==="";var Ae={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const lr=({name:t,iconNode:n,absoluteStrokeWidth:o,"absolute-stroke-width":r,strokeWidth:s,"stroke-width":a,size:l=Ae.width,color:i=Ae.stroke,...c},{slots:d})=>e.h("svg",{...Ae,...c,width:l,height:l,stroke:i,"stroke-width":sn(o)||sn(r)||o===!0||r===!0?Number(s||a||Ae["stroke-width"])*24/Number(l):s||a||Ae["stroke-width"],class:ar("lucide",c.class,...t?[`lucide-${rn(sr(t))}-icon`,`lucide-${rn(t)}`]:["lucide-icon"])},[...n.map(u=>e.h(...u)),...d.default?[d.default()]:[]]);const z=(t,n)=>(o,{slots:r,attrs:s})=>e.h(lr,{...s,...o,iconNode:n,name:t},r);const ir=z("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);const an=z("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);const cr=z("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);const dr=z("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);const ln=z("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const ur=z("briefcase",[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]);const fr=z("building",[["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3",key:"cabbwy"}],["rect",{x:"4",y:"2",width:"16",height:"20",rx:"2",key:"1uxh74"}]]);const pr=z("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);const mr=z("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const hr=z("chart-pie",[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]]);const gr=z("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const cn=z("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const yr=z("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);const xr=z("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);const br=z("clipboard-paste",[["path",{d:"M11 14h10",key:"1w8e9d"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v1.344",key:"1e62lh"}],["path",{d:"m17 18 4-4-4-4",key:"z2g111"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113",key:"bjbb7m"}],["rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",key:"ublpy"}]]);const wr=z("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const kr=z("copy-plus",[["line",{x1:"15",x2:"15",y1:"12",y2:"18",key:"1p7wdc"}],["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);const Cr=z("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);const Er=z("credit-card",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);const Sr=z("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]);const Br=z("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);const _r=z("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);const Vr=z("factory",[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M16 16h.01",key:"1f9h7w"}],["path",{d:"M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z",key:"1iv0i2"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);const Pr=z("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const Or=z("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);const Nr=z("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);const zr=z("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);const Mr=z("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);const vr=z("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);const Ar=z("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);const $r=z("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);const dn=z("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);const Ir=z("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);const Dr=z("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);const Tr=z("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);const Rr=z("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);const Fr=z("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);const Lr=z("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);const qr=z("panel-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);const jr=z("phone",[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]);const bt=z("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const Wr=z("redo-2",[["path",{d:"m15 14 5-5-5-5",key:"12vg1m"}],["path",{d:"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",key:"6uklza"}]]);const Ur=z("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);const Hr=z("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);const Kr=z("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);const Gr=z("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);const Xr=z("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);const Yr=z("smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]);const Jr=z("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);const Zr=z("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);const un=z("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);const Qr=z("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);const es=z("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const ts=z("truck",[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]]);const fn=z("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]);const ns=z("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);const os=z("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);const rs=z("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);const ss=z("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);const as=z("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);const pn=z("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ls=["href"],is=e.defineComponent({__name:"ElementLink",props:{link:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("a",{href:t.link,target:"_blank",rel:"noopener noreferrer",class:"absolute -top-3 -right-3 pointer-events-auto text-ma-text-01 bg-white border border-ma-grey-300 rounded-full p-1 shadow-md z-10 hover:bg-ma-grey-100 transition-colors",onMousedown:o[0]||(o[0]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(zr),{class:"w-4 h-4 text-blue-600"})],40,ls))}}),cs=e.defineComponent({__name:"ElementTextOverlay",props:{element:{}},setup(t){const n=t,o=e.computed(()=>{const s=n.element,a=s.rotation||0,l=Math.abs(a%180)===90;return{position:"absolute",top:"50%",left:"50%",width:`${l?s.height:s.width}px`,height:`${l?s.width:s.height}px`,transform:`translate(-50%, -50%) rotate(${-a}deg)`,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",overflow:"hidden"}}),r=e.computed(()=>{const s=n.element;return{color:s.color||"#000000",fontSize:`${s.fontSize||16}px`,fontFamily:s.fontFamily||"Arial",textAlign:"center",whiteSpace:"pre-wrap",overflowWrap:"break-word",lineHeight:"1.2",userSelect:"none",maxWidth:"100%",maxHeight:"100%"}});return(s,a)=>(e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(o.value)},[e.createElementVNode("span",{style:e.normalizeStyle(r.value)},e.toDisplayString(t.element.content),5)],4))}}),mn=["nw","n","ne","e","se","s","sw","w"],ds=t=>{switch(t){case"nw":return{left:"-10px",top:"-10px"};case"n":return{left:"50%",top:"-10px"};case"ne":return{left:"calc(100% + 10px)",top:"-10px"};case"e":return{left:"calc(100% + 11px)",top:"50%"};case"se":return{left:"calc(100% + 10px)",top:"calc(100% + 10px)"};case"s":return{left:"50%",top:"calc(100% + 11px)"};case"sw":return{left:"-10px",top:"calc(100% + 10px)"};case"w":return{left:"-11px",top:"50%"}}},hn=3;function us(t){const n=Z(),o=e.ref(!1);let r=!1,s=0,a=0,l=0,i=0;const c=f=>{if(!o.value)return;if(!r){const h=Math.abs(f.clientX-s),g=Math.abs(f.clientY-a);(h>=hn||g>=hn)&&(r=!0,t("drag-start",f),l=f.clientX,i=f.clientY);return}const m=f.clientX-l,p=f.clientY-i;l=f.clientX,i=f.clientY,t("drag",m/n.zoom,p/n.zoom,f)},d=()=>{o.value&&(o.value=!1,r&&t("drag-end")),r=!1,document.body.style.cursor="",document.body.style.userSelect="",document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d)},u=f=>{t("click",f),o.value=!0,r=!1,s=f.clientX,a=f.clientY,l=f.clientX,i=f.clientY,document.body.style.userSelect="none",document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)};return e.onUnmounted(()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d)}),{isDragging:o,startDrag:u}}function fs(t){const n=e.ref(!1);let o="",r=0,s=0;const a=d=>{if(!n.value)return;const u=d.clientX-r,f=d.clientY-s;r=d.clientX,s=d.clientY,t("resize",o,u,f)},l=()=>{n.value&&(n.value=!1,t("resize-end")),document.body.style.cursor="",document.body.style.userSelect="",document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",l)},i=(d,u)=>{n.value=!0,o=d,r=u.clientX,s=u.clientY,document.body.style.cursor=c(d),document.body.style.userSelect="none",t("resize-start",d,u),document.addEventListener("mousemove",a),document.addEventListener("mouseup",l)},c=d=>({nw:"nwse-resize",se:"nwse-resize",ne:"nesw-resize",sw:"nesw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"})[d]||"pointer";return e.onUnmounted(()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",l)}),{isResizing:n,startResize:i}}function ps(t){const n=e.computed(()=>{const s=t.value;return s.type!=="shape"?null:{width:s.width,height:s.height,fill:s.fill,outline:s.outline,strokeWeight:s.strokeWeight,rotation:0,shapeType:s.shapeType,customPoints:s.customPoints}}),o=e.computed(()=>{const s=t.value;return s.type!=="text"?null:{content:s.content,color:s.color,fontSize:s.fontSize,fontFamily:s.fontFamily}}),r=e.computed(()=>{const s=t.value;return s.type!=="icon"?null:{iconType:s.iconType,color:s.color,strokeWeight:s.strokeWeight}});return{shapeProps:n,textProps:o,iconProps:r}}const ms=["data-testid","width","height"],hs=["data-testid","stroke","fill","stroke-width"],gs=["data-testid","points","stroke","fill","stroke-width"],Ge=e.defineComponent({__name:"GenericShape",props:{width:{type:Number,required:!0},height:{type:Number,required:!0},shapeType:{type:String,required:!0},strokeWeight:{type:Number,default:3},outline:{type:String,default:"defaultOutlineColor"},fill:{type:String,default:"defaultFillColor"},customPoints:{type:String,default:""}},setup(t){const n=t,o=e.computed(()=>{switch(n.shapeType){case"custom":return n.customPoints;case"rectangle":return"0,0 100,0 100,100 0,100";case"triangle":return"50,0 100,100 0,100";case"trapezoid":return"20,0 80,0 100,100 0,100";case"chevron":return"0,0 60,0 100,50 60,100 0,100 40,50";case"hexagon":return"25,0 75,0 100,50 75,100 25,100 0,50";case"diamond":return"50,0 100,50 50,100 0,50";case"parallelogram":return"20,0 100,0 80,100 0,100";case"pentagon":return"50,0 100,38 82,100 18,100 0,38";default:return""}});return(r,s)=>(e.openBlock(),e.createElementBlock("svg",{"data-testid":`${t.shapeType}-shape`,width:t.width,height:t.height,viewBox:"0 0 100 100",preserveAspectRatio:"none",style:{overflow:"visible"}},[t.shapeType==="ellipse"?(e.openBlock(),e.createElementBlock("ellipse",{key:0,"data-testid":`${t.shapeType}-ellipse`,cx:"50",cy:"50",rx:"50",ry:"50",stroke:t.outline,fill:t.fill,"stroke-width":t.strokeWeight,"vector-effect":"non-scaling-stroke"},null,8,hs)):(e.openBlock(),e.createElementBlock("polygon",{key:1,"data-testid":`${t.shapeType}-polygon`,points:o.value,stroke:t.outline,fill:t.fill,"stroke-width":t.strokeWeight,"vector-effect":"non-scaling-stroke"},null,8,gs))],8,ms))}}),ys=e.defineComponent({__name:"TextElement",props:{content:{},color:{},fontSize:{},fontFamily:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"w-full h-full flex items-center justify-center p-2 overflow-hidden",style:e.normalizeStyle({color:t.color,fontSize:`${t.fontSize}px`,fontFamily:t.fontFamily})},e.toDisplayString(t.content),5))}}),gn={arrowUp:ln,arrowDown:an,arrowLeft:cr,arrowRight:dr,user:rs,users:ss,building:fr,factory:Vr,briefcase:ur,fileText:Pr,folder:Or,database:Br,clipboardList:xr,server:Kr,monitor:Ir,smartphone:Xr,mail:Mr,messageSquare:Ar,phone:jr,checkCircle:yr,alertTriangle:es,info:Nr,settings:Gr,activity:ir,barChart:mr,pieChart:hr,trendingUp:Qr,dollarSign:_r,creditCard:Er,truck:ts,package:Tr,mapPin:vr,clock:wr,calendar:pr,target:Zr},xs=e.defineComponent({__name:"IconElement",props:{iconType:{},color:{},strokeWeight:{}},setup(t){const n=t,o=e.computed(()=>gn[n.iconType]||null);return(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:"w-full h-full flex items-center justify-center overflow-hidden",style:e.normalizeStyle({color:t.color})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{class:"w-full h-full","stroke-width":t.strokeWeight},null,8,["stroke-width"]))],4))}}),bs={class:"w-full h-full"},ws={key:0,class:"absolute inset-0 pointer-events-none"},ks=["onMousedown"],yn=e.defineComponent({__name:"ElementWrapper",props:{element:{},selected:{type:Boolean}},emits:["select","click","drag-start","drag","drag-end","resize-start","resize","resize-end"],setup(t,{emit:n}){const o=t,r=n,{startDrag:s}=us(r),{startResize:a}=fs(r),{shapeProps:l,textProps:i,iconProps:c}=ps(e.toRef(o,"element")),d=e.computed(()=>o.element.type==="icon"?mn.filter(p=>["nw","ne","sw","se"].includes(p)):mn),u=e.computed(()=>({left:`${o.element.x}px`,top:`${o.element.y}px`,width:`${o.element.width}px`,height:`${o.element.height}px`,transform:`rotate(${o.element.rotation}deg)`,transformOrigin:"center center"})),f=p=>{r("select",p),s(p)},m=(p,h)=>{a(p,h)};return(p,h)=>(e.openBlock(),e.createElementBlock("div",{class:"absolute",style:e.normalizeStyle(u.value),onMousedown:e.withModifiers(f,["stop"])},[e.createElementVNode("div",bs,[e.unref(l)?(e.openBlock(),e.createBlock(Ge,e.normalizeProps(e.mergeProps({key:0},e.unref(l))),null,16)):e.unref(i)?(e.openBlock(),e.createBlock(ys,e.normalizeProps(e.mergeProps({key:1},e.unref(i))),null,16)):e.unref(c)?(e.openBlock(),e.createBlock(xs,e.normalizeProps(e.mergeProps({key:2},e.unref(c))),null,16)):e.createCommentVNode("",!0)]),t.selected?(e.openBlock(),e.createElementBlock("div",ws,[h[0]||(h[0]=e.createElementVNode("div",{class:"absolute -inset-3 border-2 border-ma-primary-500 pointer-events-none"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,g=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"absolute w-2 h-2 bg-ma-primary-500 border border-white rounded-full -translate-x-1/2 -translate-y-1/2 pointer-events-auto cursor-pointer",style:e.normalizeStyle(e.unref(ds)(g)),onMousedown:e.withModifiers(y=>m(g,y),["stop"])},null,44,ks))),128))])):e.createCommentVNode("",!0),t.element.type==="shape"?(e.openBlock(),e.createBlock(cs,{key:1,element:t.element},null,8,["element"])):e.createCommentVNode("",!0),t.element.link&&!t.selected?(e.openBlock(),e.createBlock(is,{key:2,link:t.element.link},null,8,["link"])):e.createCommentVNode("",!0)],36))}});function xn(t){var n,o,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(n=0;n<s;n++)t[n]&&(o=xn(t[n]))&&(r&&(r+=" "),r+=o)}else for(o in t)t[o]&&(r&&(r+=" "),r+=o);return r}function bn(){for(var t,n,o=0,r="",s=arguments.length;o<s;o++)(t=arguments[o])&&(n=xn(t))&&(r&&(r+=" "),r+=n);return r}const wn=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,kn=bn,Cs=(t,n)=>o=>{var r;if(n?.variants==null)return kn(t,o?.class,o?.className);const{variants:s,defaultVariants:a}=n,l=Object.keys(s).map(d=>{const u=o?.[d],f=a?.[d];if(u===null)return null;const m=wn(u)||wn(f);return s[d][m]}),i=o&&Object.entries(o).reduce((d,u)=>{let[f,m]=u;return m===void 0||(d[f]=m),d},{}),c=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((d,u)=>{let{class:f,className:m,...p}=u;return Object.entries(p).every(h=>{let[g,y]=h;return Array.isArray(y)?y.includes({...a,...i}[g]):{...a,...i}[g]===y})?[...d,f,m]:d},[]);return kn(t,l,c,o?.class,o?.className)};function $e(t,n){const o=typeof t=="string"&&!n?`${t}Context`:n,r=Symbol(o);return[l=>{const i=e.inject(r,l);if(i||i===null)return i;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(t)?`one of the following components: ${t.join(", ")}`:`\`${t}\``}`)},l=>(e.provide(r,l),l)]}function ue(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function Cn(t,n,o){const r=o.originalEvent.target,s=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:o});n&&r.addEventListener(t,n,{once:!0}),r.dispatchEvent(s)}function Es(t){return t==null}function wt(t){return t?t.flatMap(n=>n.type===e.Fragment?wt(n.children):[n]):[]}const[En]=$e("ConfigProvider");function Ss(t,n){var o;const r=e.shallowRef();return e.watchEffect(()=>{r.value=t()},{...n,flush:(o=void 0)!=null?o:"sync"}),e.readonly(r)}function Sn(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Bs(t){let n=!1,o;const r=e.effectScope(!0);return(...s)=>(n||(o=r.run(()=>t(...s)),n=!0),o)}function _s(t){let n=0,o,r;const s=()=>{n-=1,r&&n<=0&&(r.stop(),o=void 0,r=void 0)};return(...a)=>(n+=1,r||(r=e.effectScope(!0),o=r.run(()=>t(...a))),Sn(s),o)}function Vs(t){if(!e.isRef(t))return e.reactive(t);const n=new Proxy({},{get(o,r,s){return e.unref(Reflect.get(t.value,r,s))},set(o,r,s){return e.isRef(t.value[r])&&!e.isRef(s)?t.value[r].value=s:t.value[r]=s,!0},deleteProperty(o,r){return Reflect.deleteProperty(t.value,r)},has(o,r){return Reflect.has(t.value,r)},ownKeys(){return Object.keys(t.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return e.reactive(n)}function Ps(t){return Vs(e.computed(t))}function Os(t,...n){const o=n.flat(),r=o[0];return Ps(()=>Object.fromEntries(typeof r=="function"?Object.entries(e.toRefs(t)).filter(([s,a])=>!r(e.toValue(a),s)):Object.entries(e.toRefs(t)).filter(s=>!o.includes(s[0]))))}const fe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ns=t=>typeof t<"u",zs=Object.prototype.toString,Ms=t=>zs.call(t)==="[object Object]",Bn=vs();function vs(){var t,n;return fe&&((t=window?.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((n=window?.navigator)==null?void 0:n.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function As(t){return e.getCurrentInstance()}function kt(t){return Array.isArray(t)?t:[t]}function $s(t,n){As()&&e.onBeforeUnmount(t,n)}function Is(t,n,o){return e.watch(t,n,{...o,immediate:!0})}const Ct=fe?window:void 0;function Ie(t){var n;const o=e.toValue(t);return(n=o?.$el)!=null?n:o}function _n(...t){const n=[],o=()=>{n.forEach(i=>i()),n.length=0},r=(i,c,d,u)=>(i.addEventListener(c,d,u),()=>i.removeEventListener(c,d,u)),s=e.computed(()=>{const i=kt(e.toValue(t[0])).filter(c=>c!=null);return i.every(c=>typeof c!="string")?i:void 0}),a=Is(()=>{var i,c;return[(c=(i=s.value)==null?void 0:i.map(d=>Ie(d)))!=null?c:[Ct].filter(d=>d!=null),kt(e.toValue(s.value?t[1]:t[0])),kt(e.unref(s.value?t[2]:t[1])),e.toValue(s.value?t[3]:t[2])]},([i,c,d,u])=>{if(o(),!i?.length||!c?.length||!d?.length)return;const f=Ms(u)?{...u}:u;n.push(...i.flatMap(m=>c.flatMap(p=>d.map(h=>r(m,p,h,f)))))},{flush:"post"}),l=()=>{a(),o()};return Sn(o),l}function Ds(){const t=e.shallowRef(!1),n=e.getCurrentInstance();return n&&e.onMounted(()=>{t.value=!0},n),t}function Ts(t){return typeof t=="function"?t:typeof t=="string"?n=>n.key===t:Array.isArray(t)?n=>t.includes(n.key):()=>!0}function Rs(...t){let n,o,r={};t.length===3?(n=t[0],o=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(n=!0,o=t[0],r=t[1]):(n=t[0],o=t[1]):(n=!0,o=t[0]);const{target:s=Ct,eventName:a="keydown",passive:l=!1,dedupe:i=!1}=r,c=Ts(n);return _n(s,a,u=>{u.repeat&&e.toValue(i)||c(u)&&o(u)},l)}function Fs(t){return JSON.parse(JSON.stringify(t))}function Vn(t,n,o,r={}){var s,a,l;const{clone:i=!1,passive:c=!1,eventName:d,deep:u=!1,defaultValue:f,shouldEmit:m}=r,p=e.getCurrentInstance(),h=o||p?.emit||((s=p?.$emit)==null?void 0:s.bind(p))||((l=(a=p?.proxy)==null?void 0:a.$emit)==null?void 0:l.bind(p?.proxy));let g=d;g=g||`update:${n.toString()}`;const y=k=>i?typeof i=="function"?i(k):Fs(k):k,x=()=>Ns(t[n])?y(t[n]):f,w=k=>{m?m(k)&&h(g,k):h(g,k)};if(c){const k=x(),N=e.ref(k);let S=!1;return e.watch(()=>t[n],B=>{S||(S=!0,N.value=y(B),e.nextTick(()=>S=!1))}),e.watch(N,B=>{!S&&(B!==t[n]||u)&&w(B)},{deep:u}),N}else return e.computed({get(){return x()},set(k){w(k)}})}function Et(t){if(t===null||typeof t!="object")return!1;const n=Object.getPrototypeOf(t);return n!==null&&n!==Object.prototype&&Object.getPrototypeOf(n)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function St(t,n,o=".",r){if(!Et(n))return St(t,{},o,r);const s=Object.assign({},n);for(const a in t){if(a==="__proto__"||a==="constructor")continue;const l=t[a];l!=null&&(r&&r(s,a,l,o)||(Array.isArray(l)&&Array.isArray(s[a])?s[a]=[...l,...s[a]]:Et(l)&&Et(s[a])?s[a]=St(l,s[a],(o?`${o}.`:"")+a.toString(),r):s[a]=l))}return s}function Ls(t){return(...n)=>n.reduce((o,r)=>St(o,r,"",t),{})}const qs=Ls(),js=_s(()=>{const t=e.ref(new Map),n=e.ref(),o=e.computed(()=>{for(const l of t.value.values())if(l)return!0;return!1}),r=En({scrollBody:e.ref(!0)});let s=null;const a=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=n.value??"",Bn&&s?.(),n.value=void 0};return e.watch(o,(l,i)=>{if(!fe)return;if(!l){i&&a();return}n.value===void 0&&(n.value=document.body.style.overflow);const c=window.innerWidth-document.documentElement.clientWidth,d={padding:c,margin:0},u=r.scrollBody?.value?typeof r.scrollBody.value=="object"?qs({padding:r.scrollBody.value.padding===!0?c:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?c:r.scrollBody.value.margin},d):d:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof u.padding=="number"?`${u.padding}px`:String(u.padding),document.body.style.marginRight=typeof u.margin=="number"?`${u.margin}px`:String(u.margin),document.documentElement.style.setProperty("--scrollbar-width",`${c}px`),document.body.style.overflow="hidden"),Bn&&(s=_n(document,"touchmove",f=>Ws(f),{passive:!1})),e.nextTick(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),t});function Pn(t){const n=Math.random().toString(36).substring(2,7),o=js();o.value.set(n,t);const r=e.computed({get:()=>o.value.get(n)??!1,set:s=>o.value.set(n,s)});return $s(()=>{o.value.delete(n)}),r}function On(t){const n=window.getComputedStyle(t);if(n.overflowX==="scroll"||n.overflowY==="scroll"||n.overflowX==="auto"&&t.clientWidth<t.scrollWidth||n.overflowY==="auto"&&t.clientHeight<t.scrollHeight)return!0;{const o=t.parentNode;return!(o instanceof Element)||o.tagName==="BODY"?!1:On(o)}}function Ws(t){const n=t||window.event,o=n.target;return o instanceof Element&&On(o)?!1:n.touches.length>1?!0:(n.preventDefault&&n.cancelable&&n.preventDefault(),!1)}function Xe(t){const n=e.getCurrentInstance(),o=n?.type.emits,r={};return o?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),o?.forEach(s=>{r[e.toHandlerKey(e.camelize(s))]=(...a)=>t(s,...a)}),r}let Bt=0;function Us(){e.watchEffect(t=>{if(!fe)return;const n=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",n[0]??Nn()),document.body.insertAdjacentElement("beforeend",n[1]??Nn()),Bt++,t(()=>{Bt===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(o=>o.remove()),Bt--})})}function Nn(){const t=document.createElement("span");return t.setAttribute("data-reka-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}function j(){const t=e.getCurrentInstance(),n=e.ref(),o=e.computed(()=>["#text","#comment"].includes(n.value?.$el.nodeName)?n.value?.$el.nextElementSibling:Ie(n)),r=Object.assign({},t.exposed),s={};for(const l in t.props)Object.defineProperty(s,l,{enumerable:!0,configurable:!0,get:()=>t.props[l]});if(Object.keys(r).length>0)for(const l in r)Object.defineProperty(s,l,{enumerable:!0,configurable:!0,get:()=>r[l]});Object.defineProperty(s,"$el",{enumerable:!0,configurable:!0,get:()=>t.vnode.el}),t.exposed=s;function a(l){if(n.value=l,!!l&&(Object.defineProperty(s,"$el",{enumerable:!0,configurable:!0,get:()=>l instanceof Element?l:l.$el}),!(l instanceof Element)&&!Object.hasOwn(l,"$el"))){const i=l.$.exposed,c=Object.assign({},s);for(const d in i)Object.defineProperty(c,d,{enumerable:!0,configurable:!0,get:()=>i[d]});t.exposed=c}}return{forwardRef:a,currentRef:n,currentElement:o}}function _t(t){const n=e.getCurrentInstance(),o=Object.keys(n?.type.props??{}).reduce((s,a)=>{const l=(n?.type.props[a]).default;return l!==void 0&&(s[a]=l),s},{}),r=e.toRef(t);return e.computed(()=>{const s={},a=n?.vnode.props??{};return Object.keys(a).forEach(l=>{s[e.camelize(l)]=a[l]}),Object.keys({...o,...s}).reduce((l,i)=>(r.value[i]!==void 0&&(l[i]=r.value[i]),l),{})})}function xe(t,n){const o=_t(t),r=n?Xe(n):{};return e.computed(()=>({...o.value,...r}))}var Hs=function(t){if(typeof document>"u")return null;var n=Array.isArray(t)?t[0]:t;return n.ownerDocument.body},Ee=new WeakMap,Ye=new WeakMap,Je={},Vt=0,zn=function(t){return t&&(t.host||zn(t.parentNode))},Ks=function(t,n){return n.map(function(o){if(t.contains(o))return o;var r=zn(o);return r&&t.contains(r)?r:(console.error("aria-hidden",o,"in not contained inside",t,". Doing nothing"),null)}).filter(function(o){return!!o})},Gs=function(t,n,o,r){var s=Ks(n,Array.isArray(t)?t:[t]);Je[o]||(Je[o]=new WeakMap);var a=Je[o],l=[],i=new Set,c=new Set(s),d=function(f){!f||i.has(f)||(i.add(f),d(f.parentNode))};s.forEach(d);var u=function(f){!f||c.has(f)||Array.prototype.forEach.call(f.children,function(m){if(i.has(m))u(m);else try{var p=m.getAttribute(r),h=p!==null&&p!=="false",g=(Ee.get(m)||0)+1,y=(a.get(m)||0)+1;Ee.set(m,g),a.set(m,y),l.push(m),g===1&&h&&Ye.set(m,!0),y===1&&m.setAttribute(o,"true"),h||m.setAttribute(r,"true")}catch(x){console.error("aria-hidden: cannot operate on ",m,x)}})};return u(n),i.clear(),Vt++,function(){l.forEach(function(f){var m=Ee.get(f)-1,p=a.get(f)-1;Ee.set(f,m),a.set(f,p),m||(Ye.has(f)||f.removeAttribute(r),Ye.delete(f)),p||f.removeAttribute(o)}),Vt--,Vt||(Ee=new WeakMap,Ee=new WeakMap,Ye=new WeakMap,Je={})}},Xs=function(t,n,o){o===void 0&&(o="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),s=Hs(t);return s?(r.push.apply(r,Array.from(s.querySelectorAll("[aria-live], script"))),Gs(r,s,o,"aria-hidden")):function(){return null}};function Mn(t){let n;e.watch(()=>Ie(t),o=>{o?n=Xs(o):n&&n()}),e.onUnmounted(()=>{n&&n()})}let Ys=0;function Ze(t,n="reka"){if("useId"in Qt)return`${n}-${Qt.useId?.()}`;const o=En({useId:void 0});return o.useId?`${n}-${o.useId()}`:`${n}-${++Ys}`}function Js(t){const n=e.ref(),o=e.computed(()=>n.value?.width??0),r=e.computed(()=>n.value?.height??0);return e.onMounted(()=>{const s=Ie(t);if(s){n.value={width:s.offsetWidth,height:s.offsetHeight};const a=new ResizeObserver(l=>{if(!Array.isArray(l)||!l.length)return;const i=l[0];let c,d;if("borderBoxSize"in i){const u=i.borderBoxSize,f=Array.isArray(u)?u[0]:u;c=f.inlineSize,d=f.blockSize}else c=s.offsetWidth,d=s.offsetHeight;n.value={width:c,height:d}});return a.observe(s,{box:"border-box"}),()=>a.unobserve(s)}else n.value=void 0}),{width:o,height:r}}function Zs(t,n){const o=e.ref(t);function r(a){return n[o.value][a]??o.value}return{state:o,dispatch:a=>{o.value=r(a)}}}function Qs(t,n){const o=e.ref({}),r=e.ref("none"),s=e.ref(t),a=t.value?"mounted":"unmounted";let l;const i=n.value?.ownerDocument.defaultView??Ct,{state:c,dispatch:d}=Zs(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),u=y=>{if(fe){const x=new CustomEvent(y,{bubbles:!1,cancelable:!1});n.value?.dispatchEvent(x)}};e.watch(t,async(y,x)=>{const w=x!==y;if(await e.nextTick(),w){const k=r.value,N=Qe(n.value);y?(d("MOUNT"),u("enter"),N==="none"&&u("after-enter")):N==="none"||N==="undefined"||o.value?.display==="none"?(d("UNMOUNT"),u("leave"),u("after-leave")):x&&k!==N?(d("ANIMATION_OUT"),u("leave")):(d("UNMOUNT"),u("after-leave"))}},{immediate:!0});const f=y=>{const x=Qe(n.value),w=x.includes(CSS.escape(y.animationName)),k=c.value==="mounted"?"enter":"leave";if(y.target===n.value&&w&&(u(`after-${k}`),d("ANIMATION_END"),!s.value)){const N=n.value.style.animationFillMode;n.value.style.animationFillMode="forwards",l=i?.setTimeout(()=>{n.value?.style.animationFillMode==="forwards"&&(n.value.style.animationFillMode=N)})}y.target===n.value&&x==="none"&&d("ANIMATION_END")},m=y=>{y.target===n.value&&(r.value=Qe(n.value))},p=e.watch(n,(y,x)=>{y?(o.value=getComputedStyle(y),y.addEventListener("animationstart",m),y.addEventListener("animationcancel",f),y.addEventListener("animationend",f)):(d("ANIMATION_END"),l!==void 0&&i?.clearTimeout(l),x?.removeEventListener("animationstart",m),x?.removeEventListener("animationcancel",f),x?.removeEventListener("animationend",f))},{immediate:!0}),h=e.watch(c,()=>{const y=Qe(n.value);r.value=c.value==="mounted"?y:"none"});return e.onUnmounted(()=>{p(),h()}),{isPresent:e.computed(()=>["mounted","unmountSuspended"].includes(c.value))}}function Qe(t){return t&&getComputedStyle(t).animationName||"none"}var Pt=e.defineComponent({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:n,expose:o}){const{present:r,forceMount:s}=e.toRefs(t),a=e.ref(),{isPresent:l}=Qs(r,a);o({present:l});let i=n.default({present:l.value});i=wt(i||[]);const c=e.getCurrentInstance();if(i&&i?.length>1){const d=c?.parent?.type.name?`<${c.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${d}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(u=>` - ${u}`).join(`
2
+ `)].join(`
3
+ `))}return()=>s.value||r.value||l.value?e.h(n.default({present:l.value})[0],{ref:d=>{const u=Ie(d);return typeof u?.hasAttribute>"u"||(u?.hasAttribute("data-reka-popper-content-wrapper")?a.value=u.firstElementChild:a.value=u),u}}):null}});const ea=e.defineComponent({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:n,slots:o}){return()=>{if(!o.default)return null;const r=wt(o.default()),s=r.findIndex(c=>c.type!==e.Comment);if(s===-1)return r;const a=r[s];delete a.props?.ref;const l=a.props?e.mergeProps(n,a.props):n,i=e.cloneVNode({...a,props:{}},l);return r.length===1?i:(r[s]=i,r)}}}),ta=["area","img","input"],Q=e.defineComponent({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(t,{attrs:n,slots:o}){const r=t.asChild?"template":t.as;return typeof r=="string"&&ta.includes(r)?()=>e.h(r,n):r!=="template"?()=>e.h(t.as,n,{default:o.default}):()=>e.h(ea,n,{default:o.default})}}),[pe,na]=$e("DialogRoot");var oa=e.defineComponent({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(t,{emit:n}){const o=t,s=Vn(o,"open",n,{defaultValue:o.defaultOpen,passive:o.open===void 0}),a=e.ref(),l=e.ref(),{modal:i}=e.toRefs(o);return na({open:s,modal:i,openModal:()=>{s.value=!0},onOpenChange:c=>{s.value=c},onOpenToggle:()=>{s.value=!s.value},contentId:"",titleId:"",descriptionId:"",triggerElement:a,contentElement:l}),(c,d)=>e.renderSlot(c.$slots,"default",{open:e.unref(s),close:()=>s.value=!1})}}),ra=oa,sa=e.defineComponent({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;j();const o=pe();return(r,s)=>(e.openBlock(),e.createBlock(e.unref(Q),e.mergeProps(n,{type:r.as==="button"?"button":void 0,onClick:s[0]||(s[0]=a=>e.unref(o).onOpenChange(!1))}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["type"]))}}),aa=sa;const la="dismissableLayer.pointerDownOutside",ia="dismissableLayer.focusOutside";function vn(t,n){const o=n.closest("[data-dismissable-layer]"),r=t.dataset.dismissableLayer===""?t:t.querySelector("[data-dismissable-layer]"),s=Array.from(t.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(o&&(r===o||s.indexOf(r)<s.indexOf(o)))}function ca(t,n,o=!0){const r=n?.value?.ownerDocument??globalThis?.document,s=e.ref(!1),a=e.ref(()=>{});return e.watchEffect(l=>{if(!fe||!e.toValue(o))return;const i=async d=>{const u=d.target;if(!(!n?.value||!u)){if(vn(n.value,u)){s.value=!1;return}if(d.target&&!s.value){let m=function(){Cn(la,t,f)};const f={originalEvent:d};d.pointerType==="touch"?(r.removeEventListener("click",a.value),a.value=m,r.addEventListener("click",a.value,{once:!0})):m()}else r.removeEventListener("click",a.value);s.value=!1}},c=window.setTimeout(()=>{r.addEventListener("pointerdown",i)},0);l(()=>{window.clearTimeout(c),r.removeEventListener("pointerdown",i),r.removeEventListener("click",a.value)})}),{onPointerDownCapture:()=>{e.toValue(o)&&(s.value=!0)}}}function da(t,n,o=!0){const r=n?.value?.ownerDocument??globalThis?.document,s=e.ref(!1);return e.watchEffect(a=>{if(!fe||!e.toValue(o))return;const l=async i=>{if(!n?.value)return;await e.nextTick(),await e.nextTick();const c=i.target;!n.value||!c||vn(n.value,c)||i.target&&!s.value&&Cn(ia,t,{originalEvent:i})};r.addEventListener("focusin",l),a(()=>r.removeEventListener("focusin",l))}),{onFocusCapture:()=>{e.toValue(o)&&(s.value=!0)},onBlurCapture:()=>{e.toValue(o)&&(s.value=!1)}}}const J=e.reactive({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var ua=e.defineComponent({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(t,{emit:n}){const o=t,r=n,{forwardRef:s,currentElement:a}=j(),l=e.computed(()=>a.value?.ownerDocument??globalThis.document),i=e.computed(()=>J.layersRoot),c=e.computed(()=>a.value?Array.from(i.value).indexOf(a.value):-1),d=e.computed(()=>J.layersWithOutsidePointerEventsDisabled.size>0),u=e.computed(()=>{const p=Array.from(i.value),[h]=[...J.layersWithOutsidePointerEventsDisabled].slice(-1),g=p.indexOf(h);return c.value>=g}),f=ca(async p=>{const h=[...J.branches].some(g=>g?.contains(p.target));!u.value||h||(r("pointerDownOutside",p),r("interactOutside",p),await e.nextTick(),p.defaultPrevented||r("dismiss"))},a),m=da(p=>{[...J.branches].some(g=>g?.contains(p.target))||(r("focusOutside",p),r("interactOutside",p),p.defaultPrevented||r("dismiss"))},a);return Rs("Escape",p=>{c.value===i.value.size-1&&(r("escapeKeyDown",p),p.defaultPrevented||r("dismiss"))}),e.watchEffect(p=>{a.value&&(o.disableOutsidePointerEvents&&(J.layersWithOutsidePointerEventsDisabled.size===0&&(J.originalBodyPointerEvents=l.value.body.style.pointerEvents,l.value.body.style.pointerEvents="none"),J.layersWithOutsidePointerEventsDisabled.add(a.value)),i.value.add(a.value),p(()=>{o.disableOutsidePointerEvents&&J.layersWithOutsidePointerEventsDisabled.size===1&&!Es(J.originalBodyPointerEvents)&&(l.value.body.style.pointerEvents=J.originalBodyPointerEvents)}))}),e.watchEffect(p=>{p(()=>{a.value&&(i.value.delete(a.value),J.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(p,h)=>(e.openBlock(),e.createBlock(e.unref(Q),{ref:e.unref(s),"as-child":p.asChild,as:p.as,"data-dismissable-layer":"",style:e.normalizeStyle({pointerEvents:d.value?u.value?"auto":"none":void 0}),onFocusCapture:e.unref(m).onFocusCapture,onBlurCapture:e.unref(m).onBlurCapture,onPointerdownCapture:e.unref(f).onPointerDownCapture},{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),An=ua;const fa=Bs(()=>e.ref([]));function pa(){const t=fa();return{add(n){const o=t.value[0];n!==o&&o?.pause(),t.value=$n(t.value,n),t.value.unshift(n)},remove(n){t.value=$n(t.value,n),t.value[0]?.resume()}}}function $n(t,n){const o=[...t],r=o.indexOf(n);return r!==-1&&o.splice(r,1),o}function ma(t){return t.filter(n=>n.tagName!=="A")}const Ot="focusScope.autoFocusOnMount",Nt="focusScope.autoFocusOnUnmount",In={bubbles:!1,cancelable:!0};function ha(t,{select:n=!1}={}){const o=ue();for(const r of t)if(me(r,{select:n}),ue()!==o)return!0}function ga(t){const n=Dn(t),o=Tn(n,t),r=Tn(n.reverse(),t);return[o,r]}function Dn(t){const n=[],o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const s=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||s?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)n.push(o.currentNode);return n}function Tn(t,n){for(const o of t)if(!ya(o,{upTo:n}))return o}function ya(t,{upTo:n}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(n!==void 0&&t===n)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function xa(t){return t instanceof HTMLInputElement&&"select"in t}function me(t,{select:n=!1}={}){if(t&&t.focus){const o=ue();t.focus({preventScroll:!0}),t!==o&&xa(t)&&n&&t.select()}}var ba=e.defineComponent({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(t,{emit:n}){const o=t,r=n,{currentRef:s,currentElement:a}=j(),l=e.ref(null),i=pa(),c=e.reactive({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});e.watchEffect(u=>{if(!fe)return;const f=a.value;if(!o.trapped)return;function m(y){if(c.paused||!f)return;const x=y.target;f.contains(x)?l.value=x:me(l.value,{select:!0})}function p(y){if(c.paused||!f)return;const x=y.relatedTarget;x!==null&&(f.contains(x)||me(l.value,{select:!0}))}function h(y){f.contains(l.value)||me(f)}document.addEventListener("focusin",m),document.addEventListener("focusout",p);const g=new MutationObserver(h);f&&g.observe(f,{childList:!0,subtree:!0}),u(()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",p),g.disconnect()})}),e.watchEffect(async u=>{const f=a.value;if(await e.nextTick(),!f)return;i.add(c);const m=ue();if(!f.contains(m)){const h=new CustomEvent(Ot,In);f.addEventListener(Ot,g=>r("mountAutoFocus",g)),f.dispatchEvent(h),h.defaultPrevented||(ha(ma(Dn(f)),{select:!0}),ue()===m&&me(f))}u(()=>{f.removeEventListener(Ot,y=>r("mountAutoFocus",y));const h=new CustomEvent(Nt,In),g=y=>{r("unmountAutoFocus",y)};f.addEventListener(Nt,g),f.dispatchEvent(h),setTimeout(()=>{h.defaultPrevented||me(m??document.body,{select:!0}),f.removeEventListener(Nt,g),i.remove(c)},0)})});function d(u){if(!o.loop&&!o.trapped||c.paused)return;const f=u.key==="Tab"&&!u.altKey&&!u.ctrlKey&&!u.metaKey,m=ue();if(f&&m){const p=u.currentTarget,[h,g]=ga(p);h&&g?!u.shiftKey&&m===g?(u.preventDefault(),o.loop&&me(h,{select:!0})):u.shiftKey&&m===h&&(u.preventDefault(),o.loop&&me(g,{select:!0})):m===p&&u.preventDefault()}}return(u,f)=>(e.openBlock(),e.createBlock(e.unref(Q),{ref_key:"currentRef",ref:s,tabindex:"-1","as-child":u.asChild,as:u.as,onKeydown:d},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},8,["as-child","as"]))}}),Rn=ba;function wa(t){return t?"open":"closed"}const ka="DialogTitle",Ca="DialogContent";function Ea({titleName:t=ka,contentName:n=Ca,componentLink:o="dialog.html#title",titleId:r,descriptionId:s,contentElement:a}){const l=`Warning: \`${n}\` requires a \`${t}\` for the component to be accessible for screen reader users.
4
+
5
+ If you want to hide the \`${t}\`, you can wrap it with our VisuallyHidden component.
6
+
7
+ For more information, see https://www.reka-ui.com/docs/components/${o}`,i=`Warning: Missing \`Description\` or \`aria-describedby="undefined"\` for ${n}.`;e.onMounted(()=>{document.getElementById(r)||console.warn(l);const d=a.value?.getAttribute("aria-describedby");s&&d&&(document.getElementById(s)||console.warn(i))})}var Sa=e.defineComponent({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=pe(),{forwardRef:a,currentElement:l}=j();return s.titleId||=Ze(void 0,"reka-dialog-title"),s.descriptionId||=Ze(void 0,"reka-dialog-description"),e.onMounted(()=>{s.contentElement=l,ue()!==document.body&&(s.triggerElement.value=ue())}),process.env.NODE_ENV!=="production"&&Ea({titleName:"DialogTitle",contentName:"DialogContent",componentLink:"dialog.html#title",titleId:s.titleId,descriptionId:s.descriptionId,contentElement:l}),(i,c)=>(e.openBlock(),e.createBlock(e.unref(Rn),{"as-child":"",loop:"",trapped:o.trapFocus,onMountAutoFocus:c[5]||(c[5]=d=>r("openAutoFocus",d)),onUnmountAutoFocus:c[6]||(c[6]=d=>r("closeAutoFocus",d))},{default:e.withCtx(()=>[e.createVNode(e.unref(An),e.mergeProps({id:e.unref(s).contentId,ref:e.unref(a),as:i.as,"as-child":i.asChild,"disable-outside-pointer-events":i.disableOutsidePointerEvents,role:"dialog","aria-describedby":e.unref(s).descriptionId,"aria-labelledby":e.unref(s).titleId,"data-state":e.unref(wa)(e.unref(s).open.value)},i.$attrs,{onDismiss:c[0]||(c[0]=d=>e.unref(s).onOpenChange(!1)),onEscapeKeyDown:c[1]||(c[1]=d=>r("escapeKeyDown",d)),onFocusOutside:c[2]||(c[2]=d=>r("focusOutside",d)),onInteractOutside:c[3]||(c[3]=d=>r("interactOutside",d)),onPointerDownOutside:c[4]||(c[4]=d=>r("pointerDownOutside",d))}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),Fn=Sa,Ba=e.defineComponent({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=pe(),a=Xe(r),{forwardRef:l,currentElement:i}=j();return Mn(i),(c,d)=>(e.openBlock(),e.createBlock(Fn,e.mergeProps({...o,...e.unref(a)},{ref:e.unref(l),"trap-focus":e.unref(s).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:d[0]||(d[0]=u=>{u.defaultPrevented||(u.preventDefault(),e.unref(s).triggerElement.value?.focus())}),onPointerDownOutside:d[1]||(d[1]=u=>{const f=u.detail.originalEvent,m=f.button===0&&f.ctrlKey===!0;(f.button===2||m)&&u.preventDefault()}),onFocusOutside:d[2]||(d[2]=u=>{u.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["trap-focus"]))}}),_a=Ba,Va=e.defineComponent({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,s=Xe(n);j();const a=pe(),l=e.ref(!1),i=e.ref(!1);return(c,d)=>(e.openBlock(),e.createBlock(Fn,e.mergeProps({...o,...e.unref(s)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:d[0]||(d[0]=u=>{u.defaultPrevented||(l.value||e.unref(a).triggerElement.value?.focus(),u.preventDefault()),l.value=!1,i.value=!1}),onInteractOutside:d[1]||(d[1]=u=>{u.defaultPrevented||(l.value=!0,u.detail.originalEvent.type==="pointerdown"&&(i.value=!0));const f=u.target;e.unref(a).triggerElement.value?.contains(f)&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&i.value&&u.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16))}}),Pa=Va,Oa=e.defineComponent({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=pe(),a=Xe(r),{forwardRef:l}=j();return(i,c)=>(e.openBlock(),e.createBlock(e.unref(Pt),{present:i.forceMount||e.unref(s).open.value},{default:e.withCtx(()=>[e.unref(s).modal.value?(e.openBlock(),e.createBlock(_a,e.mergeProps({key:0,ref:e.unref(l)},{...o,...e.unref(a),...i.$attrs}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(Pa,e.mergeProps({key:1,ref:e.unref(l)},{...o,...e.unref(a),...i.$attrs}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Na=Oa,za=e.defineComponent({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=pe();return Pn(!0),j(),(o,r)=>(e.openBlock(),e.createBlock(e.unref(Q),{as:o.as,"as-child":o.asChild,"data-state":e.unref(n).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),Ma=za,va=e.defineComponent({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=pe(),{forwardRef:o}=j();return(r,s)=>e.unref(n)?.modal.value?(e.openBlock(),e.createBlock(e.unref(Pt),{key:0,present:r.forceMount||e.unref(n).open.value},{default:e.withCtx(()=>[e.createVNode(Ma,e.mergeProps(r.$attrs,{ref:e.unref(o),as:r.as,"as-child":r.asChild}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):e.createCommentVNode("v-if",!0)}}),Aa=va,$a=e.defineComponent({__name:"Teleport",props:{to:{type:null,required:!1,default:"body"},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){const n=Ds();return(o,r)=>e.unref(n)||o.forceMount?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:o.to,disabled:o.disabled,defer:o.defer},[e.renderSlot(o.$slots,"default")],8,["to","disabled","defer"])):e.createCommentVNode("v-if",!0)}}),Ln=$a,Ia=e.defineComponent({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(Ln),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),Da=Ia,Ta=e.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(t){const n=t,o=pe();return j(),(r,s)=>(e.openBlock(),e.createBlock(e.unref(Q),e.mergeProps(n,{id:e.unref(o).titleId}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["id"]))}}),Ra=Ta;const[qn,Fa]=$e("PopperRoot");var La=e.defineComponent({inheritAttrs:!1,__name:"PopperRoot",setup(t){const n=e.ref();return Fa({anchor:n,onAnchorChange:o=>n.value=o}),(o,r)=>e.renderSlot(o.$slots,"default")}}),qa=La,ja=e.defineComponent({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t,{forwardRef:o,currentElement:r}=j(),s=qn();return e.watchPostEffect(()=>{s.onAnchorChange(n.reference??r.value)}),(a,l)=>(e.openBlock(),e.createBlock(e.unref(Q),{ref:e.unref(o),as:a.as,"as-child":a.asChild},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["as","as-child"]))}}),Wa=ja;function Ua(t){return t!==null}function Ha(t){return{name:"transformOrigin",options:t,fn(n){const{placement:o,rects:r,middlewareData:s}=n,l=s.arrow?.centerOffset!==0,i=l?0:t.arrowWidth,c=l?0:t.arrowHeight,[d,u]=zt(o),f={start:"0%",center:"50%",end:"100%"}[u],m=(s.arrow?.x??0)+i/2,p=(s.arrow?.y??0)+c/2;let h="",g="";return d==="bottom"?(h=l?f:`${m}px`,g=`${-c}px`):d==="top"?(h=l?f:`${m}px`,g=`${r.floating.height+c}px`):d==="right"?(h=`${-c}px`,g=l?f:`${p}px`):d==="left"&&(h=`${r.floating.width+c}px`,g=l?f:`${p}px`),{data:{x:h,y:g}}}}}function zt(t){const[n,o="center"]=t.split("-");return[n,o]}const Ka=["top","right","bottom","left"],he=Math.min,K=Math.max,et=Math.round,tt=Math.floor,oe=t=>({x:t,y:t}),Ga={left:"right",right:"left",bottom:"top",top:"bottom"},Xa={start:"end",end:"start"};function Mt(t,n,o){return K(t,he(n,o))}function le(t,n){return typeof t=="function"?t(n):t}function ie(t){return t.split("-")[0]}function Se(t){return t.split("-")[1]}function vt(t){return t==="x"?"y":"x"}function At(t){return t==="y"?"height":"width"}const Ya=new Set(["top","bottom"]);function re(t){return Ya.has(ie(t))?"y":"x"}function $t(t){return vt(re(t))}function Ja(t,n,o){o===void 0&&(o=!1);const r=Se(t),s=$t(t),a=At(s);let l=s==="x"?r===(o?"end":"start")?"right":"left":r==="start"?"bottom":"top";return n.reference[a]>n.floating[a]&&(l=nt(l)),[l,nt(l)]}function Za(t){const n=nt(t);return[It(t),n,It(n)]}function It(t){return t.replace(/start|end/g,n=>Xa[n])}const jn=["left","right"],Wn=["right","left"],Qa=["top","bottom"],el=["bottom","top"];function tl(t,n,o){switch(t){case"top":case"bottom":return o?n?Wn:jn:n?jn:Wn;case"left":case"right":return n?Qa:el;default:return[]}}function nl(t,n,o,r){const s=Se(t);let a=tl(ie(t),o==="start",r);return s&&(a=a.map(l=>l+"-"+s),n&&(a=a.concat(a.map(It)))),a}function nt(t){return t.replace(/left|right|bottom|top/g,n=>Ga[n])}function ol(t){return{top:0,right:0,bottom:0,left:0,...t}}function Un(t){return typeof t!="number"?ol(t):{top:t,right:t,bottom:t,left:t}}function ot(t){const{x:n,y:o,width:r,height:s}=t;return{width:r,height:s,top:o,left:n,right:n+r,bottom:o+s,x:n,y:o}}function Hn(t,n,o){let{reference:r,floating:s}=t;const a=re(n),l=$t(n),i=At(l),c=ie(n),d=a==="y",u=r.x+r.width/2-s.width/2,f=r.y+r.height/2-s.height/2,m=r[i]/2-s[i]/2;let p;switch(c){case"top":p={x:u,y:r.y-s.height};break;case"bottom":p={x:u,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:f};break;case"left":p={x:r.x-s.width,y:f};break;default:p={x:r.x,y:r.y}}switch(Se(n)){case"start":p[l]-=m*(o&&d?-1:1);break;case"end":p[l]+=m*(o&&d?-1:1);break}return p}const rl=async(t,n,o)=>{const{placement:r="bottom",strategy:s="absolute",middleware:a=[],platform:l}=o,i=a.filter(Boolean),c=await(l.isRTL==null?void 0:l.isRTL(n));let d=await l.getElementRects({reference:t,floating:n,strategy:s}),{x:u,y:f}=Hn(d,r,c),m=r,p={},h=0;for(let g=0;g<i.length;g++){const{name:y,fn:x}=i[g],{x:w,y:k,data:N,reset:S}=await x({x:u,y:f,initialPlacement:r,placement:m,strategy:s,middlewareData:p,rects:d,platform:l,elements:{reference:t,floating:n}});u=w??u,f=k??f,p={...p,[y]:{...p[y],...N}},S&&h<=50&&(h++,typeof S=="object"&&(S.placement&&(m=S.placement),S.rects&&(d=S.rects===!0?await l.getElementRects({reference:t,floating:n,strategy:s}):S.rects),{x:u,y:f}=Hn(d,m,c)),g=-1)}return{x:u,y:f,placement:m,strategy:s,middlewareData:p}};async function De(t,n){var o;n===void 0&&(n={});const{x:r,y:s,platform:a,rects:l,elements:i,strategy:c}=t,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:m=!1,padding:p=0}=le(n,t),h=Un(p),y=i[m?f==="floating"?"reference":"floating":f],x=ot(await a.getClippingRect({element:(o=await(a.isElement==null?void 0:a.isElement(y)))==null||o?y:y.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(i.floating)),boundary:d,rootBoundary:u,strategy:c})),w=f==="floating"?{x:r,y:s,width:l.floating.width,height:l.floating.height}:l.reference,k=await(a.getOffsetParent==null?void 0:a.getOffsetParent(i.floating)),N=await(a.isElement==null?void 0:a.isElement(k))?await(a.getScale==null?void 0:a.getScale(k))||{x:1,y:1}:{x:1,y:1},S=ot(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:w,offsetParent:k,strategy:c}):w);return{top:(x.top-S.top+h.top)/N.y,bottom:(S.bottom-x.bottom+h.bottom)/N.y,left:(x.left-S.left+h.left)/N.x,right:(S.right-x.right+h.right)/N.x}}const sl=t=>({name:"arrow",options:t,async fn(n){const{x:o,y:r,placement:s,rects:a,platform:l,elements:i,middlewareData:c}=n,{element:d,padding:u=0}=le(t,n)||{};if(d==null)return{};const f=Un(u),m={x:o,y:r},p=$t(s),h=At(p),g=await l.getDimensions(d),y=p==="y",x=y?"top":"left",w=y?"bottom":"right",k=y?"clientHeight":"clientWidth",N=a.reference[h]+a.reference[p]-m[p]-a.floating[h],S=m[p]-a.reference[p],B=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d));let E=B?B[k]:0;(!E||!await(l.isElement==null?void 0:l.isElement(B)))&&(E=i.floating[k]||a.floating[h]);const C=N/2-S/2,v=E/2-g[h]/2-1,I=he(f[x],v),R=he(f[w],v),D=I,F=E-g[h]-R,_=E/2-g[h]/2+C,b=Mt(D,_,F),M=!c.arrow&&Se(s)!=null&&_!==b&&a.reference[h]/2-(_<D?I:R)-g[h]/2<0,T=M?_<D?_-D:_-F:0;return{[p]:m[p]+T,data:{[p]:b,centerOffset:_-b-T,...M&&{alignmentOffset:T}},reset:M}}}),al=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(n){var o,r;const{placement:s,middlewareData:a,rects:l,initialPlacement:i,platform:c,elements:d}=n,{mainAxis:u=!0,crossAxis:f=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:g=!0,...y}=le(t,n);if((o=a.arrow)!=null&&o.alignmentOffset)return{};const x=ie(s),w=re(i),k=ie(i)===i,N=await(c.isRTL==null?void 0:c.isRTL(d.floating)),S=m||(k||!g?[nt(i)]:Za(i)),B=h!=="none";!m&&B&&S.push(...nl(i,g,h,N));const E=[i,...S],C=await De(n,y),v=[];let I=((r=a.flip)==null?void 0:r.overflows)||[];if(u&&v.push(C[x]),f){const _=Ja(s,l,N);v.push(C[_[0]],C[_[1]])}if(I=[...I,{placement:s,overflows:v}],!v.every(_=>_<=0)){var R,D;const _=(((R=a.flip)==null?void 0:R.index)||0)+1,b=E[_];if(b&&(!(f==="alignment"?w!==re(b):!1)||I.every(V=>re(V.placement)===w?V.overflows[0]>0:!0)))return{data:{index:_,overflows:I},reset:{placement:b}};let M=(D=I.filter(T=>T.overflows[0]<=0).sort((T,V)=>T.overflows[1]-V.overflows[1])[0])==null?void 0:D.placement;if(!M)switch(p){case"bestFit":{var F;const T=(F=I.filter(V=>{if(B){const X=re(V.placement);return X===w||X==="y"}return!0}).map(V=>[V.placement,V.overflows.filter(X=>X>0).reduce((X,mt)=>X+mt,0)]).sort((V,X)=>V[1]-X[1])[0])==null?void 0:F[0];T&&(M=T);break}case"initialPlacement":M=i;break}if(s!==M)return{reset:{placement:M}}}return{}}}};function Kn(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function Gn(t){return Ka.some(n=>t[n]>=0)}const ll=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(n){const{rects:o}=n,{strategy:r="referenceHidden",...s}=le(t,n);switch(r){case"referenceHidden":{const a=await De(n,{...s,elementContext:"reference"}),l=Kn(a,o.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Gn(l)}}}case"escaped":{const a=await De(n,{...s,altBoundary:!0}),l=Kn(a,o.floating);return{data:{escapedOffsets:l,escaped:Gn(l)}}}default:return{}}}}},Xn=new Set(["left","top"]);async function il(t,n){const{placement:o,platform:r,elements:s}=t,a=await(r.isRTL==null?void 0:r.isRTL(s.floating)),l=ie(o),i=Se(o),c=re(o)==="y",d=Xn.has(l)?-1:1,u=a&&c?-1:1,f=le(n,t);let{mainAxis:m,crossAxis:p,alignmentAxis:h}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return i&&typeof h=="number"&&(p=i==="end"?h*-1:h),c?{x:p*u,y:m*d}:{x:m*d,y:p*u}}const cl=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(n){var o,r;const{x:s,y:a,placement:l,middlewareData:i}=n,c=await il(n,t);return l===((o=i.offset)==null?void 0:o.placement)&&(r=i.arrow)!=null&&r.alignmentOffset?{}:{x:s+c.x,y:a+c.y,data:{...c,placement:l}}}}},dl=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(n){const{x:o,y:r,placement:s}=n,{mainAxis:a=!0,crossAxis:l=!1,limiter:i={fn:y=>{let{x,y:w}=y;return{x,y:w}}},...c}=le(t,n),d={x:o,y:r},u=await De(n,c),f=re(ie(s)),m=vt(f);let p=d[m],h=d[f];if(a){const y=m==="y"?"top":"left",x=m==="y"?"bottom":"right",w=p+u[y],k=p-u[x];p=Mt(w,p,k)}if(l){const y=f==="y"?"top":"left",x=f==="y"?"bottom":"right",w=h+u[y],k=h-u[x];h=Mt(w,h,k)}const g=i.fn({...n,[m]:p,[f]:h});return{...g,data:{x:g.x-o,y:g.y-r,enabled:{[m]:a,[f]:l}}}}}},ul=function(t){return t===void 0&&(t={}),{options:t,fn(n){const{x:o,y:r,placement:s,rects:a,middlewareData:l}=n,{offset:i=0,mainAxis:c=!0,crossAxis:d=!0}=le(t,n),u={x:o,y:r},f=re(s),m=vt(f);let p=u[m],h=u[f];const g=le(i,n),y=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){const k=m==="y"?"height":"width",N=a.reference[m]-a.floating[k]+y.mainAxis,S=a.reference[m]+a.reference[k]-y.mainAxis;p<N?p=N:p>S&&(p=S)}if(d){var x,w;const k=m==="y"?"width":"height",N=Xn.has(ie(s)),S=a.reference[f]-a.floating[k]+(N&&((x=l.offset)==null?void 0:x[f])||0)+(N?0:y.crossAxis),B=a.reference[f]+a.reference[k]+(N?0:((w=l.offset)==null?void 0:w[f])||0)-(N?y.crossAxis:0);h<S?h=S:h>B&&(h=B)}return{[m]:p,[f]:h}}}},fl=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(n){var o,r;const{placement:s,rects:a,platform:l,elements:i}=n,{apply:c=()=>{},...d}=le(t,n),u=await De(n,d),f=ie(s),m=Se(s),p=re(s)==="y",{width:h,height:g}=a.floating;let y,x;f==="top"||f==="bottom"?(y=f,x=m===(await(l.isRTL==null?void 0:l.isRTL(i.floating))?"start":"end")?"left":"right"):(x=f,y=m==="end"?"top":"bottom");const w=g-u.top-u.bottom,k=h-u.left-u.right,N=he(g-u[y],w),S=he(h-u[x],k),B=!n.middlewareData.shift;let E=N,C=S;if((o=n.middlewareData.shift)!=null&&o.enabled.x&&(C=k),(r=n.middlewareData.shift)!=null&&r.enabled.y&&(E=w),B&&!m){const I=K(u.left,0),R=K(u.right,0),D=K(u.top,0),F=K(u.bottom,0);p?C=h-2*(I!==0||R!==0?I+R:K(u.left,u.right)):E=g-2*(D!==0||F!==0?D+F:K(u.top,u.bottom))}await c({...n,availableWidth:C,availableHeight:E});const v=await l.getDimensions(i.floating);return h!==v.width||g!==v.height?{reset:{rects:!0}}:{}}}};function rt(){return typeof window<"u"}function be(t){return Dt(t)?(t.nodeName||"").toLowerCase():"#document"}function G(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function se(t){var n;return(n=(Dt(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function Dt(t){return rt()?t instanceof Node||t instanceof G(t).Node:!1}function ee(t){return rt()?t instanceof Element||t instanceof G(t).Element:!1}function ae(t){return rt()?t instanceof HTMLElement||t instanceof G(t).HTMLElement:!1}function Yn(t){return!rt()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof G(t).ShadowRoot}const pl=new Set(["inline","contents"]);function Te(t){const{overflow:n,overflowX:o,overflowY:r,display:s}=te(t);return/auto|scroll|overlay|hidden|clip/.test(n+r+o)&&!pl.has(s)}const ml=new Set(["table","td","th"]);function hl(t){return ml.has(be(t))}const gl=[":popover-open",":modal"];function st(t){return gl.some(n=>{try{return t.matches(n)}catch{return!1}})}const yl=["transform","translate","scale","rotate","perspective"],xl=["transform","translate","scale","rotate","perspective","filter"],bl=["paint","layout","strict","content"];function Tt(t){const n=Rt(),o=ee(t)?te(t):t;return yl.some(r=>o[r]?o[r]!=="none":!1)||(o.containerType?o.containerType!=="normal":!1)||!n&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!n&&(o.filter?o.filter!=="none":!1)||xl.some(r=>(o.willChange||"").includes(r))||bl.some(r=>(o.contain||"").includes(r))}function wl(t){let n=ge(t);for(;ae(n)&&!Be(n);){if(Tt(n))return n;if(st(n))return null;n=ge(n)}return null}function Rt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const kl=new Set(["html","body","#document"]);function Be(t){return kl.has(be(t))}function te(t){return G(t).getComputedStyle(t)}function at(t){return ee(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function ge(t){if(be(t)==="html")return t;const n=t.assignedSlot||t.parentNode||Yn(t)&&t.host||se(t);return Yn(n)?n.host:n}function Jn(t){const n=ge(t);return Be(n)?t.ownerDocument?t.ownerDocument.body:t.body:ae(n)&&Te(n)?n:Jn(n)}function Re(t,n,o){var r;n===void 0&&(n=[]),o===void 0&&(o=!0);const s=Jn(t),a=s===((r=t.ownerDocument)==null?void 0:r.body),l=G(s);if(a){const i=Ft(l);return n.concat(l,l.visualViewport||[],Te(s)?s:[],i&&o?Re(i):[])}return n.concat(s,Re(s,[],o))}function Ft(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Zn(t){const n=te(t);let o=parseFloat(n.width)||0,r=parseFloat(n.height)||0;const s=ae(t),a=s?t.offsetWidth:o,l=s?t.offsetHeight:r,i=et(o)!==a||et(r)!==l;return i&&(o=a,r=l),{width:o,height:r,$:i}}function Lt(t){return ee(t)?t:t.contextElement}function _e(t){const n=Lt(t);if(!ae(n))return oe(1);const o=n.getBoundingClientRect(),{width:r,height:s,$:a}=Zn(n);let l=(a?et(o.width):o.width)/r,i=(a?et(o.height):o.height)/s;return(!l||!Number.isFinite(l))&&(l=1),(!i||!Number.isFinite(i))&&(i=1),{x:l,y:i}}const Cl=oe(0);function Qn(t){const n=G(t);return!Rt()||!n.visualViewport?Cl:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function El(t,n,o){return n===void 0&&(n=!1),!o||n&&o!==G(t)?!1:n}function we(t,n,o,r){n===void 0&&(n=!1),o===void 0&&(o=!1);const s=t.getBoundingClientRect(),a=Lt(t);let l=oe(1);n&&(r?ee(r)&&(l=_e(r)):l=_e(t));const i=El(a,o,r)?Qn(a):oe(0);let c=(s.left+i.x)/l.x,d=(s.top+i.y)/l.y,u=s.width/l.x,f=s.height/l.y;if(a){const m=G(a),p=r&&ee(r)?G(r):r;let h=m,g=Ft(h);for(;g&&r&&p!==h;){const y=_e(g),x=g.getBoundingClientRect(),w=te(g),k=x.left+(g.clientLeft+parseFloat(w.paddingLeft))*y.x,N=x.top+(g.clientTop+parseFloat(w.paddingTop))*y.y;c*=y.x,d*=y.y,u*=y.x,f*=y.y,c+=k,d+=N,h=G(g),g=Ft(h)}}return ot({width:u,height:f,x:c,y:d})}function lt(t,n){const o=at(t).scrollLeft;return n?n.left+o:we(se(t)).left+o}function eo(t,n){const o=t.getBoundingClientRect(),r=o.left+n.scrollLeft-lt(t,o),s=o.top+n.scrollTop;return{x:r,y:s}}function Sl(t){let{elements:n,rect:o,offsetParent:r,strategy:s}=t;const a=s==="fixed",l=se(r),i=n?st(n.floating):!1;if(r===l||i&&a)return o;let c={scrollLeft:0,scrollTop:0},d=oe(1);const u=oe(0),f=ae(r);if((f||!f&&!a)&&((be(r)!=="body"||Te(l))&&(c=at(r)),ae(r))){const p=we(r);d=_e(r),u.x=p.x+r.clientLeft,u.y=p.y+r.clientTop}const m=l&&!f&&!a?eo(l,c):oe(0);return{width:o.width*d.x,height:o.height*d.y,x:o.x*d.x-c.scrollLeft*d.x+u.x+m.x,y:o.y*d.y-c.scrollTop*d.y+u.y+m.y}}function Bl(t){return Array.from(t.getClientRects())}function _l(t){const n=se(t),o=at(t),r=t.ownerDocument.body,s=K(n.scrollWidth,n.clientWidth,r.scrollWidth,r.clientWidth),a=K(n.scrollHeight,n.clientHeight,r.scrollHeight,r.clientHeight);let l=-o.scrollLeft+lt(t);const i=-o.scrollTop;return te(r).direction==="rtl"&&(l+=K(n.clientWidth,r.clientWidth)-s),{width:s,height:a,x:l,y:i}}const to=25;function Vl(t,n){const o=G(t),r=se(t),s=o.visualViewport;let a=r.clientWidth,l=r.clientHeight,i=0,c=0;if(s){a=s.width,l=s.height;const u=Rt();(!u||u&&n==="fixed")&&(i=s.offsetLeft,c=s.offsetTop)}const d=lt(r);if(d<=0){const u=r.ownerDocument,f=u.body,m=getComputedStyle(f),p=u.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,h=Math.abs(r.clientWidth-f.clientWidth-p);h<=to&&(a-=h)}else d<=to&&(a+=d);return{width:a,height:l,x:i,y:c}}const Pl=new Set(["absolute","fixed"]);function Ol(t,n){const o=we(t,!0,n==="fixed"),r=o.top+t.clientTop,s=o.left+t.clientLeft,a=ae(t)?_e(t):oe(1),l=t.clientWidth*a.x,i=t.clientHeight*a.y,c=s*a.x,d=r*a.y;return{width:l,height:i,x:c,y:d}}function no(t,n,o){let r;if(n==="viewport")r=Vl(t,o);else if(n==="document")r=_l(se(t));else if(ee(n))r=Ol(n,o);else{const s=Qn(t);r={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return ot(r)}function oo(t,n){const o=ge(t);return o===n||!ee(o)||Be(o)?!1:te(o).position==="fixed"||oo(o,n)}function Nl(t,n){const o=n.get(t);if(o)return o;let r=Re(t,[],!1).filter(i=>ee(i)&&be(i)!=="body"),s=null;const a=te(t).position==="fixed";let l=a?ge(t):t;for(;ee(l)&&!Be(l);){const i=te(l),c=Tt(l);!c&&i.position==="fixed"&&(s=null),(a?!c&&!s:!c&&i.position==="static"&&!!s&&Pl.has(s.position)||Te(l)&&!c&&oo(t,l))?r=r.filter(u=>u!==l):s=i,l=ge(l)}return n.set(t,r),r}function zl(t){let{element:n,boundary:o,rootBoundary:r,strategy:s}=t;const l=[...o==="clippingAncestors"?st(n)?[]:Nl(n,this._c):[].concat(o),r],i=l[0],c=l.reduce((d,u)=>{const f=no(n,u,s);return d.top=K(f.top,d.top),d.right=he(f.right,d.right),d.bottom=he(f.bottom,d.bottom),d.left=K(f.left,d.left),d},no(n,i,s));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function Ml(t){const{width:n,height:o}=Zn(t);return{width:n,height:o}}function vl(t,n,o){const r=ae(n),s=se(n),a=o==="fixed",l=we(t,!0,a,n);let i={scrollLeft:0,scrollTop:0};const c=oe(0);function d(){c.x=lt(s)}if(r||!r&&!a)if((be(n)!=="body"||Te(s))&&(i=at(n)),r){const p=we(n,!0,a,n);c.x=p.x+n.clientLeft,c.y=p.y+n.clientTop}else s&&d();a&&!r&&s&&d();const u=s&&!r&&!a?eo(s,i):oe(0),f=l.left+i.scrollLeft-c.x-u.x,m=l.top+i.scrollTop-c.y-u.y;return{x:f,y:m,width:l.width,height:l.height}}function qt(t){return te(t).position==="static"}function ro(t,n){if(!ae(t)||te(t).position==="fixed")return null;if(n)return n(t);let o=t.offsetParent;return se(t)===o&&(o=o.ownerDocument.body),o}function so(t,n){const o=G(t);if(st(t))return o;if(!ae(t)){let s=ge(t);for(;s&&!Be(s);){if(ee(s)&&!qt(s))return s;s=ge(s)}return o}let r=ro(t,n);for(;r&&hl(r)&&qt(r);)r=ro(r,n);return r&&Be(r)&&qt(r)&&!Tt(r)?o:r||wl(t)||o}const Al=async function(t){const n=this.getOffsetParent||so,o=this.getDimensions,r=await o(t.floating);return{reference:vl(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function $l(t){return te(t).direction==="rtl"}const Il={convertOffsetParentRelativeRectToViewportRelativeRect:Sl,getDocumentElement:se,getClippingRect:zl,getOffsetParent:so,getElementRects:Al,getClientRects:Bl,getDimensions:Ml,getScale:_e,isElement:ee,isRTL:$l};function ao(t,n){return t.x===n.x&&t.y===n.y&&t.width===n.width&&t.height===n.height}function Dl(t,n){let o=null,r;const s=se(t);function a(){var i;clearTimeout(r),(i=o)==null||i.disconnect(),o=null}function l(i,c){i===void 0&&(i=!1),c===void 0&&(c=1),a();const d=t.getBoundingClientRect(),{left:u,top:f,width:m,height:p}=d;if(i||n(),!m||!p)return;const h=tt(f),g=tt(s.clientWidth-(u+m)),y=tt(s.clientHeight-(f+p)),x=tt(u),k={rootMargin:-h+"px "+-g+"px "+-y+"px "+-x+"px",threshold:K(0,he(1,c))||1};let N=!0;function S(B){const E=B[0].intersectionRatio;if(E!==c){if(!N)return l();E?l(!1,E):r=setTimeout(()=>{l(!1,1e-7)},1e3)}E===1&&!ao(d,t.getBoundingClientRect())&&l(),N=!1}try{o=new IntersectionObserver(S,{...k,root:s.ownerDocument})}catch{o=new IntersectionObserver(S,k)}o.observe(t)}return l(!0),a}function Tl(t,n,o,r){r===void 0&&(r={});const{ancestorScroll:s=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,d=Lt(t),u=s||a?[...d?Re(d):[],...Re(n)]:[];u.forEach(x=>{s&&x.addEventListener("scroll",o,{passive:!0}),a&&x.addEventListener("resize",o)});const f=d&&i?Dl(d,o):null;let m=-1,p=null;l&&(p=new ResizeObserver(x=>{let[w]=x;w&&w.target===d&&p&&(p.unobserve(n),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var k;(k=p)==null||k.observe(n)})),o()}),d&&!c&&p.observe(d),p.observe(n));let h,g=c?we(t):null;c&&y();function y(){const x=we(t);g&&!ao(g,x)&&o(),g=x,h=requestAnimationFrame(y)}return o(),()=>{var x;u.forEach(w=>{s&&w.removeEventListener("scroll",o),a&&w.removeEventListener("resize",o)}),f?.(),(x=p)==null||x.disconnect(),p=null,c&&cancelAnimationFrame(h)}}const Rl=cl,Fl=dl,lo=al,Ll=fl,ql=ll,jl=sl,Wl=ul,Ul=(t,n,o)=>{const r=new Map,s={platform:Il,...o},a={...s.platform,_c:r};return rl(t,n,{...s,platform:a})};function Hl(t){return t!=null&&typeof t=="object"&&"$el"in t}function jt(t){if(Hl(t)){const n=t.$el;return Dt(n)&&be(n)==="#comment"?null:n}return t}function Ve(t){return typeof t=="function"?t():e.unref(t)}function Kl(t){return{name:"arrow",options:t,fn(n){const o=jt(Ve(t.element));return o==null?{}:jl({element:o,padding:t.padding}).fn(n)}}}function io(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function co(t,n){const o=io(t);return Math.round(n*o)/o}function Gl(t,n,o){o===void 0&&(o={});const r=o.whileElementsMounted,s=e.computed(()=>{var E;return(E=Ve(o.open))!=null?E:!0}),a=e.computed(()=>Ve(o.middleware)),l=e.computed(()=>{var E;return(E=Ve(o.placement))!=null?E:"bottom"}),i=e.computed(()=>{var E;return(E=Ve(o.strategy))!=null?E:"absolute"}),c=e.computed(()=>{var E;return(E=Ve(o.transform))!=null?E:!0}),d=e.computed(()=>jt(t.value)),u=e.computed(()=>jt(n.value)),f=e.ref(0),m=e.ref(0),p=e.ref(i.value),h=e.ref(l.value),g=e.shallowRef({}),y=e.ref(!1),x=e.computed(()=>{const E={position:p.value,left:"0",top:"0"};if(!u.value)return E;const C=co(u.value,f.value),v=co(u.value,m.value);return c.value?{...E,transform:"translate("+C+"px, "+v+"px)",...io(u.value)>=1.5&&{willChange:"transform"}}:{position:p.value,left:C+"px",top:v+"px"}});let w;function k(){if(d.value==null||u.value==null)return;const E=s.value;Ul(d.value,u.value,{middleware:a.value,placement:l.value,strategy:i.value}).then(C=>{f.value=C.x,m.value=C.y,p.value=C.strategy,h.value=C.placement,g.value=C.middlewareData,y.value=E!==!1})}function N(){typeof w=="function"&&(w(),w=void 0)}function S(){if(N(),r===void 0){k();return}if(d.value!=null&&u.value!=null){w=r(d.value,u.value,k);return}}function B(){s.value||(y.value=!1)}return e.watch([a,l,i,s],k,{flush:"sync"}),e.watch([d,u],S,{flush:"sync"}),e.watch(s,B,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(N),{x:e.shallowReadonly(f),y:e.shallowReadonly(m),strategy:e.shallowReadonly(p),placement:e.shallowReadonly(h),middlewareData:e.shallowReadonly(g),isPositioned:e.shallowReadonly(y),floatingStyles:x,update:k}}const Xl={side:"bottom",sideOffset:0,sideFlip:!0,align:"center",alignOffset:0,alignFlip:!0,arrowPadding:0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,positionStrategy:"fixed",updatePositionStrategy:"optimized",prioritizePosition:!1},[Fd,Yl]=$e("PopperContent");var Jl=e.defineComponent({inheritAttrs:!1,__name:"PopperContent",props:e.mergeDefaults({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Xl}),emits:["placed"],setup(t,{emit:n}){const o=t,r=n,s=qn(),{forwardRef:a,currentElement:l}=j(),i=e.ref(),c=e.ref(),{width:d,height:u}=Js(c),f=e.computed(()=>o.side+(o.align!=="center"?`-${o.align}`:"")),m=e.computed(()=>typeof o.collisionPadding=="number"?o.collisionPadding:{top:0,right:0,bottom:0,left:0,...o.collisionPadding}),p=e.computed(()=>Array.isArray(o.collisionBoundary)?o.collisionBoundary:[o.collisionBoundary]),h=e.computed(()=>({padding:m.value,boundary:p.value.filter(Ua),altBoundary:p.value.length>0})),g=e.computed(()=>({mainAxis:o.sideFlip,crossAxis:o.alignFlip})),y=Ss(()=>[Rl({mainAxis:o.sideOffset+u.value,alignmentAxis:o.alignOffset}),o.prioritizePosition&&o.avoidCollisions&&lo({...h.value,...g.value}),o.avoidCollisions&&Fl({mainAxis:!0,crossAxis:!!o.prioritizePosition,limiter:o.sticky==="partial"?Wl():void 0,...h.value}),!o.prioritizePosition&&o.avoidCollisions&&lo({...h.value,...g.value}),Ll({...h.value,apply:({elements:D,rects:F,availableWidth:_,availableHeight:b})=>{const{width:M,height:T}=F.reference,V=D.floating.style;V.setProperty("--reka-popper-available-width",`${_}px`),V.setProperty("--reka-popper-available-height",`${b}px`),V.setProperty("--reka-popper-anchor-width",`${M}px`),V.setProperty("--reka-popper-anchor-height",`${T}px`)}}),c.value&&Kl({element:c.value,padding:o.arrowPadding}),Ha({arrowWidth:d.value,arrowHeight:u.value}),o.hideWhenDetached&&ql({strategy:"referenceHidden",...h.value})]),x=e.computed(()=>o.reference??s.anchor.value),{floatingStyles:w,placement:k,isPositioned:N,middlewareData:S}=Gl(x,i,{strategy:o.positionStrategy,placement:f,whileElementsMounted:(...D)=>Tl(...D,{layoutShift:!o.disableUpdateOnLayoutShift,animationFrame:o.updatePositionStrategy==="always"}),middleware:y}),B=e.computed(()=>zt(k.value)[0]),E=e.computed(()=>zt(k.value)[1]);e.watchPostEffect(()=>{N.value&&r("placed")});const C=e.computed(()=>S.value.arrow?.centerOffset!==0),v=e.ref("");e.watchEffect(()=>{l.value&&(v.value=window.getComputedStyle(l.value).zIndex)});const I=e.computed(()=>S.value.arrow?.x??0),R=e.computed(()=>S.value.arrow?.y??0);return Yl({placedSide:B,onArrowChange:D=>c.value=D,arrowX:I,arrowY:R,shouldHideArrow:C}),(D,F)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"floatingRef",ref:i,"data-reka-popper-content-wrapper":"",style:e.normalizeStyle({...e.unref(w),transform:e.unref(N)?e.unref(w).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:v.value,"--reka-popper-transform-origin":[e.unref(S).transformOrigin?.x,e.unref(S).transformOrigin?.y].join(" "),...e.unref(S).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[e.createVNode(e.unref(Q),e.mergeProps({ref:e.unref(a)},D.$attrs,{"as-child":o.asChild,as:D.as,"data-side":B.value,"data-align":E.value,style:{animation:e.unref(N)?void 0:"none"}}),{default:e.withCtx(()=>[e.renderSlot(D.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),Zl=Jl;const[Fe,Ql]=$e("PopoverRoot");var ei=e.defineComponent({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:["update:open"],setup(t,{emit:n}){const o=t,r=n,{modal:s}=e.toRefs(o),a=Vn(o,"open",r,{defaultValue:o.defaultOpen,passive:o.open===void 0}),l=e.ref(),i=e.ref(!1);return Ql({contentId:"",triggerId:"",modal:s,open:a,onOpenChange:c=>{a.value=c},onOpenToggle:()=>{a.value=!a.value},triggerElement:l,hasCustomAnchor:i}),(c,d)=>(e.openBlock(),e.createBlock(e.unref(qa),null,{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{open:e.unref(a),close:()=>a.value=!1})]),_:3}))}}),ti=ei,ni=e.defineComponent({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=_t(Os(o,"trapFocus","disableOutsidePointerEvents")),{forwardRef:a}=j(),l=Fe();return Us(),(i,c)=>(e.openBlock(),e.createBlock(e.unref(Rn),{"as-child":"",loop:"",trapped:i.trapFocus,onMountAutoFocus:c[5]||(c[5]=d=>r("openAutoFocus",d)),onUnmountAutoFocus:c[6]||(c[6]=d=>r("closeAutoFocus",d))},{default:e.withCtx(()=>[e.createVNode(e.unref(An),{"as-child":"","disable-outside-pointer-events":i.disableOutsidePointerEvents,onPointerDownOutside:c[0]||(c[0]=d=>r("pointerDownOutside",d)),onInteractOutside:c[1]||(c[1]=d=>r("interactOutside",d)),onEscapeKeyDown:c[2]||(c[2]=d=>r("escapeKeyDown",d)),onFocusOutside:c[3]||(c[3]=d=>r("focusOutside",d)),onDismiss:c[4]||(c[4]=d=>e.unref(l).onOpenChange(!1))},{default:e.withCtx(()=>[e.createVNode(e.unref(Zl),e.mergeProps(e.unref(s),{id:e.unref(l).contentId,ref:e.unref(a),"data-state":e.unref(l).open.value?"open":"closed","aria-labelledby":e.unref(l).triggerId,style:{"--reka-popover-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-popover-content-available-width":"var(--reka-popper-available-width)","--reka-popover-content-available-height":"var(--reka-popper-available-height)","--reka-popover-trigger-width":"var(--reka-popper-anchor-width)","--reka-popover-trigger-height":"var(--reka-popper-anchor-height)"},role:"dialog"}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16,["id","data-state","aria-labelledby"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),uo=ni,oi=e.defineComponent({__name:"PopoverContentModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=Fe(),a=e.ref(!1);Pn(!0);const l=xe(o,r),{forwardRef:i,currentElement:c}=j();return Mn(c),(d,u)=>(e.openBlock(),e.createBlock(uo,e.mergeProps(e.unref(l),{ref:e.unref(i),"trap-focus":e.unref(s).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:u[0]||(u[0]=e.withModifiers(f=>{r("closeAutoFocus",f),a.value||e.unref(s).triggerElement.value?.focus()},["prevent"])),onPointerDownOutside:u[1]||(u[1]=f=>{r("pointerDownOutside",f);const m=f.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,h=m.button===2||p;a.value=h}),onFocusOutside:u[2]||(u[2]=e.withModifiers(()=>{},["prevent"]))}),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16,["trap-focus"]))}}),ri=oi,si=e.defineComponent({__name:"PopoverContentNonModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=Fe(),a=e.ref(!1),l=e.ref(!1),i=xe(o,r);return(c,d)=>(e.openBlock(),e.createBlock(uo,e.mergeProps(e.unref(i),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:d[0]||(d[0]=u=>{r("closeAutoFocus",u),u.defaultPrevented||(a.value||e.unref(s).triggerElement.value?.focus(),u.preventDefault()),a.value=!1,l.value=!1}),onInteractOutside:d[1]||(d[1]=async u=>{r("interactOutside",u),u.defaultPrevented||(a.value=!0,u.detail.originalEvent.type==="pointerdown"&&(l.value=!0));const f=u.target;e.unref(s).triggerElement.value?.contains(f)&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&l.value&&u.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16))}}),ai=si,li=e.defineComponent({__name:"PopoverContent",props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=Fe(),a=xe(o,r),{forwardRef:l}=j();return s.contentId||=Ze(void 0,"reka-popover-content"),(i,c)=>(e.openBlock(),e.createBlock(e.unref(Pt),{present:i.forceMount||e.unref(s).open.value},{default:e.withCtx(()=>[e.unref(s).modal.value?(e.openBlock(),e.createBlock(ri,e.mergeProps({key:0},e.unref(a),{ref:e.unref(l)}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(ai,e.mergeProps({key:1},e.unref(a),{ref:e.unref(l)}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),ii=li,ci=e.defineComponent({__name:"PopoverPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(Ln),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),di=ci,ui=e.defineComponent({__name:"PopoverTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,o=Fe(),{forwardRef:r,currentElement:s}=j();return o.triggerId||=Ze(void 0,"reka-popover-trigger"),e.onMounted(()=>{o.triggerElement.value=s.value}),(a,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).hasCustomAnchor.value?e.unref(Q):e.unref(Wa)),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(Q),{id:e.unref(o).triggerId,ref:e.unref(r),type:a.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":e.unref(o).open.value,"aria-controls":e.unref(o).contentId,"data-state":e.unref(o).open.value?"open":"closed",as:a.as,"as-child":n.asChild,onClick:e.unref(o).onOpenToggle},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["id","type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),fi=ui,pi=e.defineComponent({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(t){const n=t;return j(),(o,r)=>(e.openBlock(),e.createBlock(e.unref(Q),e.mergeProps(n,{onMousedown:r[0]||(r[0]=s=>{!s.defaultPrevented&&s.detail>1&&s.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),mi=pi;const hi=(t,n)=>{const o=new Array(t.length+n.length);for(let r=0;r<t.length;r++)o[r]=t[r];for(let r=0;r<n.length;r++)o[t.length+r]=n[r];return o},gi=(t,n)=>({classGroupId:t,validator:n}),fo=(t=new Map,n=null,o)=>({nextPart:t,validators:n,classGroupId:o}),it="-",po=[],yi="arbitrary..",xi=t=>{const n=wi(t),{conflictingClassGroups:o,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return bi(l);const i=l.split(it),c=i[0]===""&&i.length>1?1:0;return mo(i,c,n)},getConflictingClassGroupIds:(l,i)=>{if(i){const c=r[l],d=o[l];return c?d?hi(d,c):c:d||po}return o[l]||po}}},mo=(t,n,o)=>{if(t.length-n===0)return o.classGroupId;const s=t[n],a=o.nextPart.get(s);if(a){const d=mo(t,n+1,a);if(d)return d}const l=o.validators;if(l===null)return;const i=n===0?t.join(it):t.slice(n).join(it),c=l.length;for(let d=0;d<c;d++){const u=l[d];if(u.validator(i))return u.classGroupId}},bi=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=t.slice(1,-1),o=n.indexOf(":"),r=n.slice(0,o);return r?yi+r:void 0})(),wi=t=>{const{theme:n,classGroups:o}=t;return ki(o,n)},ki=(t,n)=>{const o=fo();for(const r in t){const s=t[r];Wt(s,o,r,n)}return o},Wt=(t,n,o,r)=>{const s=t.length;for(let a=0;a<s;a++){const l=t[a];Ci(l,n,o,r)}},Ci=(t,n,o,r)=>{if(typeof t=="string"){Ei(t,n,o);return}if(typeof t=="function"){Si(t,n,o,r);return}Bi(t,n,o,r)},Ei=(t,n,o)=>{const r=t===""?n:ho(n,t);r.classGroupId=o},Si=(t,n,o,r)=>{if(_i(t)){Wt(t(r),n,o,r);return}n.validators===null&&(n.validators=[]),n.validators.push(gi(o,t))},Bi=(t,n,o,r)=>{const s=Object.entries(t),a=s.length;for(let l=0;l<a;l++){const[i,c]=s[l];Wt(c,ho(n,i),o,r)}},ho=(t,n)=>{let o=t;const r=n.split(it),s=r.length;for(let a=0;a<s;a++){const l=r[a];let i=o.nextPart.get(l);i||(i=fo(),o.nextPart.set(l,i)),o=i}return o},_i=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,Vi=t=>{if(t<1)return{get:()=>{},set:()=>{}};let n=0,o=Object.create(null),r=Object.create(null);const s=(a,l)=>{o[a]=l,n++,n>t&&(n=0,r=o,o=Object.create(null))};return{get(a){let l=o[a];if(l!==void 0)return l;if((l=r[a])!==void 0)return s(a,l),l},set(a,l){a in o?o[a]=l:s(a,l)}}},Ut="!",go=":",Pi=[],yo=(t,n,o,r,s)=>({modifiers:t,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:r,isExternal:s}),Oi=t=>{const{prefix:n,experimentalParseClassName:o}=t;let r=s=>{const a=[];let l=0,i=0,c=0,d;const u=s.length;for(let g=0;g<u;g++){const y=s[g];if(l===0&&i===0){if(y===go){a.push(s.slice(c,g)),c=g+1;continue}if(y==="/"){d=g;continue}}y==="["?l++:y==="]"?l--:y==="("?i++:y===")"&&i--}const f=a.length===0?s:s.slice(c);let m=f,p=!1;f.endsWith(Ut)?(m=f.slice(0,-1),p=!0):f.startsWith(Ut)&&(m=f.slice(1),p=!0);const h=d&&d>c?d-c:void 0;return yo(a,p,m,h)};if(n){const s=n+go,a=r;r=l=>l.startsWith(s)?a(l.slice(s.length)):yo(Pi,!1,l,void 0,!0)}if(o){const s=r;r=a=>o({className:a,parseClassName:s})}return r},Ni=t=>{const n=new Map;return t.orderSensitiveModifiers.forEach((o,r)=>{n.set(o,1e6+r)}),o=>{const r=[];let s=[];for(let a=0;a<o.length;a++){const l=o[a],i=l[0]==="[",c=n.has(l);i||c?(s.length>0&&(s.sort(),r.push(...s),s=[]),r.push(l)):s.push(l)}return s.length>0&&(s.sort(),r.push(...s)),r}},zi=t=>({cache:Vi(t.cacheSize),parseClassName:Oi(t),sortModifiers:Ni(t),...xi(t)}),Mi=/\s+/,vi=(t,n)=>{const{parseClassName:o,getClassGroupId:r,getConflictingClassGroupIds:s,sortModifiers:a}=n,l=[],i=t.trim().split(Mi);let c="";for(let d=i.length-1;d>=0;d-=1){const u=i[d],{isExternal:f,modifiers:m,hasImportantModifier:p,baseClassName:h,maybePostfixModifierPosition:g}=o(u);if(f){c=u+(c.length>0?" "+c:c);continue}let y=!!g,x=r(y?h.substring(0,g):h);if(!x){if(!y){c=u+(c.length>0?" "+c:c);continue}if(x=r(h),!x){c=u+(c.length>0?" "+c:c);continue}y=!1}const w=m.length===0?"":m.length===1?m[0]:a(m).join(":"),k=p?w+Ut:w,N=k+x;if(l.indexOf(N)>-1)continue;l.push(N);const S=s(x,y);for(let B=0;B<S.length;++B){const E=S[B];l.push(k+E)}c=u+(c.length>0?" "+c:c)}return c},Ai=(...t)=>{let n=0,o,r,s="";for(;n<t.length;)(o=t[n++])&&(r=xo(o))&&(s&&(s+=" "),s+=r);return s},xo=t=>{if(typeof t=="string")return t;let n,o="";for(let r=0;r<t.length;r++)t[r]&&(n=xo(t[r]))&&(o&&(o+=" "),o+=n);return o},$i=(t,...n)=>{let o,r,s,a;const l=c=>{const d=n.reduce((u,f)=>f(u),t());return o=zi(d),r=o.cache.get,s=o.cache.set,a=i,i(c)},i=c=>{const d=r(c);if(d)return d;const u=vi(c,o);return s(c,u),u};return a=l,(...c)=>a(Ai(...c))},Ii=[],L=t=>{const n=o=>o[t]||Ii;return n.isThemeGetter=!0,n},bo=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,wo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Di=/^\d+\/\d+$/,Ti=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ri=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Fi=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Li=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,qi=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Pe=t=>Di.test(t),A=t=>!!t&&!Number.isNaN(Number(t)),ye=t=>!!t&&Number.isInteger(Number(t)),Ht=t=>t.endsWith("%")&&A(t.slice(0,-1)),ce=t=>Ti.test(t),ji=()=>!0,Wi=t=>Ri.test(t)&&!Fi.test(t),ko=()=>!1,Ui=t=>Li.test(t),Hi=t=>qi.test(t),Ki=t=>!P(t)&&!O(t),Gi=t=>Oe(t,_o,ko),P=t=>bo.test(t),ke=t=>Oe(t,Vo,Wi),Kt=t=>Oe(t,Qi,A),Co=t=>Oe(t,So,ko),Xi=t=>Oe(t,Bo,Hi),ct=t=>Oe(t,Po,Ui),O=t=>wo.test(t),Le=t=>Ne(t,Vo),Yi=t=>Ne(t,ec),Eo=t=>Ne(t,So),Ji=t=>Ne(t,_o),Zi=t=>Ne(t,Bo),dt=t=>Ne(t,Po,!0),Oe=(t,n,o)=>{const r=bo.exec(t);return r?r[1]?n(r[1]):o(r[2]):!1},Ne=(t,n,o=!1)=>{const r=wo.exec(t);return r?r[1]?n(r[1]):o:!1},So=t=>t==="position"||t==="percentage",Bo=t=>t==="image"||t==="url",_o=t=>t==="length"||t==="size"||t==="bg-size",Vo=t=>t==="length",Qi=t=>t==="number",ec=t=>t==="family-name",Po=t=>t==="shadow",tc=$i(()=>{const t=L("color"),n=L("font"),o=L("text"),r=L("font-weight"),s=L("tracking"),a=L("leading"),l=L("breakpoint"),i=L("container"),c=L("spacing"),d=L("radius"),u=L("shadow"),f=L("inset-shadow"),m=L("text-shadow"),p=L("drop-shadow"),h=L("blur"),g=L("perspective"),y=L("aspect"),x=L("ease"),w=L("animate"),k=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...N(),O,P],B=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],C=()=>[O,P,c],v=()=>[Pe,"full","auto",...C()],I=()=>[ye,"none","subgrid",O,P],R=()=>["auto",{span:["full",ye,O,P]},ye,O,P],D=()=>[ye,"auto",O,P],F=()=>["auto","min","max","fr",O,P],_=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],b=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...C()],T=()=>[Pe,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],V=()=>[t,O,P],X=()=>[...N(),Eo,Co,{position:[O,P]}],mt=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Wo=()=>["auto","cover","contain",Ji,Gi,{size:[O,P]}],Jt=()=>[Ht,Le,ke],U=()=>["","none","full",d,O,P],Y=()=>["",A,Le,ke],ht=()=>["solid","dashed","dotted","double"],Uo=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],q=()=>[A,Ht,Eo,Co],Ho=()=>["","none",h,O,P],gt=()=>["none",A,O,P],yt=()=>["none",A,O,P],Zt=()=>[A,O,P],xt=()=>[Pe,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ce],breakpoint:[ce],color:[ji],container:[ce],"drop-shadow":[ce],ease:["in","out","in-out"],font:[Ki],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ce],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ce],shadow:[ce],spacing:["px",A],text:[ce],"text-shadow":[ce],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Pe,P,O,y]}],container:["container"],columns:[{columns:[A,P,O,i]}],"break-after":[{"break-after":k()}],"break-before":[{"break-before":k()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:B()}],"overflow-x":[{"overflow-x":B()}],"overflow-y":[{"overflow-y":B()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:v()}],"inset-x":[{"inset-x":v()}],"inset-y":[{"inset-y":v()}],start:[{start:v()}],end:[{end:v()}],top:[{top:v()}],right:[{right:v()}],bottom:[{bottom:v()}],left:[{left:v()}],visibility:["visible","invisible","collapse"],z:[{z:[ye,"auto",O,P]}],basis:[{basis:[Pe,"full","auto",i,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[A,Pe,"auto","initial","none",P]}],grow:[{grow:["",A,O,P]}],shrink:[{shrink:["",A,O,P]}],order:[{order:[ye,"first","last","none",O,P]}],"grid-cols":[{"grid-cols":I()}],"col-start-end":[{col:R()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":I()}],"row-start-end":[{row:R()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":F()}],"auto-rows":[{"auto-rows":F()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[..._(),"normal"]}],"justify-items":[{"justify-items":[...b(),"normal"]}],"justify-self":[{"justify-self":["auto",...b()]}],"align-content":[{content:["normal",..._()]}],"align-items":[{items:[...b(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...b(),{baseline:["","last"]}]}],"place-content":[{"place-content":_()}],"place-items":[{"place-items":[...b(),"baseline"]}],"place-self":[{"place-self":["auto",...b()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:T()}],w:[{w:[i,"screen",...T()]}],"min-w":[{"min-w":[i,"screen","none",...T()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[l]},...T()]}],h:[{h:["screen","lh",...T()]}],"min-h":[{"min-h":["screen","lh","none",...T()]}],"max-h":[{"max-h":["screen","lh",...T()]}],"font-size":[{text:["base",o,Le,ke]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,O,Kt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ht,P]}],"font-family":[{font:[Yi,P,n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,O,P]}],"line-clamp":[{"line-clamp":[A,"none",O,Kt]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",O,P]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",O,P]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:V()}],"text-color":[{text:V()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ht(),"wavy"]}],"text-decoration-thickness":[{decoration:[A,"from-font","auto",O,ke]}],"text-decoration-color":[{decoration:V()}],"underline-offset":[{"underline-offset":[A,"auto",O,P]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",O,P]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",O,P]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:X()}],"bg-repeat":[{bg:mt()}],"bg-size":[{bg:Wo()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ye,O,P],radial:["",O,P],conic:[ye,O,P]},Zi,Xi]}],"bg-color":[{bg:V()}],"gradient-from-pos":[{from:Jt()}],"gradient-via-pos":[{via:Jt()}],"gradient-to-pos":[{to:Jt()}],"gradient-from":[{from:V()}],"gradient-via":[{via:V()}],"gradient-to":[{to:V()}],rounded:[{rounded:U()}],"rounded-s":[{"rounded-s":U()}],"rounded-e":[{"rounded-e":U()}],"rounded-t":[{"rounded-t":U()}],"rounded-r":[{"rounded-r":U()}],"rounded-b":[{"rounded-b":U()}],"rounded-l":[{"rounded-l":U()}],"rounded-ss":[{"rounded-ss":U()}],"rounded-se":[{"rounded-se":U()}],"rounded-ee":[{"rounded-ee":U()}],"rounded-es":[{"rounded-es":U()}],"rounded-tl":[{"rounded-tl":U()}],"rounded-tr":[{"rounded-tr":U()}],"rounded-br":[{"rounded-br":U()}],"rounded-bl":[{"rounded-bl":U()}],"border-w":[{border:Y()}],"border-w-x":[{"border-x":Y()}],"border-w-y":[{"border-y":Y()}],"border-w-s":[{"border-s":Y()}],"border-w-e":[{"border-e":Y()}],"border-w-t":[{"border-t":Y()}],"border-w-r":[{"border-r":Y()}],"border-w-b":[{"border-b":Y()}],"border-w-l":[{"border-l":Y()}],"divide-x":[{"divide-x":Y()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Y()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ht(),"hidden","none"]}],"divide-style":[{divide:[...ht(),"hidden","none"]}],"border-color":[{border:V()}],"border-color-x":[{"border-x":V()}],"border-color-y":[{"border-y":V()}],"border-color-s":[{"border-s":V()}],"border-color-e":[{"border-e":V()}],"border-color-t":[{"border-t":V()}],"border-color-r":[{"border-r":V()}],"border-color-b":[{"border-b":V()}],"border-color-l":[{"border-l":V()}],"divide-color":[{divide:V()}],"outline-style":[{outline:[...ht(),"none","hidden"]}],"outline-offset":[{"outline-offset":[A,O,P]}],"outline-w":[{outline:["",A,Le,ke]}],"outline-color":[{outline:V()}],shadow:[{shadow:["","none",u,dt,ct]}],"shadow-color":[{shadow:V()}],"inset-shadow":[{"inset-shadow":["none",f,dt,ct]}],"inset-shadow-color":[{"inset-shadow":V()}],"ring-w":[{ring:Y()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:V()}],"ring-offset-w":[{"ring-offset":[A,ke]}],"ring-offset-color":[{"ring-offset":V()}],"inset-ring-w":[{"inset-ring":Y()}],"inset-ring-color":[{"inset-ring":V()}],"text-shadow":[{"text-shadow":["none",m,dt,ct]}],"text-shadow-color":[{"text-shadow":V()}],opacity:[{opacity:[A,O,P]}],"mix-blend":[{"mix-blend":[...Uo(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Uo()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[A]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":V()}],"mask-image-linear-to-color":[{"mask-linear-to":V()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":V()}],"mask-image-t-to-color":[{"mask-t-to":V()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":V()}],"mask-image-r-to-color":[{"mask-r-to":V()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":V()}],"mask-image-b-to-color":[{"mask-b-to":V()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":V()}],"mask-image-l-to-color":[{"mask-l-to":V()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":V()}],"mask-image-x-to-color":[{"mask-x-to":V()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":V()}],"mask-image-y-to-color":[{"mask-y-to":V()}],"mask-image-radial":[{"mask-radial":[O,P]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":V()}],"mask-image-radial-to-color":[{"mask-radial-to":V()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[A]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":V()}],"mask-image-conic-to-color":[{"mask-conic-to":V()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:X()}],"mask-repeat":[{mask:mt()}],"mask-size":[{mask:Wo()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",O,P]}],filter:[{filter:["","none",O,P]}],blur:[{blur:Ho()}],brightness:[{brightness:[A,O,P]}],contrast:[{contrast:[A,O,P]}],"drop-shadow":[{"drop-shadow":["","none",p,dt,ct]}],"drop-shadow-color":[{"drop-shadow":V()}],grayscale:[{grayscale:["",A,O,P]}],"hue-rotate":[{"hue-rotate":[A,O,P]}],invert:[{invert:["",A,O,P]}],saturate:[{saturate:[A,O,P]}],sepia:[{sepia:["",A,O,P]}],"backdrop-filter":[{"backdrop-filter":["","none",O,P]}],"backdrop-blur":[{"backdrop-blur":Ho()}],"backdrop-brightness":[{"backdrop-brightness":[A,O,P]}],"backdrop-contrast":[{"backdrop-contrast":[A,O,P]}],"backdrop-grayscale":[{"backdrop-grayscale":["",A,O,P]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[A,O,P]}],"backdrop-invert":[{"backdrop-invert":["",A,O,P]}],"backdrop-opacity":[{"backdrop-opacity":[A,O,P]}],"backdrop-saturate":[{"backdrop-saturate":[A,O,P]}],"backdrop-sepia":[{"backdrop-sepia":["",A,O,P]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",O,P]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[A,"initial",O,P]}],ease:[{ease:["linear","initial",x,O,P]}],delay:[{delay:[A,O,P]}],animate:[{animate:["none",w,O,P]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,O,P]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:gt()}],"rotate-x":[{"rotate-x":gt()}],"rotate-y":[{"rotate-y":gt()}],"rotate-z":[{"rotate-z":gt()}],scale:[{scale:yt()}],"scale-x":[{"scale-x":yt()}],"scale-y":[{"scale-y":yt()}],"scale-z":[{"scale-z":yt()}],"scale-3d":["scale-3d"],skew:[{skew:Zt()}],"skew-x":[{"skew-x":Zt()}],"skew-y":[{"skew-y":Zt()}],transform:[{transform:[O,P,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:xt()}],"translate-x":[{"translate-x":xt()}],"translate-y":[{"translate-y":xt()}],"translate-z":[{"translate-z":xt()}],"translate-none":["translate-none"],accent:[{accent:V()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:V()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",O,P]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",O,P]}],fill:[{fill:["none",...V()]}],"stroke-w":[{stroke:[A,Le,ke,Kt]}],stroke:[{stroke:["none",...V()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function de(...t){return tc(bn(t))}const $=e.defineComponent({__name:"Button",props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:"button"}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(Q),{"data-slot":"button",as:t.as,"as-child":t.asChild,class:e.normalizeClass(e.unref(de)(e.unref(nc)({variant:t.variant,size:t.size}),n.class))},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),nc=Cs("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-2 focus-visible:ring-ma-primary-500/50",{variants:{variant:{default:"bg-ma-primary-400 text-white hover:bg-ma-primary-600",destructive:"bg-ma-red-400 text-white hover:bg-ma-red-700",outline:"border border-ma-grey-400 bg-ma-grey-100 shadow-xs hover:bg-ma-grey-300 text-ma-text-01",secondary:"bg-ma-grey-300 text-ma-text-01 hover:bg-ma-grey-400",ghost:"hover:bg-ma-grey-300 text-ma-text-01",link:"text-ma-primary-500 underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}}),Oo=e.defineComponent({__name:"SidebarToggle",props:{isCollapsed:{type:Boolean},side:{default:"left"}},emits:["toggle"],setup(t){return(n,o)=>(e.openBlock(),e.createBlock(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"sidebar-toggle",class:e.normalizeClass(["absolute top-3 z-10 bg-ma-grey-100 border border-ma-grey-300 shadow-sm",t.side==="left"?"left-3":"right-3"]),title:`Toggle ${t.side} sidebar`,onClick:o[0]||(o[0]=r=>n.$emit("toggle"))},{default:e.withCtx(()=>[t.side==="left"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.isCollapsed?(e.openBlock(),e.createBlock(e.unref(Fr),{key:1,class:"w-5 h-5 text-ma-text-01"})):(e.openBlock(),e.createBlock(e.unref(Rr),{key:0,class:"w-5 h-5 text-ma-text-01"}))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.isCollapsed?(e.openBlock(),e.createBlock(e.unref(qr),{key:1,class:"w-5 h-5 text-ma-text-01"})):(e.openBlock(),e.createBlock(e.unref(Lr),{key:0,class:"w-5 h-5 text-ma-text-01"}))],64))]),_:1},8,["class","title"]))}}),No=()=>({saveToFile:o=>{const r=JSON.stringify(o,null,2),s=new Blob([r],{type:"application/json"}),a=URL.createObjectURL(s),l=document.createElement("a");l.href=a,l.download="canvas.json",document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(a)},loadFromFile:o=>new Promise((r,s)=>{const a=new FileReader;a.onload=l=>{try{const i=l.target?.result;r(JSON.parse(i))}catch(i){s(i)}},a.onerror=()=>s(a.error),a.readAsText(o)})}),oc=e.defineComponent({__name:"Popover",props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(t,{emit:n}){const s=xe(t,n);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(ti),e.normalizeProps(e.guardReactiveProps(e.unref(s))),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}}),rc=e.defineComponent({__name:"PopoverTrigger",props:{asChild:{type:Boolean},as:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(fi),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),sc=e.defineComponent({inheritAttrs:!1,__name:"PopoverContent",props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:"center"},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=e.computed(()=>{const{class:l,...i}=o;return i}),a=xe(s,r);return(l,i)=>(e.openBlock(),e.createBlock(e.unref(di),null,{default:e.withCtx(()=>[e.createVNode(e.unref(ii),e.mergeProps({...e.unref(a),...l.$attrs},{class:e.unref(de)("z-50 w-72 rounded-md border bg-white p-4 text-slate-950 shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:bg-slate-950 dark:text-slate-50",o.class)}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),ac={key:0,class:"text-sm text-ma-text-01"},lc={class:"grid grid-cols-4 gap-1"},zo=e.defineComponent({__name:"IconPicker",props:{collapsed:{type:Boolean}},setup(t){const n=W(),o=r=>{n.addIcon(r)};return(r,s)=>(e.openBlock(),e.createBlock(e.unref(oc),null,{default:e.withCtx(()=>[e.createVNode(e.unref(rc),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref($),{variant:"ghost",class:e.normalizeClass(["gap-2 text-ma-text-01",t.collapsed?"w-10 h-10 p-0 ml-1 justify-center":"w-full h-9 px-2 justify-start"]),title:"Icons"},{default:e.withCtx(()=>[e.createVNode(e.unref(Yr),{style:e.normalizeStyle({color:e.unref(ne)}),class:e.normalizeClass(["text-ma-text-01",(t.collapsed,"w-4 h-4")])},null,8,["style","class"]),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ac,"Icons"))]),_:1},8,["class"])]),_:1}),e.createVNode(e.unref(sc),{class:"w-64 p-2 bg-ma-surface shadow-xl border-ma-grey-300",align:"start",side:"right","side-offset":10},{default:e.withCtx(()=>[e.createElementVNode("div",lc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(gn),(a,l)=>(e.openBlock(),e.createBlock(e.unref($),{key:l,variant:"ghost",class:"h-9 w-9 p-0 text-ma-text-01",title:l,onClick:i=>o(l)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a),{class:"w-5 h-5 text-ma-text-01",style:e.normalizeStyle({color:e.unref(ne)})},null,8,["style"]))]),_:2},1032,["title","onClick"]))),128))])]),_:1})]),_:1}))}}),ic={key:0,class:"capitalize"},Gt=e.defineComponent({__name:"ShapeButton",props:{shapeType:{},collapsed:{type:Boolean},customPoints:{},label:{}},setup(t){const n=t,o=Ke(),r=s=>{o.startDrag(n.shapeType,s,n.customPoints)};return(s,a)=>(e.openBlock(),e.createBlock(e.unref($),{"data-testid":"shape-button",variant:"ghost",size:t.collapsed?"icon-sm":"sm",class:e.normalizeClass(["cursor-grab w-full text-ma-text-01",t.collapsed?"justify-center":"justify-start"]),title:t.shapeType,onMousedown:r},{default:e.withCtx(()=>[e.createVNode(Ge,{width:24,height:24,"shape-type":t.shapeType,"custom-points":t.customPoints,"stroke-weight":1,outline:e.unref(ne),fill:e.unref(Ue),class:"pointer-events-none shrink-0"},null,8,["shape-type","custom-points","outline","fill"]),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ic,e.toDisplayString(t.label||t.shapeType),1))]),_:1},8,["size","class","title"]))}}),cc={key:0},dc={key:0},Mo=e.defineComponent({__name:"SaveLoadButtons",props:{collapsed:{type:Boolean}},setup(t){const n=t,o=W(),{saveToFile:r,loadFromFile:s}=No(),a=e.ref(null),l=e.computed(()=>n.collapsed?"p-2 border-t border-ma-grey-300 flex flex-col gap-1 items-center":"p-1 border-t border-ma-grey-300 flex gap-1 justify-between"),i=e.computed(()=>n.collapsed?"w-full gap-0":"flex-1 gap-2"),c=()=>{r(o.exportSnapshot())},d=()=>{a.value?.click()},u=async f=>{const m=f.target;if(m.files&&m.files.length>0){const p=m.files[0];if(p)try{const h=await s(p);o.importSnapshot(h)}catch(h){console.error("Failed to load file:",h),alert("Failed to load file. Please ensure it is a valid JSON file.")}finally{m.value=""}}};return(f,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.createVNode(e.unref($),{variant:"outline",class:e.normalizeClass(i.value),"data-testid":"save-button",title:"Save to JSON",onClick:c},{default:e.withCtx(()=>[e.createVNode(e.unref(Hr),{class:"w-4 h-4"}),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",cc,"Save"))]),_:1},8,["class"]),e.createVNode(e.unref($),{variant:"outline",class:e.normalizeClass(i.value),"data-testid":"load-button",title:"Upload JSON",onClick:d},{default:e.withCtx(()=>[e.createVNode(e.unref(os),{class:"w-4 h-4"}),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",dc,"Load"))]),_:1},8,["class"]),e.createElementVNode("input",{ref_key:"fileInputRef",ref:a,type:"file",accept:".json",class:"hidden",onChange:u},null,544)],2))}}),vo="darkMode";function uc(){const t=localStorage.getItem(vo),n=e.ref(t==="true");return n.value&&document.documentElement.classList.add("dark-mode"),{isDark:n,toggle:()=>{n.value=!n.value,n.value?document.documentElement.classList.add("dark-mode"):document.documentElement.classList.remove("dark-mode"),localStorage.setItem(vo,String(n.value))}}}const Ao=e.defineComponent({__name:"SidebarActions",props:{collapsed:{type:Boolean}},emits:["clear-all"],setup(t){const n=t,o=W(),{isDark:r,toggle:s}=uc(),a=e.computed(()=>n.collapsed?"p-2 border-t border-ma-grey-300 flex flex-col gap-1 items-center":"p-2 border-t border-ma-grey-300 flex gap-1 justify-between"),l=e.computed(()=>n.collapsed?"flex flex-col gap-1 items-center":"flex gap-1");return(i,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.createElementVNode("div",{class:e.normalizeClass(l.value)},[e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"undo-button",disabled:!e.unref(o).canUndo,title:"Undo",onClick:c[0]||(c[0]=d=>e.unref(o).undo())},{default:e.withCtx(()=>[e.createVNode(e.unref(ns),{class:"w-4 h-4 text-ma-text-01"})]),_:1},8,["disabled"]),e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"redo-button",disabled:!e.unref(o).canRedo,title:"Redo",onClick:c[1]||(c[1]=d=>e.unref(o).redo())},{default:e.withCtx(()=>[e.createVNode(e.unref(Wr),{class:"w-4 h-4 text-ma-text-01"})]),_:1},8,["disabled"]),e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"paste-button",disabled:!e.unref(o).hasCopiedElement,title:"Paste",onClick:c[2]||(c[2]=d=>e.unref(o).pasteElement())},{default:e.withCtx(()=>[e.createVNode(e.unref(br),{class:"w-4 h-4 text-ma-text-01"})]),_:1},8,["disabled"]),e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"clear-all-button",title:"Clear all",onClick:c[3]||(c[3]=d=>i.$emit("clear-all"))},{default:e.withCtx(()=>[e.createVNode(e.unref(un),{class:"w-4 h-4 text-ma-text-01"})]),_:1})],2),e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"dark-mode-button",title:"Toggle dark mode",onClick:e.unref(s)},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createBlock(e.unref(Jr),{key:0,class:"w-4 h-4 text-ma-text-01"})):(e.openBlock(),e.createBlock(e.unref(Dr),{key:1,class:"w-4 h-4 text-ma-text-01"}))]),_:1},8,["onClick"])],2))}}),fc={"data-testid":"collapsed-sidebar",class:"flex flex-col h-full w-14 border-r border-ma-grey-300 bg-ma-grey-100"},pc={class:"p-3 border-b border-ma-grey-300 flex items-center justify-center"},mc={class:"flex-1 overflow-y-auto p-1"},hc={class:"flex flex-col gap-1"},gc=e.defineComponent({__name:"CollapsedSidebar",emits:["clear-all"],setup(t){const n=["rectangle","triangle","trapezoid","chevron","hexagon","ellipse","diamond","parallelogram","pentagon"],o=W();return(r,s)=>(e.openBlock(),e.createElementBlock("aside",fc,[e.createElementVNode("div",pc,[e.createVNode(e.unref(as),{class:"w-5 h-5 text-ma-text-01"})]),e.createElementVNode("div",mc,[e.createElementVNode("div",hc,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(n,a=>e.createVNode(Gt,{key:a,"shape-type":a,collapsed:""},null,8,["shape-type"])),64)),s[2]||(s[2]=e.createElementVNode("div",{class:"w-full h-px bg-ma-grey-300 my-1"},null,-1)),e.createVNode(e.unref($),{variant:"ghost",class:"w-full justify-start gap-2 h-10 ml-1",onClick:s[0]||(s[0]=a=>e.unref(o).addText())},{default:e.withCtx(()=>[e.createVNode(e.unref(fn),{style:e.normalizeStyle({color:e.unref(ne)}),class:"w-4 h-4 text-ma-text-01"},null,8,["style"])]),_:1}),s[3]||(s[3]=e.createElementVNode("div",{class:"w-full h-px bg-ma-grey-300 my-1"},null,-1)),e.createVNode(zo,{collapsed:""})])]),e.createVNode(Mo,{collapsed:""}),e.createVNode(Ao,{collapsed:"",onClearAll:s[1]||(s[1]=a=>r.$emit("clear-all"))})]))}}),yc={class:"mb-2","data-testid":"sidebar-group"},xc={class:"flex flex-col gap-1"},ut=e.defineComponent({__name:"SidebarGroup",props:{title:{},sidebarCollapsed:{type:Boolean}},setup(t){const n=e.ref(!0);return(o,r)=>(e.openBlock(),e.createElementBlock("div",yc,[t.sidebarCollapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,"data-testid":"sidebar-group-toggle",class:"flex items-center justify-between w-full px-1 py-1 text-xs text-ma-text-02 hover:text-ma-text-01 transition-colors",onClick:r[0]||(r[0]=s=>n.value=!n.value)},[e.createElementVNode("span",null,e.toDisplayString(t.title),1),e.createVNode(e.unref(cn),{class:e.normalizeClass(["w-3 h-3 transition-transform",{"rotate-180":!n.value}])},null,8,["class"])])),e.withDirectives(e.createElementVNode("div",xc,[e.renderSlot(o.$slots,"default")],512),[[e.vShow,n.value||t.sidebarCollapsed]])]))}}),bc=e.defineComponent({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(t,{emit:n}){const s=xe(t,n);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(ra),e.mergeProps({"data-slot":"dialog"},e.unref(s)),{default:e.withCtx(i=>[e.renderSlot(a.$slots,"default",e.normalizeProps(e.guardReactiveProps(i)))]),_:3},16))}});typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const wc=t=>typeof t<"u";function kc(t){return e.isRef(t)?e.reactive(new Proxy({},{get(n,o,r){return e.unref(Reflect.get(t.value,o,r))},set(n,o,r){return e.isRef(t.value[o])&&!e.isRef(r)?t.value[o].value=r:t.value[o]=r,!0},deleteProperty(n,o){return Reflect.deleteProperty(t.value,o)},has(n,o){return Reflect.has(t.value,o)},ownKeys(){return Object.keys(t.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):e.reactive(t)}function Cc(t){return kc(e.computed(t))}function Xt(t,...n){const o=n.flat(),r=o[0];return Cc(()=>Object.fromEntries(typeof r=="function"?Object.entries(e.toRefs(t)).filter(([s,a])=>!r(e.toValue(a),s)):Object.entries(e.toRefs(t)).filter(s=>!o.includes(s[0]))))}function Ec(t){return JSON.parse(JSON.stringify(t))}function Sc(t,n,o,r={}){var s,a;const{clone:l=!1,passive:i=!1,eventName:c,deep:d=!1,defaultValue:u,shouldEmit:f}=r,m=e.getCurrentInstance(),p=o||m?.emit||(m==null||(s=m.$emit)===null||s===void 0?void 0:s.bind(m))||(m==null||(a=m.proxy)===null||a===void 0||(a=a.$emit)===null||a===void 0?void 0:a.bind(m?.proxy));let h=c;h=h||`update:${n.toString()}`;const g=w=>l?typeof l=="function"?l(w):Ec(w):w,y=()=>wc(t[n])?g(t[n]):u,x=w=>{f?f(w)&&p(h,w):p(h,w)};if(i){const w=e.ref(y());let k=!1;return e.watch(()=>t[n],N=>{k||(k=!0,w.value=g(N),e.nextTick(()=>k=!1))}),e.watch(w,N=>{!k&&(N!==t[n]||d)&&x(N)},{deep:d}),w}else return e.computed({get(){return y()},set(w){x(w)}})}const Bc=e.defineComponent({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=e.computed(()=>{const{class:r,...s}=n;return s});return(r,s)=>(e.openBlock(),e.createBlock(e.unref(Aa),e.mergeProps(o.value,{class:e.unref(de)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",n.class)}),null,16,["class"]))}}),_c=e.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{},showCloseButton:{type:Boolean,default:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,s=Xt(o,"class"),a=xe(s,r);return(l,i)=>(e.openBlock(),e.createBlock(e.unref(Da),null,{default:e.withCtx(()=>[e.createVNode(Bc),e.createVNode(e.unref(Na),e.mergeProps({"data-slot":"dialog-content"},{...l.$attrs,...e.unref(a)},{class:e.unref(de)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",o.class)}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default"),t.showCloseButton?(e.openBlock(),e.createBlock(e.unref(aa),{key:0,"data-slot":"dialog-close",class:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"},{default:e.withCtx(()=>[e.createVNode(e.unref(pn)),i[0]||(i[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))]),_:1})):e.createCommentVNode("",!0)]),_:3},16,["class"])]),_:3}))}}),Vc=e.defineComponent({__name:"DialogHeader",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"dialog-header",class:e.normalizeClass(e.unref(de)("flex flex-col gap-2 text-center sm:text-left",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),Pc=e.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=Xt(n,"class"),r=_t(o);return(s,a)=>(e.openBlock(),e.createBlock(e.unref(Ra),e.mergeProps({"data-slot":"dialog-title"},e.unref(r),{class:e.unref(de)("text-lg leading-none font-semibold",n.class)}),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16,["class"]))}}),Oc=e.defineComponent({__name:"DialogFooter",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"dialog-footer",class:e.normalizeClass(e.unref(de)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),Yt=e.defineComponent({__name:"Input",props:{defaultValue:{},modelValue:{},class:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,s=Sc(o,"modelValue",n,{passive:!0,defaultValue:o.defaultValue});return(a,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":l[0]||(l[0]=i=>e.isRef(s)?s.value=i:null),"data-slot":"input",class:e.normalizeClass(e.unref(de)("file:text-ma-text-01 placeholder:text-ma-text-03 selection:bg-ma-primary-300 selection:text-ma-text-01 border-ma-grey-400 bg-ma-grey-100 h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base text-ma-text-01 shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ma-primary-500 focus-visible:ring-ma-primary-500/50 focus-visible:ring-[3px]",o.class))},null,2)),[[e.vModelText,e.unref(s)]])}}),ze=e.defineComponent({__name:"Label",props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=Xt(n,"class");return(r,s)=>(e.openBlock(),e.createBlock(e.unref(mi),e.mergeProps({"data-slot":"label"},e.unref(o),{class:e.unref(de)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",n.class)}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),Nc={class:"grid gap-4 py-4"},zc={class:"grid grid-cols-4 items-center gap-4"},Mc={class:"space-y-4"},vc={class:"col-span-2 space-y-1"},Ac={key:0,class:"text-[10px] text-red-500"},$c={class:"col-span-2 space-y-1"},Ic={key:0,class:"text-[10px] text-red-500"},Dc={class:"flex justify-end gap-2 mb-4"},Tc={class:"flex w-full justify-center border border-ma-grey-600 rounded-md p-4 bg-ma-grey-400"},Rc={class:"border border-ma-grey-200 rounded-md p-4 bg-ma-grey-100 w-[150px] h-[150px] flex items-center justify-center"},Fc=e.defineComponent({__name:"CustomShapeDialog",props:{open:{type:Boolean}},emits:["update:open"],setup(t,{emit:n}){const o=n,r=W(),s=e.ref(""),a=e.ref([{x:0,y:0},{x:100,y:0},{x:100,y:100}]),l=p=>p<0||p>100||isNaN(p),i=()=>{a.value.length<6&&a.value.push({x:50,y:50})},c=e.computed(()=>a.value.map(p=>{const h=Math.min(Math.max(p.x,0),100),g=100-Math.min(Math.max(p.y,0),100);return`${h},${g}`}).join(" ")),d=e.computed(()=>a.value.map(p=>`${p.x},${100-p.y}`).join(" ")),u=e.computed(()=>{const p=s.value.trim()!=="",h=a.value.length>=2,g=a.value.every(y=>!l(y.x)&&!l(y.y));return p&&h&&g}),f=()=>{a.value.length>2&&a.value.pop()},m=()=>{u.value&&(r.saveCustomShape(s.value,d.value),s.value="",a.value=[{x:0,y:0},{x:100,y:0},{x:100,y:100}],o("update:open",!1))};return(p,h)=>(e.openBlock(),e.createBlock(e.unref(bc),{open:t.open,"onUpdate:open":h[1]||(h[1]=g=>p.$emit("update:open",g))},{default:e.withCtx(()=>[e.createVNode(e.unref(_c),{class:"lg:max-w-[450px] bg-ma-white text-ma-text-01 border-ma-grey-200"},{default:e.withCtx(()=>[e.createVNode(e.unref(Vc),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Pc),{class:"text-ma-text-01"},{default:e.withCtx(()=>[...h[2]||(h[2]=[e.createTextVNode("Add Custom Shape",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Nc,[e.createElementVNode("div",zc,[e.createVNode(e.unref(ze),{"html-for":"name",class:"text-left text-ma-text-01"},{default:e.withCtx(()=>[...h[3]||(h[3]=[e.createTextVNode("Name: ",-1)])]),_:1}),e.createVNode(e.unref(Yt),{id:"name",modelValue:s.value,"onUpdate:modelValue":h[0]||(h[0]=g=>s.value=g),class:"col-span-3 bg-ma-grey-100 text-ma-text-01 border-ma-grey-300",placeholder:"Shape Name"},null,8,["modelValue"])]),e.createElementVNode("div",Mc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(g,y)=>(e.openBlock(),e.createElementBlock("div",{key:y,class:"grid grid-cols-4 gap-2 items-start"},[e.createElementVNode("div",vc,[e.createVNode(e.unref(Yt),{modelValue:g.x,"onUpdate:modelValue":x=>g.x=x,modelModifiers:{number:!0},type:"number",placeholder:"X",class:e.normalizeClass(["bg-ma-grey-100 text-ma-text-01 border-ma-grey-300",{"border-red-500":l(g.x)}])},null,8,["modelValue","onUpdate:modelValue","class"]),l(g.x)?(e.openBlock(),e.createElementBlock("p",Ac," Must be 0-100 ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",$c,[e.createVNode(e.unref(Yt),{modelValue:g.y,"onUpdate:modelValue":x=>g.y=x,modelModifiers:{number:!0},type:"number",placeholder:"Y",class:e.normalizeClass(["bg-ma-grey-100 text-ma-text-01 border-ma-grey-300",{"border-red-500":l(g.y)}])},null,8,["modelValue","onUpdate:modelValue","class"]),l(g.y)?(e.openBlock(),e.createElementBlock("p",Ic," Must be 0-100 ")):e.createCommentVNode("",!0)])]))),128))]),e.createElementVNode("div",Dc,[e.createVNode(e.unref($),{type:"button",variant:"default",size:"sm",disabled:a.value.length>=6,"data-testid":"add-point-button",onClick:i},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"w-4 h-4 text-ma-text-01"})]),_:1},8,["disabled"]),a.value.length>2?(e.openBlock(),e.createBlock(e.unref($),{key:0,type:"button",variant:"destructive",size:"sm",disabled:a.value.length<=2,"data-testid":"remove-point-button",onClick:f},{default:e.withCtx(()=>[e.createVNode(e.unref(dn),{class:"w-4 h-4 text-ma-text-01"})]),_:1},8,["disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Tc,[e.createElementVNode("div",Rc,[e.createVNode(Ge,{width:100,height:100,"shape-type":"custom","custom-points":c.value,outline:e.unref(ne),fill:e.unref(Ue),class:"text-ma-text-01"},null,8,["custom-points","outline","fill"])])])]),e.createVNode(e.unref(Oc),null,{default:e.withCtx(()=>[e.createVNode(e.unref($),{type:"submit",disabled:!u.value,onClick:m},{default:e.withCtx(()=>[...h[4]||(h[4]=[e.createTextVNode("Add Shape",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]))}}),Lc={"data-testid":"expanded-sidebar",class:"flex flex-col h-full w-56 border-r border-ma-grey-300 bg-ma-grey-100"},qc={class:"flex-1 overflow-y-auto p-2"},jc=e.defineComponent({__name:"ExpandedSidebar",emits:["clear-all"],setup(t){const n=e.ref(!1),o=W(),r=["rectangle","triangle","trapezoid","chevron","hexagon","ellipse","diamond","parallelogram","pentagon"];return(s,a)=>(e.openBlock(),e.createElementBlock("aside",Lc,[a[6]||(a[6]=e.createElementVNode("div",{class:"p-3 border-b border-ma-grey-300"},[e.createElementVNode("h2",{class:"font-semibold text-ma-text-01"},"Tools")],-1)),e.createElementVNode("div",qc,[e.createVNode(ut,{title:"Shapes","sidebar-collapsed":!1},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,l=>e.createVNode(Gt,{key:l,"shape-type":l,collapsed:!1},null,8,["shape-type"])),64))]),_:1}),e.createVNode(ut,{title:"Text","sidebar-collapsed":!1},{default:e.withCtx(()=>[e.createVNode(e.unref($),{variant:"ghost",class:"w-full justify-start gap-2 h-9 px-2 text-ma-text-01",title:"Add Text",onClick:a[0]||(a[0]=l=>e.unref(o).addText())},{default:e.withCtx(()=>[e.createVNode(e.unref(fn),{style:e.normalizeStyle({color:e.unref(ne)}),class:"w-4 h-4 text-ma-text-01"},null,8,["style"]),a[4]||(a[4]=e.createElementVNode("span",{class:"text-sm text-ma-text-01"},"Text",-1))]),_:1})]),_:1}),e.createVNode(ut,{title:"Icons","sidebar-collapsed":!1},{default:e.withCtx(()=>[e.createVNode(zo,{collapsed:!1,class:"w-full"})]),_:1}),e.createVNode(ut,{title:"Custom Shapes","sidebar-collapsed":!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).customShapes,l=>(e.openBlock(),e.createBlock(Gt,{key:l.name,"shape-type":"custom","custom-points":l.points,label:l.name,collapsed:!1},null,8,["custom-points","label"]))),128)),e.createVNode(e.unref($),{variant:"ghost",class:"w-full justify-start gap-2 h-9 px-2 text-ma-text-01",title:"Add Custom Shape",onClick:a[1]||(a[1]=l=>n.value=!0)},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"w-6 h-6"}),a[5]||(a[5]=e.createElementVNode("span",{class:"text-xs"},"Add",-1))]),_:1})]),_:1}),e.createVNode(Fc,{open:n.value,"onUpdate:open":a[2]||(a[2]=l=>n.value=l)},null,8,["open"])]),e.createVNode(Mo),e.createVNode(Ao,{onClearAll:a[3]||(a[3]=l=>s.$emit("clear-all"))})]))}}),Wc=e.defineComponent({__name:"LeftSidebar",props:{isCollapsed:{type:Boolean}},setup(t){const n=W(),o=()=>{confirm("Are you sure you want to clear all shapes?")&&n.clearAll()};return(r,s)=>t.isCollapsed?(e.openBlock(),e.createBlock(gc,{key:0,"data-testid":"app-sidebar",onClearAll:o})):(e.openBlock(),e.createBlock(jc,{key:1,"data-testid":"app-sidebar",onClearAll:o}))}}),Uc={class:"flex flex-col gap-2"},Hc={class:"flex gap-2 items-center border border-ma-grey-500 rounded-md bg-ma-grey-200 overflow-hidden"},Kc={class:"flex flex-1 items-center h-8 border border-ma-grey-300 rounded-md bg-ma-grey-200 overflow-hidden"},Gc=["value"],Xc=["id","value"],qe=e.defineComponent({__name:"PropertyColorInput",props:{modelValue:{},label:{},id:{}},emits:["update:modelValue","change"],setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",Uc,[e.createVNode(e.unref(ze),{for:t.id,class:"text-xs font-medium text-ma-text-01"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["for"]),e.createElementVNode("div",Hc,[e.createElementVNode("div",Kc,[e.createElementVNode("input",{type:"color",class:"w-8 h-full border-none p-0 cursor-pointer",value:t.modelValue,onInput:o[0]||(o[0]=r=>n.$emit("update:modelValue",r.target.value)),onChange:o[1]||(o[1]=r=>n.$emit("change",r.target.value))},null,40,Gc),e.createElementVNode("input",{id:t.id,value:t.modelValue,class:"flex-1 h-full px-2 text-xs outline-none min-w-0 bg-transparent text-ma-text-01 placeholder:text-muted-foreground uppercase",onInput:o[2]||(o[2]=r=>n.$emit("update:modelValue",r.target.value)),onChange:o[3]||(o[3]=r=>n.$emit("change",r.target.value))},null,40,Xc)])])]))}}),Yc={class:"flex flex-col gap-2"},Jc={class:"flex gap-2 items-center border border-ma-grey-500 rounded-md bg-ma-grey-200 overflow-hidden h-8"},Zc={class:"flex flex-1 items-center border border-ma-grey-300 rounded-md bg-ma-grey-200 overflow-hidden h-8"},Qc=["id","value"],ft=e.defineComponent({__name:"PropertyNumericInput",props:{modelValue:{},label:{},id:{}},emits:["update:modelValue","change"],setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",Yc,[e.createVNode(e.unref(ze),{for:t.id,class:"text-xs font-medium text-ma-text-01"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["for"]),e.createElementVNode("div",Jc,[e.createElementVNode("div",Zc,[e.createElementVNode("input",{id:t.id,type:"number",class:"flex-1 h-full px-2 text-xs outline-none min-w-0 bg-ma-grey-200 text-ma-text-01 placeholder:text-muted-foreground",value:t.modelValue,min:"0",onInput:o[0]||(o[0]=r=>n.$emit("update:modelValue",Number(r.target.value))),onChange:o[1]||(o[1]=r=>n.$emit("change",Number(r.target.value)))},null,40,Qc)])])]))}}),ed={class:"flex flex-col gap-2"},td={class:"flex gap-2 items-center border border-ma-grey-500 rounded-md bg-ma-grey-200 overflow-hidden h-8"},nd={class:"flex flex-1 items-center border border-ma-grey-300 rounded-md bg-[--ma-grey-200] overflow-hidden h-8"},od=["id","value"],rd={class:"flex flex-row gap-1 mt-2"},sd={key:0,class:"text-[10px] text-green-600 font-medium"},ad={key:1,class:"text-[10px] text-red-600 font-medium"},ld={key:2,class:"text-[10px] text-ma-text-02"},id=e.defineComponent({__name:"PropertyLinkInput",props:{modelValue:{},label:{},id:{}},emits:["update:modelValue","save","remove"],setup(t,{emit:n}){const o=t,r=n,s=e.ref(""),a=e.ref("");e.watch(()=>o.modelValue,d=>{d?s.value=d.replace(/^https?:\/\//,""):s.value="",a.value=""},{immediate:!0});const l=d=>{s.value=d},i=()=>{let d=s.value.trim();d=d.replace(/^https?:\/\//,"");let u;d.length>0&&(u=`https://${d}`),r("save",u),a.value="Link saved!",setTimeout(()=>{a.value=""},2e3)},c=()=>{r("remove"),a.value="Link removed!",setTimeout(()=>{a.value=""},2e3)};return(d,u)=>(e.openBlock(),e.createElementBlock("div",ed,[e.createVNode(e.unref(ze),{for:t.id,class:"text-xs font-medium text-ma-text-01"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["for"]),e.createElementVNode("div",td,[e.createElementVNode("div",nd,[u[1]||(u[1]=e.createElementVNode("div",{class:"bg-ma-grey-300 px-2 flex items-center h-full text-xs text-ma-text-02 font-medium border-r border-ma-grey-300 select-none"}," https:// ",-1)),e.createElementVNode("input",{id:t.id,value:s.value,class:"flex-1 h-full px-2 text-xs outline-none min-w-0 bg-transparent text-ma-text-01 placeholder:text-muted-foreground",placeholder:"example.com",onInput:u[0]||(u[0]=f=>l(f.target.value)),onKeyup:e.withKeys(i,["enter"])},null,40,od)])]),e.createElementVNode("div",rd,[e.createVNode(e.unref($),{size:"icon-sm",class:"h-8 w-8 shrink-0 bg-ma-grey-700 hover:bg-ma-grey-500",title:"Save link",onClick:i},{default:e.withCtx(()=>[e.createVNode(e.unref(gr),{class:"w-4 h-4 text-ma-white-01"})]),_:1}),e.createVNode(e.unref($),{size:"icon-sm",class:"h-8 w-8 shrink-0 bg-ma-grey-700 hover:bg-ma-grey-500",title:"Remove link",onClick:c},{default:e.withCtx(()=>[e.createVNode(e.unref(pn),{class:"w-4 h-4 text-ma-white-01"})]),_:1})]),a.value==="Link saved!"?(e.openBlock(),e.createElementBlock("p",sd,e.toDisplayString(a.value),1)):a.value==="Link removed!"?(e.openBlock(),e.createElementBlock("p",ad,e.toDisplayString(a.value),1)):(e.openBlock(),e.createElementBlock("p",ld," Enter a URL and click the check to save. Click the X to remove the link from element. "))]))}}),cd={class:"flex flex-col gap-2"},dd={class:"flex flex-col border border-ma-grey-300 rounded-md bg-ma-grey-200 overflow-hidden"},ud=["id","value"],$o=e.defineComponent({__name:"PropertyTextInput",props:{modelValue:{},label:{},id:{}},emits:["update:modelValue"],setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",cd,[e.createVNode(e.unref(ze),{for:t.id,class:"text-xs font-medium text-ma-text-01"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["for"]),e.createElementVNode("div",dd,[e.createElementVNode("textarea",{id:t.id,class:"flex-1 p-2 text-xs outline-none min-w-0 bg-ma-grey-200 text-ma-text-01 resize-y min-h-[60px]",value:t.modelValue,onInput:o[0]||(o[0]=r=>n.$emit("update:modelValue",r.target.value))},null,40,ud)])]))}}),fd={class:"flex flex-col gap-2"},pd={class:"flex items-center border border-ma-grey-300 rounded-md bg-ma-grey-200 overflow-hidden h-8"},md=["id","value"],hd=["value"],gd={class:"px-2 pointer-events-none text-ma-text-02"},Io=e.defineComponent({__name:"PropertySelectInput",props:{modelValue:{},label:{},id:{},options:{}},emits:["update:modelValue"],setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",fd,[e.createVNode(e.unref(ze),{for:t.id,class:"text-xs font-medium text-ma-text-01"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["for"]),e.createElementVNode("div",pd,[e.createElementVNode("select",{id:t.id,class:"flex-1 h-full px-2 text-xs outline-none min-w-0 bg-ma-grey-200 text-ma-text-01 appearance-none cursor-pointer",value:t.modelValue,onChange:o[0]||(o[0]=r=>n.$emit("update:modelValue",r.target.value))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,r=>(e.openBlock(),e.createElementBlock("option",{key:r.value,value:r.value},e.toDisplayString(r.label),9,hd))),128))],40,md),e.createElementVNode("div",gd,[e.createVNode(e.unref(cn),{class:"w-4 h-4"})])])]))}}),yd={class:"p-4 flex flex-col gap-4"},xd={key:1,class:"border-t border-ma-grey-300 my-2 pt-2"},bd=e.defineComponent({__name:"RightSidebar",props:{isCollapsed:{type:Boolean}},setup(t){const n=W(),o=e.computed(()=>n.selectedElement),r=e.computed(()=>o.value?.type==="group"),s=e.computed(()=>{const _=[];return n.selectedElements.forEach(b=>{b.type==="group"?b.childIds.forEach(T=>{const V=n.elements.find(X=>X.id===T);V&&_.push(V)}):_.push(b)}),_}),a=e.computed(()=>s.value.some(_=>_.type==="shape")),l=e.computed(()=>s.value.some(_=>_.type==="text")),i=e.computed(()=>s.value.some(_=>_.type==="icon")),c=e.ref("defaultOutlineColor"),d=e.ref("defaultFillColor"),u=e.ref(1),f=e.ref(0),m=e.ref(0),p=e.ref(""),h=e.ref("Arial"),g=e.ref("defaultTextColor"),y=e.ref(16),x=e.ref("defaultOutlineColor"),w=e.ref(2),k=[{label:"Arial",value:"Arial"},{label:"Helvetica",value:"Helvetica"},{label:"Times New Roman",value:"Times New Roman"},{label:"Courier New",value:"Courier New"},{label:"Verdana",value:"Verdana"}];e.watch(o,_=>{if(_&&(f.value=_.x,m.value=_.y),_&&_.type==="shape"){const b=_;c.value=b.outline||ne,d.value=b.fill||Ue,u.value=b.strokeWeight||0,p.value=b.content||"",h.value=b.fontFamily||"Arial",g.value=b.color||He,y.value=b.fontSize||16}else if(_&&_.type==="text")p.value=_.content,h.value=_.fontFamily,g.value=_.color||He,y.value=_.fontSize;else if(_&&_.type==="icon"){const b=_;x.value=b.color||ne,w.value=b.strokeWeight}},{immediate:!0,deep:!0});const N=_=>{s.value.filter(b=>b.type==="shape").forEach(b=>n.updateElement(b.id,{outline:_}))},S=_=>{s.value.filter(b=>b.type==="shape").forEach(b=>n.updateElement(b.id,{fill:_}))},B=_=>{s.value.filter(b=>b.type==="shape").forEach(b=>n.updateElement(b.id,{strokeWeight:_})),o.value&&o.value.type==="shape"&&(u.value=o.value.strokeWeight)};e.watch(h,_=>{s.value.filter(b=>b.type==="text"||b.type==="shape").forEach(b=>n.updateElement(b.id,{fontFamily:_}))});const E=_=>{o.value&&n.updateElement(o.value.id,{link:_})},C=()=>{o.value&&n.updateElement(o.value.id,{link:void 0})},v=_=>{o.value&&n.updateElement(o.value.id,{content:_})},I=_=>{s.value.filter(b=>b.type==="text"||b.type==="shape").forEach(b=>n.updateElement(b.id,{color:_}))},R=_=>{s.value.filter(b=>b.type==="text"||b.type==="shape").forEach(b=>n.updateElement(b.id,{fontSize:_})),y.value=_},D=_=>{s.value.filter(b=>b.type==="icon").forEach(b=>n.updateElement(b.id,{color:_}))},F=_=>{o.value&&o.value.type==="icon"&&(n.updateElement(o.value.id,{strokeWeight:_}),w.value=_)};return(_,b)=>o.value?(e.openBlock(),e.createElementBlock("aside",{key:0,"data-testid":"right-sidebar",class:e.normalizeClass(["flex flex-col h-full border-l border-ma-grey-300 bg-ma-grey-100 transition-all duration-200 overflow-hidden",t.isCollapsed?"w-0 p-0 border-0":"w-64"])},[b[14]||(b[14]=e.createElementVNode("div",{class:"p-4 border-b border-ma-grey-300"},[e.createElementVNode("h2",{class:"font-semibold text-ma-text-01"},"Properties")],-1)),e.createElementVNode("div",yd,[a.value||o.value?.type==="shape"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(id,{key:0,id:"shape-link",label:"Link","model-value":o.value.link,onSave:E,onRemove:C},null,8,["model-value"])),e.createVNode(qe,{id:"shape-outline",modelValue:c.value,"onUpdate:modelValue":b[0]||(b[0]=M=>c.value=M),label:"Outline",onChange:N},null,8,["modelValue"]),e.createVNode(qe,{id:"shape-fill",modelValue:d.value,"onUpdate:modelValue":b[1]||(b[1]=M=>d.value=M),label:"Fill",onChange:S},null,8,["modelValue"]),e.createVNode(ft,{id:"shape-stroke-width",modelValue:u.value,"onUpdate:modelValue":b[2]||(b[2]=M=>u.value=M),label:"Stroke Width",onChange:B},null,8,["modelValue"]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xd,[b[13]||(b[13]=e.createElementVNode("h3",{class:"text-sm font-semibold mb-2 text-ma-text-02"}," Text Overlay ",-1)),e.createVNode($o,{id:"shape-text-content",modelValue:p.value,"onUpdate:modelValue":[b[3]||(b[3]=M=>p.value=M),v],label:"Text"},null,8,["modelValue"]),e.createVNode(Io,{id:"shape-font-family",modelValue:h.value,"onUpdate:modelValue":b[4]||(b[4]=M=>h.value=M),label:"Font Family",options:k},null,8,["modelValue"]),e.createVNode(ft,{id:"shape-font-size",modelValue:y.value,"onUpdate:modelValue":b[5]||(b[5]=M=>y.value=M),label:"Font Size",onChange:R},null,8,["modelValue"]),e.createVNode(qe,{id:"shape-text-color",modelValue:g.value,"onUpdate:modelValue":b[6]||(b[6]=M=>g.value=M),label:"Text Color",onChange:I},null,8,["modelValue"])]))],64)):e.createCommentVNode("",!0),!r.value&&(l.value||o.value?.type==="text")?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode($o,{id:"text-content",modelValue:p.value,"onUpdate:modelValue":[b[7]||(b[7]=M=>p.value=M),v],label:"Content"},null,8,["modelValue"]),e.createVNode(Io,{id:"text-font-family",modelValue:h.value,"onUpdate:modelValue":b[8]||(b[8]=M=>h.value=M),label:"Font Family",options:k},null,8,["modelValue"]),e.createVNode(ft,{id:"text-font-size",modelValue:y.value,"onUpdate:modelValue":b[9]||(b[9]=M=>y.value=M),label:"Font Size",onChange:R},null,8,["modelValue"]),e.createVNode(qe,{id:"text-color",modelValue:g.value,"onUpdate:modelValue":b[10]||(b[10]=M=>g.value=M),label:"Color",onChange:I},null,8,["modelValue"])],64)):e.createCommentVNode("",!0),i.value||o.value?.type==="icon"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(qe,{id:"icon-color",modelValue:x.value,"onUpdate:modelValue":b[11]||(b[11]=M=>x.value=M),label:"Color",onChange:D},null,8,["modelValue"]),e.createVNode(ft,{id:"icon-stroke-width",modelValue:w.value,"onUpdate:modelValue":b[12]||(b[12]=M=>w.value=M),label:"Stroke Width",onChange:F},null,8,["modelValue"])],64)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}}),pt=100,wd=e.defineComponent({__name:"DragGhost",setup(t){const n=Z(),o=Ke(),{zoom:r}=Me.storeToRefs(n),{isDragging:s,draggedShapeType:a,ghostPosition:l,draggedCustomPoints:i}=Me.storeToRefs(o),c=e.computed(()=>({left:`${l.value.x}px`,top:`${l.value.y}px`,width:`${pt}px`,height:`${pt}px`}));return(d,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(s)&&e.unref(a)?(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":"drag-ghost",class:"fixed pointer-events-none z-[9999] opacity-70",style:e.normalizeStyle(c.value)},[e.createVNode(Ge,{width:pt*e.unref(r),height:pt*e.unref(r),"shape-type":e.unref(a),"custom-points":e.unref(i),outline:"var(--ma-primary-600)",fill:"var(--ma-primary-100)"},null,8,["width","height","shape-type","custom-points"])],4)):e.createCommentVNode("",!0)]))}}),kd=e.defineComponent({__name:"CopyButtons",emits:["copy","duplicate"],setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref($),{"data-testid":"context-copy-button",variant:"ghost",size:"icon-sm",title:"Copy",onClick:o[0]||(o[0]=r=>n.$emit("copy"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Cr),{class:"w-4 h-4"})]),_:1}),e.createVNode(e.unref($),{"data-testid":"context-duplicate-button",variant:"ghost",size:"icon-sm",title:"Duplicate",onClick:o[1]||(o[1]=r=>n.$emit("duplicate"))},{default:e.withCtx(()=>[e.createVNode(e.unref(kr),{class:"w-4 h-4"})]),_:1})],64))}}),Cd=e.defineComponent({__name:"RotateButton",emits:["rotate"],setup(t){return(n,o)=>(e.openBlock(),e.createBlock(e.unref($),{"data-testid":"context-rotate-button",variant:"ghost",size:"icon-sm",title:"Rotate 90°",onClick:o[0]||(o[0]=r=>n.$emit("rotate"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Ur),{class:"w-4 h-4"})]),_:1}))}}),Ed=e.defineComponent({__name:"LayeringButtons",emits:["up","down"],setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref($),{"data-testid":"context-up-button",variant:"ghost",size:"icon-sm",title:"Bring to front",onClick:o[0]||(o[0]=r=>n.$emit("up"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ln),{class:"w-4 h-4"})]),_:1}),e.createVNode(e.unref($),{"data-testid":"context-down-button",variant:"ghost",size:"icon-sm",title:"Send to back",onClick:o[1]||(o[1]=r=>n.$emit("down"))},{default:e.withCtx(()=>[e.createVNode(e.unref(an),{class:"w-4 h-4"})]),_:1})],64))}}),Sd=e.defineComponent({__name:"DeleteButton",emits:["delete"],setup(t){return(n,o)=>(e.openBlock(),e.createBlock(e.unref($),{"data-testid":"context-delete-button",variant:"destructive",size:"icon-sm",title:"Delete",onClick:o[0]||(o[0]=r=>n.$emit("delete"))},{default:e.withCtx(()=>[e.createVNode(e.unref(un),{class:"w-4 h-4"})]),_:1}))}}),Bd=e.defineComponent({__name:"ElementContextBar",emits:["copy","duplicate","rotate","delete","up","down"],setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",{"data-testid":"element-context-bar",class:"flex gap-1 p-1 bg-ma-grey-200 border border-ma-grey-300 rounded-lg shadow-lg items-center",onMousedown:o[6]||(o[6]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(kd,{onCopy:o[0]||(o[0]=r=>n.$emit("copy")),onDuplicate:o[1]||(o[1]=r=>n.$emit("duplicate"))}),o[7]||(o[7]=e.createElementVNode("div",{class:"w-px h-4 bg-ma-grey-700 mx-0.5"},null,-1)),e.createVNode(Cd,{onRotate:o[2]||(o[2]=r=>n.$emit("rotate"))}),o[8]||(o[8]=e.createElementVNode("div",{class:"w-px h-4 bg-ma-grey-700 mx-0.5"},null,-1)),e.createVNode(Ed,{onUp:o[3]||(o[3]=r=>n.$emit("up")),onDown:o[4]||(o[4]=r=>n.$emit("down"))}),o[9]||(o[9]=e.createElementVNode("div",{class:"w-px h-4 bg-ma-grey-700 mx-0.5"},null,-1)),e.createVNode(Sd,{onDelete:o[5]||(o[5]=r=>n.$emit("delete"))})],32))}}),_d={key:0,class:"absolute top-0 left-0 w-full h-full pointer-events-none snap-lines","data-testid":"snap-lines-svg"},Vd=["data-testid","x1","y1","x2","y2"],Pd=["data-testid","x1","y1","x2","y2"],Od=((t,n)=>{const o=t.__vccOpts||t;for(const[r,s]of n)o[r]=s;return o})(e.defineComponent({__name:"SnapLines",props:{snapLines:{},zoom:{}},setup(t){return(n,o)=>t.snapLines.length>0?(e.openBlock(),e.createElementBlock("svg",_d,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.snapLines,(r,s)=>(e.openBlock(),e.createElementBlock("g",{key:s},[r.axis==="horizontal"?(e.openBlock(),e.createElementBlock("line",{key:0,"data-testid":`snap-line-horizontal-${s}`,x1:`${r.start*t.zoom}px`,y1:`${r.position*t.zoom}px`,x2:`${r.end*t.zoom}px`,y2:`${r.position*t.zoom}px`},null,8,Vd)):(e.openBlock(),e.createElementBlock("line",{key:1,"data-testid":`snap-line-vertical-${s}`,x1:`${r.position*t.zoom}px`,y1:`${r.start*t.zoom}px`,x2:`${r.position*t.zoom}px`,y2:`${r.end*t.zoom}px`},null,8,Pd))]))),128))])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-c7baf393"]]),Nd={class:"flex items-center gap-1"},zd=e.defineComponent({__name:"FloatingZoomControls",props:{rightSidebarCollapsed:{type:Boolean}},setup(t){const n=t,o=Z(),r=e.computed(()=>n.rightSidebarCollapsed?"right-[50px]":"right-[330px]"),s=()=>{const a=W(),l=document.querySelector('[data-testid="canvas-container"]');l&&o.autoFit(a.elements,l.clientWidth,l.clientHeight)};return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fixed bottom-[50px] z-40 transition-all duration-200 bg-ma-grey-100 border border-ma-grey-300 rounded-md shadow-lg p-2",r.value])},[e.createElementVNode("div",Nd,[e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"zoom-out-button",title:"Zoom out",onClick:l[0]||(l[0]=i=>e.unref(o).zoomOut())},{default:e.withCtx(()=>[e.createVNode(e.unref(dn),{class:"w-4 h-4 text-ma-text-01"})]),_:1}),e.createVNode(e.unref($),{variant:"ghost",size:"sm","data-testid":"zoom-percentage-button",title:"Zoom percentage",class:"min-w-[3.5rem] justify-center px-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).zoomPercentage)+"% ",1)]),_:1}),e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"zoom-in-button",title:"Zoom in",onClick:l[1]||(l[1]=i=>e.unref(o).zoomIn())},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"w-4 h-4 text-ma-text-01"})]),_:1}),e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"reset-zoom-button",title:"Reset zoom",onClick:l[2]||(l[2]=i=>e.unref(o).resetZoom())},{default:e.withCtx(()=>[e.createVNode(e.unref($r),{class:"w-4 h-4 text-ma-text-01"})]),_:1}),e.createVNode(e.unref($),{variant:"ghost",size:"icon-sm","data-testid":"auto-fit-button",title:"Fit automatically",onClick:s},{default:e.withCtx(()=>[e.createVNode(e.unref(Sr),{class:"w-4 h-4 text-ma-text-01"})]),_:1})])],2))}});function Md(){const t=W(),n=Z();return{contextBarStyle:e.computed(()=>{const r=t.selectedElement,s=n.zoom;if(!r)return{};const a=We(r),i=(a.x+a.width/2)*s;let c=a.y*s-64;return c<10&&(c=(a.y+a.height)*s+20),{left:`${i}px`,top:`${c}px`,transform:"translateX(-50%)"}})}}function vd(t){const n=W(),o=s=>{const a=s.ctrlKey||s.metaKey;if(a&&s.key==="s"){s.preventDefault(),t.saveToFile(n.exportSnapshot());return}if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(s.key)&&n.selectedElementIds.length>0){s.preventDefault();const l=s.shiftKey?20:5;let i=0,c=0;switch(s.key){case"ArrowUp":c=-l;break;case"ArrowDown":c=l;break;case"ArrowLeft":i=-l;break;case"ArrowRight":i=l;break}n.selectedElementIds.forEach(d=>{n.updateElementPosition(d,i,c)}),n.saveSnapshot()}a&&s.key==="g"&&!s.shiftKey&&(s.preventDefault(),n.groupSelectedElements()),a&&s.shiftKey&&s.key==="G"&&(s.preventDefault(),n.ungroupSelectedElements())};return window.addEventListener("keydown",o),{cleanup:()=>{window.removeEventListener("keydown",o)}}}function Do(t){const n=We(t),{x:o,y:r,width:s,height:a}=n,{id:l}=t;return[{value:o,type:"left",elementId:l},{value:o+s,type:"right",elementId:l},{value:r,type:"top",elementId:l},{value:r+a,type:"bottom",elementId:l},{value:o+s/2,type:"center-x",elementId:l},{value:r+a/2,type:"center-y",elementId:l}]}function To(t){return t.filter(n=>n.type==="left"||n.type==="right"||n.type==="center-x")}function Ro(t){return t.filter(n=>n.type==="top"||n.type==="bottom"||n.type==="center-y")}function Fo(t,n,o){let r=null,s=1/0;for(const a of n){const l=Math.abs(t-a.value);l<=o&&l<s&&(s=l,r=a)}return r===null?null:{snappedValue:r.value,snapPoint:r}}function Lo(t){const n=t.type==="top"||t.type==="bottom"||t.type==="center-y",o=Z(),r=document.querySelector('[data-testid="canvas-container"]');let s=1e4,a=1e4;return r&&(s=r?.scrollWidth,a=r?.scrollHeight),n?{axis:"horizontal",position:t.value,start:0,end:s/o.zoom}:{axis:"vertical",position:t.value,start:0,end:a/o.zoom}}function Ad(t,n,o){const r=n.filter(x=>x.id!==t.id);if(r.length===0)return{x:t.x,y:t.y,snapLines:[]};const s=Do(t),a=To(s),l=Ro(s),i=r.flatMap(Do),c=To(i),d=Ro(i);let u=t.x,f=null,m=1/0;for(const x of a){const w=Fo(x.value,c,o);if(w){const k=w.snappedValue-x.value;Math.abs(k)<Math.abs(m)&&(m=k,u=t.x+k,f=w.snapPoint)}}let p=t.y,h=null,g=1/0;for(const x of l){const w=Fo(x.value,d,o);if(w){const k=w.snappedValue-x.value;Math.abs(k)<Math.abs(g)&&(g=k,p=t.y+k,h=w.snapPoint)}}const y=[];return f&&y.push(Lo(f)),h&&y.push(Lo(h)),{x:u,y:p,snapLines:y}}const qo=5;function $d(){const t=W(),n=e.ref([]);return{handleDrag:(s,a,l,i)=>{const c=t.elements.find(p=>p.id===s);if(!c)return;const d=c.x+a,u=c.y+l,f={...c,x:d,y:u},m=i?.shiftKey??!1;if(t.selectedElementIds.length===1&&!m){const p=Ad(f,t.topLevelElements,qo);n.value=p.snapLines;const h=p.x-c.x,g=p.y-c.y;t.updateElementPosition(s,h,g)}else n.value=[],t.selectedElementIds.includes(s)?t.selectedElementIds.forEach(p=>{t.updateElementPosition(p,a,l)}):t.updateElementPosition(s,a,l)},handleDragEnd:()=>{n.value=[],t.endDrag()},activeSnapLines:n}}const jo=50;function Id(){const t=W();return{canvasContentSize:e.computed(()=>{if(t.elements.length===0)return{width:0,height:0};const o=Math.max(...t.elements.map(s=>s.x+s.width)),r=Math.max(...t.elements.map(s=>s.y+s.height));return{width:Math.max(0,o+jo),height:Math.max(0,r+jo)}})}}const Dd={"data-testid":"edit-page-container",class:"flex h-screen w-screen overflow-hidden bg-bg-maincontent"},Td={class:"flex flex-col flex-1 relative"},Rd=e.defineComponent({__name:"EditPage",setup(t){const n=W(),o=Ke(),r=Z(),s=e.ref(!1),a=e.ref(!0),{saveToFile:l}=No(),{contextBarStyle:i}=Md(),{cleanup:c}=vd({saveToFile:l}),{handleDrag:d,handleDragEnd:u,activeSnapLines:f}=$d(),{canvasContentSize:m}=Id(),p=e.ref(null);e.onMounted(()=>{p.value?.$el&&o.setCanvasElement(p.value.$el)}),e.onUnmounted(()=>{c()}),e.watch(p,S=>{S?.$el&&o.setCanvasElement(S.$el)}),e.watch(()=>n.selectedElement,S=>{S?a.value=!1:a.value=!0});const h=(S,B)=>{if(B?.ctrlKey)n.toggleElementSelection(S);else{if(n.selectedElementIds.includes(S))return;n.selectElement(S)}},g=()=>{n.selectedElementIds.length>0&&n.deleteSelectedElement()},y=()=>{n.selectElement(null)},x=()=>{n.canUndo&&n.undo()},w=()=>{n.canRedo&&n.redo()},k=(S,B,E,C)=>{const v=n.elements.find(R=>R.id===S);if(!v)return;const I=er(v,B,E,C);if(n.updateElement(S,I,!1),v.type==="group"){const R={x:v.x,y:v.y,width:v.width,height:v.height};tr(v,R,I,n.elements).forEach(F=>n.updateElement(F.id,F.updates,!1))}},N=async(S,B)=>{if(n.selectedElementIds.length>1&&n.selectedElementIds.includes(S))n.selectedElements.forEach(E=>{n.updateElement(E.id,{rotation:(E.rotation+90)%360},!1)});else{const E=n.elements.find(C=>C.id===S);if(!E)return;if(E.type==="group"){const{childUpdates:C,newGroupBounds:v}=nr(E,n.elements);C.forEach(I=>n.updateElement(I.id,I.updates,!1)),n.updateElement(E.id,v,!1)}else n.updateElement(S,{rotation:(B+90)%360},!1)}n.saveSnapshot()};return(S,B)=>(e.openBlock(),e.createElementBlock("div",Dd,[e.createVNode(Wc,{"is-collapsed":s.value},null,8,["is-collapsed"]),e.createElementVNode("div",Td,[e.createVNode(Oo,{side:"left","is-collapsed":s.value,onToggle:B[0]||(B[0]=E=>s.value=!s.value)},null,8,["is-collapsed"]),e.unref(n).selectedElement?(e.openBlock(),e.createBlock(Oo,{key:0,side:"right","is-collapsed":a.value,onToggle:B[1]||(B[1]=E=>a.value=!a.value)},null,8,["is-collapsed"])):e.createCommentVNode("",!0),e.createVNode(en,{ref_key:"canvasRef",ref:p,"content-width":e.unref(m).width,"content-height":e.unref(m).height,onCanvasClick:y,onDeleteSelected:g,onCopySelected:B[12]||(B[12]=E=>e.unref(n).copySelectedElement()),onPaste:B[13]||(B[13]=E=>e.unref(n).pasteElement()),onDuplicate:B[14]||(B[14]=E=>e.unref(n).duplicateSelectedElement()),onUndo:x,onRedo:w},{overlay:e.withCtx(()=>[e.createVNode(Od,{"snap-lines":e.unref(f),zoom:e.unref(r).zoom},null,8,["snap-lines","zoom"]),e.unref(n).selectedElement?(e.openBlock(),e.createBlock(Bd,{key:0,element:e.unref(n).selectedElement,style:e.normalizeStyle(e.unref(i)),class:"absolute z-50 pointer-events-auto",onCopy:B[6]||(B[6]=E=>e.unref(n).copySelectedElement()),onDuplicate:B[7]||(B[7]=E=>e.unref(n).duplicateSelectedElement()),onRotate:B[8]||(B[8]=E=>N(e.unref(n).selectedElement.id,e.unref(n).selectedElement.rotation)),onDelete:B[9]||(B[9]=E=>e.unref(n).deleteSelectedElement()),onUp:B[10]||(B[10]=E=>e.unref(n).bringToFront()),onDown:B[11]||(B[11]=E=>e.unref(n).bringToBack())},null,8,["element","style"])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).sortedElements,E=>(e.openBlock(),e.createBlock(yn,{key:E.id,element:E,selected:e.unref(n).selectedElementIds.includes(E.id),onSelect:C=>h(E.id,C),onDrag:(C,v,I)=>e.unref(d)(E.id,C,v,I),onDragEnd:e.unref(u),onResize:(C,v,I)=>k(E.id,C,v,I),onResizeEnd:B[2]||(B[2]=C=>e.unref(n).endResize()),onRotate:C=>N(E.id,E.rotation),onDelete:B[3]||(B[3]=C=>e.unref(n).deleteSelectedElement()),onCopy:B[4]||(B[4]=C=>e.unref(n).copySelectedElement()),onDuplicate:B[5]||(B[5]=C=>e.unref(n).duplicateSelectedElement())},null,8,["element","selected","onSelect","onDrag","onDragEnd","onResize","onRotate"]))),128))]),_:1},8,["content-width","content-height"])]),e.createVNode(bd,{"is-collapsed":a.value},null,8,["is-collapsed"]),e.createVNode(zd,{"right-sidebar-collapsed":a.value},null,8,["right-sidebar-collapsed"]),e.createVNode(wd)]))}});H.EditPage=Rd,H.ElementWrapper=yn,H.GridCanvas=en,H.SNAP_THRESHOLD=qo,H.useDragStore=Ke,H.useElementsStore=W,H.useZoomStore=Z,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})}));