@cmmd-center/forge 0.14.1 → 0.14.2

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.
Files changed (71) hide show
  1. package/dist/bin.cjs +487 -41
  2. package/dist/bin.mjs +511 -65
  3. package/dist/client/assets/{CanvasPanel-BeSvnc85.js → CanvasPanel-Bk1rL0LG.js} +3 -3
  4. package/dist/client/assets/CompositeItem-D1GrQhpu.js +2 -0
  5. package/dist/client/assets/CompositeList-CEBk8sf_.js +2 -0
  6. package/dist/client/assets/DiffPanel-jC25MVg8.js +64 -0
  7. package/dist/client/assets/{DiffPanel.logic-CAb-hngG.js → DiffPanel.logic-DHo4jHZM.js} +6 -6
  8. package/dist/client/assets/{DiffWorkerPoolProvider-BbyQb-ye.js → DiffWorkerPoolProvider-r1DUfA1d.js} +10 -10
  9. package/dist/client/assets/Effect-CyyMOw4X.js +15 -0
  10. package/dist/client/assets/PullRequestCodePanel-BWuWxI6X.js +5 -0
  11. package/dist/client/assets/Schema-8EGdYSms.js +3 -0
  12. package/dist/client/assets/Stream-Bvl2Z6qI.js +2 -0
  13. package/dist/client/assets/ThemeEditorPanel-BOkxNR3t.js +2 -0
  14. package/dist/client/assets/Virtualizer-DOL71mrP.js +2 -0
  15. package/dist/client/assets/WorkerPoolContext-gI2-7Koc.js +2538 -0
  16. package/dist/client/assets/activeOrganizationId-CySrJzMX.js +2 -0
  17. package/dist/client/assets/atomRegistry-CzI2zp7d.js +3 -0
  18. package/dist/client/assets/{canvasStateStore-DYt9MgFu.js → canvasStateStore-dUmp5NFj.js} +2 -2
  19. package/dist/client/assets/chevron-left-BXpfeqsT.js +2 -0
  20. package/dist/client/assets/chevron-right-B103tjaJ.js +2 -0
  21. package/dist/client/assets/cmmdAuthRedirect-CHlAAdAc.js +3 -0
  22. package/dist/client/assets/cmmdEmbedMode-DhVvltxi.js +2 -0
  23. package/dist/client/assets/currentForgeWorkspaceStore-eKCBxKgv.js +2 -0
  24. package/dist/client/assets/dialog-BfhVD7Kq.js +2 -0
  25. package/dist/client/assets/getPseudoElementBounds-DBf0dPO9.js +2 -0
  26. package/dist/client/assets/index-BS4FABiE.js +301 -0
  27. package/dist/client/assets/minus-CbEeUDFT.js +2 -0
  28. package/dist/client/assets/popover-D8qvi5AD.js +2 -0
  29. package/dist/client/assets/{react-D4GEJ3ir.js → react-A0DLYjwn.js} +2 -2
  30. package/dist/client/assets/scroll-area-BDuz0PnB.js +2 -0
  31. package/dist/client/assets/sidebarV2CustomSnoozeDialog-pxOuwuY2.js +2 -0
  32. package/dist/client/assets/src-7C4X1Oy2.js +2 -0
  33. package/dist/client/assets/switch-BeaQwtm7.js +2 -0
  34. package/dist/client/assets/{themePalette-BWvBK22X.js → themePalette-D4rx0k29.js} +2 -2
  35. package/dist/client/assets/toggle--uJ9LmDV.js +2 -0
  36. package/dist/client/assets/toggle-group-6UcL78FY.js +2 -0
  37. package/dist/client/assets/tooltip-C_eHCky0.js +2 -0
  38. package/dist/client/assets/useOpenInteractionType-BFjAYgzR.js +2 -0
  39. package/dist/client/assets/{workspaceReadinessAtom-D6bgTvKb.js → workspaceReadinessAtom-BIm13kLJ.js} +2 -2
  40. package/dist/client/index.html +33 -31
  41. package/dist/forge-build.json +1 -1
  42. package/dist/{open-yHTUkd2Y.mjs → open-2-reBrpv.mjs} +3 -3
  43. package/package.json +1 -1
  44. package/dist/client/assets/CompositeItem-DTyKsv13.js +0 -2
  45. package/dist/client/assets/CompositeList-Bc8TYCyy.js +0 -2
  46. package/dist/client/assets/DiffPanel-3EEekk0W.js +0 -64
  47. package/dist/client/assets/PullRequestCodePanel--fricLiS.js +0 -5
  48. package/dist/client/assets/Stream-mUTFnSY9.js +0 -15
  49. package/dist/client/assets/ThemeEditorPanel-BCJuZ6ai.js +0 -2
  50. package/dist/client/assets/Virtualizer-DX75f7Mw.js +0 -2
  51. package/dist/client/assets/WorkerPoolContext-D_2lN-9Y.js +0 -1533
  52. package/dist/client/assets/atomRegistry-C1yW8tyM.js +0 -3
  53. package/dist/client/assets/chevron-left-1XbEOuXj.js +0 -2
  54. package/dist/client/assets/chevron-right-DAF000Jz.js +0 -2
  55. package/dist/client/assets/cmmdAuthRedirect-DRkKjx0G.js +0 -3
  56. package/dist/client/assets/cmmdForgeRuntimeListResource-Df9wlF4U.js +0 -1008
  57. package/dist/client/assets/currentForgeWorkspaceStore-CiCPSq18.js +0 -2
  58. package/dist/client/assets/dialog-C0bK23D8.js +0 -2
  59. package/dist/client/assets/getPseudoElementBounds-DJTX-eyW.js +0 -2
  60. package/dist/client/assets/index-BHReJBiJ.js +0 -301
  61. package/dist/client/assets/minus-_j91i8bf.js +0 -2
  62. package/dist/client/assets/popover-ClRgm7hB.js +0 -2
  63. package/dist/client/assets/scroll-area-BHqISEYq.js +0 -2
  64. package/dist/client/assets/sidebarV2CustomSnoozeDialog-lbAJoff_.js +0 -2
  65. package/dist/client/assets/src-B_wrKHuq.js +0 -3
  66. package/dist/client/assets/switch-BWQHMJkU.js +0 -2
  67. package/dist/client/assets/toggle-CORC1vE9.js +0 -2
  68. package/dist/client/assets/toggle-group-C9nAr6VB.js +0 -2
  69. package/dist/client/assets/tooltip-CrS-TEbN.js +0 -2
  70. package/dist/client/assets/useOpenInteractionType-KsRrk6uH.js +0 -2
  71. package/dist/client/assets/utils-xQJ3ak-X.js +0 -2
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jspdf.es.min-Hx4pHu4X.js","assets/rolldown-runtime-hePW80VL.js","assets/preload-helper-Czpn1I53.js","assets/typeof-B5XbjTb1.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t,Ua as n,Wa as r}from"./Stream-mUTFnSY9.js";import{Pt as i}from"./useOpenInteractionType-KsRrk6uH.js";import{dn as a}from"./CompositeItem-DTyKsv13.js";import{t as o}from"./preload-helper-Czpn1I53.js";import{t as s}from"./debouncer-BEV7Iuwb.js";import{_ as c,a as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w,v as T,y as E}from"./canvasStateStore-DYt9MgFu.js";import{i as D,r as O,t as k,y as A}from"./popover-ClRgm7hB.js";import{t as j}from"./minus-_j91i8bf.js";import{i as M,n as N,s as P,t as F}from"./tooltip-CrS-TEbN.js";import{t as I}from"./toggle-CORC1vE9.js";var ee=a(`file-code`,[[`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 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),L=a(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),R=a(`hexagon`,[[`path`,{d:`M21 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.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}]]),te=a(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),z=a(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),ne=a(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),re=a(`maximize`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),ie=a(`mouse-pointer`,[[`path`,{d:`M12.586 12.586 19 19`,key:`ea5xo7`}],[`path`,{d:`M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z`,key:`277e5u`}]]),ae=a(`pen`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),oe=a(`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`}]]),se=a(`trash`,[[`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`}]]),ce=a(`wand`,[[`path`,{d:`M15 4V2`,key:`z1p9b7`}],[`path`,{d:`M15 16v-2`,key:`px0unx`}],[`path`,{d:`M8 9h2`,key:`1g203m`}],[`path`,{d:`M20 9h2`,key:`19tzq7`}],[`path`,{d:`M17.8 11.8 19 13`,key:`yihg8r`}],[`path`,{d:`M15 9h.01`,key:`x1ddxp`}],[`path`,{d:`M17.8 6.2 19 5`,key:`fd4us0`}],[`path`,{d:`m3 21 9-9`,key:`1jfql5`}],[`path`,{d:`M12.2 6.2 11 5`,key:`i3da3b`}]]),le=a(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),ue=a(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),B=e(r(),1),de=[{id:`instagram-post`,label:`Instagram Post`,category:`Social Media`,width:1080,height:1080},{id:`instagram-story`,label:`Instagram Story`,category:`Social Media`,width:1080,height:1920},{id:`facebook-cover`,label:`Facebook Cover`,category:`Social Media`,width:820,height:312},{id:`linkedin-banner`,label:`LinkedIn Banner`,category:`Social Media`,width:1584,height:396},{id:`twitter-post`,label:`Twitter/X Post`,category:`Social Media`,width:1200,height:675},{id:`youtube-thumbnail`,label:`YouTube Thumbnail`,category:`Social Media`,width:1280,height:720},{id:`presentation`,label:`Presentation 16:9`,category:`Presentation`,width:1920,height:1080},{id:`a4`,label:`A4`,category:`Print`,width:2480,height:3508},{id:`us-letter`,label:`US Letter`,category:`Print`,width:2550,height:3300},{id:`business-card`,label:`Business Card`,category:`Print`,width:1050,height:600},{id:`invoice`,label:`Invoice`,category:`Documents`,width:2480,height:3508}],fe=new Map(de.map(e=>[e.id,e]));[...new Set(de.map(e=>e.category))];function pe(){let e=new Map;for(let t of de){let n=e.get(t.category)??[];n.push(t),e.set(t.category,n)}return e}function me(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)}function he(e,t){let n=URL.createObjectURL(e);me(n,t),URL.revokeObjectURL(n)}function ge(e,t,n,r,i=40){let a=n-i*2,o=r-i*2,s=Math.min(a/e,o/t,1),c=e*s,l=t*s;return{scale:s,offsetX:(n-c)/2,offsetY:(r-l)/2}}function _e(e){return Math.min(e*1.25,5)}function ve(e){return Math.max(e/1.25,.1)}function ye(e,t){return{rect:`Rectangle`,circle:`Circle`,line:`Line`,polygon:`Polygon`,textbox:`Text`,"i-text":`Text`,image:`Image`,path:`Drawing`,group:`Group`}[e]??`Object ${t+1}`}var be=Object.defineProperty,xe=(e,t)=>{let n={};for(var r in e)be(n,r,{get:e[r],enumerable:!0});return t||be(n,Symbol.toStringTag,{value:`Module`}),n};function Se(e){return Se=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Se(e)}function Ce(e){var t=function(e,t){if(Se(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Se(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}(e,`string`);return Se(t)==`symbol`?t:t+``}function V(e,t,n){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var we=class{constructor(){V(this,`browserShadowBlurConstant`,1),V(this,`DPI`,96),V(this,`devicePixelRatio`,typeof window<`u`?window.devicePixelRatio:1),V(this,`perfLimitSizeTotal`,2097152),V(this,`maxCacheSideLimit`,4096),V(this,`minCacheSideLimit`,256),V(this,`disableStyleCopyPaste`,!1),V(this,`enableGLFiltering`,!0),V(this,`textureSize`,4096),V(this,`forceGLPutImageData`,!1),V(this,`cachesBoundsOfCurve`,!1),V(this,`fontPaths`,{}),V(this,`NUM_FRACTION_DIGITS`,4)}},H=new class extends we{constructor(e){super(),this.configure(e)}configure(e={}){Object.assign(this,e)}addFonts(e={}){this.fontPaths={...this.fontPaths,...e}}removeFonts(e=[]){e.forEach(e=>{delete this.fontPaths[e]})}clearFonts(){this.fontPaths={}}restoreDefaults(e){let t=new we,n=e?.reduce((e,n)=>(e[n]=t[n],e),{})||t;this.configure(n)}},Te=(e,...t)=>console[e](`fabric`,...t),Ee=class extends Error{constructor(e,t){super(`fabric: ${e}`,t)}},De=class extends Ee{constructor(e){super(`${e} 'options.signal' is in 'aborted' state`)}},Oe=class{},ke=class extends Oe{testPrecision(e,t){let n=`precision ${t} float;\nvoid main(){}`,r=e.createShader(e.FRAGMENT_SHADER);return!!r&&(e.shaderSource(r,n),e.compileShader(r),!!e.getShaderParameter(r,e.COMPILE_STATUS))}queryWebGL(e){let t=e.getContext(`webgl`);t&&(this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),this.GLPrecision=[`highp`,`mediump`,`lowp`].find(e=>this.testPrecision(t,e)),t.getExtension(`WEBGL_lose_context`).loseContext(),Te(`log`,`WebGL: max texture size ${this.maxTextureSize}`))}isSupported(e){return!!this.maxTextureSize&&this.maxTextureSize>=e}},Ae={},je,U=()=>je||={document,window,isTouchSupported:`ontouchstart`in window||`ontouchstart`in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new ke,dispose(){},copyPasteData:Ae},Me=()=>U().document,Ne=()=>U().window,Pe=()=>Math.max(H.devicePixelRatio??Ne().devicePixelRatio,1),Fe=new class{constructor(){V(this,`boundsOfCurveCache`,{}),this.charWidthsCache=new Map}getFontCache({fontFamily:e,fontStyle:t,fontWeight:n}){e=e.toLowerCase();let r=this.charWidthsCache;r.has(e)||r.set(e,new Map);let i=r.get(e),a=`${t.toLowerCase()}_${(n+``).toLowerCase()}`;return i.has(a)||i.set(a,new Map),i.get(a)}clearFontCache(e){e?this.charWidthsCache.delete((e||``).toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(e){let{perfLimitSizeTotal:t}=H,n=Math.sqrt(t*e);return[Math.floor(n),Math.floor(t/n)]}},Ie=`7.4.0`;function Le(){}var Re=Math.PI/2,ze=Math.PI/4,Be=2*Math.PI,Ve=Math.PI/180,He=Object.freeze([1,0,0,1,0,0]),W=`center`,G=`left`,Ue=`bottom`,We=`right`,Ge=`none`,Ke=/\r?\n/,qe=`moving`,Je=`scaling`,Ye=`rotating`,Xe=`rotate`,Ze=`skewing`,Qe=`resizing`,$e=`modifyPoly`,et=`changed`,tt=`scale`,nt=`scaleX`,rt=`scaleY`,it=`skewX`,at=`skewY`,ot=`fill`,st=`stroke`,ct=`modified`,lt=`normal`,ut=`json`,K=new class{constructor(){this[ut]=new Map,this.svg=new Map}has(e){return this[ut].has(e)}getClass(e){let t=this[ut].get(e);if(!t)throw new Ee(`No class registered for ${e}`);return t}setClass(e,t){t?this[ut].set(t,e):(this[ut].set(e.type,e),this[ut].set(e.type.toLowerCase(),e))}getSVGClass(e){return this.svg.get(e)}setSVGClass(e,t){this.svg.set(t??e.type.toLowerCase(),e)}},dt=new class extends Array{remove(e){let t=this.indexOf(e);t>-1&&this.splice(t,1)}cancelAll(){let e=this.splice(0);return e.forEach(e=>e.abort()),e}cancelByCanvas(e){if(!e)return[];let t=this.filter(t=>t.target===e||typeof t.target==`object`&&t.target?.canvas===e);return t.forEach(e=>e.abort()),t}cancelByTarget(e){if(!e)return[];let t=this.filter(t=>t.target===e);return t.forEach(e=>e.abort()),t}},ft=class{constructor(){V(this,`__eventListeners`,{})}on(e,t){if(this.__eventListeners||={},typeof e==`object`)return Object.entries(e).forEach(([e,t])=>{this.on(e,t)}),()=>this.off(e);if(t){let n=e;return this.__eventListeners[n]||(this.__eventListeners[n]=[]),this.__eventListeners[n].push(t),()=>this.off(n,t)}return()=>!1}once(e,t){if(typeof e==`object`){let t=[];return Object.entries(e).forEach(([e,n])=>{t.push(this.once(e,n))}),()=>t.forEach(e=>e())}if(t){let n=this.on(e,function(...e){t.call(this,...e),n()});return n}return()=>!1}_removeEventListener(e,t){if(this.__eventListeners[e])if(t){let n=this.__eventListeners[e],r=n.indexOf(t);r>-1&&n.splice(r,1)}else this.__eventListeners[e]=[]}off(e,t){if(this.__eventListeners)if(e===void 0)for(let e in this.__eventListeners)this._removeEventListener(e);else typeof e==`object`?Object.entries(e).forEach(([e,t])=>{this._removeEventListener(e,t)}):this._removeEventListener(e,t)}fire(e,t){if(!this.__eventListeners)return;let n=this.__eventListeners[e]?.concat();if(n)for(let e=0;e<n.length;e++)n[e].call(this,t||{})}},pt=(e,t)=>{let n=e.indexOf(t);return n!==-1&&e.splice(n,1),e},mt=e=>{if(e===0)return 1;switch(Math.abs(e)/Re){case 1:case 3:return 0;case 2:return-1}return Math.cos(e)},ht=e=>{if(e===0)return 0;let t=e/Re,n=Math.sign(e);switch(t){case 1:return n;case 2:return 0;case 3:return-n}return Math.sin(e)},q=class e{constructor(e=0,t=0){typeof e==`object`?(this.x=e.x,this.y=e.y):(this.x=e,this.y=t)}add(t){return new e(this.x+t.x,this.y+t.y)}addEquals(e){return this.x+=e.x,this.y+=e.y,this}scalarAdd(t){return new e(this.x+t,this.y+t)}scalarAddEquals(e){return this.x+=e,this.y+=e,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}subtractEquals(e){return this.x-=e.x,this.y-=e.y,this}scalarSubtract(t){return new e(this.x-t,this.y-t)}scalarSubtractEquals(e){return this.x-=e,this.y-=e,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new e(this.x*t,this.y*t)}scalarMultiplyEquals(e){return this.x*=e,this.y*=e,this}divide(t){return new e(this.x/t.x,this.y/t.y)}scalarDivide(t){return new e(this.x/t,this.y/t)}scalarDivideEquals(e){return this.x/=e,this.y/=e,this}eq(e){return this.x===e.x&&this.y===e.y}lt(e){return this.x<e.x&&this.y<e.y}lte(e){return this.x<=e.x&&this.y<=e.y}gt(e){return this.x>e.x&&this.y>e.y}gte(e){return this.x>=e.x&&this.y>=e.y}lerp(t,n=.5){return n=Math.max(Math.min(1,n),0),new e(this.x+(t.x-this.x)*n,this.y+(t.y-this.y)*n)}distanceFrom(e){let t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)}midPointFrom(e){return this.lerp(e)}min(t){return new e(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new e(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return`${this.x},${this.y}`}setXY(e,t){return this.x=e,this.y=t,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setFromPoint(e){return this.x=e.x,this.y=e.y,this}swap(e){let t=this.x,n=this.y;this.x=e.x,this.y=e.y,e.x=t,e.y=n}clone(){return new e(this.x,this.y)}rotate(t,n=gt){let r=ht(t),i=mt(t),a=this.subtract(n);return new e(a.x*i-a.y*r,a.x*r+a.y*i).add(n)}transform(t,n=!1){return new e(t[0]*this.x+t[2]*this.y+(n?0:t[4]),t[1]*this.x+t[3]*this.y+(n?0:t[5]))}},gt=new q(0,0),_t=e=>!!e&&Array.isArray(e._objects);function vt(e){class t extends e{constructor(...e){super(...e),V(this,`_objects`,[])}_onObjectAdded(e){}_onObjectRemoved(e){}_onStackOrderChanged(e){}add(...e){let t=this._objects.push(...e);return e.forEach(e=>this._onObjectAdded(e)),t}insertAt(e,...t){return this._objects.splice(e,0,...t),t.forEach(e=>this._onObjectAdded(e)),this._objects.length}remove(...e){let t=this._objects,n=[];return e.forEach(e=>{let r=t.indexOf(e);r!==-1&&(t.splice(r,1),n.push(e),this._onObjectRemoved(e))}),n}forEachObject(e){this.getObjects().forEach((t,n,r)=>e(t,n,r))}getObjects(...e){return e.length===0?[...this._objects]:this._objects.filter(t=>t.isType(...e))}item(e){return this._objects[e]}isEmpty(){return this._objects.length===0}size(){return this._objects.length}contains(e,n){return!!this._objects.includes(e)||!!n&&this._objects.some(n=>n instanceof t&&n.contains(e,!0))}complexity(){return this._objects.reduce((e,t)=>e+=t.complexity?t.complexity():0,0)}sendObjectToBack(e){return!(!e||e===this._objects[0])&&(pt(this._objects,e),this._objects.unshift(e),this._onStackOrderChanged(e),!0)}bringObjectToFront(e){return!(!e||e===this._objects[this._objects.length-1])&&(pt(this._objects,e),this._objects.push(e),this._onStackOrderChanged(e),!0)}sendObjectBackwards(e,t){if(!e)return!1;let n=this._objects.indexOf(e);if(n!==0){let r=this.findNewLowerIndex(e,n,t);return pt(this._objects,e),this._objects.splice(r,0,e),this._onStackOrderChanged(e),!0}return!1}bringObjectForward(e,t){if(!e)return!1;let n=this._objects.indexOf(e);if(n!==this._objects.length-1){let r=this.findNewUpperIndex(e,n,t);return pt(this._objects,e),this._objects.splice(r,0,e),this._onStackOrderChanged(e),!0}return!1}moveObjectTo(e,t){return e!==this._objects[t]&&(pt(this._objects,e),this._objects.splice(t,0,e),this._onStackOrderChanged(e),!0)}findNewLowerIndex(e,t,n){let r;if(n){r=t;for(let n=t-1;n>=0;--n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t-1;return r}findNewUpperIndex(e,t,n){let r;if(n){r=t;for(let n=t+1;n<this._objects.length;++n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t+1;return r}collectObjects({left:e,top:t,width:n,height:r},{includeIntersecting:i=!0}={}){let a=[],o=new q(e,t),s=o.add(new q(n,r));for(let e=this._objects.length-1;e>=0;e--){let t=this._objects[e];t.selectable&&t.visible&&(i&&t.intersectsWithRect(o,s)||t.isContainedWithinRect(o,s)||i&&t.containsPoint(o)||i&&t.containsPoint(s))&&a.push(t)}return a}}return t}var yt=class extends ft{_setOptions(e={}){for(let t in e)this.set(t,e[t])}_setObject(e){for(let t in e)this._set(t,e[t])}set(e,t){return typeof e==`object`?this._setObject(e):this._set(e,t),this}_set(e,t){this[e]=t}toggle(e){let t=this.get(e);return typeof t==`boolean`&&this.set(e,!t),this}get(e){return this[e]}};function bt(e){return Ne().requestAnimationFrame(e)}function xt(e){return Ne().cancelAnimationFrame(e)}var St=0,Ct=()=>St++,wt=()=>{let e=Me().createElement(`canvas`);if(!e||e.getContext===void 0)throw new Ee("Failed to create `canvas` element");return e},Tt=()=>Me().createElement(`img`),Et=e=>{var t;let n=Dt(e);return(t=n.getContext(`2d`))==null||t.drawImage(e,0,0),n},Dt=e=>{let t=wt();return t.width=e.width,t.height=e.height,t},Ot=(e,t,n)=>e.toDataURL(`image/${t}`,n),kt=(e,t,n)=>new Promise((r,i)=>{e.toBlob(r,`image/${t}`,n)}),J=e=>e*Ve,At=e=>e/Ve,jt=e=>e.every((e,t)=>e===He[t]),Mt=(e,t,n)=>new q(e).transform(t,n),Nt=e=>{let t=1/(e[0]*e[3]-e[1]*e[2]),n=[t*e[3],-t*e[1],-t*e[2],t*e[0],0,0],{x:r,y:i}=new q(e[4],e[5]).transform(n,!0);return n[4]=-r,n[5]=-i,n},Y=(e,t,n)=>[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],n?0:e[0]*t[4]+e[2]*t[5]+e[4],n?0:e[1]*t[4]+e[3]*t[5]+e[5]],Pt=(e,t)=>e.reduceRight((e,n)=>n&&e?Y(n,e,t):n||e,void 0)||He.concat(),Ft=([e,t])=>Math.atan2(t,e),It=([e,t])=>Math.sqrt(e*e+t*t),Lt=([,,e,t])=>Math.sqrt(e*e+t*t),Rt=e=>{let t=Ft(e),n=e[0]**2+e[1]**2,r=Math.sqrt(n),i=(e[0]*e[3]-e[2]*e[1])/r,a=Math.atan2(e[0]*e[2]+e[1]*e[3],n);return{angle:At(t),scaleX:r,scaleY:i,skewX:At(a),skewY:0,translateX:e[4]||0,translateY:e[5]||0}},zt=(e,t=0)=>[1,0,0,1,e,t];function Bt({angle:e=0}={},{x:t=0,y:n=0}={}){let r=J(e),i=mt(r),a=ht(r);return[i,a,-a,i,t?t-(i*t-a*n):0,n?n-(a*t+i*n):0]}var Vt=(e,t=e)=>[e,0,0,t,0,0],Ht=e=>Math.tan(J(e)),Ut=e=>[1,0,Ht(e),1,0,0],Wt=e=>[1,Ht(e),0,1,0,0],Gt=({scaleX:e=1,scaleY:t=1,flipX:n=!1,flipY:r=!1,skewX:i=0,skewY:a=0})=>{let o=Vt(n?-e:e,r?-t:t);return i&&(o=Y(o,Ut(i),!0)),a&&(o=Y(o,Wt(a),!0)),o},Kt=e=>{let{translateX:t=0,translateY:n=0,angle:r=0}=e,i=zt(t,n);r&&(i=Y(i,Bt({angle:r})));let a=Gt(e);return jt(a)||(i=Y(i,a)),i},qt=(e,{signal:t,crossOrigin:n=null}={})=>new Promise(function(r,i){if(t&&t.aborted)return i(new De(`loadImage`));let a=Tt(),o;t&&(o=function(e){a.src=``,i(e)},t.addEventListener(`abort`,o,{once:!0}));let s=function(){a.onload=a.onerror=null,o&&t?.removeEventListener(`abort`,o),r(a)};e?(a.onload=s,a.onerror=function(){o&&t?.removeEventListener(`abort`,o),i(new Ee(`Error loading ${a.src}`))},n&&(a.crossOrigin=n),a.src=e):s()}),Jt=(e,{signal:t,reviver:n=Le}={})=>new Promise((r,i)=>{let a=[];t&&t.addEventListener(`abort`,i,{once:!0}),Promise.allSettled(e.map(e=>K.getClass(e.type).fromObject(e,{signal:t}))).then(async t=>{for(let[r,i]of t.entries())if(i.status===`fulfilled`&&(await n(e[r],i.value),a.push(i.value)),i.status===`rejected`){let t=await n(e[r],void 0,i.reason);t&&a.push(t)}r(a)}).catch(e=>{a.forEach(e=>{e.dispose&&e.dispose()}),i(e)}).finally(()=>{t&&t.removeEventListener(`abort`,i)})}),Yt=(e,{signal:t}={})=>new Promise((n,r)=>{let i=[];t&&t.addEventListener(`abort`,r,{once:!0});let a=Object.values(e).map(e=>e&&e.type&&K.has(e.type)?Jt([e],{signal:t}).then(([e])=>(i.push(e),e)):e),o=Object.keys(e);Promise.all(a).then(e=>e.reduce((e,t,n)=>(e[o[n]]=t,e),{})).then(n).catch(e=>{i.forEach(e=>{e.dispose&&e.dispose()}),r(e)}).finally(()=>{t&&t.removeEventListener(`abort`,r)})}),Xt=(e,t=[])=>t.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{}),Zt=(e,t)=>Object.keys(e).reduce((n,r)=>(t(e[r],r,e)&&(n[r]=e[r]),n),{}),X=(e,t)=>parseFloat(Number(e).toFixed(t)),Qt=e=>`matrix(`+e.map(e=>X(e,H.NUM_FRACTION_DIGITS)).join(` `)+`)`,$t=e=>!!e&&e.toLive!==void 0,en=e=>!!e&&typeof e.toObject==`function`,tn=e=>!!e&&e.offsetX!==void 0&&`source`in e,nn=e=>!!e&&`multiSelectionStacking`in e;function rn(e){let t=e&&an(e),n=0,r=0;if(!e||!t)return{left:n,top:r};let i=e,a=t.documentElement,o=t.body||{scrollLeft:0,scrollTop:0};for(;i&&(i.parentNode||i.host)&&(i=i.parentNode||i.host,i===t?(n=o.scrollLeft||a.scrollLeft||0,r=o.scrollTop||a.scrollTop||0):(n+=i.scrollLeft||0,r+=i.scrollTop||0),i.nodeType!==1||i.style.position!==`fixed`););return{left:n,top:r}}var an=e=>e.ownerDocument||null,on=e=>e.ownerDocument?.defaultView||null,sn=(e,t,{width:n,height:r},i=1)=>{e.width=n,e.height=r,i>1&&(e.setAttribute(`width`,(n*i).toString()),e.setAttribute(`height`,(r*i).toString()),t.scale(i,i))},cn=(e,{width:t,height:n})=>{t&&(e.style.width=typeof t==`number`?`${t}px`:t),n&&(e.style.height=typeof n==`number`?`${n}px`:n)};function ln(e){return e.onselectstart!==void 0&&(e.onselectstart=()=>!1),e.style.userSelect=Ge,e}var un=class{constructor(e){V(this,`_originalCanvasStyle`,void 0),V(this,`lower`,void 0);let t=this.createLowerCanvas(e);this.lower={el:t,ctx:t.getContext(`2d`)}}createLowerCanvas(e){let t=(n=e)&&n.getContext!==void 0?e:e&&Me().getElementById(e)||wt();var n;if(t.hasAttribute(`data-fabric`))throw new Ee(`Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?`);return this._originalCanvasStyle=t.style.cssText,t.setAttribute(`data-fabric`,`main`),t.classList.add(`lower-canvas`),t}cleanupDOM({width:e,height:t}){let{el:n}=this.lower;n.classList.remove(`lower-canvas`),n.removeAttribute(`data-fabric`),n.setAttribute(`width`,`${e}`),n.setAttribute(`height`,`${t}`),n.style.cssText=this._originalCanvasStyle||``,this._originalCanvasStyle=void 0}setDimensions(e,t){let{el:n,ctx:r}=this.lower;sn(n,r,e,t)}setCSSDimensions(e){cn(this.lower.el,e)}calcOffset(){return function(e){let t=e&&an(e),n={left:0,top:0};if(!t)return n;let r=on(e)?.getComputedStyle(e,null)||{};n.left+=parseInt(r.borderLeftWidth,10)||0,n.top+=parseInt(r.borderTopWidth,10)||0,n.left+=parseInt(r.paddingLeft,10)||0,n.top+=parseInt(r.paddingTop,10)||0;let i={left:0,top:0},a=t.documentElement;e.getBoundingClientRect!==void 0&&(i=e.getBoundingClientRect());let o=rn(e);return{left:i.left+o.left-(a.clientLeft||0)+n.left,top:i.top+o.top-(a.clientTop||0)+n.top}}(this.lower.el)}dispose(){U().dispose(this.lower.el),delete this.lower}},dn={backgroundVpt:!0,backgroundColor:``,overlayVpt:!0,overlayColor:``,includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...He],patternQuality:`best`},fn=xe({capitalize:()=>pn,escapeXml:()=>Z,graphemeSplit:()=>hn}),pn=(e,t=!1)=>`${e.charAt(0).toUpperCase()}${t?e.slice(1):e.slice(1).toLowerCase()}`,Z=e=>e.toString().replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),mn,hn=e=>{if(mn||mn||(mn=`Intl`in Ne()&&`Segmenter`in Intl&&new Intl.Segmenter(void 0,{granularity:`grapheme`})),mn){let t=mn.segment(e);return Array.from(t).map(({segment:e})=>e)}return gn(e)},gn=e=>{let t=[];for(let n,r=0;r<e.length;r++)!1!==(n=_n(e,r))&&t.push(n);return t},_n=(e,t)=>{let n=e.charCodeAt(t);if(isNaN(n))return``;if(n<55296||n>57343)return e.charAt(t);if(55296<=n&&n<=56319){if(e.length<=t+1)throw`High surrogate without following low surrogate`;let n=e.charCodeAt(t+1);if(56320>n||n>57343)throw`High surrogate without following low surrogate`;return e.charAt(t)+e.charAt(t+1)}if(t===0)throw`Low surrogate without preceding high surrogate`;let r=e.charCodeAt(t-1);if(55296>r||r>56319)throw`Low surrogate without preceding high surrogate`;return!1},vn=class e extends vt(yt){get lowerCanvasEl(){return this.elements.lower?.el}get contextContainer(){return this.elements.lower?.ctx}static getDefaults(){return e.ownDefaults}constructor(e,t={}){super(),Object.assign(this,this.constructor.getDefaults()),this.set(t),this.initElements(e),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(e){this.elements=new un(e)}add(...e){let t=super.add(...e);return e.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(e,...t){let n=super.insertAt(e,...t);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),n}remove(...e){let t=super.remove(...e);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(e){e.canvas&&e.canvas!==this&&(Te(`warn`,`Canvas is trying to add an object that belongs to a different canvas.
2
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t}from"./Effect-CyyMOw4X.js";import{Pt as n}from"./useOpenInteractionType-BFjAYgzR.js";import{R as r,z as i}from"./Stream-Bvl2Z6qI.js";import{dn as a}from"./CompositeItem-D1GrQhpu.js";import{t as o}from"./preload-helper-Czpn1I53.js";import{t as s}from"./debouncer-BEV7Iuwb.js";import{_ as c,a as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w,v as T,y as E}from"./canvasStateStore-dUmp5NFj.js";import{i as D,r as O,t as k,y as A}from"./popover-D8qvi5AD.js";import{t as j}from"./minus-CbEeUDFT.js";import{i as M,n as N,s as P,t as F}from"./tooltip-C_eHCky0.js";import{t as I}from"./toggle--uJ9LmDV.js";var ee=a(`file-code`,[[`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 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),L=a(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),R=a(`hexagon`,[[`path`,{d:`M21 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.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}]]),te=a(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),z=a(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),ne=a(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),re=a(`maximize`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),ie=a(`mouse-pointer`,[[`path`,{d:`M12.586 12.586 19 19`,key:`ea5xo7`}],[`path`,{d:`M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z`,key:`277e5u`}]]),ae=a(`pen`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),oe=a(`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`}]]),se=a(`trash`,[[`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`}]]),ce=a(`wand`,[[`path`,{d:`M15 4V2`,key:`z1p9b7`}],[`path`,{d:`M15 16v-2`,key:`px0unx`}],[`path`,{d:`M8 9h2`,key:`1g203m`}],[`path`,{d:`M20 9h2`,key:`19tzq7`}],[`path`,{d:`M17.8 11.8 19 13`,key:`yihg8r`}],[`path`,{d:`M15 9h.01`,key:`x1ddxp`}],[`path`,{d:`M17.8 6.2 19 5`,key:`fd4us0`}],[`path`,{d:`m3 21 9-9`,key:`1jfql5`}],[`path`,{d:`M12.2 6.2 11 5`,key:`i3da3b`}]]),le=a(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),ue=a(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),B=e(t(),1),de=[{id:`instagram-post`,label:`Instagram Post`,category:`Social Media`,width:1080,height:1080},{id:`instagram-story`,label:`Instagram Story`,category:`Social Media`,width:1080,height:1920},{id:`facebook-cover`,label:`Facebook Cover`,category:`Social Media`,width:820,height:312},{id:`linkedin-banner`,label:`LinkedIn Banner`,category:`Social Media`,width:1584,height:396},{id:`twitter-post`,label:`Twitter/X Post`,category:`Social Media`,width:1200,height:675},{id:`youtube-thumbnail`,label:`YouTube Thumbnail`,category:`Social Media`,width:1280,height:720},{id:`presentation`,label:`Presentation 16:9`,category:`Presentation`,width:1920,height:1080},{id:`a4`,label:`A4`,category:`Print`,width:2480,height:3508},{id:`us-letter`,label:`US Letter`,category:`Print`,width:2550,height:3300},{id:`business-card`,label:`Business Card`,category:`Print`,width:1050,height:600},{id:`invoice`,label:`Invoice`,category:`Documents`,width:2480,height:3508}],fe=new Map(de.map(e=>[e.id,e]));[...new Set(de.map(e=>e.category))];function pe(){let e=new Map;for(let t of de){let n=e.get(t.category)??[];n.push(t),e.set(t.category,n)}return e}function me(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)}function he(e,t){let n=URL.createObjectURL(e);me(n,t),URL.revokeObjectURL(n)}function ge(e,t,n,r,i=40){let a=n-i*2,o=r-i*2,s=Math.min(a/e,o/t,1),c=e*s,l=t*s;return{scale:s,offsetX:(n-c)/2,offsetY:(r-l)/2}}function _e(e){return Math.min(e*1.25,5)}function ve(e){return Math.max(e/1.25,.1)}function ye(e,t){return{rect:`Rectangle`,circle:`Circle`,line:`Line`,polygon:`Polygon`,textbox:`Text`,"i-text":`Text`,image:`Image`,path:`Drawing`,group:`Group`}[e]??`Object ${t+1}`}var be=Object.defineProperty,xe=(e,t)=>{let n={};for(var r in e)be(n,r,{get:e[r],enumerable:!0});return t||be(n,Symbol.toStringTag,{value:`Module`}),n};function Se(e){return Se=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Se(e)}function Ce(e){var t=function(e,t){if(Se(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Se(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}(e,`string`);return Se(t)==`symbol`?t:t+``}function V(e,t,n){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var we=class{constructor(){V(this,`browserShadowBlurConstant`,1),V(this,`DPI`,96),V(this,`devicePixelRatio`,typeof window<`u`?window.devicePixelRatio:1),V(this,`perfLimitSizeTotal`,2097152),V(this,`maxCacheSideLimit`,4096),V(this,`minCacheSideLimit`,256),V(this,`disableStyleCopyPaste`,!1),V(this,`enableGLFiltering`,!0),V(this,`textureSize`,4096),V(this,`forceGLPutImageData`,!1),V(this,`cachesBoundsOfCurve`,!1),V(this,`fontPaths`,{}),V(this,`NUM_FRACTION_DIGITS`,4)}},H=new class extends we{constructor(e){super(),this.configure(e)}configure(e={}){Object.assign(this,e)}addFonts(e={}){this.fontPaths={...this.fontPaths,...e}}removeFonts(e=[]){e.forEach(e=>{delete this.fontPaths[e]})}clearFonts(){this.fontPaths={}}restoreDefaults(e){let t=new we,n=e?.reduce((e,n)=>(e[n]=t[n],e),{})||t;this.configure(n)}},Te=(e,...t)=>console[e](`fabric`,...t),Ee=class extends Error{constructor(e,t){super(`fabric: ${e}`,t)}},De=class extends Ee{constructor(e){super(`${e} 'options.signal' is in 'aborted' state`)}},Oe=class{},ke=class extends Oe{testPrecision(e,t){let n=`precision ${t} float;\nvoid main(){}`,r=e.createShader(e.FRAGMENT_SHADER);return!!r&&(e.shaderSource(r,n),e.compileShader(r),!!e.getShaderParameter(r,e.COMPILE_STATUS))}queryWebGL(e){let t=e.getContext(`webgl`);t&&(this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),this.GLPrecision=[`highp`,`mediump`,`lowp`].find(e=>this.testPrecision(t,e)),t.getExtension(`WEBGL_lose_context`).loseContext(),Te(`log`,`WebGL: max texture size ${this.maxTextureSize}`))}isSupported(e){return!!this.maxTextureSize&&this.maxTextureSize>=e}},Ae={},je,U=()=>je||={document,window,isTouchSupported:`ontouchstart`in window||`ontouchstart`in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new ke,dispose(){},copyPasteData:Ae},Me=()=>U().document,Ne=()=>U().window,Pe=()=>Math.max(H.devicePixelRatio??Ne().devicePixelRatio,1),Fe=new class{constructor(){V(this,`boundsOfCurveCache`,{}),this.charWidthsCache=new Map}getFontCache({fontFamily:e,fontStyle:t,fontWeight:n}){e=e.toLowerCase();let r=this.charWidthsCache;r.has(e)||r.set(e,new Map);let i=r.get(e),a=`${t.toLowerCase()}_${(n+``).toLowerCase()}`;return i.has(a)||i.set(a,new Map),i.get(a)}clearFontCache(e){e?this.charWidthsCache.delete((e||``).toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(e){let{perfLimitSizeTotal:t}=H,n=Math.sqrt(t*e);return[Math.floor(n),Math.floor(t/n)]}},Ie=`7.4.0`;function Le(){}var Re=Math.PI/2,ze=Math.PI/4,Be=2*Math.PI,Ve=Math.PI/180,He=Object.freeze([1,0,0,1,0,0]),W=`center`,G=`left`,Ue=`bottom`,We=`right`,Ge=`none`,Ke=/\r?\n/,qe=`moving`,Je=`scaling`,Ye=`rotating`,Xe=`rotate`,Ze=`skewing`,Qe=`resizing`,$e=`modifyPoly`,et=`changed`,tt=`scale`,nt=`scaleX`,rt=`scaleY`,it=`skewX`,at=`skewY`,ot=`fill`,st=`stroke`,ct=`modified`,lt=`normal`,ut=`json`,K=new class{constructor(){this[ut]=new Map,this.svg=new Map}has(e){return this[ut].has(e)}getClass(e){let t=this[ut].get(e);if(!t)throw new Ee(`No class registered for ${e}`);return t}setClass(e,t){t?this[ut].set(t,e):(this[ut].set(e.type,e),this[ut].set(e.type.toLowerCase(),e))}getSVGClass(e){return this.svg.get(e)}setSVGClass(e,t){this.svg.set(t??e.type.toLowerCase(),e)}},dt=new class extends Array{remove(e){let t=this.indexOf(e);t>-1&&this.splice(t,1)}cancelAll(){let e=this.splice(0);return e.forEach(e=>e.abort()),e}cancelByCanvas(e){if(!e)return[];let t=this.filter(t=>t.target===e||typeof t.target==`object`&&t.target?.canvas===e);return t.forEach(e=>e.abort()),t}cancelByTarget(e){if(!e)return[];let t=this.filter(t=>t.target===e);return t.forEach(e=>e.abort()),t}},ft=class{constructor(){V(this,`__eventListeners`,{})}on(e,t){if(this.__eventListeners||={},typeof e==`object`)return Object.entries(e).forEach(([e,t])=>{this.on(e,t)}),()=>this.off(e);if(t){let n=e;return this.__eventListeners[n]||(this.__eventListeners[n]=[]),this.__eventListeners[n].push(t),()=>this.off(n,t)}return()=>!1}once(e,t){if(typeof e==`object`){let t=[];return Object.entries(e).forEach(([e,n])=>{t.push(this.once(e,n))}),()=>t.forEach(e=>e())}if(t){let n=this.on(e,function(...e){t.call(this,...e),n()});return n}return()=>!1}_removeEventListener(e,t){if(this.__eventListeners[e])if(t){let n=this.__eventListeners[e],r=n.indexOf(t);r>-1&&n.splice(r,1)}else this.__eventListeners[e]=[]}off(e,t){if(this.__eventListeners)if(e===void 0)for(let e in this.__eventListeners)this._removeEventListener(e);else typeof e==`object`?Object.entries(e).forEach(([e,t])=>{this._removeEventListener(e,t)}):this._removeEventListener(e,t)}fire(e,t){if(!this.__eventListeners)return;let n=this.__eventListeners[e]?.concat();if(n)for(let e=0;e<n.length;e++)n[e].call(this,t||{})}},pt=(e,t)=>{let n=e.indexOf(t);return n!==-1&&e.splice(n,1),e},mt=e=>{if(e===0)return 1;switch(Math.abs(e)/Re){case 1:case 3:return 0;case 2:return-1}return Math.cos(e)},ht=e=>{if(e===0)return 0;let t=e/Re,n=Math.sign(e);switch(t){case 1:return n;case 2:return 0;case 3:return-n}return Math.sin(e)},q=class e{constructor(e=0,t=0){typeof e==`object`?(this.x=e.x,this.y=e.y):(this.x=e,this.y=t)}add(t){return new e(this.x+t.x,this.y+t.y)}addEquals(e){return this.x+=e.x,this.y+=e.y,this}scalarAdd(t){return new e(this.x+t,this.y+t)}scalarAddEquals(e){return this.x+=e,this.y+=e,this}subtract(t){return new e(this.x-t.x,this.y-t.y)}subtractEquals(e){return this.x-=e.x,this.y-=e.y,this}scalarSubtract(t){return new e(this.x-t,this.y-t)}scalarSubtractEquals(e){return this.x-=e,this.y-=e,this}multiply(t){return new e(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new e(this.x*t,this.y*t)}scalarMultiplyEquals(e){return this.x*=e,this.y*=e,this}divide(t){return new e(this.x/t.x,this.y/t.y)}scalarDivide(t){return new e(this.x/t,this.y/t)}scalarDivideEquals(e){return this.x/=e,this.y/=e,this}eq(e){return this.x===e.x&&this.y===e.y}lt(e){return this.x<e.x&&this.y<e.y}lte(e){return this.x<=e.x&&this.y<=e.y}gt(e){return this.x>e.x&&this.y>e.y}gte(e){return this.x>=e.x&&this.y>=e.y}lerp(t,n=.5){return n=Math.max(Math.min(1,n),0),new e(this.x+(t.x-this.x)*n,this.y+(t.y-this.y)*n)}distanceFrom(e){let t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)}midPointFrom(e){return this.lerp(e)}min(t){return new e(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new e(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return`${this.x},${this.y}`}setXY(e,t){return this.x=e,this.y=t,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setFromPoint(e){return this.x=e.x,this.y=e.y,this}swap(e){let t=this.x,n=this.y;this.x=e.x,this.y=e.y,e.x=t,e.y=n}clone(){return new e(this.x,this.y)}rotate(t,n=gt){let r=ht(t),i=mt(t),a=this.subtract(n);return new e(a.x*i-a.y*r,a.x*r+a.y*i).add(n)}transform(t,n=!1){return new e(t[0]*this.x+t[2]*this.y+(n?0:t[4]),t[1]*this.x+t[3]*this.y+(n?0:t[5]))}},gt=new q(0,0),_t=e=>!!e&&Array.isArray(e._objects);function vt(e){class t extends e{constructor(...e){super(...e),V(this,`_objects`,[])}_onObjectAdded(e){}_onObjectRemoved(e){}_onStackOrderChanged(e){}add(...e){let t=this._objects.push(...e);return e.forEach(e=>this._onObjectAdded(e)),t}insertAt(e,...t){return this._objects.splice(e,0,...t),t.forEach(e=>this._onObjectAdded(e)),this._objects.length}remove(...e){let t=this._objects,n=[];return e.forEach(e=>{let r=t.indexOf(e);r!==-1&&(t.splice(r,1),n.push(e),this._onObjectRemoved(e))}),n}forEachObject(e){this.getObjects().forEach((t,n,r)=>e(t,n,r))}getObjects(...e){return e.length===0?[...this._objects]:this._objects.filter(t=>t.isType(...e))}item(e){return this._objects[e]}isEmpty(){return this._objects.length===0}size(){return this._objects.length}contains(e,n){return!!this._objects.includes(e)||!!n&&this._objects.some(n=>n instanceof t&&n.contains(e,!0))}complexity(){return this._objects.reduce((e,t)=>e+=t.complexity?t.complexity():0,0)}sendObjectToBack(e){return!(!e||e===this._objects[0])&&(pt(this._objects,e),this._objects.unshift(e),this._onStackOrderChanged(e),!0)}bringObjectToFront(e){return!(!e||e===this._objects[this._objects.length-1])&&(pt(this._objects,e),this._objects.push(e),this._onStackOrderChanged(e),!0)}sendObjectBackwards(e,t){if(!e)return!1;let n=this._objects.indexOf(e);if(n!==0){let r=this.findNewLowerIndex(e,n,t);return pt(this._objects,e),this._objects.splice(r,0,e),this._onStackOrderChanged(e),!0}return!1}bringObjectForward(e,t){if(!e)return!1;let n=this._objects.indexOf(e);if(n!==this._objects.length-1){let r=this.findNewUpperIndex(e,n,t);return pt(this._objects,e),this._objects.splice(r,0,e),this._onStackOrderChanged(e),!0}return!1}moveObjectTo(e,t){return e!==this._objects[t]&&(pt(this._objects,e),this._objects.splice(t,0,e),this._onStackOrderChanged(e),!0)}findNewLowerIndex(e,t,n){let r;if(n){r=t;for(let n=t-1;n>=0;--n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t-1;return r}findNewUpperIndex(e,t,n){let r;if(n){r=t;for(let n=t+1;n<this._objects.length;++n)if(e.isOverlapping(this._objects[n])){r=n;break}}else r=t+1;return r}collectObjects({left:e,top:t,width:n,height:r},{includeIntersecting:i=!0}={}){let a=[],o=new q(e,t),s=o.add(new q(n,r));for(let e=this._objects.length-1;e>=0;e--){let t=this._objects[e];t.selectable&&t.visible&&(i&&t.intersectsWithRect(o,s)||t.isContainedWithinRect(o,s)||i&&t.containsPoint(o)||i&&t.containsPoint(s))&&a.push(t)}return a}}return t}var yt=class extends ft{_setOptions(e={}){for(let t in e)this.set(t,e[t])}_setObject(e){for(let t in e)this._set(t,e[t])}set(e,t){return typeof e==`object`?this._setObject(e):this._set(e,t),this}_set(e,t){this[e]=t}toggle(e){let t=this.get(e);return typeof t==`boolean`&&this.set(e,!t),this}get(e){return this[e]}};function bt(e){return Ne().requestAnimationFrame(e)}function xt(e){return Ne().cancelAnimationFrame(e)}var St=0,Ct=()=>St++,wt=()=>{let e=Me().createElement(`canvas`);if(!e||e.getContext===void 0)throw new Ee("Failed to create `canvas` element");return e},Tt=()=>Me().createElement(`img`),Et=e=>{var t;let n=Dt(e);return(t=n.getContext(`2d`))==null||t.drawImage(e,0,0),n},Dt=e=>{let t=wt();return t.width=e.width,t.height=e.height,t},Ot=(e,t,n)=>e.toDataURL(`image/${t}`,n),kt=(e,t,n)=>new Promise((r,i)=>{e.toBlob(r,`image/${t}`,n)}),J=e=>e*Ve,At=e=>e/Ve,jt=e=>e.every((e,t)=>e===He[t]),Mt=(e,t,n)=>new q(e).transform(t,n),Nt=e=>{let t=1/(e[0]*e[3]-e[1]*e[2]),n=[t*e[3],-t*e[1],-t*e[2],t*e[0],0,0],{x:r,y:i}=new q(e[4],e[5]).transform(n,!0);return n[4]=-r,n[5]=-i,n},Y=(e,t,n)=>[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],n?0:e[0]*t[4]+e[2]*t[5]+e[4],n?0:e[1]*t[4]+e[3]*t[5]+e[5]],Pt=(e,t)=>e.reduceRight((e,n)=>n&&e?Y(n,e,t):n||e,void 0)||He.concat(),Ft=([e,t])=>Math.atan2(t,e),It=([e,t])=>Math.sqrt(e*e+t*t),Lt=([,,e,t])=>Math.sqrt(e*e+t*t),Rt=e=>{let t=Ft(e),n=e[0]**2+e[1]**2,r=Math.sqrt(n),i=(e[0]*e[3]-e[2]*e[1])/r,a=Math.atan2(e[0]*e[2]+e[1]*e[3],n);return{angle:At(t),scaleX:r,scaleY:i,skewX:At(a),skewY:0,translateX:e[4]||0,translateY:e[5]||0}},zt=(e,t=0)=>[1,0,0,1,e,t];function Bt({angle:e=0}={},{x:t=0,y:n=0}={}){let r=J(e),i=mt(r),a=ht(r);return[i,a,-a,i,t?t-(i*t-a*n):0,n?n-(a*t+i*n):0]}var Vt=(e,t=e)=>[e,0,0,t,0,0],Ht=e=>Math.tan(J(e)),Ut=e=>[1,0,Ht(e),1,0,0],Wt=e=>[1,Ht(e),0,1,0,0],Gt=({scaleX:e=1,scaleY:t=1,flipX:n=!1,flipY:r=!1,skewX:i=0,skewY:a=0})=>{let o=Vt(n?-e:e,r?-t:t);return i&&(o=Y(o,Ut(i),!0)),a&&(o=Y(o,Wt(a),!0)),o},Kt=e=>{let{translateX:t=0,translateY:n=0,angle:r=0}=e,i=zt(t,n);r&&(i=Y(i,Bt({angle:r})));let a=Gt(e);return jt(a)||(i=Y(i,a)),i},qt=(e,{signal:t,crossOrigin:n=null}={})=>new Promise(function(r,i){if(t&&t.aborted)return i(new De(`loadImage`));let a=Tt(),o;t&&(o=function(e){a.src=``,i(e)},t.addEventListener(`abort`,o,{once:!0}));let s=function(){a.onload=a.onerror=null,o&&t?.removeEventListener(`abort`,o),r(a)};e?(a.onload=s,a.onerror=function(){o&&t?.removeEventListener(`abort`,o),i(new Ee(`Error loading ${a.src}`))},n&&(a.crossOrigin=n),a.src=e):s()}),Jt=(e,{signal:t,reviver:n=Le}={})=>new Promise((r,i)=>{let a=[];t&&t.addEventListener(`abort`,i,{once:!0}),Promise.allSettled(e.map(e=>K.getClass(e.type).fromObject(e,{signal:t}))).then(async t=>{for(let[r,i]of t.entries())if(i.status===`fulfilled`&&(await n(e[r],i.value),a.push(i.value)),i.status===`rejected`){let t=await n(e[r],void 0,i.reason);t&&a.push(t)}r(a)}).catch(e=>{a.forEach(e=>{e.dispose&&e.dispose()}),i(e)}).finally(()=>{t&&t.removeEventListener(`abort`,i)})}),Yt=(e,{signal:t}={})=>new Promise((n,r)=>{let i=[];t&&t.addEventListener(`abort`,r,{once:!0});let a=Object.values(e).map(e=>e&&e.type&&K.has(e.type)?Jt([e],{signal:t}).then(([e])=>(i.push(e),e)):e),o=Object.keys(e);Promise.all(a).then(e=>e.reduce((e,t,n)=>(e[o[n]]=t,e),{})).then(n).catch(e=>{i.forEach(e=>{e.dispose&&e.dispose()}),r(e)}).finally(()=>{t&&t.removeEventListener(`abort`,r)})}),Xt=(e,t=[])=>t.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{}),Zt=(e,t)=>Object.keys(e).reduce((n,r)=>(t(e[r],r,e)&&(n[r]=e[r]),n),{}),X=(e,t)=>parseFloat(Number(e).toFixed(t)),Qt=e=>`matrix(`+e.map(e=>X(e,H.NUM_FRACTION_DIGITS)).join(` `)+`)`,$t=e=>!!e&&e.toLive!==void 0,en=e=>!!e&&typeof e.toObject==`function`,tn=e=>!!e&&e.offsetX!==void 0&&`source`in e,nn=e=>!!e&&`multiSelectionStacking`in e;function rn(e){let t=e&&an(e),n=0,r=0;if(!e||!t)return{left:n,top:r};let i=e,a=t.documentElement,o=t.body||{scrollLeft:0,scrollTop:0};for(;i&&(i.parentNode||i.host)&&(i=i.parentNode||i.host,i===t?(n=o.scrollLeft||a.scrollLeft||0,r=o.scrollTop||a.scrollTop||0):(n+=i.scrollLeft||0,r+=i.scrollTop||0),i.nodeType!==1||i.style.position!==`fixed`););return{left:n,top:r}}var an=e=>e.ownerDocument||null,on=e=>e.ownerDocument?.defaultView||null,sn=(e,t,{width:n,height:r},i=1)=>{e.width=n,e.height=r,i>1&&(e.setAttribute(`width`,(n*i).toString()),e.setAttribute(`height`,(r*i).toString()),t.scale(i,i))},cn=(e,{width:t,height:n})=>{t&&(e.style.width=typeof t==`number`?`${t}px`:t),n&&(e.style.height=typeof n==`number`?`${n}px`:n)};function ln(e){return e.onselectstart!==void 0&&(e.onselectstart=()=>!1),e.style.userSelect=Ge,e}var un=class{constructor(e){V(this,`_originalCanvasStyle`,void 0),V(this,`lower`,void 0);let t=this.createLowerCanvas(e);this.lower={el:t,ctx:t.getContext(`2d`)}}createLowerCanvas(e){let t=(n=e)&&n.getContext!==void 0?e:e&&Me().getElementById(e)||wt();var n;if(t.hasAttribute(`data-fabric`))throw new Ee(`Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?`);return this._originalCanvasStyle=t.style.cssText,t.setAttribute(`data-fabric`,`main`),t.classList.add(`lower-canvas`),t}cleanupDOM({width:e,height:t}){let{el:n}=this.lower;n.classList.remove(`lower-canvas`),n.removeAttribute(`data-fabric`),n.setAttribute(`width`,`${e}`),n.setAttribute(`height`,`${t}`),n.style.cssText=this._originalCanvasStyle||``,this._originalCanvasStyle=void 0}setDimensions(e,t){let{el:n,ctx:r}=this.lower;sn(n,r,e,t)}setCSSDimensions(e){cn(this.lower.el,e)}calcOffset(){return function(e){let t=e&&an(e),n={left:0,top:0};if(!t)return n;let r=on(e)?.getComputedStyle(e,null)||{};n.left+=parseInt(r.borderLeftWidth,10)||0,n.top+=parseInt(r.borderTopWidth,10)||0,n.left+=parseInt(r.paddingLeft,10)||0,n.top+=parseInt(r.paddingTop,10)||0;let i={left:0,top:0},a=t.documentElement;e.getBoundingClientRect!==void 0&&(i=e.getBoundingClientRect());let o=rn(e);return{left:i.left+o.left-(a.clientLeft||0)+n.left,top:i.top+o.top-(a.clientTop||0)+n.top}}(this.lower.el)}dispose(){U().dispose(this.lower.el),delete this.lower}},dn={backgroundVpt:!0,backgroundColor:``,overlayVpt:!0,overlayColor:``,includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...He],patternQuality:`best`},fn=xe({capitalize:()=>pn,escapeXml:()=>Z,graphemeSplit:()=>hn}),pn=(e,t=!1)=>`${e.charAt(0).toUpperCase()}${t?e.slice(1):e.slice(1).toLowerCase()}`,Z=e=>e.toString().replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),mn,hn=e=>{if(mn||mn||(mn=`Intl`in Ne()&&`Segmenter`in Intl&&new Intl.Segmenter(void 0,{granularity:`grapheme`})),mn){let t=mn.segment(e);return Array.from(t).map(({segment:e})=>e)}return gn(e)},gn=e=>{let t=[];for(let n,r=0;r<e.length;r++)!1!==(n=_n(e,r))&&t.push(n);return t},_n=(e,t)=>{let n=e.charCodeAt(t);if(isNaN(n))return``;if(n<55296||n>57343)return e.charAt(t);if(55296<=n&&n<=56319){if(e.length<=t+1)throw`High surrogate without following low surrogate`;let n=e.charCodeAt(t+1);if(56320>n||n>57343)throw`High surrogate without following low surrogate`;return e.charAt(t)+e.charAt(t+1)}if(t===0)throw`Low surrogate without preceding high surrogate`;let r=e.charCodeAt(t-1);if(55296>r||r>56319)throw`Low surrogate without preceding high surrogate`;return!1},vn=class e extends vt(yt){get lowerCanvasEl(){return this.elements.lower?.el}get contextContainer(){return this.elements.lower?.ctx}static getDefaults(){return e.ownDefaults}constructor(e,t={}){super(),Object.assign(this,this.constructor.getDefaults()),this.set(t),this.initElements(e),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(e){this.elements=new un(e)}add(...e){let t=super.add(...e);return e.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(e,...t){let n=super.insertAt(e,...t);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),n}remove(...e){let t=super.remove(...e);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(e){e.canvas&&e.canvas!==this&&(Te(`warn`,`Canvas is trying to add an object that belongs to a different canvas.
3
3
  Resulting to default behavior: removing object from previous canvas and adding to new canvas`),e.canvas.remove(e)),e._set(`canvas`,this),e.setCoords(),this.fire(`object:added`,{target:e}),e.fire(`added`,{target:this})}_onObjectRemoved(e){e._set(`canvas`,void 0),this.fire(`object:removed`,{target:e}),e.fire(`removed`,{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?Pe():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}_setDimensionsImpl(e,{cssOnly:t=!1,backstoreOnly:n=!1}={}){if(!t){let t={width:this.width,height:this.height,...e};this.elements.setDimensions(t,this.getRetinaScaling()),this.hasLostContext=!0,this.width=t.width,this.height=t.height}n||this.elements.setCSSDimensions(e),this.calcOffset()}setDimensions(e,t){this._setDimensionsImpl(e,t),t&&t.cssOnly||this.requestRenderAll()}getZoom(){return It(this.viewportTransform)}setViewportTransform(e){this.viewportTransform=e,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(e,t){let n=e,r=[...this.viewportTransform],i=Mt(e,Nt(r));r[0]=t,r[3]=t;let a=Mt(i,r);r[4]+=n.x-a.x,r[5]+=n.y-a.y,this.setViewportTransform(r)}setZoom(e){this.zoomToPoint(new q(0,0),e)}absolutePan(e){let t=[...this.viewportTransform];return t[4]=-e.x,t[5]=-e.y,this.setViewportTransform(t)}relativePan(e){return this.absolutePan(new q(-e.x-this.viewportTransform[4],-e.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(e){e.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor=``,this.overlayColor=``,this.clearContext(this.getContext()),this.fire(`canvas:cleared`),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=bt(()=>this.renderAndReset()))}calcViewportBoundaries(){let e=this.width,t=this.height,n=Nt(this.viewportTransform),r=Mt({x:0,y:0},n),i=Mt({x:e,y:t},n),a=r.min(i),o=r.max(i);return this.vptCoords={tl:a,tr:new q(o.x,a.y),bl:new q(a.x,o.y),br:o}}cancelRequestedRender(){this.nextRenderHandle&&=(xt(this.nextRenderHandle),0)}drawControls(e){}renderCanvas(e,t){if(this.destroyed)return;let n=this.viewportTransform,r=this.clipPath;this.calcViewportBoundaries(),this.clearContext(e),e.imageSmoothingEnabled=this.imageSmoothingEnabled,e.patternQuality=this.patternQuality,this.fire(`before:render`,{ctx:e}),this._renderBackground(e),e.save(),e.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._renderObjects(e,t),e.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(e),r&&(r._set(`canvas`,this),r.shouldCache(),r._transformDone=!0,r.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(e,r)),this._renderOverlay(e),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(e),this.fire(`after:render`,{ctx:e}),this.__cleanupTask&&=(this.__cleanupTask(),void 0)}drawClipPathOnCanvas(e,t){let n=this.viewportTransform;e.save(),e.transform(...n),e.globalCompositeOperation=`destination-in`,t.transform(e),e.scale(1/t.zoomX,1/t.zoomY),e.drawImage(t._cacheCanvas,-t.cacheTranslationX,-t.cacheTranslationY),e.restore()}_renderObjects(e,t){for(let n=0,r=t.length;n<r;++n)t[n]&&t[n].render(e)}_renderBackgroundOrOverlay(e,t){let n=this[`${t}Color`],r=this[`${t}Image`],i=this.viewportTransform,a=this[`${t}Vpt`];if(!n&&!r)return;let o=$t(n);if(n){if(e.save(),e.beginPath(),e.moveTo(0,0),e.lineTo(this.width,0),e.lineTo(this.width,this.height),e.lineTo(0,this.height),e.closePath(),e.fillStyle=o?n.toLive(e):n,a&&e.transform(...i),o){e.transform(1,0,0,1,n.offsetX||0,n.offsetY||0);let t=n.gradientTransform||n.patternTransform;t&&e.transform(...t)}e.fill(),e.restore()}if(r){e.save();let{skipOffscreen:t}=this;this.skipOffscreen=a,a&&e.transform(...i),r.render(e),this.skipOffscreen=t,e.restore()}}_renderBackground(e){this._renderBackgroundOrOverlay(e,`background`)}_renderOverlay(e){this._renderBackgroundOrOverlay(e,`overlay`)}getCenterPoint(){return new q(this.width/2,this.height/2)}centerObjectH(e){return this._centerObject(e,new q(this.getCenterPoint().x,e.getCenterPoint().y))}centerObjectV(e){return this._centerObject(e,new q(e.getCenterPoint().x,this.getCenterPoint().y))}centerObject(e){return this._centerObject(e,this.getCenterPoint())}viewportCenterObject(e){return this._centerObject(e,this.getVpCenter())}viewportCenterObjectH(e){return this._centerObject(e,new q(this.getVpCenter().x,e.getCenterPoint().y))}viewportCenterObjectV(e){return this._centerObject(e,new q(e.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return Mt(this.getCenterPoint(),Nt(this.viewportTransform))}_centerObject(e,t){e.setXY(t,W,W),e.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(e){return this.toDatalessObject(e)}toObject(e){return this._toObjectMethod(`toObject`,e)}toJSON(){return this.toObject()}toDatalessObject(e){return this._toObjectMethod(`toDatalessObject`,e)}_toObjectMethod(e,t){let n=this.clipPath,r=n&&!n.excludeFromExport?this._toObject(n,e,t):null;return{version:Ie,...Xt(this,t),objects:this._objects.filter(e=>!e.excludeFromExport).map(n=>this._toObject(n,e,t)),...this.__serializeBgOverlay(e,t),...r?{clipPath:r}:null}}_toObject(e,t,n){let r;this.includeDefaultValues||(r=e.includeDefaultValues,e.includeDefaultValues=!1);let i=e[t](n);return this.includeDefaultValues||(e.includeDefaultValues=!!r),i}__serializeBgOverlay(e,t){let n={},r=this.backgroundImage,i=this.overlayImage,a=this.backgroundColor,o=this.overlayColor;return $t(a)?a.excludeFromExport||(n.background=a.toObject(t)):a&&(n.background=a),$t(o)?o.excludeFromExport||(n.overlay=o.toObject(t)):o&&(n.overlay=o),r&&!r.excludeFromExport&&(n.backgroundImage=this._toObject(r,e,t)),i&&!i.excludeFromExport&&(n.overlayImage=this._toObject(i,e,t)),n}toSVG(e={},t){e.reviver=t;let n=[];return this._setSVGPreamble(n,e),this._setSVGHeader(n,e),this.clipPath&&n.push(`<g clip-path="url(#${Z(this.clipPath.clipPathId??``)})" >\n`),this._setSVGBgOverlayColor(n,`background`),this._setSVGBgOverlayImage(n,`backgroundImage`,t),this._setSVGObjects(n,t),this.clipPath&&n.push(`</g>
4
4
  `),this._setSVGBgOverlayColor(n,`overlay`),this._setSVGBgOverlayImage(n,`overlayImage`,t),n.push(`</svg>`),n.join(``)}_setSVGPreamble(e,t){t.suppressPreamble||e.push(`<?xml version="1.0" encoding="`,t.encoding||`UTF-8`,`" standalone="no" ?>
5
5
  `,`<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" `,`"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
@@ -437,5 +437,5 @@ void main() {
437
437
  color.b += max != color.b ? (max - color.b) * amt : 0.00;
438
438
  gl_FragColor = color;
439
439
  }
440
- `}applyTo2d({imageData:{data:e}}){let t=-this.vibrance;for(let n=0;n<e.length;n+=4){let r=e[n],i=e[n+1],a=e[n+2],o=Math.max(r,i,a),s=(r+i+a)/3,c=2*Math.abs(o-s)/255*t;e[n]+=o===r?0:(o-r)*c,e[n+1]+=o===i?0:(o-i)*c,e[n+2]+=o===a?0:(o-a)*c}}sendUniformData(e,t){e.uniform1f(t.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}};V(il,`type`,`Vibrance`),V(il,`defaults`,{vibrance:0}),V(il,`uniformLocations`,[`uVibrance`]),K.setClass(il),xe({BaseFilter:()=>Q,BlackWhite:()=>Vc,BlendColor:()=>Dc,BlendImage:()=>kc,Blur:()=>Ac,Brightness:()=>jc,Brownie:()=>Fc,ColorMatrix:()=>Nc,Composed:()=>Hc,Contrast:()=>Uc,Convolute:()=>Gc,Gamma:()=>qc,Grayscale:()=>Yc,HueRotation:()=>Zc,Invert:()=>Qc,Kodachrome:()=>Lc,Noise:()=>$c,Pixelate:()=>el,Polaroid:()=>zc,RemoveColor:()=>tl,Resize:()=>nl,Saturation:()=>rl,Sepia:()=>Bc,Technicolor:()=>Rc,Vibrance:()=>il,Vintage:()=>Ic});function al(e){let t=e instanceof uc||e instanceof lc;return{id:e.customId??e.toString(),type:e.type??`object`,left:Math.round(e.left??0),top:Math.round(e.top??0),width:Math.round((e.width??0)*(e.scaleX??1)),height:Math.round((e.height??0)*(e.scaleY??1)),angle:Math.round(e.angle??0),opacity:e.opacity??1,fill:typeof e.fill==`string`?e.fill:null,stroke:typeof e.stroke==`string`?e.stroke:null,strokeWidth:e.strokeWidth??0,...t?{fontFamily:e.fontFamily,fontSize:e.fontSize,fontWeight:e.fontWeight,textAlign:e.textAlign}:{}}}function ol(e){return e.getObjects().filter(e=>e.customId!==`__artboard__`).map((e,t)=>({id:e.customId??`obj-${t}`,type:e.type??`object`,name:e.customName??ye(e.type??`object`,t),visible:e.visible!==!1,locked:!e.selectable}))}function sl(e){let t={left:e.left,top:e.top,selectable:e.selectable!==!1};switch(e.fill!==void 0&&(t.fill=e.fill),e.stroke!==void 0&&(t.stroke=e.stroke),e.strokeWidth!==void 0&&(t.strokeWidth=e.strokeWidth),e.opacity!==void 0&&(t.opacity=e.opacity),e.angle!==void 0&&(t.angle=e.angle),e.scaleX!==void 0&&(t.scaleX=e.scaleX),e.scaleY!==void 0&&(t.scaleY=e.scaleY),e.type){case`rect`:{let n={...t};return e.width!==void 0&&(n.width=e.width),e.height!==void 0&&(n.height=e.height),e.rx!==void 0&&(n.rx=e.rx),e.ry!==void 0&&(n.ry=e.ry),new $a(n)}case`ellipse`:return new Bs({...t,rx:e.rx??(e.width?e.width/2:50),ry:e.ry??(e.height?e.height/2:50)});case`textbox`:{let n={...t};return e.width!==void 0&&(n.width=e.width),e.fontSize!==void 0&&(n.fontSize=e.fontSize),e.fontFamily!==void 0&&(n.fontFamily=e.fontFamily),e.fontWeight!==void 0&&(n.fontWeight=e.fontWeight),e.textAlign!==void 0&&(n.textAlign=e.textAlign),new uc(e.text??``,n)}case`line`:return new Ls([e.left,e.top,e.left+(e.width??100),e.top+(e.height??0)],t);case`path`:return new $a({...t,width:e.width??50,height:e.height??50});default:return new $a({...t,width:e.width??50,height:e.height??50})}}var cl=0;function ll(e){let t=e;return t.customId||=`obj-${++cl}`,t.customId}function ul(e,t){switch(e){case`rect`:return new $a({left:t.x,top:t.y,width:0,height:0,fill:`#6366f1`,stroke:`#4f46e5`,strokeWidth:1});case`circle`:return new Bs({left:t.x,top:t.y,rx:0,ry:0,fill:`#6366f1`,stroke:`#4f46e5`,strokeWidth:1});case`line`:return new Ls([t.x,t.y,t.x,t.y],{stroke:`#000000`,strokeWidth:2});case`polygon`:return new $a({left:t.x,top:t.y,width:0,height:0,fill:`#6366f1`,stroke:`#4f46e5`,strokeWidth:1,rx:8,ry:8});default:return null}}function dl(e){let{activeTool:t,object:n,start:r,pointer:i}=e;return t===`line`&&n instanceof Ls?(n.set({x2:i.x,y2:i.y}),!0):t===`circle`&&n instanceof Bs?(n.set({rx:Math.abs(i.x-r.x)/2,ry:Math.abs(i.y-r.y)/2,left:Math.min(r.x,i.x),top:Math.min(r.y,i.y)}),!0):(n.set({left:Math.min(r.x,i.x),top:Math.min(r.y,i.y),width:Math.abs(i.x-r.x),height:Math.abs(i.y-r.y)}),!0)}function fl(e){return e===`draw`?{isDrawingMode:!0,selection:!0,defaultCursor:`default`,hoverCursor:`move`,pencilBrush:{color:`#000000`,width:3}}:e===`select`?{isDrawingMode:!1,selection:!0,defaultCursor:`default`,hoverCursor:`move`,pencilBrush:null}:{isDrawingMode:!1,selection:!1,defaultCursor:`crosshair`,hoverCursor:`crosshair`,pencilBrush:null}}var $=n(),pl=(0,B.forwardRef)(function({artboardWidth:e,artboardHeight:t,activeTool:n,onSelectionChange:r,onCanvasModified:i,onLayersChange:a,onZoomChange:o},s){let c=(0,B.useRef)(null),l=(0,B.useRef)(null),u=(0,B.useRef)(null),d=(0,B.useRef)(null),f=(0,B.useCallback)(()=>{let e=l.current;e&&a(ol(e))},[a]),p=(0,B.useCallback)(()=>{let e=l.current;if(!e)return;let t=e.getActiveObject();if(!t){r([],null);return}r([ll(t)],al(t))},[r]),m=(0,B.useCallback)(()=>{p(),i(),f()},[p,i,f]),h=(0,B.useCallback)(()=>{let n=l.current,r=u.current;if(!n||!r)return;let{width:i,height:a}=r.getBoundingClientRect(),{scale:s,offsetX:c,offsetY:d}=ge(e,t,i,a);n.setDimensions({width:i,height:a});let f=n.viewportTransform;f[0]=s,f[3]=s,f[4]=c,f[5]=d,n.setViewportTransform(f),o(s),n.requestRenderAll()},[e,t,o]);return(0,B.useEffect)(()=>{let n=c.current;if(!n)return;let i=new hs(n,{backgroundColor:`transparent`,preserveObjectStacking:!0,selection:!0});l.current=i;let a=new $a({width:e,height:t,fill:`#ffffff`,selectable:!1,evented:!1,left:0,top:0,shadow:new Lr({color:`rgba(0,0,0,0.3)`,blur:20,offsetX:0,offsetY:4})});return a.customId=`__artboard__`,i.add(a),d.current=a,i.on(`selection:created`,p),i.on(`selection:updated`,p),i.on(`selection:cleared`,()=>r([],null)),i.on(`object:modified`,m),i.on(`object:added`,f),i.on(`object:removed`,f),requestAnimationFrame(()=>h()),()=>{i.dispose(),l.current=null,d.current=null}},[]),(0,B.useEffect)(()=>{let n=d.current;n&&(n.set({width:e,height:t}),h())},[e,t,h]),(0,B.useEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(()=>{requestAnimationFrame(()=>h())});return t.observe(e),()=>t.disconnect()},[h]),(0,B.useEffect)(()=>{let e=l.current;if(!e)return;let t=fl(n);e.isDrawingMode=t.isDrawingMode,e.selection=t.selection,e.defaultCursor=t.defaultCursor,e.hoverCursor=t.hoverCursor,t.pencilBrush&&(e.freeDrawingBrush=new Ns(e),e.freeDrawingBrush.color=t.pencilBrush.color,e.freeDrawingBrush.width=t.pencilBrush.width),e.requestRenderAll()},[n]),(0,B.useEffect)(()=>{let e=l.current;if(!e||n===`select`||n===`draw`||n===`image`)return;let t=!1,r=0,a=0,o=null,s=s=>{let c=s.scenePoint;if(t=!0,r=c.x,a=c.y,n===`text`){let n=new uc(`Type here`,{left:c.x,top:c.y,width:200,fontSize:24,fontFamily:`Inter, sans-serif`,fill:`#000000`});ll(n),e.add(n),e.setActiveObject(n),n.enterEditing(),i(),t=!1;return}o=ul(n,c),o&&(ll(o),e.add(o))},c=i=>{if(!t||!o)return;let s=i.scenePoint;dl({activeTool:n,object:o,start:{x:r,y:a},pointer:s}),e.requestRenderAll()},u=()=>{t&&(t=!1,o&&(e.setActiveObject(o),i()),o=null)};return e.on(`mouse:down`,s),e.on(`mouse:move`,c),e.on(`mouse:up`,u),()=>{e.off(`mouse:down`,s),e.off(`mouse:move`,c),e.off(`mouse:up`,u)}},[n,i]),(0,B.useImperativeHandle)(s,()=>({toJSON:()=>{let e=l.current;return e?JSON.stringify(e.toObject([`customId`,`customName`])):`{}`},loadJSON:async e=>{let t=l.current;t&&(await t.loadFromJSON(e),t.requestRenderAll(),f())},exportPNG:(n=1)=>{let r=l.current,i=d.current;return!r||!i?``:r.toDataURL({format:`png`,multiplier:n,left:i.left,top:i.top,width:e,height:t})},exportSVG:()=>{let e=l.current;return e?e.toSVG():``},getCanvas:()=>l.current,addObject:e=>{let t=l.current;t&&(ll(e),t.add(e),t.setActiveObject(e),i())},fitToView:h,applyGeneratedLayout:e=>{let t=l.current;if(!t)return;let n=t.getObjects();for(let e of n)e.customId!==`__artboard__`&&t.remove(e);for(let n of e){let e=sl(n),r=e;n.customId&&(r.customId=n.customId),n.customName&&(r.customName=n.customName),ll(e),t.add(e)}t.discardActiveObject(),t.requestRenderAll(),i(),f()}})),(0,$.jsx)(`div`,{ref:u,className:`relative flex-1 overflow-hidden bg-muted/35 dark:bg-background`,children:(0,$.jsx)(`canvas`,{ref:c})})}),ml=t(),hl=[{id:`rect`,icon:S,label:`Rectangle`},{id:`circle`,icon:m,label:`Circle`},{id:`line`,icon:j,label:`Line`},{id:`polygon`,icon:R,label:`Rounded Rectangle`}],gl=(0,B.memo)(function(e){let t=(0,ml.c)(17),{activeTool:n,onToolChange:r}=e,[i,a]=(0,B.useState)(!1),o=hl.some(e=>e.id===n),s;t[0]===n?s=t[1]:(s=hl.find(e=>e.id===n),t[0]=n,t[1]=s);let c=s?.icon??S,l=`inline-flex h-7 items-center gap-0.5 rounded-md px-1.5 text-muted-foreground hover:bg-accent hover:text-foreground ${o?`bg-accent text-foreground`:``}`,u;t[2]===c?u=t[3]:(u=(0,$.jsx)(c,{className:`size-3.5`}),t[2]=c,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(A,{className:`size-2.5`}),t[4]=d):d=t[4];let f;t[5]!==l||t[6]!==u?(f=(0,$.jsxs)(D,{className:l,"aria-label":`Shape tools`,children:[u,d]}),t[5]=l,t[6]=u,t[7]=f):f=t[7];let p;t[8]!==n||t[9]!==r?(p=hl.map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{onClick:()=>{r(e.id),a(!1)},className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs hover:bg-accent ${n===e.id?`bg-accent text-foreground`:`text-muted-foreground`}`,children:[(0,$.jsx)(t,{className:`size-3.5`}),e.label]},e.id)}),t[8]=n,t[9]=r,t[10]=p):p=t[10];let m;t[11]===p?m=t[12]:(m=(0,$.jsx)(O,{side:`top`,className:`w-36 p-1`,children:p}),t[11]=p,t[12]=m);let h;return t[13]!==i||t[14]!==f||t[15]!==m?(h=(0,$.jsxs)(k,{open:i,onOpenChange:a,children:[f,m]}),t[13]=i,t[14]=f,t[15]=m,t[16]=h):h=t[16],h}),_l=(0,B.memo)(function(e){let t=(0,ml.c)(77),{activeTool:n,onToolChange:r,canUndo:i,canRedo:a,onUndo:o,onRedo:s,zoomLevel:c,onZoomIn:l,onZoomOut:u,onFitToView:d,canvasRef:f,onCanvasModified:p}=e,m=(0,B.useRef)(null),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{m.current?.click()},t[0]=h):h=t[0];let g=h,_;t[1]!==f||t[2]!==p?(_=e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.addEventListener(`load`,async()=>{let e=n.result,t=await xc.fromURL(e);t.scaleToWidth(300),f.current?.addObject(t),p()}),n.readAsDataURL(t),e.target.value=``},t[1]=f,t[2]=p,t[3]=_):_=t[3];let v=_,b;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(b={id:`select`,icon:(0,$.jsx)(ie,{className:`size-3.5`}),label:`Select (V)`},t[4]=b):b=t[4];let x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=[b,{id:`text`,icon:(0,$.jsx)(P,{className:`size-3.5`}),label:`Text (T)`}],t[5]=x):x=t[5];let S=x,C,w;t[6]!==n||t[7]!==r?(C=S.map(e=>(0,$.jsxs)(F,{children:[(0,$.jsx)(M,{render:(0,$.jsx)(I,{pressed:n===e.id,onPressedChange:()=>r(e.id),"aria-label":e.label,size:`xs`,variant:`default`,children:e.icon})}),(0,$.jsx)(N,{side:`top`,children:e.label})]},e.id)),w=(0,$.jsx)(gl,{activeTool:n,onToolChange:r}),t[6]=n,t[7]=r,t[8]=C,t[9]=w):(C=t[8],w=t[9]);let T=n===`image`,E;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(te,{className:`size-3.5`}),t[10]=E):E=t[10];let D;t[11]===T?D=t[12]:(D=(0,$.jsx)(M,{render:(0,$.jsx)(I,{pressed:T,onPressedChange:g,"aria-label":`Image`,size:`xs`,variant:`default`,children:E})}),t[11]=T,t[12]=D);let O;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(N,{side:`top`,children:`Upload Image`}),t[13]=O):O=t[13];let k;t[14]===D?k=t[15]:(k=(0,$.jsxs)(F,{children:[D,O]}),t[14]=D,t[15]=k);let A=n===`draw`,j;t[16]===r?j=t[17]:(j=()=>r(`draw`),t[16]=r,t[17]=j);let ee;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(ae,{className:`size-3.5`}),t[18]=ee):ee=t[18];let L;t[19]!==A||t[20]!==j?(L=(0,$.jsx)(M,{render:(0,$.jsx)(I,{pressed:A,onPressedChange:j,"aria-label":`Draw`,size:`xs`,variant:`default`,children:ee})}),t[19]=A,t[20]=j,t[21]=L):L=t[21];let R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(N,{side:`top`,children:`Freehand Draw (D)`}),t[22]=R):R=t[22];let z;t[23]===L?z=t[24]:(z=(0,$.jsxs)(F,{children:[L,R]}),t[23]=L,t[24]=z);let ne;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),t[25]=ne):ne=t[25];let se=!i,ce;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(y,{className:`size-3.5`}),t[26]=ce):ce=t[26];let de;t[27]!==o||t[28]!==se?(de=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:o,disabled:se,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent`,"aria-label":`Undo`,children:ce})}),t[27]=o,t[28]=se,t[29]=de):de=t[29];let fe;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(N,{side:`top`,children:`Undo (Ctrl+Z)`}),t[30]=fe):fe=t[30];let pe;t[31]===de?pe=t[32]:(pe=(0,$.jsxs)(F,{children:[de,fe]}),t[31]=de,t[32]=pe);let me=!a,he;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(oe,{className:`size-3.5`}),t[33]=he):he=t[33];let ge;t[34]!==s||t[35]!==me?(ge=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:s,disabled:me,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent`,"aria-label":`Redo`,children:he})}),t[34]=s,t[35]=me,t[36]=ge):ge=t[36];let _e;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(N,{side:`top`,children:`Redo (Ctrl+Shift+Z)`}),t[37]=_e):_e=t[37];let ve;t[38]===ge?ve=t[39]:(ve=(0,$.jsxs)(F,{children:[ge,_e]}),t[38]=ge,t[39]=ve);let ye;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(`div`,{className:`flex-1`}),t[40]=ye):ye=t[40];let be;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(ue,{className:`size-3.5`}),t[41]=be):be=t[41];let xe;t[42]===u?xe=t[43]:(xe=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:u,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground`,"aria-label":`Zoom out`,children:be})}),t[42]=u,t[43]=xe);let Se;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,$.jsx)(N,{side:`top`,children:`Zoom Out`}),t[44]=Se):Se=t[44];let Ce;t[45]===xe?Ce=t[46]:(Ce=(0,$.jsxs)(F,{children:[xe,Se]}),t[45]=xe,t[46]=Ce);let V;t[47]===c?V=t[48]:(V=Math.round(c*100),t[47]=c,t[48]=V);let we;t[49]===V?we=t[50]:(we=(0,$.jsxs)(`span`,{className:`min-w-[3rem] text-center text-xs tabular-nums text-muted-foreground`,children:[V,`%`]}),t[49]=V,t[50]=we);let H;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(le,{className:`size-3.5`}),t[51]=H):H=t[51];let Te;t[52]===l?Te=t[53]:(Te=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:l,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground`,"aria-label":`Zoom in`,children:H})}),t[52]=l,t[53]=Te);let Ee;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsx)(N,{side:`top`,children:`Zoom In`}),t[54]=Ee):Ee=t[54];let De;t[55]===Te?De=t[56]:(De=(0,$.jsxs)(F,{children:[Te,Ee]}),t[55]=Te,t[56]=De);let Oe;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(re,{className:`size-3.5`}),t[57]=Oe):Oe=t[57];let ke;t[58]===d?ke=t[59]:(ke=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:d,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground`,"aria-label":`Fit to view`,children:Oe})}),t[58]=d,t[59]=ke);let Ae;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(N,{side:`top`,children:`Fit to View`}),t[60]=Ae):Ae=t[60];let je;t[61]===ke?je=t[62]:(je=(0,$.jsxs)(F,{children:[ke,Ae]}),t[61]=ke,t[62]=je);let U;t[63]===v?U=t[64]:(U=(0,$.jsx)(`input`,{ref:m,type:`file`,accept:`image/*`,className:`hidden`,onChange:v}),t[63]=v,t[64]=U);let Me;return t[65]!==k||t[66]!==z||t[67]!==pe||t[68]!==ve||t[69]!==Ce||t[70]!==we||t[71]!==De||t[72]!==je||t[73]!==U||t[74]!==C||t[75]!==w?(Me=(0,$.jsxs)(`div`,{className:`flex items-center gap-1 border-t border-border bg-card px-2 py-1.5`,children:[C,w,k,z,ne,pe,ve,ye,Ce,we,De,je,U]}),t[65]=k,t[66]=z,t[67]=pe,t[68]=ve,t[69]=Ce,t[70]=we,t[71]=De,t[72]=je,t[73]=U,t[74]=C,t[75]=w,t[76]=Me):Me=t[76],Me});function vl(e){switch(e){case`textbox`:case`i-text`:return P;case`rect`:return S;case`circle`:case`ellipse`:return m;case`image`:return z;case`path`:return ae;default:return S}}var yl=(0,B.memo)(function(e){let t=(0,ml.c)(12),{layers:n,selectedObjectIds:r,onLayerSelect:i,onLayerVisibilityToggle:a}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`No objects on canvas`}),t[0]=e):e=t[0],e}let o;if(t[1]!==n||t[2]!==i||t[3]!==a||t[4]!==r){let e;t[6]!==i||t[7]!==a||t[8]!==r?(e=e=>{let t=vl(e.type),n=r.includes(e.id);return(0,$.jsxs)(`div`,{onClick:()=>i(e.id),className:`flex cursor-pointer items-center gap-1.5 rounded px-1.5 py-1 text-[10px] ${n?`bg-primary/10 text-primary`:`text-muted-foreground hover:bg-accent hover:text-foreground`}`,children:[(0,$.jsx)(`button`,{onClick:t=>{t.stopPropagation(),a(e.id)},className:`inline-flex size-4 items-center justify-center rounded hover:bg-accent`,children:e.visible?(0,$.jsx)(f,{className:`size-2.5`}):(0,$.jsx)(b,{className:`size-2.5 opacity-40`})}),(0,$.jsx)(t,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name})]},e.id)},t[6]=i,t[7]=a,t[8]=r,t[9]=e):e=t[9],o=[...n].toReversed().map(e),t[1]=n,t[2]=i,t[3]=a,t[4]=r,t[5]=o}else o=t[5];let s;return t[10]===o?s=t[11]:(s=(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:o}),t[10]=o,t[11]=s),s}),bl=(0,B.memo)(function(e){let t=(0,ml.c)(29),{open:n,properties:r,layers:a,onClose:o,onPropertyChange:s,onLayerSelect:l,onLayerVisibilityToggle:u,onMoveUp:d,onMoveDown:f,onBringToFront:m,onSendToBack:h}=e,g;t[0]===s?g=t[1]:(g=(e,t)=>{let n=Number.parseFloat(t);Number.isNaN(n)||s(e,n)},t[0]=s,t[1]=g);let _=g;if(!n)return null;let v=r?.type===`textbox`||r?.type===`i-text`,y;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(`span`,{className:`text-xs font-semibold text-foreground`,children:`Properties`}),t[2]=y):y=t[2];let b;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(i,{className:`size-3`}),t[3]=b):b=t[3];let x;t[4]===o?x=t[5]:(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-3 py-2`,children:[y,(0,$.jsx)(`button`,{onClick:o,className:`inline-flex size-5 items-center justify-center rounded text-muted-foreground hover:text-foreground`,children:b})]}),t[4]=o,t[5]=x);let S;t[6]!==_||t[7]!==v||t[8]!==m||t[9]!==f||t[10]!==d||t[11]!==s||t[12]!==h||t[13]!==r?(S=r?(0,$.jsxs)(`div`,{className:`space-y-3 p-3`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Transform`}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,$.jsx)(xl,{label:`X`,value:r.left,onChange:e=>_(`left`,e)}),(0,$.jsx)(xl,{label:`Y`,value:r.top,onChange:e=>_(`top`,e)}),(0,$.jsx)(xl,{label:`W`,value:r.width,onChange:e=>_(`scaleWidth`,e)}),(0,$.jsx)(xl,{label:`H`,value:r.height,onChange:e=>_(`scaleHeight`,e)}),(0,$.jsx)(xl,{label:`R`,value:r.angle,onChange:e=>_(`angle`,e)})]})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Appearance`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(Sl,{label:`Fill`,value:r.fill??``,onChange:e=>s(`fill`,e)}),(0,$.jsx)(Sl,{label:`Stroke`,value:r.stroke??``,onChange:e=>s(`stroke`,e)}),(0,$.jsx)(xl,{label:`Stroke W`,value:r.strokeWidth,onChange:e=>_(`strokeWidth`,e)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:`Opacity`}),(0,$.jsx)(`input`,{type:`range`,min:0,max:1,step:.01,value:r.opacity,onChange:e=>s(`opacity`,Number.parseFloat(e.target.value)),className:`h-1 flex-1 appearance-none rounded-full bg-border accent-primary`}),(0,$.jsxs)(`span`,{className:`w-8 text-right text-[10px] tabular-nums text-muted-foreground`,children:[Math.round(r.opacity*100),`%`]})]})]})]}),v&&(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Text`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:`Font`}),(0,$.jsx)(`input`,{type:`text`,value:r.fontFamily??`Inter`,onChange:e=>s(`fontFamily`,e.target.value),className:`h-6 flex-1 rounded border border-border bg-background px-1.5 text-[10px] text-foreground`})]}),(0,$.jsx)(xl,{label:`Size`,value:r.fontSize??16,onChange:e=>_(`fontSize`,e)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:`Align`}),(0,$.jsx)(`div`,{className:`flex gap-1`,children:[`left`,`center`,`right`].map(e=>(0,$.jsx)(`button`,{onClick:()=>s(`textAlign`,e),className:`rounded px-1.5 py-0.5 text-[10px] ${r.textAlign===e?`bg-primary text-primary-foreground`:`bg-background text-muted-foreground hover:text-foreground`}`,children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]})]})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Order`}),(0,$.jsxs)(`div`,{className:`flex gap-1`,children:[(0,$.jsx)(Cl,{icon:(0,$.jsx)(p,{className:`size-3`}),label:`Bring to front`,onClick:m}),(0,$.jsx)(Cl,{icon:(0,$.jsx)(T,{className:`size-3`}),label:`Move up`,onClick:d}),(0,$.jsx)(Cl,{icon:(0,$.jsx)(E,{className:`size-3`}),label:`Move down`,onClick:f}),(0,$.jsx)(Cl,{icon:(0,$.jsx)(c,{className:`size-3`}),label:`Send to back`,onClick:h})]})]})]}):null,t[6]=_,t[7]=v,t[8]=m,t[9]=f,t[10]=d,t[11]=s,t[12]=h,t[13]=r,t[14]=S):S=t[14];let C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Layers`}),t[15]=C):C=t[15];let w;t[16]===r?w=t[17]:(w=r?[r.id]:[],t[16]=r,t[17]=w);let D;t[18]!==a||t[19]!==l||t[20]!==u||t[21]!==w?(D=(0,$.jsxs)(`div`,{className:`border-t border-border p-3`,children:[C,(0,$.jsx)(yl,{layers:a,selectedObjectIds:w,onLayerSelect:l,onLayerVisibilityToggle:u})]}),t[18]=a,t[19]=l,t[20]=u,t[21]=w,t[22]=D):D=t[22];let O;t[23]!==S||t[24]!==D?(O=(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[S,D]}),t[23]=S,t[24]=D,t[25]=O):O=t[25];let k;return t[26]!==x||t[27]!==O?(k=(0,$.jsxs)(`div`,{className:`absolute right-0 top-0 z-10 flex h-full w-56 flex-col border-l border-border bg-card`,children:[x,O]}),t[26]=x,t[27]=O,t[28]=k):k=t[28],k});function xl(e){let t=(0,ml.c)(12),{label:n,value:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=(0,$.jsx)(`label`,{className:`w-5 text-[10px] text-muted-foreground`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=Math.round(r),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=e=>i(e.target.value),t[4]=i,t[5]=s);let c;t[6]!==o||t[7]!==s?(c=(0,$.jsx)(`input`,{type:`number`,value:o,onChange:s,className:`h-6 w-full rounded border border-border bg-background px-1.5 text-[10px] tabular-nums text-foreground`}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;return t[9]!==a||t[10]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[a,c]}),t[9]=a,t[10]=c,t[11]=l):l=t[11],l}function Sl(e){let t=(0,ml.c)(15),{label:n,value:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:n}),t[0]=n,t[1]=a);let o=r||`#000000`,s;t[2]===i?s=t[3]:(s=e=>i(e.target.value),t[2]=i,t[3]=s);let c;t[4]!==o||t[5]!==s?(c=(0,$.jsx)(`input`,{type:`color`,value:o,onChange:s,className:`size-5 cursor-pointer rounded border border-border`}),t[4]=o,t[5]=s,t[6]=c):c=t[6];let l=r||`none`,u;t[7]===l?u=t[8]:(u=(0,$.jsx)(`span`,{className:`text-[10px] tabular-nums text-muted-foreground`,children:l}),t[7]=l,t[8]=u);let d;t[9]!==c||t[10]!==u?(d=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[c,u]}),t[9]=c,t[10]=u,t[11]=d):d=t[11];let f;return t[12]!==a||t[13]!==d?(f=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[a,d]}),t[12]=a,t[13]=d,t[14]=f):f=t[14],f}function Cl(e){let t=(0,ml.c)(4),{icon:n,label:r,onClick:i}=e,a;return t[0]!==n||t[1]!==r||t[2]!==i?(a=(0,$.jsx)(`button`,{onClick:i,className:`inline-flex size-7 items-center justify-center rounded border border-border bg-background text-muted-foreground hover:text-foreground`,title:r,children:n}),t[0]=n,t[1]=r,t[2]=i,t[3]=a):a=t[3],a}var wl=(0,B.memo)(function(e){let t=(0,ml.c)(67),{artboardPresetId:n,artboardWidth:r,artboardHeight:i,onSelectPreset:a,onCustomSize:o}=e,[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(String(r)),[d,f]=(0,B.useState)(String(i)),p;t[0]===n?p=t[1]:(p=n?fe.get(n):null,t[0]=n,t[1]=p);let m=p,h=m?m.label:`${r} x ${i}`,g,_,v,y,b,x,S,C,w,T,E;if(t[2]!==i||t[3]!==r||t[4]!==d||t[5]!==l||t[6]!==h||t[7]!==o||t[8]!==s){let e=pe(),n;t[20]!==d||t[21]!==l||t[22]!==o?(n=()=>{let e=Number.parseInt(l,10),t=Number.parseInt(d,10);e>0&&t>0&&(o(e,t),c(!1))},t[20]=d,t[21]=l,t[22]=o,t[23]=n):n=t[23],v=n,_=k,w=s,T=c;let a;t[24]===h?a=t[25]:(a=(0,$.jsx)(`span`,{className:`max-w-[140px] truncate`,children:h}),t[24]=h,t[25]=a);let u;t[26]!==i||t[27]!==r?(u=(0,$.jsxs)(`span`,{className:`tabular-nums opacity-60`,children:[r,`x`,i]}),t[26]=i,t[27]=r,t[28]=u):u=t[28];let f;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(A,{className:`size-3`}),t[29]=f):f=t[29],t[30]!==a||t[31]!==u?(E=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[a,u,f]}),t[30]=a,t[31]=u,t[32]=E):E=t[32],g=O,x=`bottom`,S=`start`,C=`w-64 p-0`,b=`max-h-72 overflow-y-auto p-1`,y=[...e.entries()],t[2]=i,t[3]=r,t[4]=d,t[5]=l,t[6]=h,t[7]=o,t[8]=s,t[9]=g,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=w,t[18]=T,t[19]=E}else g=t[9],_=t[10],v=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],w=t[17],T=t[18],E=t[19];let j;t[33]!==n||t[34]!==a||t[35]!==y?(j=y.map(e=>{let[t,r]=e;return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:t}),r.map(e=>(0,$.jsxs)(`button`,{onClick:()=>{a(e),c(!1)},className:`flex w-full items-center justify-between rounded-md px-2 py-1.5 text-xs hover:bg-accent ${n===e.id?`bg-accent text-foreground`:`text-muted-foreground`}`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsxs)(`span`,{className:`tabular-nums opacity-60`,children:[e.width,`x`,e.height]})]},e.id))]},t)}),t[33]=n,t[34]=a,t[35]=y,t[36]=j):j=t[36];let M;t[37]!==j||t[38]!==b?(M=(0,$.jsx)(`div`,{className:b,children:j}),t[37]=j,t[38]=b,t[39]=M):M=t[39];let N;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Custom Size`}),t[40]=N):N=t[40];let P;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>u(e.target.value),t[41]=P):P=t[41];let F;t[42]===l?F=t[43]:(F=(0,$.jsx)(`input`,{type:`number`,value:l,onChange:P,placeholder:`Width`,className:`h-6 w-20 rounded border border-border bg-background px-1.5 text-[10px] tabular-nums`}),t[42]=l,t[43]=F);let I;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`x`}),t[44]=I):I=t[44];let ee;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>f(e.target.value),t[45]=ee):ee=t[45];let L;t[46]===d?L=t[47]:(L=(0,$.jsx)(`input`,{type:`number`,value:d,onChange:ee,placeholder:`Height`,className:`h-6 w-20 rounded border border-border bg-background px-1.5 text-[10px] tabular-nums`}),t[46]=d,t[47]=L);let R;t[48]===v?R=t[49]:(R=(0,$.jsx)(`button`,{onClick:v,className:`h-6 rounded bg-primary px-2 text-[10px] font-medium text-primary-foreground hover:bg-primary/90`,children:`Apply`}),t[48]=v,t[49]=R);let te;t[50]!==F||t[51]!==L||t[52]!==R?(te=(0,$.jsxs)(`div`,{className:`border-t border-border p-2`,children:[N,(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[F,I,L,R]})]}),t[50]=F,t[51]=L,t[52]=R,t[53]=te):te=t[53];let z;t[54]!==g||t[55]!==M||t[56]!==te||t[57]!==x||t[58]!==S||t[59]!==C?(z=(0,$.jsxs)(g,{side:x,align:S,className:C,children:[M,te]}),t[54]=g,t[55]=M,t[56]=te,t[57]=x,t[58]=S,t[59]=C,t[60]=z):z=t[60];let ne;return t[61]!==_||t[62]!==z||t[63]!==w||t[64]!==T||t[65]!==E?(ne=(0,$.jsxs)(_,{open:w,onOpenChange:T,children:[E,z]}),t[61]=_,t[62]=z,t[63]=w,t[64]=T,t[65]=E,t[66]=ne):ne=t[66],ne}),Tl=(0,B.memo)(function({canvasRef:e,artboardWidth:t,artboardHeight:n,savedDesigns:r,onSaveDesign:i,onLoadDesign:a,onDeleteDesign:s}){let[c,l]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),m=t=>{let n=e.current?.exportPNG(t);n&&me(n,`design-${Date.now()}.png`),l(!1)},h=()=>{let t=e.current?.exportSVG();t&&he(new Blob([t],{type:`image/svg+xml`}),`design-${Date.now()}.svg`),l(!1)},g=async()=>{let r=e.current?.exportPNG(2);if(!r)return;let{jsPDF:i}=await o(async()=>{let{jsPDF:e}=await import(`./jspdf.es.min-Hx4pHu4X.js`);return{jsPDF:e}},__vite__mapDeps([0,1,2,3])),a=new i({orientation:t>n?`landscape`:`portrait`,unit:`px`,format:[t,n]});a.addImage(r,`PNG`,0,0,t,n),a.save(`design-${Date.now()}.pdf`),l(!1)},v=()=>{let t=e.current?.toJSON();t&&(i(`design-${Date.now()}`,`Design ${new Date().toLocaleString()}`,t),l(!1))},y=e=>{a(e),l(!1),p(!1)},b=Object.entries(r).toSorted(([,e],[,t])=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime());return(0,$.jsxs)(k,{open:c,onOpenChange:e=>{l(e),e||p(!1)},children:[(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md bg-success px-2.5 py-1 text-xs font-medium text-white hover:bg-success`,children:[(0,$.jsx)(_,{className:`size-3`}),`Export`]}),(0,$.jsx)(O,{side:`bottom`,align:`end`,className:`w-52 p-1`,children:f?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`button`,{onClick:()=>p(!1),className:`mb-1 w-full rounded px-2 py-1 text-left text-[10px] text-muted-foreground hover:bg-accent`,children:`← Back`}),b.map(([e,t])=>(0,$.jsxs)(`div`,{className:`flex items-center gap-1 rounded px-1 py-0.5 hover:bg-accent`,children:[(0,$.jsx)(`button`,{onClick:()=>y(t.json),className:`flex-1 truncate px-1 py-1 text-left text-xs text-foreground`,children:t.name}),(0,$.jsx)(`button`,{onClick:()=>s(e),className:`inline-flex size-5 items-center justify-center rounded text-muted-foreground hover:text-destructive`,children:(0,$.jsx)(se,{className:`size-3`})})]},e))]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(El,{label:`Export`,children:[(0,$.jsx)(Dl,{icon:(0,$.jsx)(z,{className:`size-3.5`}),label:`PNG (1x)`,onClick:()=>m(1)}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(z,{className:`size-3.5`}),label:`PNG (2x)`,onClick:()=>m(2)}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(ee,{className:`size-3.5`}),label:`SVG`,onClick:h}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(d,{className:`size-3.5`}),label:`PDF`,onClick:()=>void g()})]}),(0,$.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,$.jsxs)(El,{label:`Design`,children:[(0,$.jsx)(Dl,{icon:(0,$.jsx)(u,{className:`size-3.5`}),label:`Save Design`,onClick:v}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(L,{className:`size-3.5`}),label:`Load Design (${b.length})`,onClick:()=>p(!0),disabled:b.length===0})]})]})})]})});function El(e){let t=(0,ml.c)(5),{label:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`div`,{className:`px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,$.jsxs)(`div`,{children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Dl(e){let t=(0,ml.c)(5),{icon:n,label:r,onClick:i,disabled:a}=e,o;return t[0]!==a||t[1]!==n||t[2]!==r||t[3]!==i?(o=(0,$.jsxs)(`button`,{onClick:i,disabled:a,className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-40`,children:[n,r]}),t[0]=a,t[1]=n,t[2]=r,t[3]=i,t[4]=o):o=t[4],o}var Ol=(0,B.memo)(function(e){let t=(0,ml.c)(26),{canvasRef:n,artboardWidth:r,artboardHeight:i,brandKit:a,onCanvasModified:o}=e,[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(``),d;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n||t[4]!==o||t[5]!==l?(d=()=>{let e=l.trim();if(!e)return;let t=h(e,r,i,a);n.current?.applyGeneratedLayout(t.objects),o(),u(``),c(!1)},t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=o,t[5]=l,t[6]=d):d=t[6];let f=d,p;t[7]===f?p=t[8]:(p=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),f())},t[7]=f,t[8]=p);let m=p,g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md bg-primary/10 px-2.5 py-1 text-xs font-medium text-primary hover:bg-primary/20`,children:[(0,$.jsx)(ce,{className:`size-3`}),`Quick Create`]}),t[9]=g):g=t[9];let _,v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`div`,{className:`mb-2 text-xs font-semibold text-foreground`,children:`Generate Design`}),v=(0,$.jsx)(`p`,{className:`mb-3 text-[10px] text-muted-foreground`,children:`Describe what you want and we'll generate a canvas layout for you.`}),t[10]=_,t[11]=v):(_=t[10],v=t[11]);let y;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>u(e.target.value),t[12]=y):y=t[12];let b;t[13]!==m||t[14]!==l?(b=(0,$.jsx)(`textarea`,{value:l,onChange:y,onKeyDown:m,placeholder:`e.g. Bold sale announcement for Instagram...`,rows:3,className:`mb-2 w-full resize-none rounded-md border border-border bg-background px-2.5 py-2 text-xs placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0}),t[13]=m,t[14]=l,t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`Press Enter to generate`}),t[16]=x):x=t[16];let S=!l.trim(),C;t[17]!==f||t[18]!==S?(C=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[x,(0,$.jsx)(`button`,{onClick:f,disabled:S,className:`rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-40`,children:`Generate`})]}),t[17]=f,t[18]=S,t[19]=C):C=t[19];let w;t[20]!==C||t[21]!==b?(w=(0,$.jsxs)(O,{side:`bottom`,align:`start`,className:`w-80 p-3`,children:[_,v,b,C]}),t[20]=C,t[21]=b,t[22]=w):w=t[22];let T;return t[23]!==s||t[24]!==w?(T=(0,$.jsxs)(k,{open:s,onOpenChange:c,children:[g,w]}),t[23]=s,t[24]=w,t[25]=T):T=t[25],T}),kl={social:`Social Media`,business:`Business`,marketing:`Marketing`,presentation:`Presentations`},Al=(0,B.memo)(function(e){let t=(0,ml.c)(50),{canvasRef:n,brandKit:r,onCanvasModified:i,onSelectPreset:a}=e,[o,s]=(0,B.useState)(!1),[c,u]=(0,B.useState)(null),d,f,p,m,g,_,y,b,x,S,C;if(t[0]!==c||t[1]!==r||t[2]!==n||t[3]!==i||t[4]!==a||t[5]!==o){let e=l(),w=[...e.keys()],T=c?e.get(c)??[]:v,E;t[17]!==r||t[18]!==n||t[19]!==i||t[20]!==a?(E=e=>{let t=fe.get(e.presetId);t&&a(t);let o=t?.width??1080,c=t?.height??1080,l=h(e.previewPrompt,o,c,r);requestAnimationFrame(()=>{n.current?.applyGeneratedLayout(l.objects),i()}),s(!1)},t[17]=r,t[18]=n,t[19]=i,t[20]=a,t[21]=E):E=t[21];let A=E;f=k,x=o,S=s,t[22]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[(0,$.jsx)(ne,{className:`size-3`}),`Templates`]}),t[22]=C):C=t[22],d=O,g=`bottom`,_=`start`,y=`w-80 p-0`;let j;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>u(null),t[23]=j):j=t[23];let M=`rounded-md px-2 py-1 text-[10px] font-medium ${c===null?`bg-primary/10 text-primary`:`text-muted-foreground hover:text-foreground`}`,N;t[24]===M?N=t[25]:(N=(0,$.jsx)(`button`,{onClick:j,className:M,children:`All`}),t[24]=M,t[25]=N);let P;t[26]!==c||t[27]!==w?(P=w.map(e=>(0,$.jsx)(`button`,{onClick:()=>u(e),className:`rounded-md px-2 py-1 text-[10px] font-medium ${c===e?`bg-primary/10 text-primary`:`text-muted-foreground hover:text-foreground`}`,children:kl[e]??e},e)),t[26]=c,t[27]=w,t[28]=P):P=t[28],t[29]!==N||t[30]!==P?(b=(0,$.jsxs)(`div`,{className:`flex gap-1 border-b border-border px-2 py-1.5`,children:[N,P]}),t[29]=N,t[30]=P,t[31]=b):b=t[31],p=`grid max-h-64 grid-cols-2 gap-1.5 overflow-y-auto p-2`;let F;t[32]===A?F=t[33]:(F=e=>{let t=fe.get(e.presetId);return(0,$.jsxs)(`button`,{onClick:()=>A(e),className:`group flex flex-col rounded-lg border border-border p-2 text-left hover:border-primary/50 hover:bg-accent/50`,children:[(0,$.jsx)(`div`,{className:`mb-1.5 h-12 w-full rounded-md`,style:{background:e.style===`bold`?`linear-gradient(135deg, #1f2937, #374151)`:e.style===`gradient`?`linear-gradient(135deg, #4f46e5, #818cf8)`:e.style===`centered`?`linear-gradient(135deg, #fef3c7, #fde68a)`:e.style===`split`?`linear-gradient(90deg, #0ea5e9 45%, #f8fafc 45%)`:`#f8fafc`}}),(0,$.jsx)(`span`,{className:`text-[10px] font-medium text-foreground group-hover:text-primary`,children:e.name}),(0,$.jsx)(`span`,{className:`text-[9px] text-muted-foreground`,children:t?.label??e.presetId})]},e.id)},t[32]=A,t[33]=F),m=T.map(F),t[0]=c,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=g,t[11]=_,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C}else d=t[6],f=t[7],p=t[8],m=t[9],g=t[10],_=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16];let w;t[34]!==p||t[35]!==m?(w=(0,$.jsx)(`div`,{className:p,children:m}),t[34]=p,t[35]=m,t[36]=w):w=t[36];let T;t[37]!==d||t[38]!==w||t[39]!==g||t[40]!==_||t[41]!==y||t[42]!==b?(T=(0,$.jsxs)(d,{side:g,align:_,className:y,children:[b,w]}),t[37]=d,t[38]=w,t[39]=g,t[40]=_,t[41]=y,t[42]=b,t[43]=T):T=t[43];let E;return t[44]!==f||t[45]!==T||t[46]!==x||t[47]!==S||t[48]!==C?(E=(0,$.jsxs)(f,{open:x,onOpenChange:S,children:[C,T]}),t[44]=f,t[45]=T,t[46]=x,t[47]=S,t[48]=C,t[49]=E):E=t[49],E});function jl(e){let t=(0,ml.c)(13),{label:n,value:r,onChange:i}=e,a;t[0]===i?a=t[1]:(a=e=>i(e.target.value),t[0]=i,t[1]=a);let o;t[2]!==a||t[3]!==r?(o=(0,$.jsx)(`input`,{type:`color`,value:r,onChange:a,className:`size-5 cursor-pointer rounded border border-border`}),t[2]=a,t[3]=r,t[4]=o):o=t[4];let s;t[5]===n?s=t[6]:(s=(0,$.jsx)(`span`,{className:`flex-1 text-[10px] text-muted-foreground`,children:n}),t[5]=n,t[6]=s);let c;t[7]===r?c=t[8]:(c=(0,$.jsx)(`span`,{className:`font-mono text-[9px] text-muted-foreground/60`,children:r}),t[7]=r,t[8]=c);let l;return t[9]!==o||t[10]!==s||t[11]!==c?(l=(0,$.jsxs)(`label`,{className:`flex items-center gap-2`,children:[o,s,c]}),t[9]=o,t[10]=s,t[11]=c,t[12]=l):l=t[12],l}var Ml=[`Inter, sans-serif`,`Georgia, serif`,`Menlo, monospace`,`system-ui, sans-serif`,`Helvetica, Arial, sans-serif`,`Times New Roman, serif`],Nl=(0,B.memo)(function(e){let t=(0,ml.c)(70),{brandKit:n,onUpdate:r,onReset:i}=e,[a,o]=(0,B.useState)(!1),s;t[0]===r?s=t[1]:(s=(e,t)=>{r({[e]:t})},t[0]=r,t[1]=s);let c=s,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[(0,$.jsx)(g,{className:`size-3`}),`Brand`]}),t[2]=l):l=t[2];let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`span`,{className:`text-xs font-semibold text-foreground`,children:`Brand Kit`}),t[3]=u):u=t[3];let d;t[4]===i?d=t[5]:(d=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[u,(0,$.jsx)(`button`,{onClick:i,className:`text-[10px] text-muted-foreground hover:text-foreground`,children:`Reset`})]}),t[4]=i,t[5]=d);let f;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Colors`}),t[6]=f):f=t[6];let p;t[7]===c?p=t[8]:(p=e=>c(`primaryColor`,e),t[7]=c,t[8]=p);let m;t[9]!==n.primaryColor||t[10]!==p?(m=(0,$.jsx)(jl,{label:`Primary`,value:n.primaryColor,onChange:p}),t[9]=n.primaryColor,t[10]=p,t[11]=m):m=t[11];let h;t[12]===c?h=t[13]:(h=e=>c(`secondaryColor`,e),t[12]=c,t[13]=h);let _;t[14]!==n.secondaryColor||t[15]!==h?(_=(0,$.jsx)(jl,{label:`Secondary`,value:n.secondaryColor,onChange:h}),t[14]=n.secondaryColor,t[15]=h,t[16]=_):_=t[16];let v;t[17]===c?v=t[18]:(v=e=>c(`accentColor`,e),t[17]=c,t[18]=v);let y;t[19]!==n.accentColor||t[20]!==v?(y=(0,$.jsx)(jl,{label:`Accent`,value:n.accentColor,onChange:v}),t[19]=n.accentColor,t[20]=v,t[21]=y):y=t[21];let b;t[22]===c?b=t[23]:(b=e=>c(`backgroundColor`,e),t[22]=c,t[23]=b);let x;t[24]!==n.backgroundColor||t[25]!==b?(x=(0,$.jsx)(jl,{label:`Background`,value:n.backgroundColor,onChange:b}),t[24]=n.backgroundColor,t[25]=b,t[26]=x):x=t[26];let S;t[27]===c?S=t[28]:(S=e=>c(`textColor`,e),t[27]=c,t[28]=S);let C;t[29]!==n.textColor||t[30]!==S?(C=(0,$.jsx)(jl,{label:`Text`,value:n.textColor,onChange:S}),t[29]=n.textColor,t[30]=S,t[31]=C):C=t[31];let w;t[32]!==y||t[33]!==x||t[34]!==C||t[35]!==m||t[36]!==_?(w=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[f,m,_,y,x,C]}),t[32]=y,t[33]=x,t[34]=C,t[35]=m,t[36]=_,t[37]=w):w=t[37];let T;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Fonts`}),t[38]=T):T=t[38];let E;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(`span`,{className:`mb-1 block text-[10px] text-muted-foreground`,children:`Body Font`}),t[39]=E):E=t[39];let A=n.fontFamily,j;t[40]===r?j=t[41]:(j=e=>r({fontFamily:e.target.value}),t[40]=r,t[41]=j);let M;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(M=Ml.map(Pl),t[42]=M):M=t[42];let N;t[43]!==n.fontFamily||t[44]!==j?(N=(0,$.jsxs)(`label`,{className:`block`,children:[E,(0,$.jsx)(`select`,{value:A,onChange:j,className:`h-6 w-full rounded border border-border bg-background px-1.5 text-[10px]`,children:M})]}),t[43]=n.fontFamily,t[44]=j,t[45]=N):N=t[45];let P;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{className:`mb-1 block text-[10px] text-muted-foreground`,children:`Heading Font`}),t[46]=P):P=t[46];let F=n.headingFontFamily,I;t[47]===r?I=t[48]:(I=e=>r({headingFontFamily:e.target.value}),t[47]=r,t[48]=I);let ee;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(ee=Ml.map(Fl),t[49]=ee):ee=t[49];let L;t[50]!==n.headingFontFamily||t[51]!==I?(L=(0,$.jsxs)(`label`,{className:`block`,children:[P,(0,$.jsx)(`select`,{value:F,onChange:I,className:`h-6 w-full rounded border border-border bg-background px-1.5 text-[10px]`,children:ee})]}),t[50]=n.headingFontFamily,t[51]=I,t[52]=L):L=t[52];let R;t[53]!==N||t[54]!==L?(R=(0,$.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[T,N,L]}),t[53]=N,t[54]=L,t[55]=R):R=t[55];let te;t[56]!==n.accentColor||t[57]!==n.backgroundColor||t[58]!==n.primaryColor||t[59]!==n.secondaryColor||t[60]!==n.textColor?(te=(0,$.jsx)(`div`,{className:`mt-3 flex gap-1 rounded-md border border-border p-1.5`,children:[n.primaryColor,n.secondaryColor,n.accentColor,n.backgroundColor,n.textColor].map(Il)}),t[56]=n.accentColor,t[57]=n.backgroundColor,t[58]=n.primaryColor,t[59]=n.secondaryColor,t[60]=n.textColor,t[61]=te):te=t[61];let z;t[62]!==w||t[63]!==R||t[64]!==te||t[65]!==d?(z=(0,$.jsxs)(O,{side:`bottom`,align:`end`,className:`w-64 p-3`,children:[d,w,R,te]}),t[62]=w,t[63]=R,t[64]=te,t[65]=d,t[66]=z):z=t[66];let ne;return t[67]!==a||t[68]!==z?(ne=(0,$.jsxs)(k,{open:a,onOpenChange:o,children:[l,z]}),t[67]=a,t[68]=z,t[69]=ne):ne=t[69],ne});function Pl(e){return(0,$.jsx)(`option`,{value:e,children:e.split(`,`)[0]},e)}function Fl(e){return(0,$.jsx)(`option`,{value:e,children:e.split(`,`)[0]},e)}function Il(e){return(0,$.jsx)(`div`,{className:`h-4 flex-1 rounded-sm`,style:{backgroundColor:e}},e)}var Ll=(0,B.memo)(function({onClose:e}){let t=(0,B.useRef)(null),n=(0,B.useRef)(new s(()=>{let e=t.current?.toJSON();e&&C.getState().pushHistorySnapshot(e)},{wait:500}));(0,B.useEffect)(()=>{let e=n.current;return()=>{e.cancel()}},[]);let{activeTool:r,artboardPresetId:a,artboardWidth:o,artboardHeight:c,selectedObjectProperties:l,propertiesPanelOpen:u,historyIndex:d,historyStack:f,layers:p,zoomLevel:m,savedDesigns:g,brandKit:_,setActiveTool:v,setArtboard:y,setSelectedObjects:b,clearSelection:S,setPropertiesPanelOpen:T,setLayers:E,setZoomLevel:D,undo:O,redo:k,resetHistory:A,saveDesign:j,deleteDesign:M,updateBrandKit:N,setBrandKit:P}=C();(0,B.useEffect)(()=>{let e=setTimeout(()=>{let e=t.current?.toJSON();e&&C.getState().pushHistorySnapshot(e)},100);return()=>clearTimeout(e)},[]),(0,B.useEffect)(()=>{let e=C.subscribe((e,n)=>{if(e.pendingGeneratePrompt&&e.pendingGeneratePrompt!==n.pendingGeneratePrompt){let e=C.getState().consumePendingGenerate();if(e&&t.current){let n=h(e,o,c,_);t.current.applyGeneratedLayout(n.objects)}}}),n=C.getState().consumePendingGenerate();return n&&t.current&&requestAnimationFrame(()=>{let e=h(n,o,c,_);t.current?.applyGeneratedLayout(e.objects)}),e},[o,c,_]);let F=(0,B.useCallback)(()=>{n.current.maybeExecute()},[]),I=(0,B.useCallback)(e=>{v(e)},[v]),ee=(0,B.useCallback)(e=>{y(e.id,e.width,e.height),A()},[y,A]),L=(0,B.useCallback)((e,t)=>{y(null,e,t),A()},[y,A]),R=(0,B.useCallback)(()=>{let e=O();e&&t.current?.loadJSON(e)},[O]),te=(0,B.useCallback)(()=>{let e=k();e&&t.current?.loadJSON(e)},[k]),z=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=_e(m),r=e.viewportTransform;r[0]=n,r[3]=n,e.setViewportTransform(r),D(n),e.requestRenderAll()},[m,D]),ne=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=ve(m),r=e.viewportTransform;r[0]=n,r[3]=n,e.setViewportTransform(r),D(n),e.requestRenderAll()},[m,D]),re=(0,B.useCallback)(()=>{t.current?.fitToView()},[]),ie=(0,B.useCallback)((e,n)=>{let r=t.current?.getCanvas();if(!r)return;let i=r.getActiveObject();if(!i)return;if(e===`scaleWidth`){let e=i.width??1;i.set(`scaleX`,n/e)}else if(e===`scaleHeight`){let e=i.height??1;i.set(`scaleY`,n/e)}else i.set(e,n);i.setCoords(),r.requestRenderAll(),F();let a=C.getState().selectedObjectProperties;if(a){let t={...a,[e===`scaleWidth`?`width`:e===`scaleHeight`?`height`:e]:n};b([a.id],t)}},[F,b]),ae=(0,B.useCallback)(e=>{let n=t.current?.getCanvas();if(!n)return;let r=n.getObjects().find(t=>t.customId===e);r&&(n.setActiveObject(r),n.requestRenderAll())},[]),oe=(0,B.useCallback)(e=>{let n=t.current?.getCanvas();if(!n)return;let r=n.getObjects().find(t=>t.customId===e);if(r){r.visible=!r.visible,n.requestRenderAll();let t=p.map(t=>t.id===e?{...t,visible:!t.visible}:t);E(t)}},[p,E]),se=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&(e.bringObjectForward(n),e.requestRenderAll(),F())},[F]),ce=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&(e.sendObjectBackwards(n),e.requestRenderAll(),F())},[F]),le=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&(e.bringObjectToFront(n),e.requestRenderAll(),F())},[F]),ue=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();if(n){let t=e.getObjects().findIndex(e=>e.customId===`__artboard__`);e.moveObjectTo(n,t+1),e.requestRenderAll(),F()}},[F]),de=(0,B.useCallback)(async e=>{await t.current?.loadJSON(e),A();let n=t.current?.toJSON();n&&C.getState().pushHistorySnapshot(n)},[A]),fe=(0,B.useCallback)((e,t,n)=>{j(e,t,n)},[j]);(0,B.useEffect)(()=>{let e=e=>{if(!(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)){if(!e.metaKey&&!e.ctrlKey)switch(e.key.toLowerCase()){case`v`:v(`select`);return;case`t`:v(`text`);return;case`r`:v(`rect`);return;case`d`:v(`draw`);return}if((e.metaKey||e.ctrlKey)&&e.key===`z`&&(e.preventDefault(),e.shiftKey?te():R()),e.key===`Delete`||e.key===`Backspace`){let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&n.customId!==`__artboard__`&&(e.remove(n),S(),F())}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v,R,te,S,F]);let pe=d>0,me=d<f.length-1;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-semibold text-foreground`,children:`Canvas`}),(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),(0,$.jsx)(Ol,{canvasRef:t,artboardWidth:o,artboardHeight:c,brandKit:_,onCanvasModified:F}),(0,$.jsx)(Al,{canvasRef:t,brandKit:_,onCanvasModified:F,onSelectPreset:ee}),(0,$.jsx)(Nl,{brandKit:_,onUpdate:N,onReset:()=>P(x)}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(wl,{artboardPresetId:a,artboardWidth:o,artboardHeight:c,onSelectPreset:ee,onCustomSize:L}),(0,$.jsx)(Tl,{canvasRef:t,artboardWidth:o,artboardHeight:c,savedDesigns:g,onSaveDesign:fe,onLoadDesign:e=>void de(e),onDeleteDesign:M}),e?(0,$.jsx)(`button`,{onClick:e,className:`inline-flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(i,{className:`size-3.5`})}):null]}),(0,$.jsxs)(`div`,{className:`relative flex min-h-0 flex-1`,children:[p.length===0&&(0,$.jsxs)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 text-center`,children:[(0,$.jsx)(w,{className:`size-7 text-muted-foreground/20`}),(0,$.jsx)(`p`,{className:`text-[12px] text-muted-foreground/35`,children:`Use Quick Create or Templates to start designing.`})]}),(0,$.jsx)(pl,{ref:t,artboardWidth:o,artboardHeight:c,activeTool:r,onSelectionChange:b,onCanvasModified:F,onLayersChange:E,onZoomChange:D}),(0,$.jsx)(bl,{open:u,properties:l,layers:p,onClose:()=>T(!1),onPropertyChange:ie,onLayerSelect:ae,onLayerVisibilityToggle:oe,onMoveUp:se,onMoveDown:ce,onBringToFront:le,onSendToBack:ue})]}),(0,$.jsx)(_l,{activeTool:r,onToolChange:I,canUndo:pe,canRedo:me,onUndo:R,onRedo:te,zoomLevel:m,onZoomIn:z,onZoomOut:ne,onFitToView:re,canvasRef:t,onCanvasModified:F})]})});export{Ll as CanvasPanel,Ll as default};
441
- //# sourceMappingURL=CanvasPanel-BeSvnc85.js.map
440
+ `}applyTo2d({imageData:{data:e}}){let t=-this.vibrance;for(let n=0;n<e.length;n+=4){let r=e[n],i=e[n+1],a=e[n+2],o=Math.max(r,i,a),s=(r+i+a)/3,c=2*Math.abs(o-s)/255*t;e[n]+=o===r?0:(o-r)*c,e[n+1]+=o===i?0:(o-i)*c,e[n+2]+=o===a?0:(o-a)*c}}sendUniformData(e,t){e.uniform1f(t.uVibrance,-this.vibrance)}isNeutralState(){return this.vibrance===0}};V(il,`type`,`Vibrance`),V(il,`defaults`,{vibrance:0}),V(il,`uniformLocations`,[`uVibrance`]),K.setClass(il),xe({BaseFilter:()=>Q,BlackWhite:()=>Vc,BlendColor:()=>Dc,BlendImage:()=>kc,Blur:()=>Ac,Brightness:()=>jc,Brownie:()=>Fc,ColorMatrix:()=>Nc,Composed:()=>Hc,Contrast:()=>Uc,Convolute:()=>Gc,Gamma:()=>qc,Grayscale:()=>Yc,HueRotation:()=>Zc,Invert:()=>Qc,Kodachrome:()=>Lc,Noise:()=>$c,Pixelate:()=>el,Polaroid:()=>zc,RemoveColor:()=>tl,Resize:()=>nl,Saturation:()=>rl,Sepia:()=>Bc,Technicolor:()=>Rc,Vibrance:()=>il,Vintage:()=>Ic});function al(e){let t=e instanceof uc||e instanceof lc;return{id:e.customId??e.toString(),type:e.type??`object`,left:Math.round(e.left??0),top:Math.round(e.top??0),width:Math.round((e.width??0)*(e.scaleX??1)),height:Math.round((e.height??0)*(e.scaleY??1)),angle:Math.round(e.angle??0),opacity:e.opacity??1,fill:typeof e.fill==`string`?e.fill:null,stroke:typeof e.stroke==`string`?e.stroke:null,strokeWidth:e.strokeWidth??0,...t?{fontFamily:e.fontFamily,fontSize:e.fontSize,fontWeight:e.fontWeight,textAlign:e.textAlign}:{}}}function ol(e){return e.getObjects().filter(e=>e.customId!==`__artboard__`).map((e,t)=>({id:e.customId??`obj-${t}`,type:e.type??`object`,name:e.customName??ye(e.type??`object`,t),visible:e.visible!==!1,locked:!e.selectable}))}function sl(e){let t={left:e.left,top:e.top,selectable:e.selectable!==!1};switch(e.fill!==void 0&&(t.fill=e.fill),e.stroke!==void 0&&(t.stroke=e.stroke),e.strokeWidth!==void 0&&(t.strokeWidth=e.strokeWidth),e.opacity!==void 0&&(t.opacity=e.opacity),e.angle!==void 0&&(t.angle=e.angle),e.scaleX!==void 0&&(t.scaleX=e.scaleX),e.scaleY!==void 0&&(t.scaleY=e.scaleY),e.type){case`rect`:{let n={...t};return e.width!==void 0&&(n.width=e.width),e.height!==void 0&&(n.height=e.height),e.rx!==void 0&&(n.rx=e.rx),e.ry!==void 0&&(n.ry=e.ry),new $a(n)}case`ellipse`:return new Bs({...t,rx:e.rx??(e.width?e.width/2:50),ry:e.ry??(e.height?e.height/2:50)});case`textbox`:{let n={...t};return e.width!==void 0&&(n.width=e.width),e.fontSize!==void 0&&(n.fontSize=e.fontSize),e.fontFamily!==void 0&&(n.fontFamily=e.fontFamily),e.fontWeight!==void 0&&(n.fontWeight=e.fontWeight),e.textAlign!==void 0&&(n.textAlign=e.textAlign),new uc(e.text??``,n)}case`line`:return new Ls([e.left,e.top,e.left+(e.width??100),e.top+(e.height??0)],t);case`path`:return new $a({...t,width:e.width??50,height:e.height??50});default:return new $a({...t,width:e.width??50,height:e.height??50})}}var cl=0;function ll(e){let t=e;return t.customId||=`obj-${++cl}`,t.customId}function ul(e,t){switch(e){case`rect`:return new $a({left:t.x,top:t.y,width:0,height:0,fill:`#6366f1`,stroke:`#4f46e5`,strokeWidth:1});case`circle`:return new Bs({left:t.x,top:t.y,rx:0,ry:0,fill:`#6366f1`,stroke:`#4f46e5`,strokeWidth:1});case`line`:return new Ls([t.x,t.y,t.x,t.y],{stroke:`#000000`,strokeWidth:2});case`polygon`:return new $a({left:t.x,top:t.y,width:0,height:0,fill:`#6366f1`,stroke:`#4f46e5`,strokeWidth:1,rx:8,ry:8});default:return null}}function dl(e){let{activeTool:t,object:n,start:r,pointer:i}=e;return t===`line`&&n instanceof Ls?(n.set({x2:i.x,y2:i.y}),!0):t===`circle`&&n instanceof Bs?(n.set({rx:Math.abs(i.x-r.x)/2,ry:Math.abs(i.y-r.y)/2,left:Math.min(r.x,i.x),top:Math.min(r.y,i.y)}),!0):(n.set({left:Math.min(r.x,i.x),top:Math.min(r.y,i.y),width:Math.abs(i.x-r.x),height:Math.abs(i.y-r.y)}),!0)}function fl(e){return e===`draw`?{isDrawingMode:!0,selection:!0,defaultCursor:`default`,hoverCursor:`move`,pencilBrush:{color:`#000000`,width:3}}:e===`select`?{isDrawingMode:!1,selection:!0,defaultCursor:`default`,hoverCursor:`move`,pencilBrush:null}:{isDrawingMode:!1,selection:!1,defaultCursor:`crosshair`,hoverCursor:`crosshair`,pencilBrush:null}}var $=i(),pl=(0,B.forwardRef)(function({artboardWidth:e,artboardHeight:t,activeTool:n,onSelectionChange:r,onCanvasModified:i,onLayersChange:a,onZoomChange:o},s){let c=(0,B.useRef)(null),l=(0,B.useRef)(null),u=(0,B.useRef)(null),d=(0,B.useRef)(null),f=(0,B.useCallback)(()=>{let e=l.current;e&&a(ol(e))},[a]),p=(0,B.useCallback)(()=>{let e=l.current;if(!e)return;let t=e.getActiveObject();if(!t){r([],null);return}r([ll(t)],al(t))},[r]),m=(0,B.useCallback)(()=>{p(),i(),f()},[p,i,f]),h=(0,B.useCallback)(()=>{let n=l.current,r=u.current;if(!n||!r)return;let{width:i,height:a}=r.getBoundingClientRect(),{scale:s,offsetX:c,offsetY:d}=ge(e,t,i,a);n.setDimensions({width:i,height:a});let f=n.viewportTransform;f[0]=s,f[3]=s,f[4]=c,f[5]=d,n.setViewportTransform(f),o(s),n.requestRenderAll()},[e,t,o]);return(0,B.useEffect)(()=>{let n=c.current;if(!n)return;let i=new hs(n,{backgroundColor:`transparent`,preserveObjectStacking:!0,selection:!0});l.current=i;let a=new $a({width:e,height:t,fill:`#ffffff`,selectable:!1,evented:!1,left:0,top:0,shadow:new Lr({color:`rgba(0,0,0,0.3)`,blur:20,offsetX:0,offsetY:4})});return a.customId=`__artboard__`,i.add(a),d.current=a,i.on(`selection:created`,p),i.on(`selection:updated`,p),i.on(`selection:cleared`,()=>r([],null)),i.on(`object:modified`,m),i.on(`object:added`,f),i.on(`object:removed`,f),requestAnimationFrame(()=>h()),()=>{i.dispose(),l.current=null,d.current=null}},[]),(0,B.useEffect)(()=>{let n=d.current;n&&(n.set({width:e,height:t}),h())},[e,t,h]),(0,B.useEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(()=>{requestAnimationFrame(()=>h())});return t.observe(e),()=>t.disconnect()},[h]),(0,B.useEffect)(()=>{let e=l.current;if(!e)return;let t=fl(n);e.isDrawingMode=t.isDrawingMode,e.selection=t.selection,e.defaultCursor=t.defaultCursor,e.hoverCursor=t.hoverCursor,t.pencilBrush&&(e.freeDrawingBrush=new Ns(e),e.freeDrawingBrush.color=t.pencilBrush.color,e.freeDrawingBrush.width=t.pencilBrush.width),e.requestRenderAll()},[n]),(0,B.useEffect)(()=>{let e=l.current;if(!e||n===`select`||n===`draw`||n===`image`)return;let t=!1,r=0,a=0,o=null,s=s=>{let c=s.scenePoint;if(t=!0,r=c.x,a=c.y,n===`text`){let n=new uc(`Type here`,{left:c.x,top:c.y,width:200,fontSize:24,fontFamily:`Inter, sans-serif`,fill:`#000000`});ll(n),e.add(n),e.setActiveObject(n),n.enterEditing(),i(),t=!1;return}o=ul(n,c),o&&(ll(o),e.add(o))},c=i=>{if(!t||!o)return;let s=i.scenePoint;dl({activeTool:n,object:o,start:{x:r,y:a},pointer:s}),e.requestRenderAll()},u=()=>{t&&(t=!1,o&&(e.setActiveObject(o),i()),o=null)};return e.on(`mouse:down`,s),e.on(`mouse:move`,c),e.on(`mouse:up`,u),()=>{e.off(`mouse:down`,s),e.off(`mouse:move`,c),e.off(`mouse:up`,u)}},[n,i]),(0,B.useImperativeHandle)(s,()=>({toJSON:()=>{let e=l.current;return e?JSON.stringify(e.toObject([`customId`,`customName`])):`{}`},loadJSON:async e=>{let t=l.current;t&&(await t.loadFromJSON(e),t.requestRenderAll(),f())},exportPNG:(n=1)=>{let r=l.current,i=d.current;return!r||!i?``:r.toDataURL({format:`png`,multiplier:n,left:i.left,top:i.top,width:e,height:t})},exportSVG:()=>{let e=l.current;return e?e.toSVG():``},getCanvas:()=>l.current,addObject:e=>{let t=l.current;t&&(ll(e),t.add(e),t.setActiveObject(e),i())},fitToView:h,applyGeneratedLayout:e=>{let t=l.current;if(!t)return;let n=t.getObjects();for(let e of n)e.customId!==`__artboard__`&&t.remove(e);for(let n of e){let e=sl(n),r=e;n.customId&&(r.customId=n.customId),n.customName&&(r.customName=n.customName),ll(e),t.add(e)}t.discardActiveObject(),t.requestRenderAll(),i(),f()}})),(0,$.jsx)(`div`,{ref:u,className:`relative flex-1 overflow-hidden bg-muted/35 dark:bg-background`,children:(0,$.jsx)(`canvas`,{ref:c})})}),ml=r(),hl=[{id:`rect`,icon:S,label:`Rectangle`},{id:`circle`,icon:m,label:`Circle`},{id:`line`,icon:j,label:`Line`},{id:`polygon`,icon:R,label:`Rounded Rectangle`}],gl=(0,B.memo)(function(e){let t=(0,ml.c)(17),{activeTool:n,onToolChange:r}=e,[i,a]=(0,B.useState)(!1),o=hl.some(e=>e.id===n),s;t[0]===n?s=t[1]:(s=hl.find(e=>e.id===n),t[0]=n,t[1]=s);let c=s?.icon??S,l=`inline-flex h-7 items-center gap-0.5 rounded-md px-1.5 text-muted-foreground hover:bg-accent hover:text-foreground ${o?`bg-accent text-foreground`:``}`,u;t[2]===c?u=t[3]:(u=(0,$.jsx)(c,{className:`size-3.5`}),t[2]=c,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(A,{className:`size-2.5`}),t[4]=d):d=t[4];let f;t[5]!==l||t[6]!==u?(f=(0,$.jsxs)(D,{className:l,"aria-label":`Shape tools`,children:[u,d]}),t[5]=l,t[6]=u,t[7]=f):f=t[7];let p;t[8]!==n||t[9]!==r?(p=hl.map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{onClick:()=>{r(e.id),a(!1)},className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs hover:bg-accent ${n===e.id?`bg-accent text-foreground`:`text-muted-foreground`}`,children:[(0,$.jsx)(t,{className:`size-3.5`}),e.label]},e.id)}),t[8]=n,t[9]=r,t[10]=p):p=t[10];let m;t[11]===p?m=t[12]:(m=(0,$.jsx)(O,{side:`top`,className:`w-36 p-1`,children:p}),t[11]=p,t[12]=m);let h;return t[13]!==i||t[14]!==f||t[15]!==m?(h=(0,$.jsxs)(k,{open:i,onOpenChange:a,children:[f,m]}),t[13]=i,t[14]=f,t[15]=m,t[16]=h):h=t[16],h}),_l=(0,B.memo)(function(e){let t=(0,ml.c)(77),{activeTool:n,onToolChange:r,canUndo:i,canRedo:a,onUndo:o,onRedo:s,zoomLevel:c,onZoomIn:l,onZoomOut:u,onFitToView:d,canvasRef:f,onCanvasModified:p}=e,m=(0,B.useRef)(null),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{m.current?.click()},t[0]=h):h=t[0];let g=h,_;t[1]!==f||t[2]!==p?(_=e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.addEventListener(`load`,async()=>{let e=n.result,t=await xc.fromURL(e);t.scaleToWidth(300),f.current?.addObject(t),p()}),n.readAsDataURL(t),e.target.value=``},t[1]=f,t[2]=p,t[3]=_):_=t[3];let v=_,b;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(b={id:`select`,icon:(0,$.jsx)(ie,{className:`size-3.5`}),label:`Select (V)`},t[4]=b):b=t[4];let x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=[b,{id:`text`,icon:(0,$.jsx)(P,{className:`size-3.5`}),label:`Text (T)`}],t[5]=x):x=t[5];let S=x,C,w;t[6]!==n||t[7]!==r?(C=S.map(e=>(0,$.jsxs)(F,{children:[(0,$.jsx)(M,{render:(0,$.jsx)(I,{pressed:n===e.id,onPressedChange:()=>r(e.id),"aria-label":e.label,size:`xs`,variant:`default`,children:e.icon})}),(0,$.jsx)(N,{side:`top`,children:e.label})]},e.id)),w=(0,$.jsx)(gl,{activeTool:n,onToolChange:r}),t[6]=n,t[7]=r,t[8]=C,t[9]=w):(C=t[8],w=t[9]);let T=n===`image`,E;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(te,{className:`size-3.5`}),t[10]=E):E=t[10];let D;t[11]===T?D=t[12]:(D=(0,$.jsx)(M,{render:(0,$.jsx)(I,{pressed:T,onPressedChange:g,"aria-label":`Image`,size:`xs`,variant:`default`,children:E})}),t[11]=T,t[12]=D);let O;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(N,{side:`top`,children:`Upload Image`}),t[13]=O):O=t[13];let k;t[14]===D?k=t[15]:(k=(0,$.jsxs)(F,{children:[D,O]}),t[14]=D,t[15]=k);let A=n===`draw`,j;t[16]===r?j=t[17]:(j=()=>r(`draw`),t[16]=r,t[17]=j);let ee;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(ae,{className:`size-3.5`}),t[18]=ee):ee=t[18];let L;t[19]!==A||t[20]!==j?(L=(0,$.jsx)(M,{render:(0,$.jsx)(I,{pressed:A,onPressedChange:j,"aria-label":`Draw`,size:`xs`,variant:`default`,children:ee})}),t[19]=A,t[20]=j,t[21]=L):L=t[21];let R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(N,{side:`top`,children:`Freehand Draw (D)`}),t[22]=R):R=t[22];let z;t[23]===L?z=t[24]:(z=(0,$.jsxs)(F,{children:[L,R]}),t[23]=L,t[24]=z);let ne;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),t[25]=ne):ne=t[25];let se=!i,ce;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(y,{className:`size-3.5`}),t[26]=ce):ce=t[26];let de;t[27]!==o||t[28]!==se?(de=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:o,disabled:se,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent`,"aria-label":`Undo`,children:ce})}),t[27]=o,t[28]=se,t[29]=de):de=t[29];let fe;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(N,{side:`top`,children:`Undo (Ctrl+Z)`}),t[30]=fe):fe=t[30];let pe;t[31]===de?pe=t[32]:(pe=(0,$.jsxs)(F,{children:[de,fe]}),t[31]=de,t[32]=pe);let me=!a,he;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(oe,{className:`size-3.5`}),t[33]=he):he=t[33];let ge;t[34]!==s||t[35]!==me?(ge=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:s,disabled:me,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent`,"aria-label":`Redo`,children:he})}),t[34]=s,t[35]=me,t[36]=ge):ge=t[36];let _e;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(N,{side:`top`,children:`Redo (Ctrl+Shift+Z)`}),t[37]=_e):_e=t[37];let ve;t[38]===ge?ve=t[39]:(ve=(0,$.jsxs)(F,{children:[ge,_e]}),t[38]=ge,t[39]=ve);let ye;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(`div`,{className:`flex-1`}),t[40]=ye):ye=t[40];let be;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(ue,{className:`size-3.5`}),t[41]=be):be=t[41];let xe;t[42]===u?xe=t[43]:(xe=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:u,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground`,"aria-label":`Zoom out`,children:be})}),t[42]=u,t[43]=xe);let Se;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,$.jsx)(N,{side:`top`,children:`Zoom Out`}),t[44]=Se):Se=t[44];let Ce;t[45]===xe?Ce=t[46]:(Ce=(0,$.jsxs)(F,{children:[xe,Se]}),t[45]=xe,t[46]=Ce);let V;t[47]===c?V=t[48]:(V=Math.round(c*100),t[47]=c,t[48]=V);let we;t[49]===V?we=t[50]:(we=(0,$.jsxs)(`span`,{className:`min-w-[3rem] text-center text-xs tabular-nums text-muted-foreground`,children:[V,`%`]}),t[49]=V,t[50]=we);let H;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(le,{className:`size-3.5`}),t[51]=H):H=t[51];let Te;t[52]===l?Te=t[53]:(Te=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:l,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground`,"aria-label":`Zoom in`,children:H})}),t[52]=l,t[53]=Te);let Ee;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsx)(N,{side:`top`,children:`Zoom In`}),t[54]=Ee):Ee=t[54];let De;t[55]===Te?De=t[56]:(De=(0,$.jsxs)(F,{children:[Te,Ee]}),t[55]=Te,t[56]=De);let Oe;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(re,{className:`size-3.5`}),t[57]=Oe):Oe=t[57];let ke;t[58]===d?ke=t[59]:(ke=(0,$.jsx)(M,{render:(0,$.jsx)(`button`,{onClick:d,className:`inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground`,"aria-label":`Fit to view`,children:Oe})}),t[58]=d,t[59]=ke);let Ae;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(N,{side:`top`,children:`Fit to View`}),t[60]=Ae):Ae=t[60];let je;t[61]===ke?je=t[62]:(je=(0,$.jsxs)(F,{children:[ke,Ae]}),t[61]=ke,t[62]=je);let U;t[63]===v?U=t[64]:(U=(0,$.jsx)(`input`,{ref:m,type:`file`,accept:`image/*`,className:`hidden`,onChange:v}),t[63]=v,t[64]=U);let Me;return t[65]!==k||t[66]!==z||t[67]!==pe||t[68]!==ve||t[69]!==Ce||t[70]!==we||t[71]!==De||t[72]!==je||t[73]!==U||t[74]!==C||t[75]!==w?(Me=(0,$.jsxs)(`div`,{className:`flex items-center gap-1 border-t border-border bg-card px-2 py-1.5`,children:[C,w,k,z,ne,pe,ve,ye,Ce,we,De,je,U]}),t[65]=k,t[66]=z,t[67]=pe,t[68]=ve,t[69]=Ce,t[70]=we,t[71]=De,t[72]=je,t[73]=U,t[74]=C,t[75]=w,t[76]=Me):Me=t[76],Me});function vl(e){switch(e){case`textbox`:case`i-text`:return P;case`rect`:return S;case`circle`:case`ellipse`:return m;case`image`:return z;case`path`:return ae;default:return S}}var yl=(0,B.memo)(function(e){let t=(0,ml.c)(12),{layers:n,selectedObjectIds:r,onLayerSelect:i,onLayerVisibilityToggle:a}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`No objects on canvas`}),t[0]=e):e=t[0],e}let o;if(t[1]!==n||t[2]!==i||t[3]!==a||t[4]!==r){let e;t[6]!==i||t[7]!==a||t[8]!==r?(e=e=>{let t=vl(e.type),n=r.includes(e.id);return(0,$.jsxs)(`div`,{onClick:()=>i(e.id),className:`flex cursor-pointer items-center gap-1.5 rounded px-1.5 py-1 text-[10px] ${n?`bg-primary/10 text-primary`:`text-muted-foreground hover:bg-accent hover:text-foreground`}`,children:[(0,$.jsx)(`button`,{onClick:t=>{t.stopPropagation(),a(e.id)},className:`inline-flex size-4 items-center justify-center rounded hover:bg-accent`,children:e.visible?(0,$.jsx)(f,{className:`size-2.5`}):(0,$.jsx)(b,{className:`size-2.5 opacity-40`})}),(0,$.jsx)(t,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name})]},e.id)},t[6]=i,t[7]=a,t[8]=r,t[9]=e):e=t[9],o=[...n].toReversed().map(e),t[1]=n,t[2]=i,t[3]=a,t[4]=r,t[5]=o}else o=t[5];let s;return t[10]===o?s=t[11]:(s=(0,$.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:o}),t[10]=o,t[11]=s),s}),bl=(0,B.memo)(function(e){let t=(0,ml.c)(29),{open:r,properties:i,layers:a,onClose:o,onPropertyChange:s,onLayerSelect:l,onLayerVisibilityToggle:u,onMoveUp:d,onMoveDown:f,onBringToFront:m,onSendToBack:h}=e,g;t[0]===s?g=t[1]:(g=(e,t)=>{let n=Number.parseFloat(t);Number.isNaN(n)||s(e,n)},t[0]=s,t[1]=g);let _=g;if(!r)return null;let v=i?.type===`textbox`||i?.type===`i-text`,y;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(`span`,{className:`text-xs font-semibold text-foreground`,children:`Properties`}),t[2]=y):y=t[2];let b;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(n,{className:`size-3`}),t[3]=b):b=t[3];let x;t[4]===o?x=t[5]:(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-3 py-2`,children:[y,(0,$.jsx)(`button`,{onClick:o,className:`inline-flex size-5 items-center justify-center rounded text-muted-foreground hover:text-foreground`,children:b})]}),t[4]=o,t[5]=x);let S;t[6]!==_||t[7]!==v||t[8]!==m||t[9]!==f||t[10]!==d||t[11]!==s||t[12]!==h||t[13]!==i?(S=i?(0,$.jsxs)(`div`,{className:`space-y-3 p-3`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Transform`}),(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,$.jsx)(xl,{label:`X`,value:i.left,onChange:e=>_(`left`,e)}),(0,$.jsx)(xl,{label:`Y`,value:i.top,onChange:e=>_(`top`,e)}),(0,$.jsx)(xl,{label:`W`,value:i.width,onChange:e=>_(`scaleWidth`,e)}),(0,$.jsx)(xl,{label:`H`,value:i.height,onChange:e=>_(`scaleHeight`,e)}),(0,$.jsx)(xl,{label:`R`,value:i.angle,onChange:e=>_(`angle`,e)})]})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Appearance`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(Sl,{label:`Fill`,value:i.fill??``,onChange:e=>s(`fill`,e)}),(0,$.jsx)(Sl,{label:`Stroke`,value:i.stroke??``,onChange:e=>s(`stroke`,e)}),(0,$.jsx)(xl,{label:`Stroke W`,value:i.strokeWidth,onChange:e=>_(`strokeWidth`,e)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:`Opacity`}),(0,$.jsx)(`input`,{type:`range`,min:0,max:1,step:.01,value:i.opacity,onChange:e=>s(`opacity`,Number.parseFloat(e.target.value)),className:`h-1 flex-1 appearance-none rounded-full bg-border accent-primary`}),(0,$.jsxs)(`span`,{className:`w-8 text-right text-[10px] tabular-nums text-muted-foreground`,children:[Math.round(i.opacity*100),`%`]})]})]})]}),v&&(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Text`}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:`Font`}),(0,$.jsx)(`input`,{type:`text`,value:i.fontFamily??`Inter`,onChange:e=>s(`fontFamily`,e.target.value),className:`h-6 flex-1 rounded border border-border bg-background px-1.5 text-[10px] text-foreground`})]}),(0,$.jsx)(xl,{label:`Size`,value:i.fontSize??16,onChange:e=>_(`fontSize`,e)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:`Align`}),(0,$.jsx)(`div`,{className:`flex gap-1`,children:[`left`,`center`,`right`].map(e=>(0,$.jsx)(`button`,{onClick:()=>s(`textAlign`,e),className:`rounded px-1.5 py-0.5 text-[10px] ${i.textAlign===e?`bg-primary text-primary-foreground`:`bg-background text-muted-foreground hover:text-foreground`}`,children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]})]})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Order`}),(0,$.jsxs)(`div`,{className:`flex gap-1`,children:[(0,$.jsx)(Cl,{icon:(0,$.jsx)(p,{className:`size-3`}),label:`Bring to front`,onClick:m}),(0,$.jsx)(Cl,{icon:(0,$.jsx)(T,{className:`size-3`}),label:`Move up`,onClick:d}),(0,$.jsx)(Cl,{icon:(0,$.jsx)(E,{className:`size-3`}),label:`Move down`,onClick:f}),(0,$.jsx)(Cl,{icon:(0,$.jsx)(c,{className:`size-3`}),label:`Send to back`,onClick:h})]})]})]}):null,t[6]=_,t[7]=v,t[8]=m,t[9]=f,t[10]=d,t[11]=s,t[12]=h,t[13]=i,t[14]=S):S=t[14];let C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`h4`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Layers`}),t[15]=C):C=t[15];let w;t[16]===i?w=t[17]:(w=i?[i.id]:[],t[16]=i,t[17]=w);let D;t[18]!==a||t[19]!==l||t[20]!==u||t[21]!==w?(D=(0,$.jsxs)(`div`,{className:`border-t border-border p-3`,children:[C,(0,$.jsx)(yl,{layers:a,selectedObjectIds:w,onLayerSelect:l,onLayerVisibilityToggle:u})]}),t[18]=a,t[19]=l,t[20]=u,t[21]=w,t[22]=D):D=t[22];let O;t[23]!==S||t[24]!==D?(O=(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[S,D]}),t[23]=S,t[24]=D,t[25]=O):O=t[25];let k;return t[26]!==x||t[27]!==O?(k=(0,$.jsxs)(`div`,{className:`absolute right-0 top-0 z-10 flex h-full w-56 flex-col border-l border-border bg-card`,children:[x,O]}),t[26]=x,t[27]=O,t[28]=k):k=t[28],k});function xl(e){let t=(0,ml.c)(12),{label:n,value:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=(0,$.jsx)(`label`,{className:`w-5 text-[10px] text-muted-foreground`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=Math.round(r),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=e=>i(e.target.value),t[4]=i,t[5]=s);let c;t[6]!==o||t[7]!==s?(c=(0,$.jsx)(`input`,{type:`number`,value:o,onChange:s,className:`h-6 w-full rounded border border-border bg-background px-1.5 text-[10px] tabular-nums text-foreground`}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;return t[9]!==a||t[10]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[a,c]}),t[9]=a,t[10]=c,t[11]=l):l=t[11],l}function Sl(e){let t=(0,ml.c)(15),{label:n,value:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=(0,$.jsx)(`label`,{className:`w-12 text-[10px] text-muted-foreground`,children:n}),t[0]=n,t[1]=a);let o=r||`#000000`,s;t[2]===i?s=t[3]:(s=e=>i(e.target.value),t[2]=i,t[3]=s);let c;t[4]!==o||t[5]!==s?(c=(0,$.jsx)(`input`,{type:`color`,value:o,onChange:s,className:`size-5 cursor-pointer rounded border border-border`}),t[4]=o,t[5]=s,t[6]=c):c=t[6];let l=r||`none`,u;t[7]===l?u=t[8]:(u=(0,$.jsx)(`span`,{className:`text-[10px] tabular-nums text-muted-foreground`,children:l}),t[7]=l,t[8]=u);let d;t[9]!==c||t[10]!==u?(d=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[c,u]}),t[9]=c,t[10]=u,t[11]=d):d=t[11];let f;return t[12]!==a||t[13]!==d?(f=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[a,d]}),t[12]=a,t[13]=d,t[14]=f):f=t[14],f}function Cl(e){let t=(0,ml.c)(4),{icon:n,label:r,onClick:i}=e,a;return t[0]!==n||t[1]!==r||t[2]!==i?(a=(0,$.jsx)(`button`,{onClick:i,className:`inline-flex size-7 items-center justify-center rounded border border-border bg-background text-muted-foreground hover:text-foreground`,title:r,children:n}),t[0]=n,t[1]=r,t[2]=i,t[3]=a):a=t[3],a}var wl=(0,B.memo)(function(e){let t=(0,ml.c)(67),{artboardPresetId:n,artboardWidth:r,artboardHeight:i,onSelectPreset:a,onCustomSize:o}=e,[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(String(r)),[d,f]=(0,B.useState)(String(i)),p;t[0]===n?p=t[1]:(p=n?fe.get(n):null,t[0]=n,t[1]=p);let m=p,h=m?m.label:`${r} x ${i}`,g,_,v,y,b,x,S,C,w,T,E;if(t[2]!==i||t[3]!==r||t[4]!==d||t[5]!==l||t[6]!==h||t[7]!==o||t[8]!==s){let e=pe(),n;t[20]!==d||t[21]!==l||t[22]!==o?(n=()=>{let e=Number.parseInt(l,10),t=Number.parseInt(d,10);e>0&&t>0&&(o(e,t),c(!1))},t[20]=d,t[21]=l,t[22]=o,t[23]=n):n=t[23],v=n,_=k,w=s,T=c;let a;t[24]===h?a=t[25]:(a=(0,$.jsx)(`span`,{className:`max-w-[140px] truncate`,children:h}),t[24]=h,t[25]=a);let u;t[26]!==i||t[27]!==r?(u=(0,$.jsxs)(`span`,{className:`tabular-nums opacity-60`,children:[r,`x`,i]}),t[26]=i,t[27]=r,t[28]=u):u=t[28];let f;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(A,{className:`size-3`}),t[29]=f):f=t[29],t[30]!==a||t[31]!==u?(E=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[a,u,f]}),t[30]=a,t[31]=u,t[32]=E):E=t[32],g=O,x=`bottom`,S=`start`,C=`w-64 p-0`,b=`max-h-72 overflow-y-auto p-1`,y=[...e.entries()],t[2]=i,t[3]=r,t[4]=d,t[5]=l,t[6]=h,t[7]=o,t[8]=s,t[9]=g,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=w,t[18]=T,t[19]=E}else g=t[9],_=t[10],v=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],w=t[17],T=t[18],E=t[19];let j;t[33]!==n||t[34]!==a||t[35]!==y?(j=y.map(e=>{let[t,r]=e;return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`px-2 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:t}),r.map(e=>(0,$.jsxs)(`button`,{onClick:()=>{a(e),c(!1)},className:`flex w-full items-center justify-between rounded-md px-2 py-1.5 text-xs hover:bg-accent ${n===e.id?`bg-accent text-foreground`:`text-muted-foreground`}`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsxs)(`span`,{className:`tabular-nums opacity-60`,children:[e.width,`x`,e.height]})]},e.id))]},t)}),t[33]=n,t[34]=a,t[35]=y,t[36]=j):j=t[36];let M;t[37]!==j||t[38]!==b?(M=(0,$.jsx)(`div`,{className:b,children:j}),t[37]=j,t[38]=b,t[39]=M):M=t[39];let N;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:`Custom Size`}),t[40]=N):N=t[40];let P;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>u(e.target.value),t[41]=P):P=t[41];let F;t[42]===l?F=t[43]:(F=(0,$.jsx)(`input`,{type:`number`,value:l,onChange:P,placeholder:`Width`,className:`h-6 w-20 rounded border border-border bg-background px-1.5 text-[10px] tabular-nums`}),t[42]=l,t[43]=F);let I;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`x`}),t[44]=I):I=t[44];let ee;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>f(e.target.value),t[45]=ee):ee=t[45];let L;t[46]===d?L=t[47]:(L=(0,$.jsx)(`input`,{type:`number`,value:d,onChange:ee,placeholder:`Height`,className:`h-6 w-20 rounded border border-border bg-background px-1.5 text-[10px] tabular-nums`}),t[46]=d,t[47]=L);let R;t[48]===v?R=t[49]:(R=(0,$.jsx)(`button`,{onClick:v,className:`h-6 rounded bg-primary px-2 text-[10px] font-medium text-primary-foreground hover:bg-primary/90`,children:`Apply`}),t[48]=v,t[49]=R);let te;t[50]!==F||t[51]!==L||t[52]!==R?(te=(0,$.jsxs)(`div`,{className:`border-t border-border p-2`,children:[N,(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[F,I,L,R]})]}),t[50]=F,t[51]=L,t[52]=R,t[53]=te):te=t[53];let z;t[54]!==g||t[55]!==M||t[56]!==te||t[57]!==x||t[58]!==S||t[59]!==C?(z=(0,$.jsxs)(g,{side:x,align:S,className:C,children:[M,te]}),t[54]=g,t[55]=M,t[56]=te,t[57]=x,t[58]=S,t[59]=C,t[60]=z):z=t[60];let ne;return t[61]!==_||t[62]!==z||t[63]!==w||t[64]!==T||t[65]!==E?(ne=(0,$.jsxs)(_,{open:w,onOpenChange:T,children:[E,z]}),t[61]=_,t[62]=z,t[63]=w,t[64]=T,t[65]=E,t[66]=ne):ne=t[66],ne}),Tl=(0,B.memo)(function({canvasRef:e,artboardWidth:t,artboardHeight:n,savedDesigns:r,onSaveDesign:i,onLoadDesign:a,onDeleteDesign:s}){let[c,l]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),m=t=>{let n=e.current?.exportPNG(t);n&&me(n,`design-${Date.now()}.png`),l(!1)},h=()=>{let t=e.current?.exportSVG();t&&he(new Blob([t],{type:`image/svg+xml`}),`design-${Date.now()}.svg`),l(!1)},g=async()=>{let r=e.current?.exportPNG(2);if(!r)return;let{jsPDF:i}=await o(async()=>{let{jsPDF:e}=await import(`./jspdf.es.min-Hx4pHu4X.js`);return{jsPDF:e}},__vite__mapDeps([0,1,2,3])),a=new i({orientation:t>n?`landscape`:`portrait`,unit:`px`,format:[t,n]});a.addImage(r,`PNG`,0,0,t,n),a.save(`design-${Date.now()}.pdf`),l(!1)},v=()=>{let t=e.current?.toJSON();t&&(i(`design-${Date.now()}`,`Design ${new Date().toLocaleString()}`,t),l(!1))},y=e=>{a(e),l(!1),p(!1)},b=Object.entries(r).toSorted(([,e],[,t])=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime());return(0,$.jsxs)(k,{open:c,onOpenChange:e=>{l(e),e||p(!1)},children:[(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md bg-success px-2.5 py-1 text-xs font-medium text-white hover:bg-success`,children:[(0,$.jsx)(_,{className:`size-3`}),`Export`]}),(0,$.jsx)(O,{side:`bottom`,align:`end`,className:`w-52 p-1`,children:f?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`button`,{onClick:()=>p(!1),className:`mb-1 w-full rounded px-2 py-1 text-left text-[10px] text-muted-foreground hover:bg-accent`,children:`← Back`}),b.map(([e,t])=>(0,$.jsxs)(`div`,{className:`flex items-center gap-1 rounded px-1 py-0.5 hover:bg-accent`,children:[(0,$.jsx)(`button`,{onClick:()=>y(t.json),className:`flex-1 truncate px-1 py-1 text-left text-xs text-foreground`,children:t.name}),(0,$.jsx)(`button`,{onClick:()=>s(e),className:`inline-flex size-5 items-center justify-center rounded text-muted-foreground hover:text-destructive`,children:(0,$.jsx)(se,{className:`size-3`})})]},e))]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(El,{label:`Export`,children:[(0,$.jsx)(Dl,{icon:(0,$.jsx)(z,{className:`size-3.5`}),label:`PNG (1x)`,onClick:()=>m(1)}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(z,{className:`size-3.5`}),label:`PNG (2x)`,onClick:()=>m(2)}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(ee,{className:`size-3.5`}),label:`SVG`,onClick:h}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(d,{className:`size-3.5`}),label:`PDF`,onClick:()=>void g()})]}),(0,$.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,$.jsxs)(El,{label:`Design`,children:[(0,$.jsx)(Dl,{icon:(0,$.jsx)(u,{className:`size-3.5`}),label:`Save Design`,onClick:v}),(0,$.jsx)(Dl,{icon:(0,$.jsx)(L,{className:`size-3.5`}),label:`Load Design (${b.length})`,onClick:()=>p(!0),disabled:b.length===0})]})]})})]})});function El(e){let t=(0,ml.c)(5),{label:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`div`,{className:`px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,$.jsxs)(`div`,{children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Dl(e){let t=(0,ml.c)(5),{icon:n,label:r,onClick:i,disabled:a}=e,o;return t[0]!==a||t[1]!==n||t[2]!==r||t[3]!==i?(o=(0,$.jsxs)(`button`,{onClick:i,disabled:a,className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-40`,children:[n,r]}),t[0]=a,t[1]=n,t[2]=r,t[3]=i,t[4]=o):o=t[4],o}var Ol=(0,B.memo)(function(e){let t=(0,ml.c)(26),{canvasRef:n,artboardWidth:r,artboardHeight:i,brandKit:a,onCanvasModified:o}=e,[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(``),d;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n||t[4]!==o||t[5]!==l?(d=()=>{let e=l.trim();if(!e)return;let t=h(e,r,i,a);n.current?.applyGeneratedLayout(t.objects),o(),u(``),c(!1)},t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=o,t[5]=l,t[6]=d):d=t[6];let f=d,p;t[7]===f?p=t[8]:(p=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),f())},t[7]=f,t[8]=p);let m=p,g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md bg-primary/10 px-2.5 py-1 text-xs font-medium text-primary hover:bg-primary/20`,children:[(0,$.jsx)(ce,{className:`size-3`}),`Quick Create`]}),t[9]=g):g=t[9];let _,v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`div`,{className:`mb-2 text-xs font-semibold text-foreground`,children:`Generate Design`}),v=(0,$.jsx)(`p`,{className:`mb-3 text-[10px] text-muted-foreground`,children:`Describe what you want and we'll generate a canvas layout for you.`}),t[10]=_,t[11]=v):(_=t[10],v=t[11]);let y;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>u(e.target.value),t[12]=y):y=t[12];let b;t[13]!==m||t[14]!==l?(b=(0,$.jsx)(`textarea`,{value:l,onChange:y,onKeyDown:m,placeholder:`e.g. Bold sale announcement for Instagram...`,rows:3,className:`mb-2 w-full resize-none rounded-md border border-border bg-background px-2.5 py-2 text-xs placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0}),t[13]=m,t[14]=l,t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`Press Enter to generate`}),t[16]=x):x=t[16];let S=!l.trim(),C;t[17]!==f||t[18]!==S?(C=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[x,(0,$.jsx)(`button`,{onClick:f,disabled:S,className:`rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-40`,children:`Generate`})]}),t[17]=f,t[18]=S,t[19]=C):C=t[19];let w;t[20]!==C||t[21]!==b?(w=(0,$.jsxs)(O,{side:`bottom`,align:`start`,className:`w-80 p-3`,children:[_,v,b,C]}),t[20]=C,t[21]=b,t[22]=w):w=t[22];let T;return t[23]!==s||t[24]!==w?(T=(0,$.jsxs)(k,{open:s,onOpenChange:c,children:[g,w]}),t[23]=s,t[24]=w,t[25]=T):T=t[25],T}),kl={social:`Social Media`,business:`Business`,marketing:`Marketing`,presentation:`Presentations`},Al=(0,B.memo)(function(e){let t=(0,ml.c)(50),{canvasRef:n,brandKit:r,onCanvasModified:i,onSelectPreset:a}=e,[o,s]=(0,B.useState)(!1),[c,u]=(0,B.useState)(null),d,f,p,m,g,_,y,b,x,S,C;if(t[0]!==c||t[1]!==r||t[2]!==n||t[3]!==i||t[4]!==a||t[5]!==o){let e=l(),w=[...e.keys()],T=c?e.get(c)??[]:v,E;t[17]!==r||t[18]!==n||t[19]!==i||t[20]!==a?(E=e=>{let t=fe.get(e.presetId);t&&a(t);let o=t?.width??1080,c=t?.height??1080,l=h(e.previewPrompt,o,c,r);requestAnimationFrame(()=>{n.current?.applyGeneratedLayout(l.objects),i()}),s(!1)},t[17]=r,t[18]=n,t[19]=i,t[20]=a,t[21]=E):E=t[21];let A=E;f=k,x=o,S=s,t[22]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[(0,$.jsx)(ne,{className:`size-3`}),`Templates`]}),t[22]=C):C=t[22],d=O,g=`bottom`,_=`start`,y=`w-80 p-0`;let j;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>u(null),t[23]=j):j=t[23];let M=`rounded-md px-2 py-1 text-[10px] font-medium ${c===null?`bg-primary/10 text-primary`:`text-muted-foreground hover:text-foreground`}`,N;t[24]===M?N=t[25]:(N=(0,$.jsx)(`button`,{onClick:j,className:M,children:`All`}),t[24]=M,t[25]=N);let P;t[26]!==c||t[27]!==w?(P=w.map(e=>(0,$.jsx)(`button`,{onClick:()=>u(e),className:`rounded-md px-2 py-1 text-[10px] font-medium ${c===e?`bg-primary/10 text-primary`:`text-muted-foreground hover:text-foreground`}`,children:kl[e]??e},e)),t[26]=c,t[27]=w,t[28]=P):P=t[28],t[29]!==N||t[30]!==P?(b=(0,$.jsxs)(`div`,{className:`flex gap-1 border-b border-border px-2 py-1.5`,children:[N,P]}),t[29]=N,t[30]=P,t[31]=b):b=t[31],p=`grid max-h-64 grid-cols-2 gap-1.5 overflow-y-auto p-2`;let F;t[32]===A?F=t[33]:(F=e=>{let t=fe.get(e.presetId);return(0,$.jsxs)(`button`,{onClick:()=>A(e),className:`group flex flex-col rounded-lg border border-border p-2 text-left hover:border-primary/50 hover:bg-accent/50`,children:[(0,$.jsx)(`div`,{className:`mb-1.5 h-12 w-full rounded-md`,style:{background:e.style===`bold`?`linear-gradient(135deg, #1f2937, #374151)`:e.style===`gradient`?`linear-gradient(135deg, #4f46e5, #818cf8)`:e.style===`centered`?`linear-gradient(135deg, #fef3c7, #fde68a)`:e.style===`split`?`linear-gradient(90deg, #0ea5e9 45%, #f8fafc 45%)`:`#f8fafc`}}),(0,$.jsx)(`span`,{className:`text-[10px] font-medium text-foreground group-hover:text-primary`,children:e.name}),(0,$.jsx)(`span`,{className:`text-[9px] text-muted-foreground`,children:t?.label??e.presetId})]},e.id)},t[32]=A,t[33]=F),m=T.map(F),t[0]=c,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=g,t[11]=_,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C}else d=t[6],f=t[7],p=t[8],m=t[9],g=t[10],_=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16];let w;t[34]!==p||t[35]!==m?(w=(0,$.jsx)(`div`,{className:p,children:m}),t[34]=p,t[35]=m,t[36]=w):w=t[36];let T;t[37]!==d||t[38]!==w||t[39]!==g||t[40]!==_||t[41]!==y||t[42]!==b?(T=(0,$.jsxs)(d,{side:g,align:_,className:y,children:[b,w]}),t[37]=d,t[38]=w,t[39]=g,t[40]=_,t[41]=y,t[42]=b,t[43]=T):T=t[43];let E;return t[44]!==f||t[45]!==T||t[46]!==x||t[47]!==S||t[48]!==C?(E=(0,$.jsxs)(f,{open:x,onOpenChange:S,children:[C,T]}),t[44]=f,t[45]=T,t[46]=x,t[47]=S,t[48]=C,t[49]=E):E=t[49],E});function jl(e){let t=(0,ml.c)(13),{label:n,value:r,onChange:i}=e,a;t[0]===i?a=t[1]:(a=e=>i(e.target.value),t[0]=i,t[1]=a);let o;t[2]!==a||t[3]!==r?(o=(0,$.jsx)(`input`,{type:`color`,value:r,onChange:a,className:`size-5 cursor-pointer rounded border border-border`}),t[2]=a,t[3]=r,t[4]=o):o=t[4];let s;t[5]===n?s=t[6]:(s=(0,$.jsx)(`span`,{className:`flex-1 text-[10px] text-muted-foreground`,children:n}),t[5]=n,t[6]=s);let c;t[7]===r?c=t[8]:(c=(0,$.jsx)(`span`,{className:`font-mono text-[9px] text-muted-foreground/60`,children:r}),t[7]=r,t[8]=c);let l;return t[9]!==o||t[10]!==s||t[11]!==c?(l=(0,$.jsxs)(`label`,{className:`flex items-center gap-2`,children:[o,s,c]}),t[9]=o,t[10]=s,t[11]=c,t[12]=l):l=t[12],l}var Ml=[`Inter, sans-serif`,`Georgia, serif`,`Menlo, monospace`,`system-ui, sans-serif`,`Helvetica, Arial, sans-serif`,`Times New Roman, serif`],Nl=(0,B.memo)(function(e){let t=(0,ml.c)(70),{brandKit:n,onUpdate:r,onReset:i}=e,[a,o]=(0,B.useState)(!1),s;t[0]===r?s=t[1]:(s=(e,t)=>{r({[e]:t})},t[0]=r,t[1]=s);let c=s,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsxs)(D,{className:`inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,children:[(0,$.jsx)(g,{className:`size-3`}),`Brand`]}),t[2]=l):l=t[2];let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`span`,{className:`text-xs font-semibold text-foreground`,children:`Brand Kit`}),t[3]=u):u=t[3];let d;t[4]===i?d=t[5]:(d=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[u,(0,$.jsx)(`button`,{onClick:i,className:`text-[10px] text-muted-foreground hover:text-foreground`,children:`Reset`})]}),t[4]=i,t[5]=d);let f;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Colors`}),t[6]=f):f=t[6];let p;t[7]===c?p=t[8]:(p=e=>c(`primaryColor`,e),t[7]=c,t[8]=p);let m;t[9]!==n.primaryColor||t[10]!==p?(m=(0,$.jsx)(jl,{label:`Primary`,value:n.primaryColor,onChange:p}),t[9]=n.primaryColor,t[10]=p,t[11]=m):m=t[11];let h;t[12]===c?h=t[13]:(h=e=>c(`secondaryColor`,e),t[12]=c,t[13]=h);let _;t[14]!==n.secondaryColor||t[15]!==h?(_=(0,$.jsx)(jl,{label:`Secondary`,value:n.secondaryColor,onChange:h}),t[14]=n.secondaryColor,t[15]=h,t[16]=_):_=t[16];let v;t[17]===c?v=t[18]:(v=e=>c(`accentColor`,e),t[17]=c,t[18]=v);let y;t[19]!==n.accentColor||t[20]!==v?(y=(0,$.jsx)(jl,{label:`Accent`,value:n.accentColor,onChange:v}),t[19]=n.accentColor,t[20]=v,t[21]=y):y=t[21];let b;t[22]===c?b=t[23]:(b=e=>c(`backgroundColor`,e),t[22]=c,t[23]=b);let x;t[24]!==n.backgroundColor||t[25]!==b?(x=(0,$.jsx)(jl,{label:`Background`,value:n.backgroundColor,onChange:b}),t[24]=n.backgroundColor,t[25]=b,t[26]=x):x=t[26];let S;t[27]===c?S=t[28]:(S=e=>c(`textColor`,e),t[27]=c,t[28]=S);let C;t[29]!==n.textColor||t[30]!==S?(C=(0,$.jsx)(jl,{label:`Text`,value:n.textColor,onChange:S}),t[29]=n.textColor,t[30]=S,t[31]=C):C=t[31];let w;t[32]!==y||t[33]!==x||t[34]!==C||t[35]!==m||t[36]!==_?(w=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[f,m,_,y,x,C]}),t[32]=y,t[33]=x,t[34]=C,t[35]=m,t[36]=_,t[37]=w):w=t[37];let T;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:`Fonts`}),t[38]=T):T=t[38];let E;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(`span`,{className:`mb-1 block text-[10px] text-muted-foreground`,children:`Body Font`}),t[39]=E):E=t[39];let A=n.fontFamily,j;t[40]===r?j=t[41]:(j=e=>r({fontFamily:e.target.value}),t[40]=r,t[41]=j);let M;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(M=Ml.map(Pl),t[42]=M):M=t[42];let N;t[43]!==n.fontFamily||t[44]!==j?(N=(0,$.jsxs)(`label`,{className:`block`,children:[E,(0,$.jsx)(`select`,{value:A,onChange:j,className:`h-6 w-full rounded border border-border bg-background px-1.5 text-[10px]`,children:M})]}),t[43]=n.fontFamily,t[44]=j,t[45]=N):N=t[45];let P;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{className:`mb-1 block text-[10px] text-muted-foreground`,children:`Heading Font`}),t[46]=P):P=t[46];let F=n.headingFontFamily,I;t[47]===r?I=t[48]:(I=e=>r({headingFontFamily:e.target.value}),t[47]=r,t[48]=I);let ee;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(ee=Ml.map(Fl),t[49]=ee):ee=t[49];let L;t[50]!==n.headingFontFamily||t[51]!==I?(L=(0,$.jsxs)(`label`,{className:`block`,children:[P,(0,$.jsx)(`select`,{value:F,onChange:I,className:`h-6 w-full rounded border border-border bg-background px-1.5 text-[10px]`,children:ee})]}),t[50]=n.headingFontFamily,t[51]=I,t[52]=L):L=t[52];let R;t[53]!==N||t[54]!==L?(R=(0,$.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[T,N,L]}),t[53]=N,t[54]=L,t[55]=R):R=t[55];let te;t[56]!==n.accentColor||t[57]!==n.backgroundColor||t[58]!==n.primaryColor||t[59]!==n.secondaryColor||t[60]!==n.textColor?(te=(0,$.jsx)(`div`,{className:`mt-3 flex gap-1 rounded-md border border-border p-1.5`,children:[n.primaryColor,n.secondaryColor,n.accentColor,n.backgroundColor,n.textColor].map(Il)}),t[56]=n.accentColor,t[57]=n.backgroundColor,t[58]=n.primaryColor,t[59]=n.secondaryColor,t[60]=n.textColor,t[61]=te):te=t[61];let z;t[62]!==w||t[63]!==R||t[64]!==te||t[65]!==d?(z=(0,$.jsxs)(O,{side:`bottom`,align:`end`,className:`w-64 p-3`,children:[d,w,R,te]}),t[62]=w,t[63]=R,t[64]=te,t[65]=d,t[66]=z):z=t[66];let ne;return t[67]!==a||t[68]!==z?(ne=(0,$.jsxs)(k,{open:a,onOpenChange:o,children:[l,z]}),t[67]=a,t[68]=z,t[69]=ne):ne=t[69],ne});function Pl(e){return(0,$.jsx)(`option`,{value:e,children:e.split(`,`)[0]},e)}function Fl(e){return(0,$.jsx)(`option`,{value:e,children:e.split(`,`)[0]},e)}function Il(e){return(0,$.jsx)(`div`,{className:`h-4 flex-1 rounded-sm`,style:{backgroundColor:e}},e)}var Ll=(0,B.memo)(function({onClose:e}){let t=(0,B.useRef)(null),r=(0,B.useRef)(new s(()=>{let e=t.current?.toJSON();e&&C.getState().pushHistorySnapshot(e)},{wait:500}));(0,B.useEffect)(()=>{let e=r.current;return()=>{e.cancel()}},[]);let{activeTool:i,artboardPresetId:a,artboardWidth:o,artboardHeight:c,selectedObjectProperties:l,propertiesPanelOpen:u,historyIndex:d,historyStack:f,layers:p,zoomLevel:m,savedDesigns:g,brandKit:_,setActiveTool:v,setArtboard:y,setSelectedObjects:b,clearSelection:S,setPropertiesPanelOpen:T,setLayers:E,setZoomLevel:D,undo:O,redo:k,resetHistory:A,saveDesign:j,deleteDesign:M,updateBrandKit:N,setBrandKit:P}=C();(0,B.useEffect)(()=>{let e=setTimeout(()=>{let e=t.current?.toJSON();e&&C.getState().pushHistorySnapshot(e)},100);return()=>clearTimeout(e)},[]),(0,B.useEffect)(()=>{let e=C.subscribe((e,n)=>{if(e.pendingGeneratePrompt&&e.pendingGeneratePrompt!==n.pendingGeneratePrompt){let e=C.getState().consumePendingGenerate();if(e&&t.current){let n=h(e,o,c,_);t.current.applyGeneratedLayout(n.objects)}}}),n=C.getState().consumePendingGenerate();return n&&t.current&&requestAnimationFrame(()=>{let e=h(n,o,c,_);t.current?.applyGeneratedLayout(e.objects)}),e},[o,c,_]);let F=(0,B.useCallback)(()=>{r.current.maybeExecute()},[]),I=(0,B.useCallback)(e=>{v(e)},[v]),ee=(0,B.useCallback)(e=>{y(e.id,e.width,e.height),A()},[y,A]),L=(0,B.useCallback)((e,t)=>{y(null,e,t),A()},[y,A]),R=(0,B.useCallback)(()=>{let e=O();e&&t.current?.loadJSON(e)},[O]),te=(0,B.useCallback)(()=>{let e=k();e&&t.current?.loadJSON(e)},[k]),z=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=_e(m),r=e.viewportTransform;r[0]=n,r[3]=n,e.setViewportTransform(r),D(n),e.requestRenderAll()},[m,D]),ne=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=ve(m),r=e.viewportTransform;r[0]=n,r[3]=n,e.setViewportTransform(r),D(n),e.requestRenderAll()},[m,D]),re=(0,B.useCallback)(()=>{t.current?.fitToView()},[]),ie=(0,B.useCallback)((e,n)=>{let r=t.current?.getCanvas();if(!r)return;let i=r.getActiveObject();if(!i)return;if(e===`scaleWidth`){let e=i.width??1;i.set(`scaleX`,n/e)}else if(e===`scaleHeight`){let e=i.height??1;i.set(`scaleY`,n/e)}else i.set(e,n);i.setCoords(),r.requestRenderAll(),F();let a=C.getState().selectedObjectProperties;if(a){let t={...a,[e===`scaleWidth`?`width`:e===`scaleHeight`?`height`:e]:n};b([a.id],t)}},[F,b]),ae=(0,B.useCallback)(e=>{let n=t.current?.getCanvas();if(!n)return;let r=n.getObjects().find(t=>t.customId===e);r&&(n.setActiveObject(r),n.requestRenderAll())},[]),oe=(0,B.useCallback)(e=>{let n=t.current?.getCanvas();if(!n)return;let r=n.getObjects().find(t=>t.customId===e);if(r){r.visible=!r.visible,n.requestRenderAll();let t=p.map(t=>t.id===e?{...t,visible:!t.visible}:t);E(t)}},[p,E]),se=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&(e.bringObjectForward(n),e.requestRenderAll(),F())},[F]),ce=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&(e.sendObjectBackwards(n),e.requestRenderAll(),F())},[F]),le=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&(e.bringObjectToFront(n),e.requestRenderAll(),F())},[F]),ue=(0,B.useCallback)(()=>{let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();if(n){let t=e.getObjects().findIndex(e=>e.customId===`__artboard__`);e.moveObjectTo(n,t+1),e.requestRenderAll(),F()}},[F]),de=(0,B.useCallback)(async e=>{await t.current?.loadJSON(e),A();let n=t.current?.toJSON();n&&C.getState().pushHistorySnapshot(n)},[A]),fe=(0,B.useCallback)((e,t,n)=>{j(e,t,n)},[j]);(0,B.useEffect)(()=>{let e=e=>{if(!(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)){if(!e.metaKey&&!e.ctrlKey)switch(e.key.toLowerCase()){case`v`:v(`select`);return;case`t`:v(`text`);return;case`r`:v(`rect`);return;case`d`:v(`draw`);return}if((e.metaKey||e.ctrlKey)&&e.key===`z`&&(e.preventDefault(),e.shiftKey?te():R()),e.key===`Delete`||e.key===`Backspace`){let e=t.current?.getCanvas();if(!e)return;let n=e.getActiveObject();n&&n.customId!==`__artboard__`&&(e.remove(n),S(),F())}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v,R,te,S,F]);let pe=d>0,me=d<f.length-1;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-semibold text-foreground`,children:`Canvas`}),(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),(0,$.jsx)(Ol,{canvasRef:t,artboardWidth:o,artboardHeight:c,brandKit:_,onCanvasModified:F}),(0,$.jsx)(Al,{canvasRef:t,brandKit:_,onCanvasModified:F,onSelectPreset:ee}),(0,$.jsx)(Nl,{brandKit:_,onUpdate:N,onReset:()=>P(x)}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(wl,{artboardPresetId:a,artboardWidth:o,artboardHeight:c,onSelectPreset:ee,onCustomSize:L}),(0,$.jsx)(Tl,{canvasRef:t,artboardWidth:o,artboardHeight:c,savedDesigns:g,onSaveDesign:fe,onLoadDesign:e=>void de(e),onDeleteDesign:M}),e?(0,$.jsx)(`button`,{onClick:e,className:`inline-flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(n,{className:`size-3.5`})}):null]}),(0,$.jsxs)(`div`,{className:`relative flex min-h-0 flex-1`,children:[p.length===0&&(0,$.jsxs)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 text-center`,children:[(0,$.jsx)(w,{className:`size-7 text-muted-foreground/20`}),(0,$.jsx)(`p`,{className:`text-[12px] text-muted-foreground/35`,children:`Use Quick Create or Templates to start designing.`})]}),(0,$.jsx)(pl,{ref:t,artboardWidth:o,artboardHeight:c,activeTool:i,onSelectionChange:b,onCanvasModified:F,onLayersChange:E,onZoomChange:D}),(0,$.jsx)(bl,{open:u,properties:l,layers:p,onClose:()=>T(!1),onPropertyChange:ie,onLayerSelect:ae,onLayerVisibilityToggle:oe,onMoveUp:se,onMoveDown:ce,onBringToFront:le,onSendToBack:ue})]}),(0,$.jsx)(_l,{activeTool:i,onToolChange:I,canUndo:pe,canRedo:me,onUndo:R,onRedo:te,zoomLevel:m,onZoomIn:z,onZoomOut:ne,onFitToView:re,canvasRef:t,onCanvasModified:F})]})});export{Ll as CanvasPanel,Ll as default};
441
+ //# sourceMappingURL=CanvasPanel-Bk1rL0LG.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{Ha as n,Rt as r,ti as i,ut as a,vt as o}from"./Effect-CyyMOw4X.js";import{At as s,Dt as c,Mt as l}from"./src-7C4X1Oy2.js";import{j as u,y as d}from"./Schema-8EGdYSms.js";var f=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),p=t(((e,t)=>{t.exports=f()})),m=t((e=>{var t=n(),r=p();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=r.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),h=t(((e,t)=>{t.exports=m()})),g=i(`effect/Random`,{defaultValue:()=>({nextIntUnsafe(){return Math.floor(Math.random()*(2**53-1- -(2**53-1)+1))+-(2**53-1)},nextDoubleUnsafe(){return Math.random()}})});function _(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}var v={};function y(e,t,n,r,i){if(!n&&!r&&!i&&!e)return x(t);let a=x(e);return t&&(a=S(a,t)),n&&(a=S(a,n)),r&&(a=S(a,r)),i&&(a=S(a,i)),a}function b(e){if(e.length===0)return v;if(e.length===1)return x(e[0]);let t=x(e[0]);for(let n=1;n<e.length;n+=1)t=S(t,e[n]);return t}function x(e){return te(e)?{...ne(e,v)}:ee(e)}function S(e,t){return te(t)?ne(t,e):C(e,t)}function ee(e){let t={...e};for(let e in t){let n=t[e];w(e,n)&&(t[e]=ie(n))}return t}function C(e,t){if(!t)return e;for(let n in t){let r=t[n];switch(n){case`style`:e[n]=_(e.style,r);break;case`className`:e[n]=E(e.className,r);break;default:e[n]=w(n,r)?re(e[n],r):r}}return e}function w(e,t){let n=e.charCodeAt(0),r=e.charCodeAt(1),i=e.charCodeAt(2);return n===111&&r===110&&i>=65&&i<=90&&(typeof t==`function`||t===void 0)}function te(e){return typeof e==`function`}function ne(e,t){return te(e)?e(t):e??v}function re(e,t){return t?e?(...n)=>{let r=n[0];if(D(r)){let i=r;T(i);let a=t(...n);return i.baseUIHandlerPrevented||e?.(...n),a}let i=t(...n);return e?.(...n),i}:ie(t):e}function ie(e){return e&&((...t)=>{let n=t[0];return D(n)&&T(n),e(...t)})}function T(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function E(e,t){return t?e?t+` `+e:t:e}function D(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}var O=e(n(),1);function ae(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set(`code`,n.toString()),r.forEach(e=>i.searchParams.append(`args[]`,e)),`${t} error #${n}; visit ${i} for the full message.`}}var k=ae(`https://base-ui.com/production-error`,`Base UI`),A={};function j(e,t){let n=O.useRef(A);return n.current===A&&(n.current=e(t)),n}function M(e,t,n,r){let i=j(se).current;return N(i,e,t,n,r)&&F(i,[e,t,n,r]),i.callback}function oe(e){let t=j(se).current;return P(t,e)&&F(t,e),t.callback}function se(){return{callback:null,cleanup:null,refs:[]}}function N(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function P(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function F(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let i=t[e];if(i!=null)switch(typeof i){case`function`:{let t=i(n);typeof t==`function`&&(r[e]=t);break}case`object`:i.current=n}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let n=t[e];if(n!=null)switch(typeof n){case`function`:{let t=r[e];typeof t==`function`?t():n(null);break}case`object`:n.current=null}}}}}}var ce=19;function I(e){return ce>=e}function le(e){if(!O.isValidElement(e))return null;let t=e,n=t.props;return(I(19)?n?.ref:t.ref)??null}function ue(){}var L=Object.freeze([]),R=Object.freeze({});function de(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function fe(e,t){return typeof e==`function`?e(t):e}function pe(e,t){return typeof e==`function`?e(t):e}function me(e,t,n={}){let r=t.render,i=he(t,n);return n.enabled===!1?null:ve(e,r,i,n.state??R)}function he(e,t={}){let{className:n,style:r,render:i}=e,{state:a=R,ref:o,props:s,stateAttributesMapping:c,enabled:l=!0}=t,u=l?fe(n,a):void 0,d=l?pe(r,a):void 0,f=l?de(a,c):R,p=l&&s?ge(s):void 0,m=l?_(f,p)??{}:R;return typeof document<`u`&&(l?m.ref=Array.isArray(o)?oe([m.ref,le(i),...o]):M(m.ref,le(i),o):M(null,null)),l?(u!==void 0&&(m.className=E(m.className,u)),d!==void 0&&(m.style=_(m.style,d)),m):R}function ge(e){return Array.isArray(e)?b(e):y(void 0,e)}var _e=Symbol.for(`react.lazy`);function ve(e,t,n,r){if(t){if(typeof t==`function`)return t(n,r);let e=y(n,t.props);e.ref=n.ref;let i=t;return i?.$$typeof===_e&&(i=O.Children.toArray(t)[0]),O.cloneElement(i,e)}if(e&&typeof e==`string`)return ye(e,n);throw Error(k(8))}function ye(e,t){return e===`button`?(0,O.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,O.createElement)(`img`,{alt:``,...t,key:t.key}):O.createElement(e,t)}function be(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=be(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function xe(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=be(e))&&(r&&(r+=` `),r+=t);return r}var Se=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Ce=xe,we=(e,t)=>n=>{if(t?.variants==null)return Ce(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Se(t)||Se(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Ce(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Te=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ee=(e,t)=>({classGroupId:e,validator:t}),De=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Oe=`-`,ke=[],Ae=`arbitrary..`,je=e=>{let t=Pe(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ne(e);let n=e.split(Oe);return Me(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Te(i,t):t:i||ke}return n[e]||ke}}},Me=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Me(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Oe):e.slice(t).join(Oe),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ne=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Ae+r:void 0})(),Pe=e=>{let{theme:t,classGroups:n}=e;return Fe(n,t)},Fe=(e,t)=>{let n=De();for(let r in e){let i=e[r];Ie(i,n,r,t)}return n},Ie=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Le(i,t,n,r)}},Le=(e,t,n,r)=>{if(typeof e==`string`){Re(e,t,n);return}if(typeof e==`function`){ze(e,t,n,r);return}Be(e,t,n,r)},Re=(e,t,n)=>{let r=e===``?t:Ve(t,e);r.classGroupId=n},ze=(e,t,n,r)=>{if(He(e)){Ie(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ee(n,e))},Be=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ie(o,Ve(t,a),n,r)}},Ve=(e,t)=>{let n=e,r=t.split(Oe),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=De(),n.nextPart.set(t,i)),n=i}return n},He=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Ue=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},We=`!`,Ge=`:`,Ke=[],qe=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Je=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Ge){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(We)?(c=s.slice(0,-1),l=!0):s.startsWith(We)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return qe(t,l,c,u)};if(t){let e=t+Ge,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):qe(Ke,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Ye=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Xe=e=>({cache:Ue(e.cacheSize),parseClassName:Je(e),sortModifiers:Ye(e),postfixLookupClassGroupIds:Ze(e),...je(e)}),Ze=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Qe=/\s+/,$e=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Qe),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+We:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},et=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=tt(n))&&(i&&(i+=` `),i+=r);return i},tt=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=tt(e[r]))&&(n&&(n+=` `),n+=t);return n},nt=(e,...t)=>{let n,r,i,a,o=o=>(n=Xe(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=$e(e,n);return i(e,a),a};return a=o,(...e)=>a(et(...e))},rt=[],z=e=>{let t=t=>t[e]||rt;return t.isThemeGetter=!0,t},it=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,at=/^\((?:(\w[\w-]*):)?(.+)\)$/i,ot=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,st=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ct=/\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$/,lt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ut=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,dt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,B=e=>ot.test(e),V=e=>!!e&&!Number.isNaN(Number(e)),H=e=>!!e&&Number.isInteger(Number(e)),ft=e=>e.endsWith(`%`)&&V(e.slice(0,-1)),U=e=>st.test(e),pt=()=>!0,mt=e=>ct.test(e)&&!lt.test(e),ht=()=>!1,gt=e=>ut.test(e),_t=e=>dt.test(e),vt=e=>!W(e)&&!K(e),yt=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),bt=e=>q(e,It,ht),W=e=>it.test(e),G=e=>q(e,Lt,mt),xt=e=>q(e,Rt,V),St=e=>q(e,Bt,pt),Ct=e=>q(e,zt,ht),wt=e=>q(e,Pt,ht),Tt=e=>q(e,Ft,_t),Et=e=>q(e,Vt,gt),K=e=>at.test(e),Dt=e=>J(e,Lt),Ot=e=>J(e,zt),kt=e=>J(e,Pt),At=e=>J(e,It),jt=e=>J(e,Ft),Mt=e=>J(e,Vt,!0),Nt=e=>J(e,Bt,!0),q=(e,t,n)=>{let r=it.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},J=(e,t,n=!1)=>{let r=at.exec(e);return r?r[1]?t(r[1]):n:!1},Pt=e=>e===`position`||e===`percentage`,Ft=e=>e===`image`||e===`url`,It=e=>e===`length`||e===`size`||e===`bg-size`,Lt=e=>e===`length`,Rt=e=>e===`number`,zt=e=>e===`family-name`,Bt=e=>e===`number`||e===`weight`,Vt=e=>e===`shadow`,Ht=()=>{let e=z(`color`),t=z(`font`),n=z(`text`),r=z(`font-weight`),i=z(`tracking`),a=z(`leading`),o=z(`breakpoint`),s=z(`container`),c=z(`spacing`),l=z(`radius`),u=z(`shadow`),d=z(`inset-shadow`),f=z(`text-shadow`),p=z(`drop-shadow`),m=z(`blur`),h=z(`perspective`),g=z(`aspect`),_=z(`ease`),v=z(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),K,W],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],ee=()=>[`auto`,`contain`,`none`],C=()=>[K,W,c],w=()=>[B,`full`,`auto`,...C()],te=()=>[H,`none`,`subgrid`,K,W],ne=()=>[`auto`,{span:[`full`,H,K,W]},H,K,W],re=()=>[H,`auto`,K,W],ie=()=>[`auto`,`min`,`max`,`fr`,K,W],T=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],E=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],D=()=>[`auto`,...C()],O=()=>[B,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...C()],ae=()=>[B,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...C()],k=()=>[B,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...C()],A=()=>[e,K,W],j=()=>[...b(),kt,wt,{position:[K,W]}],M=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],oe=()=>[`auto`,`cover`,`contain`,At,bt,{size:[K,W]}],se=()=>[ft,Dt,G],N=()=>[``,`none`,`full`,l,K,W],P=()=>[``,V,Dt,G],F=()=>[`solid`,`dashed`,`dotted`,`double`],ce=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],I=()=>[V,ft,kt,wt],le=()=>[``,`none`,m,K,W],ue=()=>[`none`,V,K,W],L=()=>[`none`,V,K,W],R=()=>[V,K,W],de=()=>[B,`full`,...C()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[U],breakpoint:[U],color:[pt],container:[U],"drop-shadow":[U],ease:[`in`,`out`,`in-out`],font:[vt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[U],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[U],shadow:[U],spacing:[`px`,V],text:[U],"text-shadow":[U],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,B,W,K,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,K,W]}],"container-named":[yt],columns:[{columns:[V,W,K,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"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:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:ee()}],"overscroll-x":[{"overscroll-x":ee()}],"overscroll-y":[{"overscroll-y":ee()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{"inset-s":w(),start:w()}],end:[{"inset-e":w(),end:w()}],"inset-bs":[{"inset-bs":w()}],"inset-be":[{"inset-be":w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[H,`auto`,K,W]}],basis:[{basis:[B,`full`,`auto`,s,...C()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[V,B,`auto`,`initial`,`none`,W]}],grow:[{grow:[``,V,K,W]}],shrink:[{shrink:[``,V,K,W]}],order:[{order:[H,`first`,`last`,`none`,K,W]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ie()}],"auto-rows":[{"auto-rows":ie()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...T(),`normal`]}],"justify-items":[{"justify-items":[...E(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...E()]}],"align-content":[{content:[`normal`,...T()]}],"align-items":[{items:[...E(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...E(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...E(),`baseline`]}],"place-self":[{"place-self":[`auto`,...E()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":C()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":C()}],"space-y-reverse":[`space-y-reverse`],size:[{size:O()}],"inline-size":[{inline:[`auto`,...ae()]}],"min-inline-size":[{"min-inline":[`auto`,...ae()]}],"max-inline-size":[{"max-inline":[`none`,...ae()]}],"block-size":[{block:[`auto`,...k()]}],"min-block-size":[{"min-block":[`auto`,...k()]}],"max-block-size":[{"max-block":[`none`,...k()]}],w:[{w:[s,`screen`,...O()]}],"min-w":[{"min-w":[s,`screen`,`none`,...O()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...O()]}],h:[{h:[`screen`,`lh`,...O()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...O()]}],"max-h":[{"max-h":[`screen`,`lh`,...O()]}],"font-size":[{text:[`base`,n,Dt,G]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Nt,St]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ft,W]}],"font-family":[{font:[Ot,Ct,t]}],"font-features":[{"font-features":[W]}],"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:[i,K,W]}],"line-clamp":[{"line-clamp":[V,`none`,K,xt]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":[`none`,K,W]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,K,W]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...F(),`wavy`]}],"text-decoration-thickness":[{decoration:[V,`from-font`,`auto`,K,G]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[V,`auto`,K,W]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:C()}],"tab-size":[{tab:[H,K,W]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,K,W]}],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`,K,W]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:j()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:oe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},H,K,W],radial:[``,K,W],conic:[H,K,W]},jt,Tt]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:N()}],"rounded-s":[{"rounded-s":N()}],"rounded-e":[{"rounded-e":N()}],"rounded-t":[{"rounded-t":N()}],"rounded-r":[{"rounded-r":N()}],"rounded-b":[{"rounded-b":N()}],"rounded-l":[{"rounded-l":N()}],"rounded-ss":[{"rounded-ss":N()}],"rounded-se":[{"rounded-se":N()}],"rounded-ee":[{"rounded-ee":N()}],"rounded-es":[{"rounded-es":N()}],"rounded-tl":[{"rounded-tl":N()}],"rounded-tr":[{"rounded-tr":N()}],"rounded-br":[{"rounded-br":N()}],"rounded-bl":[{"rounded-bl":N()}],"border-w":[{border:P()}],"border-w-x":[{"border-x":P()}],"border-w-y":[{"border-y":P()}],"border-w-s":[{"border-s":P()}],"border-w-e":[{"border-e":P()}],"border-w-bs":[{"border-bs":P()}],"border-w-be":[{"border-be":P()}],"border-w-t":[{"border-t":P()}],"border-w-r":[{"border-r":P()}],"border-w-b":[{"border-b":P()}],"border-w-l":[{"border-l":P()}],"divide-x":[{"divide-x":P()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":P()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...F(),`hidden`,`none`]}],"divide-style":[{divide:[...F(),`hidden`,`none`]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-bs":[{"border-bs":A()}],"border-color-be":[{"border-be":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:[...F(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[V,K,W]}],"outline-w":[{outline:[``,V,Dt,G]}],"outline-color":[{outline:A()}],shadow:[{shadow:[``,`none`,u,Mt,Et]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":[`none`,d,Mt,Et]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:P()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[V,G]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":P()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":[`none`,f,Mt,Et]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[V,K,W]}],"mix-blend":[{"mix-blend":[...ce(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ce()}],"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":[V]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[K,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"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":b()}],"mask-image-conic-pos":[{"mask-conic":[V]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:j()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:oe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,K,W]}],filter:[{filter:[``,`none`,K,W]}],blur:[{blur:le()}],brightness:[{brightness:[V,K,W]}],contrast:[{contrast:[V,K,W]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Mt,Et]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:[``,V,K,W]}],"hue-rotate":[{"hue-rotate":[V,K,W]}],invert:[{invert:[``,V,K,W]}],saturate:[{saturate:[V,K,W]}],sepia:[{sepia:[``,V,K,W]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,K,W]}],"backdrop-blur":[{"backdrop-blur":le()}],"backdrop-brightness":[{"backdrop-brightness":[V,K,W]}],"backdrop-contrast":[{"backdrop-contrast":[V,K,W]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,V,K,W]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[V,K,W]}],"backdrop-invert":[{"backdrop-invert":[``,V,K,W]}],"backdrop-opacity":[{"backdrop-opacity":[V,K,W]}],"backdrop-saturate":[{"backdrop-saturate":[V,K,W]}],"backdrop-sepia":[{"backdrop-sepia":[``,V,K,W]}],"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`,K,W]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[V,`initial`,K,W]}],ease:[{ease:[`linear`,`initial`,_,K,W]}],delay:[{delay:[V,K,W]}],animate:[{animate:[`none`,v,K,W]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,K,W]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ue()}],"rotate-x":[{"rotate-x":ue()}],"rotate-y":[{"rotate-y":ue()}],"rotate-z":[{"rotate-z":ue()}],scale:[{scale:L()}],"scale-x":[{"scale-x":L()}],"scale-y":[{"scale-y":L()}],"scale-z":[{"scale-z":L()}],"scale-3d":[`scale-3d`],skew:[{skew:R()}],"skew-x":[{"skew-x":R()}],"skew-y":[{"skew-y":R()}],transform:[{transform:[K,W,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":[`translate-none`],zoom:[{zoom:[H,K,W]}],accent:[{accent:A()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:A()}],"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`,K,W]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":A()}],"scrollbar-track-color":[{"scrollbar-track":A()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"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-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":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-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":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`,K,W]}],fill:[{fill:[`none`,...A()]}],"stroke-w":[{stroke:[V,Dt,G,xt]}],stroke:[{stroke:[`none`,...A()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`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`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`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-bs`,`border-w-be`,`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-bs`,`border-color-be`,`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-mbs`,`scroll-mbe`,`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-pbs`,`scroll-pbe`,`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`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}},Ut=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:a={}})=>(Y(e,`cacheSize`,t),Y(e,`prefix`,n),Y(e,`experimentalParseClassName`,r),Wt(e.theme,a.theme),Wt(e.classGroups,a.classGroups),Wt(e.conflictingClassGroups,a.conflictingClassGroups),Wt(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers),Y(e,`postfixLookupClassGroups`,a.postfixLookupClassGroups),Y(e,`orderSensitiveModifiers`,a.orderSensitiveModifiers),Gt(e.theme,i.theme),Gt(e.classGroups,i.classGroups),Gt(e.conflictingClassGroups,i.conflictingClassGroups),Gt(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),Kt(e,i,`postfixLookupClassGroups`),Kt(e,i,`orderSensitiveModifiers`),e),Y=(e,t,n)=>{n!==void 0&&(e[t]=n)},Wt=(e,t)=>{if(t)for(let n in t)Y(e,n,t[n])},Gt=(e,t)=>{if(t)for(let n in t)Kt(e,t,n)},Kt=(e,t,n)=>{let r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},qt=(e,...t)=>typeof e==`function`?nt(Ht,e,...t):nt(()=>Ut(Ht(),e),...t),Jt=g,Yt=(e=>r(t=>o(e(t.getRef(Jt)))))(e=>{let t=[];for(let n=0;n<16;n++)t.push(e.nextIntUnsafe()>>>0&255);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=e=>e.toString(16).padStart(2,`0`);return[t.slice(0,4).map(n).join(``),t.slice(4,6).map(n).join(``),t.slice(6,8).map(n).join(``),t.slice(8,10).map(n).join(``),t.slice(10,16).map(n).join(``)].join(`-`)}),Xt=d.pipe(u(`DraftId`)),Zt=qt({extend:{theme:{text:[`2xs`,`3xs`]},classGroups:{"font-size":[{text:[`no-zoom`]}]}}});function Qt(...e){return Zt(Ce(e))}function $t(e){return/mac|iphone|ipad|ipod/i.test(e)}function en(e){return/^win(dows)?/i.test(e)}function tn(e){return/linux/i.test(e)}function nn(e=typeof navigator>`u`?``:navigator.platform){return $t(e)?`this Mac`:en(e)?`this PC`:tn(e)?`this Linux machine`:`this device`}function rn(e=typeof navigator>`u`?``:navigator.platform){let t=nn(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function an(){return typeof crypto.randomUUID==`function`?crypto.randomUUID():a(Yt)}var on=()=>c.make(an()),sn=()=>l.make(an()),cn=()=>Xt.make(an()),ln=()=>s.make(an()),un=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),dn=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),fn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),pn=e=>{let t=fn(e);return t.charAt(0).toUpperCase()+t.slice(1)},mn={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},hn=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},gn=(0,O.createContext)({}),_n=()=>(0,O.useContext)(gn),vn=(0,O.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=_n()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,O.createElement)(`svg`,{ref:c,...mn,width:t??l??mn.width,height:t??l??mn.height,stroke:e??f,strokeWidth:m,className:un(`lucide`,p,i),...!a&&!hn(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,O.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),yn=(e,t)=>{let n=(0,O.forwardRef)(({className:n,...r},i)=>(0,O.createElement)(vn,{ref:i,iconNode:t,className:un(`lucide-${dn(pn(e))}`,`lucide-${e}`,n),...r}));return n.displayName=pn(e),n},bn=typeof document<`u`?O.useLayoutEffect:()=>{};function xn(){return typeof navigator>`u`?{userAgent:``,platform:``,maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}var{userAgent:Sn,platform:Cn,maxTouchPoints:wn}=xn(),Tn=Sn.toLowerCase(),En=Cn.toLowerCase(),Dn=/^i(os$|p)/.test(En)||En===`macintel`&&wn>1,On=`android`,kn=En===On||Tn.includes(On),An=!Dn&&En.startsWith(`mac`);En.startsWith(`win`),!kn&&/^(linux|chrome os)/.test(En);var jn=An||Dn,Mn=/jsdom|happydom/.test(Tn);function Nn(e){e.preventDefault(),e.stopPropagation()}function Pn(e){return`nativeEvent`in e}function Fn(e){return e.pointerType===``&&e.isTrusted?!0:kn&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function In(e){return Mn?!1:!kn&&e.width===0&&e.height===0||kn&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function Ln(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function Rn(e){let t=e.type;return t===`click`||t===`mousedown`||t===`keydown`||t===`keyup`}function zn(){return typeof window<`u`}function Bn(e){return Hn(e)?(e.nodeName||``).toLowerCase():`#document`}function X(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Vn(e){return((Hn(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Hn(e){return zn()?e instanceof Node||e instanceof X(e).Node:!1}function Un(e){return zn()?e instanceof Element||e instanceof X(e).Element:!1}function Z(e){return zn()?e instanceof HTMLElement||e instanceof X(e).HTMLElement:!1}function Wn(e){return!zn()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof X(e).ShadowRoot}function Gn(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=tr(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Kn(e){return/^(table|td|th)$/.test(Bn(e))}function qn(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Jn=/transform|translate|scale|rotate|perspective|filter/,Yn=/paint|layout|strict|content/,Q=e=>!!e&&e!==`none`,Xn;function Zn(e){let t=Un(e)?tr(e):e;return Q(t.transform)||Q(t.translate)||Q(t.scale)||Q(t.rotate)||Q(t.perspective)||!$n()&&(Q(t.backdropFilter)||Q(t.filter))||Jn.test(t.willChange||``)||Yn.test(t.contain||``)}function Qn(e){let t=rr(e);for(;Z(t)&&!er(t);){if(Zn(t))return t;if(qn(t))return null;t=rr(t)}return null}function $n(){return Xn??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Xn}function er(e){return/^(html|body|#document)$/.test(Bn(e))}function tr(e){return X(e).getComputedStyle(e)}function nr(e){return Un(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rr(e){if(Bn(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Wn(e)&&e.host||Vn(e);return Wn(t)?t.host:t}function ir(e){let t=rr(e);return er(t)?(e.ownerDocument||e).body:Z(t)&&Gn(t)?t:ir(t)}function ar(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ir(e),i=r===e.ownerDocument?.body,a=X(r);if(i){let e=or(a);return t.concat(a,a.visualViewport||[],Gn(r)?r:[],e&&n?ar(e):[])}return t.concat(r,ar(r,[],n))}function or(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var sr=`data-base-ui-focusable`,cr=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,lr=`ArrowLeft`,ur=`ArrowRight`,dr=`ArrowUp`,fr=`ArrowDown`;function pr(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function mr(e,t){if(!e||!t)return!1;let n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&Wn(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function hr(e){return`composedPath`in e?e.composedPath()[0]:e.target}var gr=`none`,_r=`trigger-press`,vr=`trigger-hover`,yr=`trigger-focus`,br=`outside-press`,xr=`item-press`,Sr=`close-press`,Cr=`clear-press`,wr=`chip-remove-press`,Tr=`increment-press`,Er=`decrement-press`,Dr=`input-change`,Or=`input-clear`,kr=`input-blur`,Ar=`input-paste`,jr=`input-press`,Mr=`focus-out`,Nr=`escape-key`,Pr=`list-navigation`,Fr=`keyboard`,Ir=`pointer`,Lr=`wheel`,Rr=`cancel-open`,zr=`sibling-open`,Br=`disabled`,Vr=`imperative-action`,Hr=`window-resize`;function Ur(e,t,n,r){let i=!1,a=!1,o=r??R;return{reason:e,event:t??new Event(`base-ui`),cancel(){i=!0},allowPropagation(){a=!0},get isCanceled(){return i},get isPropagationAllowed(){return a},trigger:n,...o}}function Wr(e,t,n){let r=n??R;return{reason:e,event:t??new Event(`base-ui`),...r}}var Gr={...O},Kr=Gr.useInsertionEffect,qr=Kr&&Kr!==Gr.useLayoutEffect?Kr:e=>e();function Jr(e){let t=j(Yr).current;return t.next=e,qr(t.effect),t.trampoline}function Yr(){let e={next:void 0,callback:Xr,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function Xr(){}var Zr=Math.min,Qr=Math.max,$r=Math.round,ei=Math.floor,ti=e=>({x:e,y:e}),ni={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ri(e,t,n){return Qr(e,Zr(t,n))}function ii(e,t){return typeof e==`function`?e(t):e}function ai(e){return e.split(`-`)[0]}function oi(e){return e.split(`-`)[1]}function si(e){return e===`x`?`y`:`x`}function ci(e){return e===`y`?`height`:`width`}function li(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ui(e){return si(li(e))}function di(e,t,n){n===void 0&&(n=!1);let r=oi(e),i=ui(e),a=ci(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=bi(o)),[o,bi(o)]}function fi(e){let t=bi(e);return[pi(e),t,pi(t)]}function pi(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var mi=[`left`,`right`],hi=[`right`,`left`],gi=[`top`,`bottom`],_i=[`bottom`,`top`];function vi(e,t,n){switch(e){case`top`:case`bottom`:return n?t?hi:mi:t?mi:hi;case`left`:case`right`:return t?gi:_i;default:return[]}}function yi(e,t,n,r){let i=oi(e),a=vi(ai(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(pi)))),a}function bi(e){let t=ai(e);return ni[t]+e.slice(t.length)}function xi(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Si(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:xi(e)}function Ci(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function wi(e,t,n){return Math.floor(e/t)!==n}function Ti(e,t){return t<0||t>=e.length}function Ei(e,t){return $(e.current,{disabledIndices:t})}function Di(e,t){return $(e.current,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function $(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:i=1}={}){let a=t;do a+=n?-i:i;while(a>=0&&a<=e.length-1&&ki(e,a,r));return a}function Oi(e,{event:t,orientation:n,loopFocus:r,onLoop:i,rtl:a,cols:o,disabledIndices:s,minIndex:c,maxIndex:l,prevIndex:u,stopEvent:d=!1}){let f=u,p;if(t.key===`ArrowUp`?p=`up`:t.key===`ArrowDown`&&(p=`down`),p){let n=[],a=[],m=!1,h=0;{let t=null,r=-1;e.forEach((e,i)=>{if(e==null)return;h+=1;let o=e.closest(`[role="row"]`);o&&(m=!0),(o!==t||r===-1)&&(t=o,r+=1,n[r]=[]),n[r].push(i),a[i]=r})}let g=!1,_=0;if(m)for(let e of n){let t=e.length;t>_&&(_=t),t!==o&&(g=!0)}let v=g&&h<e.length,y=_||o,b=o=>{if(!g||u===-1)return;let c=a[u];if(c==null)return;let l=n[c].indexOf(u),d=o===`up`?-1:1;for(let o=c+d,f=0;f<n.length;f+=1,o+=d){if(o<0||o>=n.length){if(!r||v)return;if(o=o<0?n.length-1:0,i){let e=Math.min(l,n[o].length-1),r=i(t,u,n[o][e]??n[o][0]);o=a[r]??o}}let c=n[o];for(let t=Math.min(l,c.length-1);t>=0;--t){let n=c[t];if(!ki(e,n,s))return n}}},x=t=>{if(!v||u===-1)return;let n=u%y,i=t===`up`?-y:y,a=l-l%y,o=ei(l/y)+1;for(let t=u-n+i,c=0;c<o;c+=1,t+=i){if(t<0||t>l){if(!r)return;t=t<0?a:0}let i=Math.min(t+y-1,l);for(let r=Math.min(t+n,i);r>=t;--r)if(!ki(e,r,s))return r}};d&&Nn(t);let S=b(p)??x(p);if(S!==void 0)f=S;else if(u===-1)f=p===`up`?l:c;else if(f=$(e,{startingIndex:u,amount:y,decrement:p===`up`,disabledIndices:s}),r){if(p===`up`&&(u-y<c||f<0)){let e=u%y,n=l%y,r=l-(n-e);f=n===e?l:n>e?r:r-y,i&&(f=i(t,u,f))}p===`down`&&u+y>l&&(f=$(e,{startingIndex:u%y-y,amount:y,disabledIndices:s}),i&&(f=i(t,u,f)))}Ti(e,f)&&(f=u)}if(n===`both`){let n=ei(u/o);t.key===(a?`ArrowLeft`:`ArrowRight`)&&(d&&Nn(t),u%o===o-1?r&&(f=$(e,{startingIndex:u-u%o-1,disabledIndices:s}),i&&(f=i(t,u,f))):(f=$(e,{startingIndex:u,disabledIndices:s}),r&&wi(f,o,n)&&(f=$(e,{startingIndex:u-u%o-1,disabledIndices:s}),i&&(f=i(t,u,f)))),wi(f,o,n)&&(f=u)),t.key===(a?`ArrowRight`:`ArrowLeft`)&&(d&&Nn(t),u%o===0?r&&(f=$(e,{startingIndex:u+(o-u%o),decrement:!0,disabledIndices:s}),i&&(f=i(t,u,f))):(f=$(e,{startingIndex:u,decrement:!0,disabledIndices:s}),r&&wi(f,o,n)&&(f=$(e,{startingIndex:u+(o-u%o),decrement:!0,disabledIndices:s}),i&&(f=i(t,u,f)))),wi(f,o,n)&&(f=u));let c=ei(l/o)===n;Ti(e,f)&&(r&&c?(f=t.key===(a?`ArrowRight`:`ArrowLeft`)?l:$(e,{startingIndex:u-u%o-1,disabledIndices:s}),i&&(f=i(t,u,f))):f=u)}return f}function ki(e,t,n){if(typeof n==`function`?n(t):n?.includes(t)??!1)return!0;let r=e[t];return r?!ji(r)||r.matches(`:disabled`)?!0:!n&&(r.hasAttribute(`disabled`)||r.getAttribute(`aria-disabled`)===`true`):!1}function Ai(e){return e.visibility===`hidden`||e.visibility===`collapse`}function ji(e,t=e?tr(e):null){return!e||!e.isConnected||!t||Ai(t)?!1:typeof e.checkVisibility==`function`?e.checkVisibility():t.display!==`none`&&t.display!==`contents`}var Mi=0;function Ni(e,t=`mui`){let[n,r]=O.useState(e),i=e||n;return O.useEffect(()=>{n??(Mi+=1,r(`${t}-${Mi}`))},[n,t]),i}var Pi=Gr.useId;function Fi(e,t){if(Pi!==void 0){let n=Pi();return e??(t?`${t}-${n}`:n)}return Ni(e,t)}function Ii(e){return Fi(e,`base-ui`)}var Li=O.createContext(void 0);function Ri(){return O.useContext(Li)?.direction??`ltr`}var zi=O.createContext(void 0);function Bi(e=!1){let t=O.useContext(zi);if(t===void 0&&!e)throw Error(k(16));return t}function Vi(e){let{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:i=0,isNativeButton:a}=e,o=r&&t!==!1,s=r&&t===!1;return{props:O.useMemo(()=>{let e={onKeyDown(e){n&&t&&e.key!==`Tab`&&e.preventDefault()}};return r||(e.tabIndex=i,!a&&n&&(e.tabIndex=t?i:-1)),(a&&(t||o)||!a&&n)&&(e[`aria-disabled`]=n),a&&(!t||s)&&(e.disabled=n),e},[r,n,t,o,s,a,i])}}function Hi(e,t,{detail:n=0}={}){e.dispatchEvent(new(X(e)).PointerEvent(`click`,{bubbles:!0,cancelable:!0,composed:!0,detail:n,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey}))}function Ui(e={}){let{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:i=!0,composite:a}=e,o=O.useRef(null),s=Bi(!0),c=a??s!==void 0,{props:l}=Vi({focusableWhenDisabled:n,disabled:t,composite:c,tabIndex:r,isNativeButton:i}),u=O.useCallback(()=>{let e=o.current;Wi(e)&&c&&t&&l.disabled===void 0&&e.disabled&&(e.disabled=!1)},[t,l.disabled,c]);return bn(u,[u]),{getButtonProps:O.useCallback((e={})=>{let{onClick:n,onMouseDown:r,onKeyUp:a,onKeyDown:o,onPointerDown:s,...u}=e;return y({onClick(e){if(t){e.preventDefault();return}n?.(e)},onMouseDown(e){t||r?.(e)},onKeyDown(e){if(t||(T(e),o?.(e),e.baseUIHandlerPrevented))return;let n=e.target===e.currentTarget,r=e.currentTarget,a=Wi(r),s=!i&&Gi(r),l=n&&(i?a:!s),u=e.key===`Enter`,d=e.key===` `,f=r.getAttribute(`role`),p=f?.startsWith(`menuitem`)||f===`option`||f===`gridcell`;if(n&&c&&d){if(e.defaultPrevented&&p)return;e.preventDefault(),(!i||a)&&(e.preventBaseUIHandler(),Hi(r,e));return}if(!l||i||!d&&!u){n&&s&&d&&e.preventDefault();return}e.defaultPrevented||(e.preventDefault(),u&&(e.preventBaseUIHandler(),Hi(r,e)))},onKeyUp(e){if(!t){if(T(e),a?.(e),e.target===e.currentTarget&&i&&c&&Wi(e.currentTarget)&&e.key===` `){e.preventDefault();return}e.baseUIHandlerPrevented||e.target===e.currentTarget&&!i&&!c&&!e.defaultPrevented&&e.key===` `&&(e.preventBaseUIHandler(),Hi(e.currentTarget,e))}},onPointerDown(e){if(t){e.preventDefault();return}s?.(e)}},i?{type:`button`}:{role:`button`},l,u)},[t,l,c,i]),buttonRef:Jr(e=>{o.current=e,u()})}}function Wi(e){return Z(e)&&e.tagName===`BUTTON`}function Gi(e){return Z(e)&&e.tagName===`A`&&!!e.href}function Ki({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=O.useRef(e!==void 0),[a,o]=O.useState(t);return[i?e:a,O.useCallback(e=>{i||o(e)},[])]}var qi=`ArrowUp`,Ji=`ArrowDown`,Yi=`ArrowLeft`,Xi=`ArrowRight`,Zi=`Home`,Qi=new Set([qi,Ji,Yi,Xi,Zi,`End`]),$i=[`Shift`,`Control`,`Alt`,`Meta`];function ea(e){return Z(e)&&e.tagName===`INPUT`}function ta(e){return!!(ea(e)&&e.selectionStart!=null||Z(e)&&e.tagName===`TEXTAREA`)}function na(e,t,n,r){if(!e||!t||!t.scrollTo)return;let i=e.scrollLeft,a=e.scrollTop,o=e.clientWidth<e.scrollWidth,s=e.clientHeight<e.scrollHeight;if(o&&r!==`vertical`){let r=ra(e,t,`left`),a=ia(e),o=ia(t);n===`ltr`&&(r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight?i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight:r-o.scrollMarginLeft<e.scrollLeft+a.scrollPaddingLeft&&(i=r-o.scrollMarginLeft-a.scrollPaddingLeft)),n===`rtl`&&(r-o.scrollMarginLeft<e.scrollLeft+a.scrollPaddingLeft?i=r-o.scrollMarginLeft-a.scrollPaddingLeft:r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight&&(i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight))}if(s&&r!==`horizontal`){let n=ra(e,t,`top`),r=ia(e),i=ia(t);n-i.scrollMarginTop<e.scrollTop+r.scrollPaddingTop?a=n-i.scrollMarginTop-r.scrollPaddingTop:n+t.offsetHeight+i.scrollMarginBottom>e.scrollTop+e.clientHeight-r.scrollPaddingBottom&&(a=n+t.offsetHeight+i.scrollMarginBottom-e.clientHeight+r.scrollPaddingBottom)}e.scrollTo({left:i,top:a,behavior:`auto`})}function ra(e,t,n){let r=n===`left`?`offsetLeft`:`offsetTop`,i=0;for(;t.offsetParent&&(i+=t[r],t.offsetParent!==e);)t=t.offsetParent;return i}function ia(e){let t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}var aa=O.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function oa(){return O.useContext(aa)}function sa(e={}){let{guess:t,label:n,metadata:r,textRef:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,nextIndexRef:l}=oa(),u=O.useRef(-1),[d,f]=O.useState(a==null&&t?()=>{if(u.current===-1){let e=l.current;l.current+=1,u.current=e}return u.current}:-1),p=a??d,m=O.useRef(null),h=O.useCallback(e=>{let t=m.current;t&&s(t),m.current=e,e&&o(e,{metadata:r??null,index:a??null,label:n,textRef:i})},[a,o,s,r,n,i]);return bn(()=>{if(a==null)return c(e=>{let t=m.current?e.get(m.current)?.index:null;t!=null&&f(t)})},[a,c]),{ref:h,index:p}}var ca=O.createContext(void 0);function la(e){let t=O.useContext(ca);if(t===void 0&&!e)throw Error(k(69));return t}function ua(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=Bi(),{ref:i,index:a}=sa(e),o=n===a,s=O.useRef(null),c=M(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}function da(e){let{render:t,className:n,style:r,state:i=R,props:a=L,refs:o=L,metadata:s,stateAttributesMapping:c,tag:l=`div`,...u}=e,{compositeProps:d,compositeRef:f}=ua({metadata:s});return me(l,e,{state:i,ref:[f,...o],props:[d,...a,u],stateAttributesMapping:c})}export{Cr as $,Ln as $t,ti as A,I as An,dr as At,bi as B,rr as Bt,Oi as C,Yt as Cn,Hr as Ct,Ti as D,L as Dn,fr as Dt,ji as E,pe as En,hr as Et,di as F,h as Fn,Vn as Ft,Zr as G,er as Gt,ai as H,Zn as Ht,ci as I,p as In,or as It,Jr as J,Wn as Jt,Ci as K,Hn as Kt,fi as L,Bn as Lt,ei as M,j as Mn,cr as Mt,oi as N,k as Nn,tr as Nt,ki as O,R as On,lr as Ot,ui as P,y as Pn,Qn as Pt,wr as Q,Rn as Qt,si as R,nr as Rt,$ as S,Xt as Sn,Lr as St,Ei as T,me as Tn,mr as Tt,li as U,Un as Ut,Si as V,X as Vt,Qr as W,Z as Wt,Wr as X,qn as Xt,Ur as Y,Kn as Yt,Rr as Z,$n as Zt,zi as _,on as _n,Ir as _t,Ji as a,kn as an,Vr as at,Ii as b,sn as bn,vr as bt,qi as c,An as cn,Dr as ct,$i as d,yn as dn,jr as dt,Pn as en,Sr as et,ta as f,Qt as fn,xr as ft,Hi as g,nn as gn,br as gt,Ui as h,rn as hn,gr as ht,aa as i,Mn as in,Mr as it,ii as j,M as jn,sr as jt,ri as k,ue as kn,ur as kt,Qi as l,Tn as ln,Or as lt,Ki as m,en as mn,Pr as mt,la as n,In as nn,Br as nt,Yi as o,jn as on,Tr as ot,na as p,$t as pn,Fr as pt,$r as q,Gn as qt,sa as r,Nn as rn,Nr as rt,Xi as s,Dn as sn,kr as st,da as t,Fn as tn,Er as tt,Zi as u,bn as un,Ar as ut,Bi as v,cn as vn,zr as vt,Di as w,we as wn,pr as wt,Fi as x,an as xn,_r as xt,Ri as y,ln as yn,yr as yt,yi as z,ar as zt};
2
+ //# sourceMappingURL=CompositeItem-D1GrQhpu.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t}from"./Effect-CyyMOw4X.js";import{z as n}from"./Stream-Bvl2Z6qI.js";import{J as r,Mn as i,Tn as a,i as o,un as s}from"./CompositeItem-D1GrQhpu.js";var c=e(t(),1),l=c.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:o,...s}=e;return a(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},s]})}),u=n();function d(e){let{children:t,elementsRef:n,labelsRef:a,onMapChange:l}=e,d=r(l),[,v]=c.useState(!1),y=i(p).current,b=i(f).current,x=c.useRef(0),S=c.useRef(!0),C=c.useRef([]),w=c.useRef(null),T=r(()=>{S.current||(S.current=!0,v(e=>!e))}),E=r((e,t)=>{b.set(e,t),T()}),D=r(e=>{b.delete(e),T()}),O=r(e=>{let t=new Map;return n.current.length=0,a&&(a.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,a&&(a.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),x.current=n.current.length,t});function k(e){if(w.current?.disconnect(),w.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!g(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&_(r,n)>0){t.disconnect(),T();return}r=n}});w.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=h(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let A=r(()=>{let[e,t]=m(b),n=O(e);k(t),C.current=e,S.current=!1,y.forEach(e=>e(n)),d(n)});s(()=>(S.current||O(C.current),()=>{n.current=[],a&&(a.current=[])}),[n,a,O]),s(()=>{S.current&&A()}),s(()=>()=>{w.current?.disconnect(),S.current=!0},[]);let j=r(e=>(y.add(e),()=>{y.delete(e)})),M=c.useMemo(()=>({register:E,unregister:D,subscribeMapChange:j,nextIndexRef:x}),[E,D,j,x]);return(0,u.jsx)(o.Provider,{value:M,children:t})}function f(){return new Map}function p(){return new Set}function m(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>_(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function h(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function g(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function _(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}export{l as n,d as t};
2
+ //# sourceMappingURL=CompositeList-CEBk8sf_.js.map