slidecanvas 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- "use strict";var at=Object.create;var de=Object.defineProperty,ot=Object.defineProperties,it=Object.getOwnPropertyDescriptor,nt=Object.getOwnPropertyDescriptors,st=Object.getOwnPropertyNames,Me=Object.getOwnPropertySymbols,lt=Object.getPrototypeOf,Ie=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable;var He=(g,t,a)=>t in g?de(g,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):g[t]=a,y=(g,t)=>{for(var a in t||(t={}))Ie.call(t,a)&&He(g,a,t[a]);if(Me)for(var a of Me(t))ct.call(t,a)&&He(g,a,t[a]);return g},M=(g,t)=>ot(g,nt(t));var dt=(g,t)=>{for(var a in t)de(g,a,{get:t[a],enumerable:!0})},Pe=(g,t,a,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let x of st(t))!Ie.call(g,x)&&x!==a&&de(g,x,{get:()=>t[x],enumerable:!(d=it(t,x))||d.enumerable});return g};var ve=(g,t,a)=>(a=g!=null?at(lt(g)):{},Pe(t||!g||!g.__esModule?de(a,"default",{value:g,enumerable:!0}):a,g)),pt=g=>Pe(de({},"__esModule",{value:!0}),g);var xt={};dt(xt,{PptEditor:()=>wt,PptxExporter:()=>pe,PptxParser:()=>ge});module.exports=pt(xt);function Se(g,{insertAt:t}={}){if(!g||typeof document=="undefined")return;let a=document.head||document.getElementsByTagName("head")[0],d=document.createElement("style");d.type="text/css",t==="top"&&a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d),d.styleSheet?d.styleSheet.cssText=g:d.appendChild(document.createTextNode(g))}Se(`@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lato:wght@400;700&family=Open+Sans:wght@400;600;700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400;500;700&family=Roboto+Slab:wght@400;700&family=Playfair+Display:wght@400;700&family=Merriweather:wght@400;700&family=Nunito+Sans:wght@400;600;700&family=Montserrat:wght@400;600;700&family=Oswald:wght@400;500&family=Raleway:wght@400;600;700&family=Ubuntu:wght@400;500;700&family=Lora:wght@400;700&family=PT+Sans:wght@400;700&family=PT+Serif:wght@400;700&family=Play:wght@400;700&family=Arvo:wght@400;700&family=Kanit:wght@400;500;600&display=swap";/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-400: oklch(70.4% .191 22.216);--color-red-500: oklch(63.7% .237 25.331);--color-red-600: oklch(57.7% .245 27.325);--color-orange-50: oklch(98% .016 73.684);--color-amber-500: oklch(76.9% .188 70.08);--color-emerald-50: oklch(97.9% .021 166.113);--color-emerald-100: oklch(95% .052 163.051);--color-emerald-500: oklch(69.6% .17 162.48);--color-emerald-600: oklch(59.6% .145 163.225);--color-emerald-700: oklch(50.8% .118 165.612);--color-blue-50: oklch(97% .014 254.604);--color-blue-100: oklch(93.2% .032 255.585);--color-blue-400: oklch(70.7% .165 254.624);--color-blue-500: oklch(62.3% .214 259.815);--color-blue-600: oklch(54.6% .245 262.881);--color-blue-700: oklch(48.8% .243 264.376);--color-purple-500: oklch(62.7% .265 303.9);--color-purple-600: oklch(55.8% .288 302.321);--color-slate-50: oklch(98.4% .003 247.858);--color-slate-100: oklch(96.8% .007 247.896);--color-slate-200: oklch(92.9% .013 255.508);--color-slate-300: oklch(86.9% .022 252.894);--color-slate-400: oklch(70.4% .04 256.788);--color-slate-500: oklch(55.4% .046 257.417);--color-slate-600: oklch(44.6% .043 257.281);--color-slate-700: oklch(37.2% .044 257.287);--color-slate-800: oklch(27.9% .041 260.031);--color-slate-900: oklch(20.8% .042 265.755);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-2xl: 42rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-4xl: 2.25rem;--text-4xl--line-height: calc(2.5 / 2.25);--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-widest: .1em;--leading-tight: 1.25;--leading-relaxed: 1.625;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--ease-out: cubic-bezier(0, 0, .2, 1);--animate-spin: spin 1s linear infinite;--blur-sm: 8px;--blur-md: 12px;--aspect-video: 16 / 9;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-10{top:calc(var(--spacing) * 10)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-8{bottom:calc(var(--spacing) * 8)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-50{z-index:50}.z-\\[100\\]{z-index:100}.z-\\[1000\\]{z-index:1000}.z-\\[2000\\]{z-index:2000}.z-\\[2001\\]{z-index:2001}.z-\\[99999\\]{z-index:99999}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-1\\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-auto{margin-block:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-0\\.5{margin-left:calc(var(--spacing) * .5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:var(--aspect-video)}.h-0{height:calc(var(--spacing) * 0)}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-screen{height:100vh}.min-h-\\[56px\\]{min-height:56px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-\\[1px\\]{width:1px}.w-\\[480px\\]{width:480px}.w-full{width:100%}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\\[64px\\]{min-width:64px}.min-w-\\[68px\\]{min-width:68px}.min-w-fit{min-width:fit-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-center{transform-origin:center}.origin-top-left{transform-origin:0 0}.-translate-x-1{--tw-translate-x: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.space-y-2{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-4{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-6{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[2\\.5rem\\]{border-radius:2.5rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-solid{--tw-border-style: solid;border-style:solid}.border-emerald-100{border-color:var(--color-emerald-100)}.border-emerald-100\\/50{border-color:color-mix(in srgb,oklch(95% .052 163.051) 50%,transparent);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-emerald-100) 50%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/60{border-color:color-mix(in srgb,oklch(92.9% .013 255.508) 60%,transparent);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-slate-200) 60%,transparent)}}.border-transparent{border-color:transparent}.border-white{border-color:var(--color-white)}.border-white\\/10{border-color:color-mix(in srgb,#fff 10%,transparent);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-\\[\\#0A0A0A\\]{background-color:#0a0a0a}.bg-black{background-color:var(--color-black)}.bg-black\\/40{background-color:color-mix(in srgb,#000 40%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\\/50{background-color:color-mix(in srgb,oklch(97.9% .021 166.113) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-emerald-50) 50%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/50{background-color:color-mix(in srgb,oklch(98.4% .003 247.858) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\\/40{background-color:color-mix(in srgb,oklch(20.8% .042 265.755) 40%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-slate-900) 40%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:color-mix(in srgb,#fff 10%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\\/50{background-color:color-mix(in srgb,#fff 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-white\\/80{background-color:color-mix(in srgb,#fff 80%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-gradient-to-b{--tw-gradient-position: to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black{--tw-gradient-from: var(--color-black);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\\/60{--tw-gradient-from: color-mix(in srgb, #000 60%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-gradient-from: color-mix(in oklab, var(--color-black) 60%, transparent)}--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-slate-700{fill:var(--color-slate-700)}.p-0{padding:calc(var(--spacing) * 0)}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-11{padding-left:calc(var(--spacing) * 11)}.pl-12{padding-left:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading, var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\\[7px\\]{font-size:7px}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight: var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.2em\\]{--tw-tracking: .2em;letter-spacing:.2em}.tracking-\\[0\\.15em\\]{--tw-tracking: .15em;letter-spacing:.15em}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking: var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking: var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-600\\/70{color:color-mix(in srgb,oklch(59.6% .145 163.225) 70%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-emerald-600) 70%,transparent)}}.text-emerald-700{color:var(--color-emerald-700)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-white\\/50{color:color-mix(in srgb,#fff 50%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\\/80{color:color-mix(in srgb,#fff 80%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0%}.opacity-25{opacity:25%}.opacity-75{opacity:75%}.shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black{--tw-shadow-color: #000;@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, var(--color-black) var(--tw-shadow-alpha), transparent)}}.shadow-black\\/80{--tw-shadow-color: color-mix(in srgb, #000 80%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 80%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-blue-500{--tw-shadow-color: oklch(62.3% .214 259.815);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, var(--color-blue-500) var(--tw-shadow-alpha), transparent)}}.shadow-blue-500\\/20{--tw-shadow-color: color-mix(in srgb, oklch(62.3% .214 259.815) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.backdrop-blur-\\[1px\\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur: blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.duration-500{--tw-duration: .5s;transition-duration:.5s}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\\:text-slate-600{&:is(:where(.group):focus-within *){color:var(--color-slate-600)}}.group-hover\\:scale-105{&:is(:where(.group):hover *){@media(hover:hover){--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.group-hover\\:scale-110{&:is(:where(.group):hover *){@media(hover:hover){--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.group-hover\\:bg-blue-50{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-blue-50)}}}.group-hover\\:bg-blue-100{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-blue-100)}}}.group-hover\\:bg-emerald-50{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-emerald-50)}}}.group-hover\\:fill-slate-900{&:is(:where(.group):hover *){@media(hover:hover){fill:var(--color-slate-900)}}}.group-hover\\:text-blue-600{&:is(:where(.group):hover *){@media(hover:hover){color:var(--color-blue-600)}}}.group-hover\\:text-slate-900{&:is(:where(.group):hover *){@media(hover:hover){color:var(--color-slate-900)}}}.group-hover\\:opacity-100{&:is(:where(.group):hover *){@media(hover:hover){opacity:100%}}}.group-hover\\:shadow-sm{&:is(:where(.group):hover *){@media(hover:hover){--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.placeholder\\:text-slate-400{&::placeholder{color:var(--color-slate-400)}}.hover\\:border-blue-400{&:hover{@media(hover:hover){border-color:var(--color-blue-400)}}}.hover\\:border-slate-100{&:hover{@media(hover:hover){border-color:var(--color-slate-100)}}}.hover\\:border-slate-200{&:hover{@media(hover:hover){border-color:var(--color-slate-200)}}}.hover\\:border-slate-300{&:hover{@media(hover:hover){border-color:var(--color-slate-300)}}}.hover\\:bg-black{&:hover{@media(hover:hover){background-color:var(--color-black)}}}.hover\\:bg-blue-50{&:hover{@media(hover:hover){background-color:var(--color-blue-50)}}}.hover\\:bg-blue-50\\/50{&:hover{@media(hover:hover){background-color:color-mix(in srgb,oklch(97% .014 254.604) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}}}.hover\\:bg-blue-700{&:hover{@media(hover:hover){background-color:var(--color-blue-700)}}}.hover\\:bg-red-50{&:hover{@media(hover:hover){background-color:var(--color-red-50)}}}.hover\\:bg-slate-50{&:hover{@media(hover:hover){background-color:var(--color-slate-50)}}}.hover\\:bg-slate-100{&:hover{@media(hover:hover){background-color:var(--color-slate-100)}}}.hover\\:bg-white{&:hover{@media(hover:hover){background-color:var(--color-white)}}}.hover\\:bg-white\\/20{&:hover{@media(hover:hover){background-color:color-mix(in srgb,#fff 20%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}}}.hover\\:text-blue-500{&:hover{@media(hover:hover){color:var(--color-blue-500)}}}.hover\\:text-red-500{&:hover{@media(hover:hover){color:var(--color-red-500)}}}.hover\\:text-slate-500{&:hover{@media(hover:hover){color:var(--color-slate-500)}}}.hover\\:text-slate-600{&:hover{@media(hover:hover){color:var(--color-slate-600)}}}.hover\\:text-slate-700{&:hover{@media(hover:hover){color:var(--color-slate-700)}}}.hover\\:text-white{&:hover{@media(hover:hover){color:var(--color-white)}}}.hover\\:opacity-100{&:hover{@media(hover:hover){opacity:100%}}}.hover\\:shadow-md{&:hover{@media(hover:hover){--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.focus\\:border-blue-500{&:focus{border-color:var(--color-blue-500)}}.focus\\:border-slate-400{&:focus{border-color:var(--color-slate-400)}}.focus\\:ring-4{&:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-blue-500\\/10{&:focus{--tw-ring-color: color-mix(in srgb, oklch(62.3% .214 259.815) 10%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}}.focus\\:ring-slate-400\\/5{&:focus{--tw-ring-color: color-mix(in srgb, oklch(70.4% .04 256.788) 5%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-slate-400) 5%, transparent)}}}.focus\\:outline-none{&:focus{--tw-outline-style: none;outline-style:none}}.active\\:scale-\\[0\\.98\\]{&:active{scale:.98}}.active\\:cursor-grabbing{&:active{cursor:grabbing}}.disabled\\:bg-slate-100{&:disabled{background-color:var(--color-slate-100)}}.disabled\\:bg-slate-300{&:disabled{background-color:var(--color-slate-300)}}.disabled\\:text-slate-400{&:disabled{color:var(--color-slate-400)}}.disabled\\:opacity-20{&:disabled{opacity:20%}}.disabled\\:opacity-30{&:disabled{opacity:30%}}.disabled\\:opacity-50{&:disabled{opacity:50%}}.md\\:space-y-8{@media(width>=48rem){:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}}}.md\\:p-12{@media(width>=48rem){padding:calc(var(--spacing) * 12)}}}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@keyframes spin{to{transform:rotate(360deg)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial}}}
3
- `);var T=require("react");var W=ve(require("react")),w=require("lucide-react");var Be=require("clsx"),Te=require("tailwind-merge");function j(...g){return(0,Te.twMerge)((0,Be.clsx)(g))}var e=require("react/jsx-runtime"),gt=["Inter","Lato","Open Sans","Poppins","Roboto","Roboto Slab","Georgia","Playfair Display","Merriweather","Nunito Sans","Montserrat","Oswald","Raleway","Ubuntu","Lora","PT Sans","PT Serif","Play","Arvo","Kanit","Times New Roman","Arial"],ht=[12,14,16,18,20,24,28,32,36,48,64,72,96],ut=[{name:"Basic Shapes",shapes:["rect","circle","triangle","rightTriangle","rhombus","parallelogram","trapezoid","pentagon","hexagon","heptagon","octagon","heart","smiley","sun","moon"]},{name:"Arrows",shapes:["arrowRight","arrowLeft","arrowUp","arrowDown","arrowLeftRight","arrowUpDown"]},{name:"Stars & Symbols",shapes:["star4","star5","star6","star8","cloud","lightning"]},{name:"Equation Shapes",shapes:["plus","minus","multiply","divide","equal"]}],mt=({type:g,className:t})=>{switch(g){case"rect":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",fill:"currentColor"})});case"circle":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("circle",{cx:"12",cy:"12",r:"9",fill:"currentColor"})});case"triangle":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 4L20 18H4L12 4Z",fill:"currentColor"})});case"rightTriangle":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M4 4V20H20L4 4Z",fill:"currentColor"})});case"rhombus":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 4L20 12L12 20L4 12L12 4Z",fill:"currentColor"})});case"parallelogram":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M7 4H21L17 20H3L7 4Z",fill:"currentColor"})});case"trapezoid":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M6 4H18L21 20H3L6 4Z",fill:"currentColor"})});case"pentagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3L21 9V19H3V9L12 3Z",fill:"currentColor"})});case"hexagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3L20 7.5V16.5L12 21L4 16.5V7.5L12 3Z",fill:"currentColor"})});case"heptagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3L18.5 6L21 13L16 20H8L3 13L5.5 6L12 3Z",fill:"currentColor"})});case"octagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M8.5 3H15.5L21 8.5V15.5L15.5 21H8.5L3 15.5V8.5L8.5 3Z",fill:"currentColor"})});case"heart":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z",fill:"currentColor"})});case"smiley":return(0,e.jsxs)("svg",{viewBox:"0 0 24 24",className:t,children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"9",fill:"currentColor",fillOpacity:"0.2",stroke:"currentColor",strokeWidth:"2"}),(0,e.jsx)("circle",{cx:"9",cy:"9",r:"1.5",fill:"currentColor"}),(0,e.jsx)("circle",{cx:"15",cy:"9",r:"1.5",fill:"currentColor"}),(0,e.jsx)("path",{d:"M8 15C8 15 9.5 17 12 17C14.5 17 16 15 16 15",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]});case"sun":return(0,e.jsxs)("svg",{viewBox:"0 0 24 24",className:t,children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"5",fill:"currentColor"}),(0,e.jsx)("path",{d:"M12 2V4M12 20V22M4 12H2M22 12H20M19.07 4.93L17.66 6.34M6.34 17.66L4.93 19.07M4.93 4.93L6.34 6.34M17.66 17.66L19.07 19.07",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]});case"moon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9 7 7 0 0 1-9-9",fill:"currentColor"})});case"arrowRight":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M4 11h11.5l-3.5-3.5 1.5-1.5 6 6-6 6-1.5-1.5 3.5-3.5H4z",fill:"currentColor"})});case"arrowLeft":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M20 11H8.5l3.5-3.5L10.5 6l-6 6 6 6 1.5-1.5-3.5-3.5H20z",fill:"currentColor"})});case"arrowUp":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M13 20V8.5l3.5 3.5 1.5-1.5-6-6-6 6 1.5 1.5 3.5-3.5V20z",fill:"currentColor"})});case"arrowDown":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M11 4v11.5l-3.5-3.5-1.5 1.5 6 6 6-6-1.5-1.5-3.5 3.5V4z",fill:"currentColor"})});case"arrowLeftRight":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M4 12l4-4v3h8V8l4 4-4 4v-3H8v3l-4-4z",fill:"currentColor"})});case"arrowUpDown":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 4l-4 4h3v8H8l4 4 4-4h-3V8h3l-4-4z",fill:"currentColor"})});case"star4":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l2 8 8 2-8 2-2 8-2-8-8-2 8-2 2-8z",fill:"currentColor"})});case"star5":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l2.5 7.5H22l-6 4.5 2.5 7.5-6.5-4.5-6.5 4.5 2.5-7.5-6-4.5h7.5L12 2z",fill:"currentColor"})});case"star6":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l3 5 6-1-4 4.5 2 6.5-7-3-7 3 2-6.5-4-4.5 6 1 3-5z",fill:"currentColor"})});case"star8":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l2 4 4-2-2 4 4 2-4 2 2 4-4-2-2 4-2-4-4 2 2-4-4-2 4-2-2-4 4 2 2-4z",fill:"currentColor"})});case"cloud":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M17.5 19c-3 0-5.5-2.5-5.5-5.5 0-.2 0-.4.1-.6-2-.8-3.6-2.5-4.1-4.7C6.5 7.4 5 6 3 6c-1.7 0-3 1.3-3 3s1.3 3 3 3c.4 0 .8-.1 1.2-.2C4.1 13 5 14.5 6.5 15.5c.3 1.8 1.4 3.4 3 4.3.4.2.8.3 1.2.4 1.2.4 2.5.6 3.8.6 4.4 0 8-3.6 8-8s-3.6-8-8-8c-.4 0-.8 0-1.2.1-1.2.2-2.3.7-3.2 1.5C11 4.2 12.4 3.5 14 3.5c4.1 0 7.5 3.4 7.5 7.5s-1.8 7.5-4 8z",fill:"currentColor",transform:"scale(0.8) translate(3,3)"})});case"lightning":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M13 2L3 14h9v8l10-12h-9l3-8z",fill:"currentColor"})});case"plus":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",fill:"currentColor"})});case"minus":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 13H5v-2h14v2z",fill:"currentColor"})});case"multiply":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z",fill:"currentColor"})});case"divide":return(0,e.jsxs)("svg",{viewBox:"0 0 24 24",className:t,children:[(0,e.jsx)("circle",{cx:"12",cy:"7",r:"2",fill:"currentColor"}),(0,e.jsx)("circle",{cx:"12",cy:"17",r:"2",fill:"currentColor"}),(0,e.jsx)("rect",{x:"5",y:"11",width:"14",height:"2",fill:"currentColor"})]});case"equal":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 10H5V8h14v2zm0 6H5v-2h14v2z",fill:"currentColor"})});default:return(0,e.jsx)("div",{className:"w-6 h-6 bg-slate-200 rounded-sm"})}},vt=({onAddShape:g,uiScale:t})=>{let[a,d]=(0,W.useState)(!1);return W.default.useEffect(()=>(window._toggleShapesMenu=()=>d(!a),()=>{window._toggleShapesMenu=void 0}),[a]),a?(0,e.jsx)("div",{className:"absolute top-full left-0 mt-2 bg-white border border-slate-200 rounded-2xl shadow-2xl p-4 overflow-y-auto z-[100] animate-in fade-in zoom-in-95 duration-200",style:{width:`${320*t}px`,maxHeight:`${480*t}px`},children:(0,e.jsx)("div",{className:"flex flex-col gap-6",children:ut.map(x=>(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 px-1",style:{fontSize:`${10*t}px`},children:x.name}),(0,e.jsx)("div",{className:"grid grid-cols-5 gap-1",children:x.shapes.map(f=>(0,e.jsx)("button",{onClick:()=>{g(f),d(!1)},className:"aspect-square hover:bg-slate-50 rounded-lg flex items-center justify-center border border-transparent hover:border-slate-100 transition-all group p-1",title:f,children:(0,e.jsx)("div",{className:"w-full h-full bg-slate-100 rounded-sm group-hover:bg-blue-100 group-hover:scale-110 transition-all flex items-center justify-center overflow-hidden p-1.5",children:(0,e.jsx)(mt,{type:f,className:"w-full h-full text-slate-400 group-hover:text-blue-600 transition-colors"})})},f))})]},x.name))})}):null},Ve=({onAddText:g,onAddImage:t,onAddShape:a,onAddSlide:d,onExport:x,onFormatText:f,onDeleteElement:C,onApplyLayout:N,onPlay:H,selectedElement:o,appName:z,onAiAction:u,onAiResponseAction:p,aiResponse:S,isAiLoading:i,onNewPresentation:b,onLoadPresentation:l,appBgColor:k="#B7472A",uiScale:h,source:r})=>{let n=W.default.useRef(null),[v,I]=(0,W.useState)("Home"),[V,U]=(0,W.useState)(!1),[F,ie]=(0,W.useState)(!1),[ne,se]=(0,W.useState)(!1),[Q,Y]=(0,W.useState)(!1),[_,G]=(0,W.useState)("file"),[ee,we]=(0,W.useState)(""),R=(o==null?void 0:o.type)==="text",te=(o==null?void 0:o.type)==="shape",xe="#B7472A";return(0,e.jsxs)("div",{className:"flex flex-col border-b border-slate-200 bg-white z-50 select-none",style:{fontSize:`${12*h}px`},children:[(0,e.jsxs)("div",{className:"bg-white flex items-center justify-stretch border-b border-slate-200/60 transition-all duration-300 relative z-[1000]",style:{height:`${120*h}px`,overflow:"visible"},children:[(0,e.jsxs)("div",{className:j("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",h<.84?"min-w-0":"min-w-fit"),children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto",children:[(0,e.jsxs)("button",{onClick:d,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg group transition-all min-w-[64px]",children:[(0,e.jsx)("div",{className:"bg-orange-50 p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Plus,{size:20,style:{color:k}})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"New Slide"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsxs)("button",{onClick:()=>U(!V),className:j("flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg transition-all min-w-[64px]",V&&"bg-slate-100"),children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg",children:(0,e.jsx)(w.Layout,{size:20,className:"text-slate-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Layout"})]}),V&&(0,e.jsxs)("div",{className:"absolute top-full left-1/2 -translate-x-1/2 mt-1 bg-white border border-slate-200 rounded-xl shadow-2xl p-2 w-56 flex flex-col gap-1 z-[100] animate-in fade-in zoom-in-95 duration-200",children:[(0,e.jsxs)("button",{onClick:()=>{N("title"),U(!1)},className:"flex items-center gap-3 px-4 py-2.5 hover:bg-slate-50 rounded-lg text-xs font-semibold text-slate-700 transition-colors border border-transparent hover:border-slate-100",children:[(0,e.jsx)(w.FileText,{size:16,className:"text-blue-500"})," Title Slide"]}),(0,e.jsxs)("button",{onClick:()=>{N("content"),U(!1)},className:"flex items-center gap-3 px-4 py-2.5 hover:bg-slate-50 rounded-lg text-xs font-semibold text-slate-700 transition-colors border border-transparent hover:border-slate-100",children:[(0,e.jsx)(w.List,{size:16,className:"text-emerald-500"})," Title & Content"]}),(0,e.jsxs)("button",{onClick:()=>{N("split"),U(!1)},className:"flex items-center gap-3 px-4 py-2.5 hover:bg-slate-50 rounded-lg text-xs font-semibold text-slate-700 transition-colors border border-transparent hover:border-slate-100",children:[(0,e.jsx)(w.Columns,{size:16,className:"text-purple-500"})," Two Columns"]})]})]})]}),h>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Slides"})]}),(0,e.jsxs)("div",{className:j("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",h<.85?"px-2":"px-4"),children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1.5 w-full mt-1",children:[(0,e.jsx)("select",{disabled:!R,value:(o==null?void 0:o.fontFamily)||"Arial",onChange:A=>f({fontFamily:A.target.value}),className:j("h-7 px-2 text-[11px] text-slate-900 border border-slate-200 rounded-lg font-semibold bg-white hover:border-slate-300 outline-none disabled:opacity-50 transition-colors appearance-none cursor-pointer",h<.85?"flex-1":"w-44"),children:gt.map(A=>(0,e.jsx)("option",{value:A,children:A},A))}),(0,e.jsx)("select",{disabled:!R,value:(o==null?void 0:o.fontSize)||24,onChange:A=>f({fontSize:parseInt(A.target.value)}),className:"h-7 px-1.5 text-[11px] text-slate-900 border border-slate-200 rounded-lg font-semibold bg-white hover:border-slate-300 outline-none w-14 disabled:opacity-50 transition-colors appearance-none cursor-pointer text-center",children:ht.map(A=>(0,e.jsx)("option",{value:A,children:A},A))})]}),(0,e.jsxs)("div",{className:"flex items-center justify-between w-full mt-auto mb-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,e.jsx)("button",{disabled:!R,onClick:()=>f({isBold:!o.isBold}),className:j("p-1.5 rounded-lg transition-all disabled:opacity-30",o!=null&&o.isBold?"bg-slate-100 text-slate-900":"text-slate-500 hover:bg-slate-50"),children:(0,e.jsx)(w.Bold,{size:14,strokeWidth:3})}),(0,e.jsx)("button",{disabled:!R,onClick:()=>f({isItalic:!o.isItalic}),className:j("p-1.5 rounded-lg transition-all disabled:opacity-30",o!=null&&o.isItalic?"bg-slate-100 text-slate-900":"text-slate-500 hover:bg-slate-50"),children:(0,e.jsx)(w.Italic,{size:14})}),(0,e.jsx)("button",{disabled:!R,onClick:()=>f({isBulleted:!o.isBulleted}),className:j("p-1.5 rounded-lg transition-all disabled:opacity-30",o!=null&&o.isBulleted?"bg-slate-100 text-slate-900":"text-slate-500 hover:bg-slate-50"),children:(0,e.jsx)(w.List,{size:14})}),(0,e.jsxs)("div",{className:"relative group p-1 hover:bg-slate-50 rounded-lg transition-colors cursor-pointer ml-0.5",children:[(0,e.jsx)("input",{type:"color",disabled:!o,value:R?o.color||"#000000":(o==null?void 0:o.fill)||"#3b82f6",onChange:A=>f(R?{color:A.target.value}:{fill:A.target.value}),className:"w-6 h-4 p-0 border-0 bg-transparent cursor-pointer disabled:opacity-50",title:"Font/Fill Color"}),(0,e.jsx)("div",{className:"absolute bottom-1 left-1 right-1 h-0.5 rounded-full",style:{backgroundColor:R?o.color||"#000000":(o==null?void 0:o.fill)||"#3b82f6"}})]})]}),(0,e.jsx)("div",{className:"h-4 w-[1px] bg-slate-200 mx-1.5"}),(0,e.jsxs)("div",{className:"flex items-center gap-0.5 bg-slate-50/50 p-0.5 rounded-lg",children:[(0,e.jsx)("button",{disabled:!R,onClick:()=>f({textAlign:"left"}),className:j("p-1 rounded-md transition-all disabled:opacity-30",(o==null?void 0:o.textAlign)==="left"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(o==null?void 0:o.textAlign)==="left"?k:void 0},children:(0,e.jsx)(w.AlignLeft,{size:13})}),(0,e.jsx)("button",{disabled:!R,onClick:()=>f({textAlign:"center"}),className:j("p-1 rounded-md transition-all disabled:opacity-30",(o==null?void 0:o.textAlign)==="center"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(o==null?void 0:o.textAlign)==="center"?k:void 0},children:(0,e.jsx)(w.AlignCenter,{size:13})}),(0,e.jsx)("button",{disabled:!R,onClick:()=>f({textAlign:"right"}),className:j("p-1 rounded-md transition-all disabled:opacity-30",(o==null?void 0:o.textAlign)==="right"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(o==null?void 0:o.textAlign)==="right"?k:void 0},children:(0,e.jsx)(w.AlignRight,{size:13})})]})]}),h>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Font"})]}),(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2 shrink-0",children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-2 my-auto",children:[(0,e.jsxs)("div",{className:"relative group/shapes flex justify-center",children:[(0,e.jsxs)("button",{className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg group transition-all min-w-[64px]",onClick:()=>{var A;return(A=window._toggleShapesMenu)==null?void 0:A.call(window)},children:[(0,e.jsx)("div",{className:"bg-blue-50 p-1.5 rounded-lg group-hover:scale-105 transition-transform",children:(0,e.jsx)(w.Square,{size:20,className:"text-blue-600"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"Shapes"})]}),(0,e.jsx)(vt,{onAddShape:A=>{a(A)},uiScale:h})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:g,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 transition-colors min-w-[64px]",title:"Text Box",children:[(0,e.jsx)("div",{className:"p-1.5",children:(0,e.jsx)(w.Type,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Text Box"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:()=>{var A;return(A=n.current)==null?void 0:A.click()},className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 transition-colors min-w-[64px]",title:"Image",children:[(0,e.jsx)("div",{className:"p-1.5",children:(0,e.jsx)(w.Image,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Image"}),(0,e.jsx)("input",{type:"file",ref:n,className:"hidden",accept:"image/*",onChange:A=>{var Z;return((Z=A.target.files)==null?void 0:Z[0])&&t(A.target.files[0])}})]})]}),h>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Drawing"})]}),(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2 relative",children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto h-full",children:[(0,e.jsxs)("button",{disabled:!R||i,onClick:()=>u(o.id,"shorten"),className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 disabled:opacity-20 transition-all min-w-[64px]",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Sparkles,{size:20,className:"text-purple-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Shorten"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{disabled:!R||i,onClick:()=>u(o.id,"reframe"),className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 disabled:opacity-20 transition-all min-w-[64px]",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Sparkles,{size:20,className:"text-blue-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Reframe"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{disabled:!R||i,onClick:()=>u(o.id,"lengthen"),className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 disabled:opacity-20 transition-all min-w-[68px]",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Sparkles,{size:20,className:"text-emerald-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-center leading-tight",children:"Lengthen"})]})]}),i&&(0,e.jsx)("div",{className:"absolute inset-x-0 top-2 bottom-8 bg-white/80 flex items-center justify-center rounded-lg z-10 backdrop-blur-[1px]",children:(0,e.jsx)(w.RefreshCw,{size:16,className:"text-blue-600 animate-spin"})}),h>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"AI Text"})]}),(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center pl-4 pr-3 gap-1 h-full py-2 relative",children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto h-full",children:[(0,e.jsxs)("button",{onClick:H,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-700 transition-all min-w-[64px] group",title:"Present",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Play,{size:20,className:"fill-slate-700 group-hover:fill-slate-900"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Present"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:x,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-700 transition-all min-w-[64px] group",title:"Export",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Download,{size:20,className:"text-emerald-600"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Export"})]}),o&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:C,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-red-50 rounded-lg text-red-600 transition-all min-w-[64px] group",title:"Delete",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Trash2,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Delete"})]})]})]}),(0,e.jsxs)("div",{className:"absolute bottom-2 right-3 flex items-center gap-1 px-1.5 py-0.5 bg-emerald-50/50 rounded-md border border-emerald-100/50",children:[(0,e.jsx)(w.Check,{size:9,className:"text-emerald-500"}),(0,e.jsx)("span",{className:"text-[7px] font-black text-emerald-600/70 tracking-tighter uppercase",children:"Saved"})]}),h>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Actions"})]})]}),Q&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-[2000]",onClick:()=>Y(!1)}),(0,e.jsxs)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[480px] bg-white rounded-3xl shadow-2xl z-[2001] border border-slate-200 p-8 animate-in fade-in zoom-in-95 duration-200",children:[(0,e.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,e.jsxs)("h3",{className:"text-lg font-black text-slate-800 tracking-tight flex items-center gap-3",children:[(0,e.jsx)("div",{className:"p-2 bg-blue-50 text-blue-600 rounded-xl",children:(0,e.jsx)(w.Download,{size:20})}),"Upload Presentation"]}),(0,e.jsx)("button",{onClick:()=>Y(!1),className:"text-slate-400 hover:text-slate-600 transition-colors",children:(0,e.jsx)(w.RefreshCw,{size:20,className:"rotate-45"})})]}),(0,e.jsxs)("div",{className:"flex gap-2 p-1 bg-slate-50 rounded-2xl mb-8",children:[(0,e.jsx)("button",{onClick:()=>G("file"),className:j("flex-1 py-3 text-xs font-black rounded-xl transition-all",_==="file"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"FILE UPLOAD"}),(0,e.jsx)("button",{onClick:()=>G("link"),className:j("flex-1 py-3 text-xs font-black rounded-xl transition-all",_==="link"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"LINK UPLOAD"})]}),_==="file"?(0,e.jsxs)("label",{className:"flex flex-col items-center justify-center gap-4 py-12 border-2 border-dashed border-slate-200 rounded-3xl hover:border-blue-400 hover:bg-blue-50/50 transition-all cursor-pointer group",children:[(0,e.jsx)("div",{className:"p-4 bg-white rounded-2xl shadow-sm border border-slate-100 group-hover:scale-110 transition-transform",children:(0,e.jsx)(w.Plus,{size:24,className:"text-blue-500"})}),(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("p",{className:"text-sm font-bold text-slate-700",children:"Choose a PPTX file"}),(0,e.jsx)("p",{className:"text-xs text-slate-400 mt-1",children:"Maximum file size: 50MB"})]}),(0,e.jsx)("input",{type:"file",accept:".pptx",className:"hidden",onChange:A=>{var he;let Z=(he=A.target.files)==null?void 0:he[0];Z&&(l(Z),Y(!1))}})]}):(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsx)("div",{className:"relative",children:(0,e.jsx)("input",{type:"text",placeholder:"Paste S3 or public URL",value:ee,onChange:A=>we(A.target.value),className:"w-full bg-slate-50 border border-slate-200 rounded-2xl px-5 py-4 focus:outline-none focus:ring-4 focus:ring-blue-500/10 focus:border-blue-500 text-sm placeholder:text-slate-400 text-black"})}),(0,e.jsx)("button",{onClick:()=>{ee.trim()&&(l(ee.trim()),Y(!1))},disabled:!ee.trim(),className:"w-full bg-blue-600 hover:bg-blue-700 disabled:bg-slate-300 text-white font-black py-4 rounded-2xl transition-all shadow-lg shadow-blue-500/20",children:"LOAD PRESENTATION"}),(0,e.jsx)("p",{className:"text-[10px] text-slate-400 text-center uppercase tracking-widest font-black",children:"Supports S3, Dropbox, and public URLS"})]})]})]})]})};var re=require("lucide-react"),O=require("@dnd-kit/core"),q=require("@dnd-kit/sortable"),De=require("@dnd-kit/utilities");var B=require("react/jsx-runtime"),Re={triangle:"M 12,4 L 20,18 H 4 L 12,4 Z",rightTriangle:"M 4,4 V 20 H 20 L 4,4 Z",rhombus:"M 12,4 L 20,12 L 12,20 L 4,12 L 12,4 Z",parallelogram:"M 7,4 H 21 L 17,20 H 3 L 7,4 Z",trapezoid:"M 6,4 H 18 L 21,20 H 3 L 6,4 Z",pentagon:"M 12,3 L 21,9 V 19 H 3 V 9 L 12,3 Z",hexagon:"M 12,3 L 20,7.5 V 16.5 L 12,21 L 4,16.5 V 7.5 L 12,3 Z",heptagon:"M 12,3 L 18.5,6 L 21,13 L 16,20 H 8 L 3,13 L 5.5,6 L 12,3 Z",octagon:"M 8.5,3 H 15.5 L 21,8.5 V 15.5 L 15.5,21 H 8.5 L 3,15.5 V 8.5 L 8.5,3 Z",heart:"M 12,21.35 L 10.55,20.03 C 5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3 C 9.24,3 10.91,3.81 12,5.09 C 13.09,3.81 14.76,3 16.5,3 C 19.58,3 22,5.42 22,8.5 C 22,12.28 18.6,15.36 13.45,20.04 L 12,21.35 Z",smiley:"M 12,3 A 9,9 0 1,0 12,21 A 9,9 0 1,0 12,3 M 9,9 A 1.5,1.5 0 1,1 9,10.5 A 1.5,1.5 0 1,1 9,9 M 15,9 A 1.5,1.5 0 1,1 15,10.5 A 1.5,1.5 0 1,1 15,9 M 8,15 C 8,15 9.5,17 12,17 C 14.5,17 16,15 16,15",sun:"M 12,7 A 5,5 0 1,1 12,17 A 5,5 0 1,1 12,7 M 12,2 V 4 M 12,20 V 22 M 4,12 H 2 M 22,12 H 20 M 19.07,4.93 L 17.66,6.34 M 6.34,17.66 L 4.93,19.07 M 4.93,4.93 L 6.34,6.34 M 17.66,17.66 L 19.07,19.07",moon:"M 12,3 A 9,9 0 1,0 12,21 A 7,7 0 0,1 12,3 Z",circle:"M 12,3 A 9,9 0 1,1 12,21 A 9,9 0 1,1 12,3 Z",arrowRight:"M 4,11 H 15.5 L 12,7.5 L 13.5,6 L 19.5,12 L 13.5,18 L 12,16.5 L 15.5,13 H 4 Z",arrowLeft:"M 20,11 H 8.5 L 12,7.5 L 10.5,6 L 4.5,12 L 10.5,18 L 12,16.5 L 8.5,13 H 20 Z",arrowUp:"M 13,20 V 8.5 L 16.5,12 L 18,10.5 L 12,4.5 L 6,10.5 L 7.5,12 L 11,8.5 V 20 Z",arrowDown:"M 11,4 V 15.5 L 7.5,12 L 6,13.5 L 12,19.5 L 18,13.5 L 16.5,12 L 13,15.5 V 4 Z",arrowLeftRight:"M 4,12 L 8,8 V 11 H 16 V 8 L 20,12 L 16,16 V 13 H 8 V 16 L 4,12 Z",arrowUpDown:"M 12,4 L 8,8 H 11 V 16 H 8 L 12,20 L 16,16 H 13 V 8 H 16 L 12,4 Z",star4:"M 12,2 L 14,10 L 22,12 L 14,14 L 12,22 L 10,14 L 2,12 L 10,10 L 12,2 Z",star5:"M 12,2 L 14.5,9.5 H 22 L 16,14 L 18.5,21.5 L 12,17 L 5.5,21.5 L 8,14 L 2,9.5 H 9.5 L 12,2 Z",star6:"M 12,2 L 15,7 L 21,6 L 17,10.5 L 19,17 L 12,14 L 5,17 L 7,10.5 L 3,6 L 9,7 L 12,2 Z",star8:"M 12,2 L 14,6 L 18,4 L 16,8 L 20,10 L 16,12 L 18,16 L 14,14 L 12,18 L 10,14 L 6,16 L 8,12 L 4,10 L 8,8 L 6,4 L 10,6 L 12,2 Z",cloud:"M 17,19 C 14.8,19 13.1,17.7 12.3,15.8 C 11.4,16 10.5,16.2 9.6,16.2 C 7,16.2 4.7,14.6 3.7,12.3 C 1.5,11.8 0,9.9 0,7.6 C 0,5 2.1,2.9 4.7,2.9 C 5.3,2.9 5.8,3 6.3,3.1 C 7.6,1.4 9.6,0.3 11.9,0.3 C 12.5,0.3 13.1,0.4 13.7,0.5 C 15,1.9 15.9,3.7 16,5.7 C 18.2,6.1 20,8.1 20,10.5 C 20,13.2 17.8,15.4 15.1,15.4 C 14.8,15.4 14.5,15.4 14.2,15.3 C 14.2,15.4 14.2,15.4 14.2,15.5 C 14.2,17.4 15.5,19 17,19 Z",lightning:"M 13,2 L 3,14 H 12 V 22 L 22,10 H 13 L 16,2 Z",plus:"M 19,13 H 13 V 19 H 11 V 13 H 5 V 11 H 11 V 5 H 13 V 11 H 19 V 13 Z",minus:"M 19,13 H 5 V 11 H 19 V 13 Z",multiply:"M 19,6.41 L 17.59,5 L 12,10.59 L 6.41,5 L 5,6.41 L 10.59,12 L 5,17.59 L 6.41,19 L 12,13.41 L 17.59,19 L 19,17.59 L 13.41,12 L 19,6.41 Z",divide:"M 12,7 A 2,2 0 1,1 12,11 A 2,2 0 1,1 12,7 M 12,17 A 2,2 0 1,1 12,21 A 2,2 0 1,1 12,17 M 5,11 H 19 V 13 H 5 V 11 Z",equal:"M 19,10 H 5 V 8 H 19 V 10 M 19,16 H 5 V 14 H 19 V 16 Z"},ft=({slide:g,index:t,isActive:a,onSelect:d,onDelete:x,onDuplicate:f,showDelete:C,uiScale:N,appBgColor:H})=>{let{attributes:o,listeners:z,setNodeRef:u,transform:p,transition:S,isDragging:i}=(0,q.useSortable)({id:g.id}),b={transform:De.CSS.Transform.toString(p),transition:S,zIndex:i?2:1,opacity:i?.5:1};return(0,B.jsxs)("div",{ref:u,onClick:d,className:j("cursor-pointer border-[1.5px] border-solid p-2 transition-all duration-300 group relative select-none",a?"bg-white":"border-transparent hover:border-slate-200 bg-white/50 hover:bg-white"),style:M(y({},b),{borderColor:a?H:void 0}),children:[(0,B.jsxs)("div",{className:j("text-[10px] font-bold mb-1 flex items-center justify-between transition-colors",!a&&"text-slate-400"),style:{color:a?H:void 0},children:[(0,B.jsxs)("div",{className:"flex items-center gap-1",children:[(0,B.jsx)("div",M(y(y({},o),z),{className:"cursor-grab active:cursor-grabbing p-0.5 hover:bg-slate-100 text-slate-300 hover:text-slate-500",children:(0,B.jsx)(re.GripVertical,{size:10})})),(0,B.jsxs)("span",{children:["SLIDE ",t+1]})]}),(0,B.jsxs)("div",{className:"flex items-center gap-1",children:[a&&(0,B.jsx)("span",{className:"h-1.5 w-1.5",style:{backgroundColor:H}}),(0,B.jsxs)("div",{className:"flex items-center opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,B.jsx)("button",{onClick:l=>{l.stopPropagation(),f()},className:"p-1 hover:bg-blue-50 text-slate-400 hover:text-blue-500 transition-all",title:"Duplicate Slide",children:(0,B.jsx)(re.Copy,{size:12})}),C&&(0,B.jsx)("button",{onClick:l=>{l.stopPropagation(),x()},className:"p-1 hover:bg-red-50 text-red-400 hover:text-red-500 transition-all",title:"Delete Slide",children:(0,B.jsx)(re.Trash2,{size:12})})]})]})]}),(0,B.jsx)("div",{className:"aspect-video bg-white flex items-center justify-center border border-slate-200 overflow-hidden relative group-hover:shadow-sm transition-shadow",children:(0,B.jsx)("div",{className:"origin-center pointer-events-none select-none shrink-0",style:{width:"1200px",height:"675px",transform:`scale(${180*N/1200})`,backgroundColor:"#ffffff"},children:g.elements.sort((l,k)=>(l.zIndex||0)-(k.zIndex||0)).map(l=>{var h;let k={position:"absolute",left:l.x,top:l.y,width:l.width,height:l.height,opacity:(h=l.opacity)!=null?h:1};if(l.type==="text")return(0,B.jsx)("div",{style:M(y({},k),{fontSize:l.fontSize,fontFamily:l.fontFamily,color:l.color,textAlign:l.textAlign||"left",fontWeight:l.isBold?"bold":"normal",fontStyle:l.isItalic?"italic":"normal",lineHeight:1.2,overflow:"hidden",wordBreak:"break-word",whiteSpace:"pre-wrap"}),children:l.content},l.id);if(l.type==="shape"){let r=Re[l.shapeType]||(l.shapeType==="ellipse"?Re.circle:null);return r?(0,B.jsx)("svg",{viewBox:"0 0 24 24",style:M(y({},k),{fill:l.fill}),preserveAspectRatio:"none",children:(0,B.jsx)("path",{d:r})},l.id):(0,B.jsx)("div",{style:M(y({},k),{backgroundColor:l.fill,borderRadius:l.shapeType==="ellipse"?"50%":"0"})},l.id)}else if(l.type==="image")return(0,B.jsx)("img",{src:l.src,alt:"",style:M(y({},k),{objectFit:"contain"})},l.id);return null})})})]})},Fe=({slides:g,currentSlideIndex:t,onSelectSlide:a,onDeleteSlide:d,onDuplicateSlide:x,onReorderSlides:f,uiScale:C,appBgColor:N="#B7472A"})=>{let H=(0,O.useSensors)((0,O.useSensor)(O.PointerSensor,{activationConstraint:{distance:5}}),(0,O.useSensor)(O.KeyboardSensor,{coordinateGetter:q.sortableKeyboardCoordinates})),o=z=>{let{active:u,over:p}=z;if(u.id!==(p==null?void 0:p.id)){let S=g.findIndex(b=>b.id===u.id),i=g.findIndex(b=>b.id===(p==null?void 0:p.id));f(S,i)}};return(0,B.jsx)("div",{className:"bg-white border-r border-slate-100 overflow-y-auto p-4 flex flex-col gap-4",style:{width:`${256*C}px`},children:(0,B.jsx)(O.DndContext,{sensors:H,collisionDetection:O.closestCenter,onDragEnd:o,children:(0,B.jsx)(q.SortableContext,{items:g.map(z=>z.id),strategy:q.verticalListSortingStrategy,children:g.map((z,u)=>(0,B.jsx)(ft,{slide:z,index:u,isActive:u===t,onSelect:()=>a(u),onDelete:()=>d(u),onDuplicate:()=>x(u),showDelete:g.length>1,uiScale:C,appBgColor:N},z.id))})})})};var E=require("react"),X=ve(require("fabric"));var fe=require("react/jsx-runtime"),bt={triangle:"M 12,4 L 20,18 H 4 L 12,4 Z",rightTriangle:"M 4,4 V 20 H 20 L 4,4 Z",rhombus:"M 12,4 L 20,12 L 12,20 L 4,12 L 12,4 Z",parallelogram:"M 7,4 H 21 L 17,20 H 3 L 7,4 Z",trapezoid:"M 6,4 H 18 L 21,20 H 3 L 6,4 Z",pentagon:"M 12,3 L 21,9 V 19 H 3 V 9 L 12,3 Z",hexagon:"M 12,3 L 20,7.5 V 16.5 L 12,21 L 4,16.5 V 7.5 L 12,3 Z",heptagon:"M 12,3 L 18.5,6 L 21,13 L 16,20 H 8 L 3,13 L 5.5,6 L 12,3 Z",octagon:"M 8.5,3 H 15.5 L 21,8.5 V 15.5 L 15.5,21 H 8.5 L 3,15.5 V 8.5 L 8.5,3 Z",heart:"M 12,21.35 L 10.55,20.03 C 5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3 C 9.24,3 10.91,3.81 12,5.09 C 13.09,3.81 14.76,3 16.5,3 C 19.58,3 22,5.42 22,8.5 C 22,12.28 18.6,15.36 13.45,20.04 L 12,21.35 Z",smiley:"M 12,3 A 9,9 0 1,0 12,21 A 9,9 0 1,0 12,3 M 9,9 A 1.5,1.5 0 1,1 9,10.5 A 1.5,1.5 0 1,1 9,9 M 15,9 A 1.5,1.5 0 1,1 15,10.5 A 1.5,1.5 0 1,1 15,9 M 8,15 C 8,15 9.5,17 12,17 C 14.5,17 16,15 16,15",sun:"M 12,7 A 5,5 0 1,1 12,17 A 5,5 0 1,1 12,7 M 12,2 V 4 M 12,20 V 22 M 4,12 H 2 M 22,12 H 20 M 19.07,4.93 L 17.66,6.34 M 6.34,17.66 L 4.93,19.07 M 4.93,4.93 L 6.34,6.34 M 17.66,17.66 L 19.07,19.07",moon:"M 12,3 A 9,9 0 1,0 12,21 A 7,7 0 0,1 12,3 Z",circle:"M 12,3 A 9,9 0 1,1 12,21 A 9,9 0 1,1 12,3 Z",arrowRight:"M 4,11 H 15.5 L 12,7.5 L 13.5,6 L 19.5,12 L 13.5,18 L 12,16.5 L 15.5,13 H 4 Z",arrowLeft:"M 20,11 H 8.5 L 12,7.5 L 10.5,6 L 4.5,12 L 10.5,18 L 12,16.5 L 8.5,13 H 20 Z",arrowUp:"M 13,20 V 8.5 L 16.5,12 L 18,10.5 L 12,4.5 L 6,10.5 L 7.5,12 L 11,8.5 V 20 Z",arrowDown:"M 11,4 V 15.5 L 7.5,12 L 6,13.5 L 12,19.5 L 18,13.5 L 16.5,12 L 13,15.5 V 4 Z",arrowLeftRight:"M 4,12 L 8,8 V 11 H 16 V 8 L 20,12 L 16,16 V 13 H 8 V 16 L 4,12 Z",arrowUpDown:"M 12,4 L 8,8 H 11 V 16 H 8 L 12,20 L 16,16 H 13 V 8 H 16 L 12,4 Z",star4:"M 12,2 L 14,10 L 22,12 L 14,14 L 12,22 L 10,14 L 2,12 L 10,10 L 12,2 Z",star5:"M 12,2 L 14.5,9.5 H 22 L 16,14 L 18.5,21.5 L 12,17 L 5.5,21.5 L 8,14 L 2,9.5 H 9.5 L 12,2 Z",star6:"M 12,2 L 15,7 L 21,6 L 17,10.5 L 19,17 L 12,14 L 5,17 L 7,10.5 L 3,6 L 9,7 L 12,2 Z",star8:"M 12,2 L 14,6 L 18,4 L 16,8 L 20,10 L 16,12 L 18,16 L 14,14 L 12,18 L 10,14 L 6,16 L 8,12 L 4,10 L 8,8 L 6,4 L 10,6 L 12,2 Z",cloud:"M 17,19 C 14.8,19 13.1,17.7 12.3,15.8 C 11.4,16 10.5,16.2 9.6,16.2 C 7,16.2 4.7,14.6 3.7,12.3 C 1.5,11.8 0,9.9 0,7.6 C 0,5 2.1,2.9 4.7,2.9 C 5.3,2.9 5.8,3 6.3,3.1 C 7.6,1.4 9.6,0.3 11.9,0.3 C 12.5,0.3 13.1,0.4 13.7,0.5 C 15,1.9 15.9,3.7 16,5.7 C 18.2,6.1 20,8.1 20,10.5 C 20,13.2 17.8,15.4 15.1,15.4 C 14.8,15.4 14.5,15.4 14.2,15.3 C 14.2,15.4 14.2,15.4 14.2,15.5 C 14.2,17.4 15.5,19 17,19 Z",lightning:"M 13,2 L 3,14 H 12 V 22 L 22,10 H 13 L 16,2 Z",plus:"M 19,13 H 13 V 19 H 11 V 13 H 5 V 11 H 11 V 5 H 13 V 11 H 19 V 13 Z",minus:"M 19,13 H 5 V 11 H 19 V 13 Z",multiply:"M 19,6.41 L 17.59,5 L 12,10.59 L 6.41,5 L 5,6.41 L 10.59,12 L 5,17.59 L 6.41,19 L 12,13.41 L 17.59,19 L 19,17.59 L 13.41,12 L 19,6.41 Z",divide:"M 12,7 A 2,2 0 1,1 12,11 A 2,2 0 1,1 12,7 M 12,17 A 2,2 0 1,1 12,21 A 2,2 0 1,1 12,17 M 5,11 H 19 V 13 H 5 V 11 Z",equal:"M 19,10 H 5 V 8 H 19 V 10 M 19,16 H 5 V 14 H 19 V 16 Z"},be=({slide:g,onElementUpdate:t,onSelect:a,uiScale:d})=>{let x=(0,E.useRef)(null),f=(0,E.useRef)(null),C=(0,E.useRef)(!1),N=(0,E.useRef)(t),H=(0,E.useRef)(a),o=(0,E.useRef)(null),[z,u]=(0,E.useState)(1),[p,S]=(0,E.useState)(!1);return(0,E.useEffect)(()=>{if(!o.current)return;let i=new ResizeObserver(b=>{let l=b[0];if(l){let{width:k,height:h}=l.contentRect,r=k/1200,n=h/675,v=Math.min(r,n)*.95;u(v)}});return i.observe(o.current),()=>i.disconnect()},[]),(0,E.useEffect)(()=>{N.current=t,H.current=a},[t,a]),(0,E.useEffect)(()=>{if(x.current&&!f.current){let i=new X.Canvas(x.current,{width:1200,height:675,backgroundColor:"white",selection:!0,preserveObjectStacking:!0});f.current=i,S(!0);let b=r=>{r.left<0&&r.set("left",0),r.top<0&&r.set("top",0);let n=r.getBoundingRect();n.left+n.width>(i.width||1200)&&r.set("left",(i.width||1200)-n.width),n.top+n.height>(i.height||675)&&r.set("top",(i.height||675)-n.height)};i.on("object:moving",r=>b(r.target)),i.on("object:scaling",r=>b(r.target));let l=r=>{var I;if(C.current)return;let n=r.target,v=(I=n.get("data"))==null?void 0:I.id;n&&v&&N.current(v,y({x:n.left,y:n.top,width:n.getScaledWidth(),height:n.getScaledHeight()},n.isType("textbox")?{content:n.text,textAlign:n.textAlign,fontSize:n.fontSize,fontFamily:n.fontFamily,color:n.fill}:{fill:n.fill}))};i.on("object:modified",l),i.on("text:changed",l);let k=r=>{var v,I;let n=((v=r.selected)==null?void 0:v[0])||r.target;if(n){let V=(I=n.get("data"))==null?void 0:I.id;H.current(V)}};i.on("selection:created",k),i.on("selection:updated",k),i.on("selection:cleared",()=>H.current(null));let h=r=>{let n=i.getActiveObject();if(!n||n.isType("textbox")&&n.isEditing)return;let v=r.shiftKey?10:1,I=!1;switch(r.key){case"ArrowLeft":n.set("left",n.left-v),I=!0;break;case"ArrowRight":n.set("left",n.left+v),I=!0;break;case"ArrowUp":n.set("top",n.top-v),I=!0;break;case"ArrowDown":n.set("top",n.top+v),I=!0;break}I&&(b(n),i.requestRenderAll(),l({target:n}))};window.addEventListener("keydown",h),i._keyboardListener=h}return()=>{if(f.current){let i=f.current._keyboardListener;i&&window.removeEventListener("keydown",i),f.current.dispose(),f.current=null}}},[]),(0,E.useEffect)(()=>{if(!f.current)return;let i=f.current;(async()=>{C.current=!0;let l=i.getObjects(),k=new Set(g.elements.map(r=>r.id));l.forEach(r=>{var v;let n=(v=r.get("data"))==null?void 0:v.id;n&&!k.has(n)&&i.remove(r)});let h=[...g.elements].sort((r,n)=>(r.zIndex||0)-(n.zIndex||0));for(let r of h){let n=l.find(v=>{var I;return((I=v.get("data"))==null?void 0:I.id)===r.id});if(n){if(n===i.getActiveObject()&&n.isType("textbox")&&n.isEditing)continue;let v={left:r.x,top:r.y,opacity:r.opacity!==void 0?r.opacity:1,zIndex:r.zIndex};r.type==="text"&&n.isType("textbox")?(v.text=r.content||" ",v.fontSize=r.fontSize||22,v.fill=r.color||"#000000",v.textAlign=r.textAlign||"left",v.fontWeight=r.isBold?"bold":"normal",v.fontStyle=r.isItalic?"italic":"normal",v.fontFamily=r.fontFamily||"Arial",v.width=Math.max(r.width||50,10)):r.type==="shape"?(v.fill=r.fill||"#cccccc",v.scaleX=(r.width||50)/(n.width||1),v.scaleY=(r.height||50)/(n.height||1)):r.type==="image"&&(v.scaleX=(r.width||100)/(n.width||1),v.scaleY=(r.height||100)/(n.height||1)),n.set(v)}else{let v=null,I={left:r.x,top:r.y,data:{id:r.id},originX:"left",originY:"top",opacity:r.opacity!==void 0?r.opacity:1};if(r.type==="text")v=new X.Textbox(r.content||" ",M(y({},I),{width:Math.max(r.width||200,10),fontSize:r.fontSize||22,fill:r.color||"#000000",fontFamily:r.fontFamily||"Inter, Arial, sans-serif",textAlign:r.textAlign||"left",fontWeight:r.isBold?"bold":"normal",fontStyle:r.isItalic?"italic":"normal",splitByGrapheme:!1}));else if(r.type==="shape"){let V=r.fill||"#3b82f6";if(r.shapeType==="ellipse")v=new X.Circle(M(y({},I),{radius:(r.width||100)/2,scaleY:(r.height||100)/(r.width||100),fill:V}));else if(r.shapeType==="rect")v=new X.Rect(M(y({},I),{width:r.width||100,height:r.height||100,fill:V}));else{let U=bt[r.shapeType];if(U){v=new X.Path(U,M(y({},I),{fill:V}));let F=v;F.set({scaleX:(r.width||100)/(F.width||1),scaleY:(r.height||100)/(F.height||1)})}else v=new X.Rect(M(y({},I),{width:r.width||100,height:r.height||100,fill:V}))}}else if(r.type==="image")try{let V=await X.FabricImage.fromURL(r.src);V.set(M(y({},I),{scaleX:(r.width||100)/(V.width||1),scaleY:(r.height||100)/(V.height||1)})),v=V}catch(V){console.error(V)}v&&i.add(v)}}i.renderAll(),C.current=!1})()},[g,p]),(0,fe.jsx)("div",{ref:o,className:"w-full h-full flex items-center justify-center overflow-hidden relative",children:(0,fe.jsx)("div",{className:"border border-slate-200 overflow-hidden bg-white shadow-xl transition-all duration-300 ease-out shrink-0",style:{transform:`scale(${z})`,transformOrigin:"center center"},children:(0,fe.jsx)("canvas",{ref:x})})})};var Ze=ve(require("pptxgenjs"));var pe=class{async export(t){var o,z;let a=new Ze.default,d=((o=t.layout)==null?void 0:o.width)||12192e3,x=((z=t.layout)==null?void 0:z.height)||6858e3,f=1200,C=675,N=u=>u/f*(d/914400),H=u=>u/C*(x/914400);t.slides.forEach(u=>{let p=a.addSlide();[...u.elements].sort((i,b)=>i.zIndex-b.zIndex).forEach(i=>{var k,h;let b=i.opacity!==void 0?(1-i.opacity)*100:0,l={x:N(i.x),y:H(i.y),w:N(i.width),h:H(i.height)};if(i.type==="text")p.addText(i.content,M(y({},l),{fontSize:(i.fontSize||18)/2,color:((k=i.color)==null?void 0:k.replace("#",""))||"000000",fontFace:i.fontFamily||"Arial"}));else if(i.type==="image")p.addImage(M(y({},l),{path:i.src,transparency:b}));else if(i.type==="shape"){let r=i.shapeType==="ellipse"?a.ShapeType.ellipse:a.ShapeType.rect;p.addShape(r,M(y({},l),{fill:{color:((h=i.fill)==null?void 0:h.replace("#",""))||"CCCCCC",transparency:b>0?Math.min(b+10,100):0}}))}})}),await a.writeFile({fileName:"presentation.pptx"})}};var je=ve(require("jszip")),ge=class{constructor(){this.slideWidth=12192e3;this.slideHeight=6858e3;this.CANVAS_WIDTH=1200;this.CANVAS_HEIGHT=675}async parse(t){var z,u;let a=t;if(typeof t=="string"){let p=await fetch(t);if(!p.ok){let S=p.status,i=p.statusText,b="";try{let l=await p.json();b=l.details||l.error||""}catch(l){}throw new Error(`Failed to fetch PPTX from ${t}: ${S} ${i} ${b?`(${b})`:""}`)}a=await p.arrayBuffer()}let d=await je.default.loadAsync(a),x=await((z=d.file("ppt/presentation.xml"))==null?void 0:z.async("string"));if(!x)throw new Error("Invalid PPTX");let C=new DOMParser().parseFromString(x,"text/xml"),N=this.findFirstByLocalName(C,"sldSz");N&&(this.slideWidth=parseInt(this.getAttr(N,"cx")||"12192000"),this.slideHeight=parseInt(this.getAttr(N,"cy")||"6858000"));let H=Array.from(C.getElementsByTagNameNS("*","sldId")),o=[];for(let p=0;p<H.length;p++){let S=p+1,i=`ppt/slides/slide${S}.xml`,b=await((u=d.file(i))==null?void 0:u.async("string"));if(b){let l=await this.parseSlide(b,S,d);o.push(l)}}return{slides:o,layout:{width:this.slideWidth,height:this.slideHeight}}}getAttr(t,a){return t.getAttribute(a)||t.getAttribute(`a:${a}`)||t.getAttribute(`p:${a}`)||t.getAttribute(`r:${a}`)}findFirstByLocalName(t,a){let d=t.getElementsByTagNameNS("*",a);return d.length>0?d[0]:null}findAllByLocalName(t,a){return Array.from(t.getElementsByTagNameNS("*",a))}scaleX(t){return t/this.slideWidth*this.CANVAS_WIDTH}scaleY(t){return t/this.slideHeight*this.CANVAS_HEIGHT}parseColor(t){let a=this.findFirstByLocalName(t,"srgbClr");if(a){let x=`#${this.getAttr(a,"val")}`,f=this.findFirstByLocalName(a,"alpha"),C=f?parseInt(this.getAttr(f,"val")||"100000")/1e5:1;return{color:x,opacity:C}}let d=this.findFirstByLocalName(t,"schemeClr");if(d){let x=this.findFirstByLocalName(d,"alpha");return{color:"#000000",opacity:x?parseInt(this.getAttr(x,"val")||"100000")/1e5:1}}return{color:"#000000",opacity:1}}async resolveImage(t,a,d){var o,z;let x=await((o=d.file(`ppt/slides/_rels/slide${a}.xml.rels`))==null?void 0:o.async("string"));if(!x)return null;let C=new DOMParser().parseFromString(x,"text/xml"),N=Array.from(C.getElementsByTagName("Relationship")).find(u=>u.getAttribute("Id")===t),H=N==null?void 0:N.getAttribute("Target");if(H){let u=(H.startsWith("../")?`ppt/${H.substring(3)}`:`ppt/slides/${H}`).replace("ppt/slides/../","ppt/");return await((z=d.file(u))==null?void 0:z.async("blob"))||null}return null}async parseSlide(t,a,d){let f=new DOMParser().parseFromString(t,"text/xml"),C=[],N=0,H=this.findFirstByLocalName(f,"bg");if(H){let u=this.findFirstByLocalName(H,"blip"),p=(u==null?void 0:u.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(u==null?void 0:u.getAttribute("r:embed"));if(p){let S=await this.resolveImage(p,a,d);S&&C.push({id:`bg-${a}`,type:"image",src:URL.createObjectURL(S),x:0,y:0,width:this.CANVAS_WIDTH,height:this.CANVAS_HEIGHT,zIndex:N++,opacity:1})}}let o=this.findFirstByLocalName(f,"spTree");if(!o)return{id:`slide-${a}`,elements:C};let z=Array.from(o.children);for(let u of z){let p=u.localName;if(p==="sp"){let S=this.findFirstByLocalName(u,"txBody"),i=this.findFirstByLocalName(u,"xfrm"),b=i?this.findFirstByLocalName(i,"off"):null,l=i?this.findFirstByLocalName(i,"ext"):null;if(S&&b&&l){let h=this.findAllByLocalName(S,"p"),r="",n=18,v="#000000",I=1,V=!1;for(let U of h){let F=this.findFirstByLocalName(U,"pPr"),ie=F?this.findFirstByLocalName(F,"buNone"):null;F&&!ie&&(this.findFirstByLocalName(F,"buChar")||this.findFirstByLocalName(F,"buAutoNum"))&&(V=!0,r+="\u2022 ");let ne=this.findAllByLocalName(U,"r");for(let se of ne){let Q=this.findFirstByLocalName(se,"t");Q&&(r+=Q.textContent);let Y=this.findFirstByLocalName(se,"rPr");if(Y){let _=this.getAttr(Y,"sz");_&&(n=parseInt(_)/100*2);let G=this.parseColor(Y);v=G.color,I=G.opacity}}r+=`
4
- `}if(r.trim()){C.push({id:`el-${a}-${Date.now()}-${N}`,type:"text",content:r.trim(),x:this.scaleX(parseInt(this.getAttr(b,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(b,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(l,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(l,"cy")||"0")),fontSize:n,color:v,fontFamily:"Arial",zIndex:N++,isBulleted:V,opacity:I});continue}}let k=this.findFirstByLocalName(u,"prstGeom");if(k&&b&&l){let h=this.getAttr(k,"prst")||"rect",r=this.findFirstByLocalName(u,"spPr"),n=r?this.parseColor(r):{color:"#cccccc",opacity:1},v={rect:"rect",roundRect:"rect",ellipse:"ellipse",circle:"ellipse",triangle:"triangle",rtTriangle:"rightTriangle",diamond:"rhombus",parallelogram:"parallelogram",trapezoid:"trapezoid",pentagon:"pentagon",hexagon:"hexagon",heptagon:"heptagon",octagon:"octagon",heart:"heart",smileyFace:"smiley",sun:"sun",moon:"moon",rightArrow:"arrowRight",leftArrow:"arrowLeft",upArrow:"arrowUp",downArrow:"arrowDown",leftRightArrow:"arrowLeftRight",upDownArrow:"arrowUpDown",star4:"star4",star5:"star5",star6:"star6",star8:"star8",cloud:"cloud",lightningBolt:"lightning",plus:"plus",minus:"minus",multiply:"multiply",divide:"divide",equal:"equal"};C.push({id:`el-${a}-${Date.now()}-${N}`,type:"shape",shapeType:v[h]||"rect",fill:n.color,opacity:n.opacity,x:this.scaleX(parseInt(this.getAttr(b,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(b,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(l,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(l,"cy")||"0")),zIndex:N++})}}if(p==="pic"){let S=this.findFirstByLocalName(u,"blip"),i=(S==null?void 0:S.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(S==null?void 0:S.getAttribute("r:embed")),b=this.findFirstByLocalName(u,"xfrm"),l=b?this.findFirstByLocalName(b,"off"):null,k=b?this.findFirstByLocalName(b,"ext"):null;if(i&&l&&k){let h=await this.resolveImage(i,a,d);h&&C.push({id:`el-${a}-${Date.now()}-${N}`,type:"image",src:URL.createObjectURL(h),x:this.scaleX(parseInt(this.getAttr(l,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(l,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(k,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(k,"cy")||"0")),zIndex:N++,opacity:1})}}}return{id:`slide-${a}`,elements:C}}};var ae=require("react"),oe=require("lucide-react");var $=require("react/jsx-runtime"),$e=({presentation:g,initialSlideIndex:t,onClose:a})=>{let[d,x]=(0,ae.useState)(t),f=g.slides[d],C=()=>{d>0&&x(d-1)},N=()=>{d<g.slides.length-1&&x(d+1)};(0,ae.useEffect)(()=>{let z=u=>{u.key==="ArrowRight"||u.key===" "||u.key==="PageDown"?N():u.key==="ArrowLeft"||u.key==="Backspace"||u.key==="PageUp"?C():u.key==="Escape"&&a()};return window.addEventListener("keydown",z),()=>window.removeEventListener("keydown",z)},[d]);let[H,o]=(0,ae.useState)(1);return(0,ae.useEffect)(()=>{let z=()=>{let p=window.innerWidth-40,S=window.innerHeight-40,i=1200,b=675,l=p/i,k=S/b,h=Math.min(l,k);o(h)};return z(),window.addEventListener("resize",z),()=>window.removeEventListener("resize",z)},[]),(0,$.jsxs)("div",{className:"fixed inset-0 z-[99999] bg-[#0A0A0A] flex flex-col items-center justify-center overflow-hidden",children:[(0,$.jsxs)("div",{className:"absolute top-0 left-0 right-0 p-6 flex justify-between items-center opacity-0 hover:opacity-100 transition-opacity bg-gradient-to-b from-black/60 to-transparent z-[100] pointer-events-none",children:[(0,$.jsxs)("div",{className:"text-white/80 font-bold ml-4 pointer-events-auto",children:["Slide ",d+1," of ",g.slides.length]}),(0,$.jsx)("button",{onClick:a,className:"p-3 bg-white/10 hover:bg-white/20 text-white rounded-full transition-all pointer-events-auto",children:(0,$.jsx)(oe.X,{size:24})})]}),(0,$.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,$.jsx)("div",{className:"relative shadow-2xl shadow-black/80 bg-white",style:{width:"1200px",height:"675px",transform:`scale(${H})`,transformOrigin:"center center"},children:(0,$.jsx)(be,{slide:f,onElementUpdate:()=>{},onSelect:()=>{},uiScale:.75})})}),(0,$.jsxs)("div",{className:"absolute bottom-10 left-1/2 -translate-x-1/2 flex items-center gap-6 opacity-0 hover:opacity-100 transition-opacity bg-black/40 backdrop-blur-md px-6 py-3 rounded-full border border-white/10 pointer-events-auto",children:[(0,$.jsx)("button",{disabled:d===0,onClick:C,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,$.jsx)(oe.ChevronLeft,{size:32})}),(0,$.jsx)("div",{className:"h-6 w-[1px] bg-white/10"}),(0,$.jsx)("button",{disabled:d===g.slides.length-1,onClick:N,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,$.jsx)(oe.ChevronRight,{size:32})})]})]})};var Ue=require("@google/generative-ai");var L=require("react/jsx-runtime"),wt=({initialPresentation:g,url:t,appName:a="SlideCanvas",onChange:d,geminiApiKey:x,width:f,height:C,appBgColor:N="#B7472A",showHomeOnEmpty:H=!1,initialSource:o,onSourceChange:z,proxyUrl:u})=>{let[p,S]=(0,T.useState)(g||{slides:[{id:"slide-1",elements:[]}],layout:{width:12192e3,height:6858e3}}),[i,b]=(0,T.useState)([]),[l,k]=(0,T.useState)([]),[h,r]=(0,T.useState)(0),[n,v]=(0,T.useState)(null),[I,V]=(0,T.useState)(!1),[U,F]=(0,T.useState)(null),[ie,ne]=(0,T.useState)(!1),[se,Q]=(0,T.useState)(o||(t?"url":null)),[Y,_]=(0,T.useState)(H&&!g&&!t&&!o),[G,ee]=(0,T.useState)("");(0,T.useEffect)(()=>{t&&ue(t)},[t]);let[we,R]=(0,T.useState)(!1),[te,xe]=(0,T.useState)(null),A=(0,T.useMemo)(()=>{let s=typeof f=="number"?f:parseInt(String(f));return isNaN(s)?1:Math.min(Math.max(s/1600,.7),1)},[f]),Z=p.slides[h],he=(0,T.useMemo)(()=>Z.elements.find(s=>s.id===n)||null,[Z,n]),le=(0,T.useCallback)(s=>{b(c=>[...c.slice(-19),p]),k([]),S(s),d==null||d(s)},[d,p]),Ce=()=>{if(i.length===0)return;let s=i[i.length-1];k(c=>[...c,p]),b(c=>c.slice(0,-1)),S(s)},ye=()=>{if(l.length===0)return;let s=l[l.length-1];b(c=>[...c,p]),k(c=>c.slice(0,-1)),S(s)},J=(0,T.useCallback)(s=>{S(c=>{let m=[...c.slides];m[h]=y(y({},m[h]),s);let P=M(y({},c),{slides:m});return b(D=>[...D.slice(-19),c]),k([]),d==null||d(P),P})},[h,d]),ke=(0,T.useCallback)((s,c)=>{S(m=>{let P=m.slides[h],D=P.elements.map(ce=>ce.id===s?y(y({},ce),c):ce),K=[...m.slides];K[h]=M(y({},P),{elements:D});let me=M(y({},m),{slides:K});return d==null||d(me),me})},[h,d]),Ee=s=>{if(!n)return;if(Z.elements.find(m=>m.id===n)){ke(n,s);let m=p.slides[h],P=m.elements.map(K=>K.id===n?y(y({},K),s):K),D=[...p.slides];D[h]=M(y({},m),{elements:P}),le(M(y({},p),{slides:D}))}},Le=(0,T.useCallback)(()=>{if(!n)return;let c=p.slides[h].elements.filter(m=>m.id!==n);J({elements:c}),v(null)},[n,h,p,J]),Oe=()=>{let s={id:`text-${Date.now()}`,type:"text",content:"New Text",x:100,y:100,width:400,height:100,fontSize:48,fontFamily:"Arial",color:"#000000",zIndex:Z.elements.length};J({elements:[...Z.elements,s]})},Xe=s=>{let c=URL.createObjectURL(s),m=`img-${Date.now()}`,P={id:m,type:"image",src:c,x:100,y:100,width:400,height:250,zIndex:Z.elements.length};J({elements:[...Z.elements,P]}),v(m)},We=s=>{let c={id:`shape-${Date.now()}`,type:"shape",shapeType:s,fill:"#3b82f6",x:200,y:200,width:200,height:200,zIndex:Z.elements.length};J({elements:[...Z.elements,c]})},Ye=()=>{let s={id:`slide-${Date.now()}`,elements:[]};le(M(y({},p),{slides:[...p.slides,s]})),r(p.slides.length)},_e=s=>{if(p.slides.length<=1)return;let c=p.slides.filter((m,P)=>P!==s);le(M(y({},p),{slides:c})),s<=h&&r(Math.max(0,h-1))},Ge=s=>{let c=p.slides[s],m=M(y({},c),{id:`slide-${Date.now()}`,elements:c.elements.map(D=>M(y({},D),{id:`${D.type}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}))}),P=[...p.slides];P.splice(s+1,0,m),le(M(y({},p),{slides:P})),r(s+1)},Ke=(s,c)=>{if(s===c)return;let m=[...p.slides],[P]=m.splice(s,1);m.splice(c,0,P),le(M(y({},p),{slides:m})),h===s?r(c):h>s&&h<=c?r(h-1):h<s&&h>=c&&r(h+1)},qe=s=>{let c=[],m=Date.now();s==="title"?c=[{id:`text-title-${m}`,type:"text",content:"Presentation Title",x:100,y:200,width:1e3,height:150,fontSize:80,fontFamily:"Inter",color:"#000000",textAlign:"center",isBold:!0,zIndex:0},{id:`text-sub-${m}`,type:"text",content:"Subtitle goes here",x:200,y:380,width:800,height:80,fontSize:36,fontFamily:"Inter",color:"#64748b",textAlign:"center",zIndex:1}]:s==="content"?c=[{id:`text-title-${m}`,type:"text",content:"Slide Title",x:60,y:40,width:800,height:80,fontSize:48,fontFamily:"Inter",color:"#000000",isBold:!0,zIndex:0},{id:`text-body-${m}`,type:"text",content:`\u2022 Add your points here
2
+ "use strict";var Mt=Object.create;var Ce=Object.defineProperty,Pt=Object.defineProperties,Ht=Object.getOwnPropertyDescriptor,Tt=Object.getOwnPropertyDescriptors,Bt=Object.getOwnPropertyNames,ot=Object.getOwnPropertySymbols,Rt=Object.getPrototypeOf,nt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable;var it=(h,t,s)=>t in h?Ce(h,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):h[t]=s,C=(h,t)=>{for(var s in t||(t={}))nt.call(t,s)&&it(h,s,t[s]);if(ot)for(var s of ot(t))Dt.call(t,s)&&it(h,s,t[s]);return h},I=(h,t)=>Pt(h,Tt(t));var Vt=(h,t)=>{for(var s in t)Ce(h,s,{get:t[s],enumerable:!0})},st=(h,t,s,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let x of Bt(t))!nt.call(h,x)&&x!==s&&Ce(h,x,{get:()=>t[x],enumerable:!(p=Ht(t,x))||p.enumerable});return h};var Se=(h,t,s)=>(s=h!=null?Mt(Rt(h)):{},st(t||!h||!h.__esModule?Ce(s,"default",{value:h,enumerable:!0}):s,h)),Ft=h=>st(Ce({},"__esModule",{value:!0}),h);var Xt={};Vt(Xt,{PptEditor:()=>Wt,PptxExporter:()=>ze,PptxParser:()=>Ae});module.exports=Ft(Xt);function We(h,{insertAt:t}={}){if(!h||typeof document=="undefined")return;let s=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css",t==="top"&&s.firstChild?s.insertBefore(p,s.firstChild):s.appendChild(p),p.styleSheet?p.styleSheet.cssText=h:p.appendChild(document.createTextNode(h))}We(`@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lato:wght@400;700&family=Open+Sans:wght@400;600;700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400;500;700&family=Roboto+Slab:wght@400;700&family=Playfair+Display:wght@400;700&family=Merriweather:wght@400;700&family=Nunito+Sans:wght@400;600;700&family=Montserrat:wght@400;600;700&family=Oswald:wght@400;500&family=Raleway:wght@400;600;700&family=Ubuntu:wght@400;500;700&family=Lora:wght@400;700&family=PT+Sans:wght@400;700&family=PT+Serif:wght@400;700&family=Play:wght@400;700&family=Arvo:wght@400;700&family=Kanit:wght@400;500;600&display=swap";/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-400: oklch(70.4% .191 22.216);--color-red-500: oklch(63.7% .237 25.331);--color-red-600: oklch(57.7% .245 27.325);--color-orange-50: oklch(98% .016 73.684);--color-amber-500: oklch(76.9% .188 70.08);--color-emerald-50: oklch(97.9% .021 166.113);--color-emerald-100: oklch(95% .052 163.051);--color-emerald-500: oklch(69.6% .17 162.48);--color-emerald-600: oklch(59.6% .145 163.225);--color-emerald-700: oklch(50.8% .118 165.612);--color-blue-50: oklch(97% .014 254.604);--color-blue-100: oklch(93.2% .032 255.585);--color-blue-400: oklch(70.7% .165 254.624);--color-blue-500: oklch(62.3% .214 259.815);--color-blue-600: oklch(54.6% .245 262.881);--color-blue-700: oklch(48.8% .243 264.376);--color-purple-50: oklch(97.7% .014 308.299);--color-purple-500: oklch(62.7% .265 303.9);--color-purple-600: oklch(55.8% .288 302.321);--color-slate-50: oklch(98.4% .003 247.858);--color-slate-100: oklch(96.8% .007 247.896);--color-slate-200: oklch(92.9% .013 255.508);--color-slate-300: oklch(86.9% .022 252.894);--color-slate-400: oklch(70.4% .04 256.788);--color-slate-500: oklch(55.4% .046 257.417);--color-slate-600: oklch(44.6% .043 257.281);--color-slate-700: oklch(37.2% .044 257.287);--color-slate-800: oklch(27.9% .041 260.031);--color-slate-900: oklch(20.8% .042 265.755);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-2xl: 42rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-4xl: 2.25rem;--text-4xl--line-height: calc(2.5 / 2.25);--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-wider: .05em;--tracking-widest: .1em;--leading-tight: 1.25;--leading-relaxed: 1.625;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--ease-out: cubic-bezier(0, 0, .2, 1);--animate-spin: spin 1s linear infinite;--blur-sm: 8px;--blur-md: 12px;--aspect-video: 16 / 9;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-10{top:calc(var(--spacing) * 10)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-8{bottom:calc(var(--spacing) * 8)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-50{z-index:50}.z-\\[100\\]{z-index:100}.z-\\[1000\\]{z-index:1000}.z-\\[2000\\]{z-index:2000}.z-\\[2001\\]{z-index:2001}.z-\\[5000\\]{z-index:5000}.z-\\[9998\\]{z-index:9998}.z-\\[9999\\]{z-index:9999}.z-\\[10000\\]{z-index:10000}.z-\\[10001\\]{z-index:10001}.z-\\[99999\\]{z-index:99999}.container{width:100%;@media(width>=40rem){max-width:40rem}@media(width>=48rem){max-width:48rem}@media(width>=64rem){max-width:64rem}@media(width>=80rem){max-width:80rem}@media(width>=96rem){max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-1\\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-auto{margin-block:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-0\\.5{margin-left:calc(var(--spacing) * .5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:var(--aspect-video)}.h-0{height:calc(var(--spacing) * 0)}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-32{height:calc(var(--spacing) * 32)}.h-\\[1px\\]{height:1px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[60vh\\]{max-height:60vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-\\[400px\\]{max-height:400px}.min-h-\\[56px\\]{min-height:56px}.min-h-\\[300px\\]{min-height:300px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[1px\\]{width:1px}.w-\\[480px\\]{width:480px}.w-\\[500px\\]{width:500px}.w-\\[600px\\]{width:600px}.w-full{width:100%}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[300px\\]{max-width:300px}.max-w-\\[400px\\]{max-width:400px}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\\[64px\\]{min-width:64px}.min-w-\\[68px\\]{min-width:68px}.min-w-fit{min-width:fit-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-center{transform-origin:center}.origin-top-left{transform-origin:0 0}.-translate-x-1{--tw-translate-x: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y: calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.space-y-2{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-4{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-6{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}}.self-start{align-self:flex-start}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[2\\.5rem\\]{border-radius:2.5rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-none{--tw-border-style: none;border-style:none}.border-solid{--tw-border-style: solid;border-style:solid}.border-emerald-100{border-color:var(--color-emerald-100)}.border-emerald-100\\/50{border-color:color-mix(in srgb,oklch(95% .052 163.051) 50%,transparent);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-emerald-100) 50%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/60{border-color:color-mix(in srgb,oklch(92.9% .013 255.508) 60%,transparent);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-slate-200) 60%,transparent)}}.border-transparent{border-color:transparent}.border-white{border-color:var(--color-white)}.border-white\\/10{border-color:color-mix(in srgb,#fff 10%,transparent);@supports (color: color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-\\[\\#0A0A0A\\]{background-color:#0a0a0a}.bg-black{background-color:var(--color-black)}.bg-black\\/40{background-color:color-mix(in srgb,#000 40%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\\/60{background-color:color-mix(in srgb,#000 60%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\\/50{background-color:color-mix(in srgb,oklch(97.9% .021 166.113) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-emerald-50) 50%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/50{background-color:color-mix(in srgb,oklch(98.4% .003 247.858) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-100\\/50{background-color:color-mix(in srgb,oklch(96.8% .007 247.896) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-slate-100) 50%,transparent)}}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-200\\/50{background-color:color-mix(in srgb,oklch(92.9% .013 255.508) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-slate-200) 50%,transparent)}}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\\/40{background-color:color-mix(in srgb,oklch(20.8% .042 265.755) 40%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-slate-900) 40%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/10{background-color:color-mix(in srgb,#fff 10%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\\/50{background-color:color-mix(in srgb,#fff 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-white\\/80{background-color:color-mix(in srgb,#fff 80%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-gradient-to-b{--tw-gradient-position: to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black{--tw-gradient-from: var(--color-black);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\\/60{--tw-gradient-from: color-mix(in srgb, #000 60%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-gradient-from: color-mix(in oklab, var(--color-black) 60%, transparent)}--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-slate-700{fill:var(--color-slate-700)}.p-0{padding:calc(var(--spacing) * 0)}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-11{padding-left:calc(var(--spacing) * 11)}.pl-12{padding-left:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading, var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\\[7px\\]{font-size:7px}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight: var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.2em\\]{--tw-tracking: .2em;letter-spacing:.2em}.tracking-\\[0\\.15em\\]{--tw-tracking: .15em;letter-spacing:.15em}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking: var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking: var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking: var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-600\\/70{color:color-mix(in srgb,oklch(59.6% .145 163.225) 70%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-emerald-600) 70%,transparent)}}.text-emerald-700{color:var(--color-emerald-700)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-400{color:var(--color-red-400)}.text-red-400\\/80{color:color-mix(in srgb,oklch(70.4% .191 22.216) 80%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-red-400) 80%,transparent)}}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-white\\/50{color:color-mix(in srgb,#fff 50%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\\/80{color:color-mix(in srgb,#fff 80%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0%}.opacity-25{opacity:25%}.opacity-40{opacity:40%}.opacity-75{opacity:75%}.opacity-100{opacity:100%}.shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black{--tw-shadow-color: #000;@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, var(--color-black) var(--tw-shadow-alpha), transparent)}}.shadow-black\\/80{--tw-shadow-color: color-mix(in srgb, #000 80%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 80%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-blue-500{--tw-shadow-color: oklch(62.3% .214 259.815);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, var(--color-blue-500) var(--tw-shadow-alpha), transparent)}}.shadow-blue-500\\/20{--tw-shadow-color: color-mix(in srgb, oklch(62.3% .214 259.815) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500{--tw-shadow-color: oklch(69.6% .17 162.48);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, var(--color-emerald-500) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\\/20{--tw-shadow-color: color-mix(in srgb, oklch(69.6% .17 162.48) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-black{--tw-ring-color: var(--color-black)}.ring-black\\/5{--tw-ring-color: color-mix(in srgb, #000 5%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent)}}.ring-white{--tw-ring-color: var(--color-white)}.backdrop-blur-\\[1px\\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur: blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur: blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-150{--tw-duration: .15s;transition-duration:.15s}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.duration-500{--tw-duration: .5s;transition-duration:.5s}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style: none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\\:text-slate-600{&:is(:where(.group):focus-within *){color:var(--color-slate-600)}}.group-hover\\:scale-105{&:is(:where(.group):hover *){@media(hover:hover){--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.group-hover\\:scale-110{&:is(:where(.group):hover *){@media(hover:hover){--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.group-hover\\:bg-blue-50{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-blue-50)}}}.group-hover\\:bg-blue-100{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-blue-100)}}}.group-hover\\:bg-blue-600{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-blue-600)}}}.group-hover\\:bg-emerald-50{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-emerald-50)}}}.group-hover\\:bg-emerald-600{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-emerald-600)}}}.group-hover\\:bg-purple-600{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-purple-600)}}}.group-hover\\:bg-red-500{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-red-500)}}}.group-hover\\:bg-slate-200{&:is(:where(.group):hover *){@media(hover:hover){background-color:var(--color-slate-200)}}}.group-hover\\:fill-slate-900{&:is(:where(.group):hover *){@media(hover:hover){fill:var(--color-slate-900)}}}.group-hover\\:text-blue-600{&:is(:where(.group):hover *){@media(hover:hover){color:var(--color-blue-600)}}}.group-hover\\:text-slate-700{&:is(:where(.group):hover *){@media(hover:hover){color:var(--color-slate-700)}}}.group-hover\\:text-slate-900{&:is(:where(.group):hover *){@media(hover:hover){color:var(--color-slate-900)}}}.group-hover\\:text-white{&:is(:where(.group):hover *){@media(hover:hover){color:var(--color-white)}}}.group-hover\\:opacity-100{&:is(:where(.group):hover *){@media(hover:hover){opacity:100%}}}.group-hover\\:shadow-sm{&:is(:where(.group):hover *){@media(hover:hover){--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.placeholder\\:text-slate-400{&::placeholder{color:var(--color-slate-400)}}.hover\\:border-blue-400{&:hover{@media(hover:hover){border-color:var(--color-blue-400)}}}.hover\\:border-slate-100{&:hover{@media(hover:hover){border-color:var(--color-slate-100)}}}.hover\\:border-slate-200{&:hover{@media(hover:hover){border-color:var(--color-slate-200)}}}.hover\\:border-slate-300{&:hover{@media(hover:hover){border-color:var(--color-slate-300)}}}.hover\\:bg-black{&:hover{@media(hover:hover){background-color:var(--color-black)}}}.hover\\:bg-blue-50{&:hover{@media(hover:hover){background-color:var(--color-blue-50)}}}.hover\\:bg-blue-50\\/50{&:hover{@media(hover:hover){background-color:color-mix(in srgb,oklch(97% .014 254.604) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}}}.hover\\:bg-blue-700{&:hover{@media(hover:hover){background-color:var(--color-blue-700)}}}.hover\\:bg-emerald-700{&:hover{@media(hover:hover){background-color:var(--color-emerald-700)}}}.hover\\:bg-red-50{&:hover{@media(hover:hover){background-color:var(--color-red-50)}}}.hover\\:bg-red-100{&:hover{@media(hover:hover){background-color:var(--color-red-100)}}}.hover\\:bg-slate-50{&:hover{@media(hover:hover){background-color:var(--color-slate-50)}}}.hover\\:bg-slate-100{&:hover{@media(hover:hover){background-color:var(--color-slate-100)}}}.hover\\:bg-white{&:hover{@media(hover:hover){background-color:var(--color-white)}}}.hover\\:bg-white\\/20{&:hover{@media(hover:hover){background-color:color-mix(in srgb,#fff 20%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}}}.hover\\:text-blue-500{&:hover{@media(hover:hover){color:var(--color-blue-500)}}}.hover\\:text-red-500{&:hover{@media(hover:hover){color:var(--color-red-500)}}}.hover\\:text-slate-500{&:hover{@media(hover:hover){color:var(--color-slate-500)}}}.hover\\:text-slate-600{&:hover{@media(hover:hover){color:var(--color-slate-600)}}}.hover\\:text-slate-700{&:hover{@media(hover:hover){color:var(--color-slate-700)}}}.hover\\:text-white{&:hover{@media(hover:hover){color:var(--color-white)}}}.hover\\:opacity-90{&:hover{@media(hover:hover){opacity:90%}}}.hover\\:opacity-100{&:hover{@media(hover:hover){opacity:100%}}}.hover\\:shadow-md{&:hover{@media(hover:hover){--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.focus\\:border-blue-500{&:focus{border-color:var(--color-blue-500)}}.focus\\:border-slate-400{&:focus{border-color:var(--color-slate-400)}}.focus\\:ring-2{&:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-4{&:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-blue-500\\/10{&:focus{--tw-ring-color: color-mix(in srgb, oklch(62.3% .214 259.815) 10%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}}.focus\\:ring-blue-500\\/20{&:focus{--tw-ring-color: color-mix(in srgb, oklch(62.3% .214 259.815) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}}.focus\\:ring-slate-400\\/5{&:focus{--tw-ring-color: color-mix(in srgb, oklch(70.4% .04 256.788) 5%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-slate-400) 5%, transparent)}}}.focus\\:outline-none{&:focus{--tw-outline-style: none;outline-style:none}}.active\\:scale-95{&:active{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.active\\:scale-\\[0\\.98\\]{&:active{scale:.98}}.active\\:cursor-grabbing{&:active{cursor:grabbing}}.disabled\\:bg-slate-100{&:disabled{background-color:var(--color-slate-100)}}.disabled\\:bg-slate-300{&:disabled{background-color:var(--color-slate-300)}}.disabled\\:text-slate-400{&:disabled{color:var(--color-slate-400)}}.disabled\\:opacity-20{&:disabled{opacity:20%}}.disabled\\:opacity-30{&:disabled{opacity:30%}}.disabled\\:opacity-50{&:disabled{opacity:50%}}.disabled\\:active\\:scale-100{&:disabled{&:active{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.md\\:space-y-8{@media(width>=48rem){:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}}}.md\\:p-12{@media(width>=48rem){padding:calc(var(--spacing) * 12)}}}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@keyframes spin{to{transform:rotate(360deg)}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial;--tw-duration: initial;--tw-ease: initial}}}
3
+ `);var A=require("react");var le=Se(require("react")),L=require("lucide-react");var lt=require("clsx"),ct=require("tailwind-merge");function O(...h){return(0,ct.twMerge)((0,lt.clsx)(h))}var e=require("react/jsx-runtime"),jt=["Inter","Lato","Open Sans","Poppins","Roboto","Roboto Slab","Georgia","Playfair Display","Merriweather","Nunito Sans","Montserrat","Oswald","Raleway","Ubuntu","Lora","PT Sans","PT Serif","Play","Arvo","Kanit","Times New Roman","Arial"],Zt=[12,14,16,18,20,24,28,32,36,48,64,72,96],Et=[{name:"Basic Shapes",shapes:["rect","circle","triangle","rightTriangle","rhombus","parallelogram","trapezoid","pentagon","hexagon","heptagon","octagon","heart","smiley","sun","moon"]},{name:"Arrows",shapes:["arrowRight","arrowLeft","arrowUp","arrowDown","arrowLeftRight","arrowUpDown"]},{name:"Stars & Symbols",shapes:["star4","star5","star6","star8","cloud","lightning"]},{name:"Equation Shapes",shapes:["plus","minus","multiply","divide","equal"]}],$t=({type:h,className:t})=>{switch(h){case"rect":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",fill:"currentColor"})});case"circle":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("circle",{cx:"12",cy:"12",r:"9",fill:"currentColor"})});case"triangle":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 4L20 18H4L12 4Z",fill:"currentColor"})});case"rightTriangle":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M4 4V20H20L4 4Z",fill:"currentColor"})});case"rhombus":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 4L20 12L12 20L4 12L12 4Z",fill:"currentColor"})});case"parallelogram":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M7 4H21L17 20H3L7 4Z",fill:"currentColor"})});case"trapezoid":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M6 4H18L21 20H3L6 4Z",fill:"currentColor"})});case"pentagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3L21 9V19H3V9L12 3Z",fill:"currentColor"})});case"hexagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3L20 7.5V16.5L12 21L4 16.5V7.5L12 3Z",fill:"currentColor"})});case"heptagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3L18.5 6L21 13L16 20H8L3 13L5.5 6L12 3Z",fill:"currentColor"})});case"octagon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M8.5 3H15.5L21 8.5V15.5L15.5 21H8.5L3 15.5V8.5L8.5 3Z",fill:"currentColor"})});case"heart":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z",fill:"currentColor"})});case"smiley":return(0,e.jsxs)("svg",{viewBox:"0 0 24 24",className:t,children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"9",fill:"currentColor",fillOpacity:"0.2",stroke:"currentColor",strokeWidth:"2"}),(0,e.jsx)("circle",{cx:"9",cy:"9",r:"1.5",fill:"currentColor"}),(0,e.jsx)("circle",{cx:"15",cy:"9",r:"1.5",fill:"currentColor"}),(0,e.jsx)("path",{d:"M8 15C8 15 9.5 17 12 17C14.5 17 16 15 16 15",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]});case"sun":return(0,e.jsxs)("svg",{viewBox:"0 0 24 24",className:t,children:[(0,e.jsx)("circle",{cx:"12",cy:"12",r:"5",fill:"currentColor"}),(0,e.jsx)("path",{d:"M12 2V4M12 20V22M4 12H2M22 12H20M19.07 4.93L17.66 6.34M6.34 17.66L4.93 19.07M4.93 4.93L6.34 6.34M17.66 17.66L19.07 19.07",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]});case"moon":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9 7 7 0 0 1-9-9",fill:"currentColor"})});case"arrowRight":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M4 11h11.5l-3.5-3.5 1.5-1.5 6 6-6 6-1.5-1.5 3.5-3.5H4z",fill:"currentColor"})});case"arrowLeft":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M20 11H8.5l3.5-3.5L10.5 6l-6 6 6 6 1.5-1.5-3.5-3.5H20z",fill:"currentColor"})});case"arrowUp":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M13 20V8.5l3.5 3.5 1.5-1.5-6-6-6 6 1.5 1.5 3.5-3.5V20z",fill:"currentColor"})});case"arrowDown":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M11 4v11.5l-3.5-3.5-1.5 1.5 6 6 6-6-1.5-1.5-3.5 3.5V4z",fill:"currentColor"})});case"arrowLeftRight":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M4 12l4-4v3h8V8l4 4-4 4v-3H8v3l-4-4z",fill:"currentColor"})});case"arrowUpDown":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 4l-4 4h3v8H8l4 4 4-4h-3V8h3l-4-4z",fill:"currentColor"})});case"star4":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l2 8 8 2-8 2-2 8-2-8-8-2 8-2 2-8z",fill:"currentColor"})});case"star5":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l2.5 7.5H22l-6 4.5 2.5 7.5-6.5-4.5-6.5 4.5 2.5-7.5-6-4.5h7.5L12 2z",fill:"currentColor"})});case"star6":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l3 5 6-1-4 4.5 2 6.5-7-3-7 3 2-6.5-4-4.5 6 1 3-5z",fill:"currentColor"})});case"star8":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M12 2l2 4 4-2-2 4 4 2-4 2 2 4-4-2-2 4-2-4-4 2 2-4-4-2 4-2-2-4 4 2 2-4z",fill:"currentColor"})});case"cloud":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M17.5 19c-3 0-5.5-2.5-5.5-5.5 0-.2 0-.4.1-.6-2-.8-3.6-2.5-4.1-4.7C6.5 7.4 5 6 3 6c-1.7 0-3 1.3-3 3s1.3 3 3 3c.4 0 .8-.1 1.2-.2C4.1 13 5 14.5 6.5 15.5c.3 1.8 1.4 3.4 3 4.3.4.2.8.3 1.2.4 1.2.4 2.5.6 3.8.6 4.4 0 8-3.6 8-8s-3.6-8-8-8c-.4 0-.8 0-1.2.1-1.2.2-2.3.7-3.2 1.5C11 4.2 12.4 3.5 14 3.5c4.1 0 7.5 3.4 7.5 7.5s-1.8 7.5-4 8z",fill:"currentColor",transform:"scale(0.8) translate(3,3)"})});case"lightning":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M13 2L3 14h9v8l10-12h-9l3-8z",fill:"currentColor"})});case"plus":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",fill:"currentColor"})});case"minus":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 13H5v-2h14v2z",fill:"currentColor"})});case"multiply":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z",fill:"currentColor"})});case"divide":return(0,e.jsxs)("svg",{viewBox:"0 0 24 24",className:t,children:[(0,e.jsx)("circle",{cx:"12",cy:"7",r:"2",fill:"currentColor"}),(0,e.jsx)("circle",{cx:"12",cy:"17",r:"2",fill:"currentColor"}),(0,e.jsx)("rect",{x:"5",y:"11",width:"14",height:"2",fill:"currentColor"})]});case"equal":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:t,children:(0,e.jsx)("path",{d:"M19 10H5V8h14v2zm0 6H5v-2h14v2z",fill:"currentColor"})});default:return(0,e.jsx)("div",{className:"w-6 h-6 bg-slate-200 rounded-sm"})}},Ut=({onAddShape:h,uiScale:t})=>{let[s,p]=(0,le.useState)(!1);return le.default.useEffect(()=>(window._toggleShapesMenu=()=>p(!s),()=>{window._toggleShapesMenu=void 0}),[s]),s?(0,e.jsx)("div",{className:"absolute top-full left-0 mt-2 bg-white border border-slate-200 rounded-2xl shadow-2xl p-4 overflow-y-auto z-[100] animate-in fade-in zoom-in-95 duration-200",style:{width:`${320*t}px`,maxHeight:`${480*t}px`},children:(0,e.jsx)("div",{className:"flex flex-col gap-6",children:Et.map(x=>(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 px-1",style:{fontSize:`${10*t}px`},children:x.name}),(0,e.jsx)("div",{className:"grid grid-cols-5 gap-1",children:x.shapes.map(k=>(0,e.jsx)("button",{onClick:()=>{h(k),p(!1)},className:"aspect-square hover:bg-slate-50 rounded-lg flex items-center justify-center border border-transparent hover:border-slate-100 transition-all group p-1",title:k,children:(0,e.jsx)("div",{className:"w-full h-full bg-slate-100 rounded-sm group-hover:bg-blue-100 group-hover:scale-110 transition-all flex items-center justify-center overflow-hidden p-1.5",children:(0,e.jsx)($t,{type:k,className:"w-full h-full text-slate-400 group-hover:text-blue-600 transition-colors"})})},k))})]},x.name))})}):null},dt=({onAddText:h,onAddImage:t,onAddShape:s,onAddSlide:p,onExport:x,onFormatText:k,onDeleteElement:S,onApplyLayout:z,onPlay:H,selectedElement:i,appName:b,onAiAction:n,onAiResponseAction:w,aiResponse:c,isAiLoading:v,onNewPresentation:N,onLoadPresentation:d,appBgColor:B="#B7472A",uiScale:M,source:y,onGenerateImageClick:R,onUploadImageClick:u})=>{let G=le.default.useRef(null),[q,Q]=(0,le.useState)("Home"),[$,r]=(0,le.useState)(!1),[f,m]=(0,le.useState)(!1),[F,j]=(0,le.useState)(!1),[ne,W]=(0,le.useState)(!1),[te,ce]=(0,le.useState)("file"),[ae,se]=(0,le.useState)(""),X=(i==null?void 0:i.type)==="text",ge=(i==null?void 0:i.type)==="shape",fe=(i==null?void 0:i.type)==="image",be="#B7472A";return(0,e.jsxs)("div",{className:"flex flex-col border-b border-slate-200 bg-white z-50 select-none",style:{fontSize:`${12*M}px`},children:[(0,e.jsxs)("div",{className:"bg-white flex items-center justify-stretch border-b border-slate-200/60 transition-all duration-300 relative z-[1000]",style:{height:`${120*M}px`,overflow:"visible"},children:[(0,e.jsxs)("div",{className:O("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",M<.84?"min-w-0":"min-w-fit"),children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto",children:[(0,e.jsxs)("button",{onClick:p,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg group transition-all min-w-[64px]",children:[(0,e.jsx)("div",{className:"bg-orange-50 p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Plus,{size:20,style:{color:B}})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"New Slide"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsxs)("button",{onClick:()=>r(!$),className:O("flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg transition-all min-w-[64px]",$&&"bg-slate-100"),children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg",children:(0,e.jsx)(L.Layout,{size:20,className:"text-slate-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Layout"})]}),$&&(0,e.jsxs)("div",{className:"absolute top-full left-0 mt-2 bg-white border border-slate-200 rounded-2xl shadow-3xl p-2 w-60 flex flex-col gap-1 z-[100] animate-in fade-in zoom-in-95 duration-200 ring-4 ring-black/5",children:[(0,e.jsxs)("button",{onClick:()=>{z("title"),r(!1)},className:"flex items-center gap-3 px-4 py-3 hover:bg-slate-50 rounded-xl text-[13px] font-bold text-slate-700 transition-all border border-transparent hover:border-slate-100 group",children:[(0,e.jsx)("div",{className:"p-2 bg-blue-50 text-blue-600 rounded-lg group-hover:bg-blue-600 group-hover:text-white transition-colors",children:(0,e.jsx)(L.FileText,{size:18})}),"Title Slide"]}),(0,e.jsxs)("button",{onClick:()=>{z("content"),r(!1)},className:"flex items-center gap-3 px-4 py-3 hover:bg-slate-50 rounded-xl text-[13px] font-bold text-slate-700 transition-all border border-transparent hover:border-slate-100 group",children:[(0,e.jsx)("div",{className:"p-2 bg-emerald-50 text-emerald-600 rounded-lg group-hover:bg-emerald-600 group-hover:text-white transition-colors",children:(0,e.jsx)(L.List,{size:18})}),"Title & Content"]}),(0,e.jsxs)("button",{onClick:()=>{z("split"),r(!1)},className:"flex items-center gap-3 px-4 py-3 hover:bg-slate-50 rounded-xl text-[13px] font-bold text-slate-700 transition-all border border-transparent hover:border-slate-100 group",children:[(0,e.jsx)("div",{className:"p-2 bg-purple-50 text-purple-600 rounded-lg group-hover:bg-purple-600 group-hover:text-white transition-colors",children:(0,e.jsx)(L.Columns,{size:18})}),"Two Columns"]})]})]})]}),M>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Slides"})]}),(0,e.jsxs)("div",{className:O("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",M<.85?"px-2":"px-4"),children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1.5 w-full mt-1",children:[(0,e.jsx)("select",{disabled:!X,value:(i==null?void 0:i.fontFamily)||"Arial",onChange:P=>k({fontFamily:P.target.value}),className:O("h-7 px-2 text-[11px] text-slate-900 border border-slate-200 rounded-lg font-semibold bg-white hover:border-slate-300 outline-none disabled:opacity-50 transition-colors appearance-none cursor-pointer",M<.85?"flex-1":"w-44"),children:jt.map(P=>(0,e.jsx)("option",{value:P,children:P},P))}),(0,e.jsx)("select",{disabled:!X,value:(i==null?void 0:i.fontSize)||24,onChange:P=>k({fontSize:parseInt(P.target.value)}),className:"h-7 px-1.5 text-[11px] text-slate-900 border border-slate-200 rounded-lg font-semibold bg-white hover:border-slate-300 outline-none w-14 disabled:opacity-50 transition-colors appearance-none cursor-pointer text-center",children:Zt.map(P=>(0,e.jsx)("option",{value:P,children:P},P))})]}),(0,e.jsxs)("div",{className:"flex items-center justify-between w-full mt-auto mb-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,e.jsx)("button",{disabled:!X,onClick:()=>k({isBold:!i.isBold}),className:O("p-1.5 rounded-lg transition-all disabled:opacity-30",i!=null&&i.isBold?"bg-slate-100 text-slate-900":"text-slate-500 hover:bg-slate-50"),children:(0,e.jsx)(L.Bold,{size:14,strokeWidth:3})}),(0,e.jsx)("button",{disabled:!X,onClick:()=>k({isItalic:!i.isItalic}),className:O("p-1.5 rounded-lg transition-all disabled:opacity-30",i!=null&&i.isItalic?"bg-slate-100 text-slate-900":"text-slate-500 hover:bg-slate-50"),children:(0,e.jsx)(L.Italic,{size:14})}),(0,e.jsx)("button",{disabled:!X,onClick:()=>k({isBulleted:!i.isBulleted}),className:O("p-1.5 rounded-lg transition-all disabled:opacity-30",i!=null&&i.isBulleted?"bg-slate-100 text-slate-900":"text-slate-500 hover:bg-slate-50"),children:(0,e.jsx)(L.List,{size:14})}),(0,e.jsxs)("div",{className:"relative group p-1 hover:bg-slate-50 rounded-lg transition-colors cursor-pointer ml-0.5",children:[(0,e.jsx)("input",{type:"color",disabled:!i,value:X?i.color||"#000000":(i==null?void 0:i.fill)||"#3b82f6",onChange:P=>k(X?{color:P.target.value}:{fill:P.target.value}),className:"w-6 h-4 p-0 border-0 bg-transparent cursor-pointer disabled:opacity-50",title:"Font/Fill Color"}),(0,e.jsx)("div",{className:"absolute bottom-1 left-1 right-1 h-0.5 rounded-full",style:{backgroundColor:X?i.color||"#000000":(i==null?void 0:i.fill)||"#3b82f6"}})]})]}),(0,e.jsx)("div",{className:"h-4 w-[1px] bg-slate-200 mx-1.5"}),(0,e.jsxs)("div",{className:"flex items-center gap-0.5 bg-slate-50/50 p-0.5 rounded-lg",children:[(0,e.jsx)("button",{disabled:!X,onClick:()=>k({textAlign:"left"}),className:O("p-1 rounded-md transition-all disabled:opacity-30",(i==null?void 0:i.textAlign)==="left"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(i==null?void 0:i.textAlign)==="left"?B:void 0},children:(0,e.jsx)(L.AlignLeft,{size:13})}),(0,e.jsx)("button",{disabled:!X,onClick:()=>k({textAlign:"center"}),className:O("p-1 rounded-md transition-all disabled:opacity-30",(i==null?void 0:i.textAlign)==="center"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(i==null?void 0:i.textAlign)==="center"?B:void 0},children:(0,e.jsx)(L.AlignCenter,{size:13})}),(0,e.jsx)("button",{disabled:!X,onClick:()=>k({textAlign:"right"}),className:O("p-1 rounded-md transition-all disabled:opacity-30",(i==null?void 0:i.textAlign)==="right"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(i==null?void 0:i.textAlign)==="right"?B:void 0},children:(0,e.jsx)(L.AlignRight,{size:13})})]})]}),M>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Font"})]}),(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2 shrink-0",children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-2 my-auto",children:[(0,e.jsxs)("div",{className:"relative group/shapes flex justify-center",children:[(0,e.jsxs)("button",{className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg group transition-all min-w-[64px]",onClick:()=>{var P;return(P=window._toggleShapesMenu)==null?void 0:P.call(window)},children:[(0,e.jsx)("div",{className:"bg-blue-50 p-1.5 rounded-lg group-hover:scale-105 transition-transform",children:(0,e.jsx)(L.Square,{size:20,className:"text-blue-600"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"Shapes"})]}),(0,e.jsx)(Ut,{onAddShape:P=>{s(P)},uiScale:M})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:h,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 transition-colors min-w-[64px]",title:"Text Box",children:[(0,e.jsx)("div",{className:"p-1.5",children:(0,e.jsx)(L.Type,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Text Box"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:()=>{var P;return(P=G.current)==null?void 0:P.click()},className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 transition-colors min-w-[64px]",title:"Image",children:[(0,e.jsx)("div",{className:"p-1.5",children:(0,e.jsx)(L.Image,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Image"}),(0,e.jsx)("input",{type:"file",ref:G,className:"hidden",accept:"image/*",onChange:P=>{var me;return((me=P.target.files)==null?void 0:me[0])&&t(P.target.files[0])}})]})]}),M>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Drawing"})]}),(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2 relative",children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto h-full",children:[(0,e.jsxs)("button",{disabled:!X||v,onClick:()=>n(i.id,"shorten"),className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 disabled:opacity-20 transition-all min-w-[64px]",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Sparkles,{size:20,className:"text-purple-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Shorten"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{disabled:!X||v,onClick:()=>n(i.id,"reframe"),className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 disabled:opacity-20 transition-all min-w-[64px]",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Sparkles,{size:20,className:"text-blue-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Reframe"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{disabled:!X||v,onClick:()=>n(i.id,"lengthen"),className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 disabled:opacity-20 transition-all min-w-[68px]",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Sparkles,{size:20,className:"text-emerald-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-center leading-tight",children:"Lengthen"})]})]}),v&&(0,e.jsx)("div",{className:"absolute inset-x-0 top-2 bottom-8 bg-white/80 flex items-center justify-center rounded-lg z-10 backdrop-blur-[1px]",children:(0,e.jsx)(L.RefreshCw,{size:16,className:"text-blue-600 animate-spin"})}),M>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"AI Text"})]}),(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center pl-4 pr-3 gap-1 h-full py-2 relative",children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto h-full",children:[(0,e.jsxs)("button",{onClick:H,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-700 transition-all min-w-[64px] group",title:"Present",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Play,{size:20,className:"fill-slate-700 group-hover:fill-slate-900"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Present"})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:x,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-700 transition-all min-w-[64px] group",title:"Export",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Download,{size:20,className:"text-emerald-600"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Export"})]}),i&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:S,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-red-50 rounded-lg text-red-600 transition-all min-w-[64px] group",title:"Delete",children:[(0,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Trash2,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"Delete"})]})]})]}),(0,e.jsxs)("div",{className:"absolute bottom-2 right-3 flex items-center gap-1 px-1.5 py-0.5 bg-emerald-50/50 rounded-md border border-emerald-100/50",children:[(0,e.jsx)(L.Check,{size:9,className:"text-emerald-500"}),(0,e.jsx)("span",{className:"text-[7px] font-black text-emerald-600/70 tracking-tighter uppercase",children:"Saved"})]}),M>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Actions"})]})]}),ne&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-[2000]",onClick:()=>W(!1)}),(0,e.jsxs)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[480px] bg-white rounded-3xl shadow-2xl z-[2001] border border-slate-200 p-8 animate-in fade-in zoom-in-95 duration-200",children:[(0,e.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,e.jsxs)("h3",{className:"text-lg font-black text-slate-800 tracking-tight flex items-center gap-3",children:[(0,e.jsx)("div",{className:"p-2 bg-blue-50 text-blue-600 rounded-xl",children:(0,e.jsx)(L.Download,{size:20})}),"Upload Presentation"]}),(0,e.jsx)("button",{onClick:()=>W(!1),className:"text-slate-400 hover:text-slate-600 transition-colors",children:(0,e.jsx)(L.RefreshCw,{size:20,className:"rotate-45"})})]}),(0,e.jsxs)("div",{className:"flex gap-2 p-1 bg-slate-50 rounded-2xl mb-8",children:[(0,e.jsx)("button",{onClick:()=>ce("file"),className:O("flex-1 py-3 text-xs font-black rounded-xl transition-all",te==="file"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"FILE UPLOAD"}),(0,e.jsx)("button",{onClick:()=>ce("link"),className:O("flex-1 py-3 text-xs font-black rounded-xl transition-all",te==="link"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"LINK UPLOAD"})]}),te==="file"?(0,e.jsxs)("label",{className:"flex flex-col items-center justify-center gap-4 py-12 border-2 border-dashed border-slate-200 rounded-3xl hover:border-blue-400 hover:bg-blue-50/50 transition-all cursor-pointer group",children:[(0,e.jsx)("div",{className:"p-4 bg-white rounded-2xl shadow-sm border border-slate-100 group-hover:scale-110 transition-transform",children:(0,e.jsx)(L.Plus,{size:24,className:"text-blue-500"})}),(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("p",{className:"text-sm font-bold text-slate-700",children:"Choose a PPTX file"}),(0,e.jsx)("p",{className:"text-xs text-slate-400 mt-1",children:"Maximum file size: 50MB"})]}),(0,e.jsx)("input",{type:"file",accept:".pptx",className:"hidden",onChange:P=>{var re;let me=(re=P.target.files)==null?void 0:re[0];me&&(d(me),W(!1))}})]}):(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsx)("div",{className:"relative",children:(0,e.jsx)("input",{type:"text",placeholder:"Paste S3 or public URL",value:ae,onChange:P=>se(P.target.value),className:"w-full bg-slate-50 border border-slate-200 rounded-2xl px-5 py-4 focus:outline-none focus:ring-4 focus:ring-blue-500/10 focus:border-blue-500 text-sm placeholder:text-slate-400 text-black"})}),(0,e.jsx)("button",{onClick:()=>{ae.trim()&&(d(ae.trim()),W(!1))},disabled:!ae.trim(),className:"w-full bg-blue-600 hover:bg-blue-700 disabled:bg-slate-300 text-white font-black py-4 rounded-2xl transition-all shadow-lg shadow-blue-500/20",children:"LOAD PRESENTATION"}),(0,e.jsx)("p",{className:"text-[10px] text-slate-400 text-center uppercase tracking-widest font-black",children:"Supports S3, Dropbox, and public URLS"})]})]})]})]})};var we=require("lucide-react"),ie=require("@dnd-kit/core"),ve=require("@dnd-kit/sortable"),gt=require("@dnd-kit/utilities");var Z=require("react/jsx-runtime"),pt={triangle:"M 12,4 L 20,18 H 4 L 12,4 Z",rightTriangle:"M 4,4 V 20 H 20 L 4,4 Z",rhombus:"M 12,4 L 20,12 L 12,20 L 4,12 L 12,4 Z",parallelogram:"M 7,4 H 21 L 17,20 H 3 L 7,4 Z",trapezoid:"M 6,4 H 18 L 21,20 H 3 L 6,4 Z",pentagon:"M 12,3 L 21,9 V 19 H 3 V 9 L 12,3 Z",hexagon:"M 12,3 L 20,7.5 V 16.5 L 12,21 L 4,16.5 V 7.5 L 12,3 Z",heptagon:"M 12,3 L 18.5,6 L 21,13 L 16,20 H 8 L 3,13 L 5.5,6 L 12,3 Z",octagon:"M 8.5,3 H 15.5 L 21,8.5 V 15.5 L 15.5,21 H 8.5 L 3,15.5 V 8.5 L 8.5,3 Z",heart:"M 12,21.35 L 10.55,20.03 C 5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3 C 9.24,3 10.91,3.81 12,5.09 C 13.09,3.81 14.76,3 16.5,3 C 19.58,3 22,5.42 22,8.5 C 22,12.28 18.6,15.36 13.45,20.04 L 12,21.35 Z",smiley:"M 12,3 A 9,9 0 1,0 12,21 A 9,9 0 1,0 12,3 M 9,9 A 1.5,1.5 0 1,1 9,10.5 A 1.5,1.5 0 1,1 9,9 M 15,9 A 1.5,1.5 0 1,1 15,10.5 A 1.5,1.5 0 1,1 15,9 M 8,15 C 8,15 9.5,17 12,17 C 14.5,17 16,15 16,15",sun:"M 12,7 A 5,5 0 1,1 12,17 A 5,5 0 1,1 12,7 M 12,2 V 4 M 12,20 V 22 M 4,12 H 2 M 22,12 H 20 M 19.07,4.93 L 17.66,6.34 M 6.34,17.66 L 4.93,19.07 M 4.93,4.93 L 6.34,6.34 M 17.66,17.66 L 19.07,19.07",moon:"M 12,3 A 9,9 0 1,0 12,21 A 7,7 0 0,1 12,3 Z",circle:"M 12,3 A 9,9 0 1,1 12,21 A 9,9 0 1,1 12,3 Z",arrowRight:"M 4,11 H 15.5 L 12,7.5 L 13.5,6 L 19.5,12 L 13.5,18 L 12,16.5 L 15.5,13 H 4 Z",arrowLeft:"M 20,11 H 8.5 L 12,7.5 L 10.5,6 L 4.5,12 L 10.5,18 L 12,16.5 L 8.5,13 H 20 Z",arrowUp:"M 13,20 V 8.5 L 16.5,12 L 18,10.5 L 12,4.5 L 6,10.5 L 7.5,12 L 11,8.5 V 20 Z",arrowDown:"M 11,4 V 15.5 L 7.5,12 L 6,13.5 L 12,19.5 L 18,13.5 L 16.5,12 L 13,15.5 V 4 Z",arrowLeftRight:"M 4,12 L 8,8 V 11 H 16 V 8 L 20,12 L 16,16 V 13 H 8 V 16 L 4,12 Z",arrowUpDown:"M 12,4 L 8,8 H 11 V 16 H 8 L 12,20 L 16,16 H 13 V 8 H 16 L 12,4 Z",star4:"M 12,2 L 14,10 L 22,12 L 14,14 L 12,22 L 10,14 L 2,12 L 10,10 L 12,2 Z",star5:"M 12,2 L 14.5,9.5 H 22 L 16,14 L 18.5,21.5 L 12,17 L 5.5,21.5 L 8,14 L 2,9.5 H 9.5 L 12,2 Z",star6:"M 12,2 L 15,7 L 21,6 L 17,10.5 L 19,17 L 12,14 L 5,17 L 7,10.5 L 3,6 L 9,7 L 12,2 Z",star8:"M 12,2 L 14,6 L 18,4 L 16,8 L 20,10 L 16,12 L 18,16 L 14,14 L 12,18 L 10,14 L 6,16 L 8,12 L 4,10 L 8,8 L 6,4 L 10,6 L 12,2 Z",cloud:"M 17,19 C 14.8,19 13.1,17.7 12.3,15.8 C 11.4,16 10.5,16.2 9.6,16.2 C 7,16.2 4.7,14.6 3.7,12.3 C 1.5,11.8 0,9.9 0,7.6 C 0,5 2.1,2.9 4.7,2.9 C 5.3,2.9 5.8,3 6.3,3.1 C 7.6,1.4 9.6,0.3 11.9,0.3 C 12.5,0.3 13.1,0.4 13.7,0.5 C 15,1.9 15.9,3.7 16,5.7 C 18.2,6.1 20,8.1 20,10.5 C 20,13.2 17.8,15.4 15.1,15.4 C 14.8,15.4 14.5,15.4 14.2,15.3 C 14.2,15.4 14.2,15.4 14.2,15.5 C 14.2,17.4 15.5,19 17,19 Z",lightning:"M 13,2 L 3,14 H 12 V 22 L 22,10 H 13 L 16,2 Z",plus:"M 19,13 H 13 V 19 H 11 V 13 H 5 V 11 H 11 V 5 H 13 V 11 H 19 V 13 Z",minus:"M 19,13 H 5 V 11 H 19 V 13 Z",multiply:"M 19,6.41 L 17.59,5 L 12,10.59 L 6.41,5 L 5,6.41 L 10.59,12 L 5,17.59 L 6.41,19 L 12,13.41 L 17.59,19 L 19,17.59 L 13.41,12 L 19,6.41 Z",divide:"M 12,7 A 2,2 0 1,1 12,11 A 2,2 0 1,1 12,7 M 12,17 A 2,2 0 1,1 12,21 A 2,2 0 1,1 12,17 M 5,11 H 19 V 13 H 5 V 11 Z",equal:"M 19,10 H 5 V 8 H 19 V 10 M 19,16 H 5 V 14 H 19 V 16 Z"},Ot=({slide:h,index:t,isActive:s,onSelect:p,onDelete:x,onDuplicate:k,showDelete:S,uiScale:z,appBgColor:H})=>{let{attributes:i,listeners:b,setNodeRef:n,transform:w,transition:c,isDragging:v}=(0,ve.useSortable)({id:h.id}),N={transform:gt.CSS.Transform.toString(w),transition:c,zIndex:v?2:1,opacity:v?.5:1};return(0,Z.jsxs)("div",{ref:n,onClick:p,className:O("cursor-pointer border-[1.5px] border-solid p-2 transition-all duration-300 group relative select-none",s?"bg-white":"border-transparent hover:border-slate-200 bg-white/50 hover:bg-white"),style:I(C({},N),{borderColor:s?H:void 0}),children:[(0,Z.jsxs)("div",{className:O("text-[10px] font-bold mb-1 flex items-center justify-between transition-colors",!s&&"text-slate-400"),style:{color:s?H:void 0},children:[(0,Z.jsxs)("div",{className:"flex items-center gap-1",children:[(0,Z.jsx)("div",I(C(C({},i),b),{className:"cursor-grab active:cursor-grabbing p-0.5 hover:bg-slate-100 text-slate-300 hover:text-slate-500",children:(0,Z.jsx)(we.GripVertical,{size:10})})),(0,Z.jsxs)("span",{children:["SLIDE ",t+1]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1",children:[s&&(0,Z.jsx)("span",{className:"h-1.5 w-1.5",style:{backgroundColor:H}}),(0,Z.jsxs)("div",{className:"flex items-center opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,Z.jsx)("button",{onClick:d=>{d.stopPropagation(),k()},className:"p-1 hover:bg-blue-50 text-slate-400 hover:text-blue-500 transition-all",title:"Duplicate Slide",children:(0,Z.jsx)(we.Copy,{size:12})}),S&&(0,Z.jsx)("button",{onClick:d=>{d.stopPropagation(),x()},className:"p-1 hover:bg-red-50 text-red-400 hover:text-red-500 transition-all",title:"Delete Slide",children:(0,Z.jsx)(we.Trash2,{size:12})})]})]})]}),(0,Z.jsx)("div",{className:"aspect-video bg-white flex items-center justify-center border border-slate-200 overflow-hidden relative group-hover:shadow-sm transition-shadow",children:(0,Z.jsx)("div",{className:"origin-center pointer-events-none select-none shrink-0",style:{width:"1200px",height:"675px",transform:`scale(${180*z/1200})`,backgroundColor:"#ffffff"},children:h.elements.sort((d,B)=>(d.zIndex||0)-(B.zIndex||0)).map(d=>{var M;let B={position:"absolute",left:d.x,top:d.y,width:d.width,height:d.height,opacity:(M=d.opacity)!=null?M:1};if(d.type==="text")return(0,Z.jsx)("div",{style:I(C({},B),{fontSize:d.fontSize,fontFamily:d.fontFamily,color:d.color,textAlign:d.textAlign||"left",fontWeight:d.isBold?"bold":"normal",fontStyle:d.isItalic?"italic":"normal",lineHeight:1.2,overflow:"hidden",wordBreak:"break-word",whiteSpace:"pre-wrap"}),children:d.content},d.id);if(d.type==="shape"){let y=pt[d.shapeType]||(d.shapeType==="ellipse"?pt.circle:null);return y?(0,Z.jsx)("svg",{viewBox:"0 0 24 24",style:I(C({},B),{fill:d.fill}),preserveAspectRatio:"none",children:(0,Z.jsx)("path",{d:y})},d.id):(0,Z.jsx)("div",{style:I(C({},B),{backgroundColor:d.fill,borderRadius:d.shapeType==="ellipse"?"50%":"0"})},d.id)}else if(d.type==="image")return(0,Z.jsx)("img",{src:d.src,alt:"",style:I(C({},B),{objectFit:"contain"})},d.id);return null})})})]})},ht=({slides:h,currentSlideIndex:t,onSelectSlide:s,onDeleteSlide:p,onDuplicateSlide:x,onReorderSlides:k,uiScale:S,appBgColor:z="#B7472A"})=>{let H=(0,ie.useSensors)((0,ie.useSensor)(ie.PointerSensor,{activationConstraint:{distance:5}}),(0,ie.useSensor)(ie.KeyboardSensor,{coordinateGetter:ve.sortableKeyboardCoordinates})),i=b=>{let{active:n,over:w}=b;if(n.id!==(w==null?void 0:w.id)){let c=h.findIndex(N=>N.id===n.id),v=h.findIndex(N=>N.id===(w==null?void 0:w.id));k(c,v)}};return(0,Z.jsx)("div",{className:"bg-white border-r border-slate-100 overflow-y-auto p-4 flex flex-col gap-4",style:{width:`${256*S}px`},children:(0,Z.jsx)(ie.DndContext,{sensors:H,collisionDetection:ie.closestCenter,onDragEnd:i,children:(0,Z.jsx)(ve.SortableContext,{items:h.map(b=>b.id),strategy:ve.verticalListSortingStrategy,children:h.map((b,n)=>(0,Z.jsx)(Ot,{slide:b,index:n,isActive:n===t,onSelect:()=>s(n),onDelete:()=>p(n),onDuplicate:()=>x(n),showDelete:h.length>1,uiScale:S,appBgColor:z},b.id))})})})};var K=require("react"),Y=Se(require("fabric")),xe=require("lucide-react");var V=require("react/jsx-runtime"),Gt={triangle:"M 12,4 L 20,18 H 4 L 12,4 Z",rightTriangle:"M 4,4 V 20 H 20 L 4,4 Z",rhombus:"M 12,4 L 20,12 L 12,20 L 4,12 L 12,4 Z",parallelogram:"M 7,4 H 21 L 17,20 H 3 L 7,4 Z",trapezoid:"M 6,4 H 18 L 21,20 H 3 L 6,4 Z",pentagon:"M 12,3 L 21,9 V 19 H 3 V 9 L 12,3 Z",hexagon:"M 12,3 L 20,7.5 V 16.5 L 12,21 L 4,16.5 V 7.5 L 12,3 Z",heptagon:"M 12,3 L 18.5,6 L 21,13 L 16,20 H 8 L 3,13 L 5.5,6 L 12,3 Z",octagon:"M 8.5,3 H 15.5 L 21,8.5 V 15.5 L 15.5,21 H 8.5 L 3,15.5 V 8.5 L 8.5,3 Z",heart:"M 12,21.35 L 10.55,20.03 C 5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3 C 9.24,3 10.91,3.81 12,5.09 C 13.09,3.81 14.76,3 16.5,3 C 19.58,3 22,5.42 22,8.5 C 22,12.28 18.6,15.36 13.45,20.04 L 12,21.35 Z",smiley:"M 12,3 A 9,9 0 1,0 12,21 A 9,9 0 1,0 12,3 M 9,9 A 1.5,1.5 0 1,1 9,10.5 A 1.5,1.5 0 1,1 9,9 M 15,9 A 1.5,1.5 0 1,1 15,10.5 A 1.5,1.5 0 1,1 15,9 M 8,15 C 8,15 9.5,17 12,17 C 14.5,17 16,15 16,15",sun:"M 12,7 A 5,5 0 1,1 12,17 A 5,5 0 1,1 12,7 M 12,2 V 4 M 12,20 V 22 M 4,12 H 2 M 22,12 H 20 M 19.07,4.93 L 17.66,6.34 M 6.34,17.66 L 4.93,19.07 M 4.93,4.93 L 6.34,6.34 M 17.66,17.66 L 19.07,19.07",moon:"M 12,3 A 9,9 0 1,0 12,21 A 7,7 0 0,1 12,3 Z",circle:"M 12,3 A 9,9 0 1,1 12,21 A 9,9 0 1,1 12,3 Z",arrowRight:"M 4,11 H 15.5 L 12,7.5 L 13.5,6 L 19.5,12 L 13.5,18 L 12,16.5 L 15.5,13 H 4 Z",arrowLeft:"M 20,11 H 8.5 L 12,7.5 L 10.5,6 L 4.5,12 L 10.5,18 L 12,16.5 L 8.5,13 H 20 Z",arrowUp:"M 13,20 V 8.5 L 16.5,12 L 18,10.5 L 12,4.5 L 6,10.5 L 7.5,12 L 11,8.5 V 20 Z",arrowDown:"M 11,4 V 15.5 L 7.5,12 L 6,13.5 L 12,19.5 L 18,13.5 L 16.5,12 L 13,15.5 V 4 Z",arrowLeftRight:"M 4,12 L 8,8 V 11 H 16 V 8 L 20,12 L 16,16 V 13 H 8 V 16 L 4,12 Z",arrowUpDown:"M 12,4 L 8,8 H 11 V 16 H 8 L 12,20 L 16,16 H 13 V 8 H 16 L 12,4 Z",star4:"M 12,2 L 14,10 L 22,12 L 14,14 L 12,22 L 10,14 L 2,12 L 10,10 L 12,2 Z",star5:"M 12,2 L 14.5,9.5 H 22 L 16,14 L 18.5,21.5 L 12,17 L 5.5,21.5 L 8,14 L 2,9.5 H 9.5 L 12,2 Z",star6:"M 12,2 L 15,7 L 21,6 L 17,10.5 L 19,17 L 12,14 L 5,17 L 7,10.5 L 3,6 L 9,7 L 12,2 Z",star8:"M 12,2 L 14,6 L 18,4 L 16,8 L 20,10 L 16,12 L 18,16 L 14,14 L 12,18 L 10,14 L 6,16 L 8,12 L 4,10 L 8,8 L 6,4 L 10,6 L 12,2 Z",cloud:"M 17,19 C 14.8,19 13.1,17.7 12.3,15.8 C 11.4,16 10.5,16.2 9.6,16.2 C 7,16.2 4.7,14.6 3.7,12.3 C 1.5,11.8 0,9.9 0,7.6 C 0,5 2.1,2.9 4.7,2.9 C 5.3,2.9 5.8,3 6.3,3.1 C 7.6,1.4 9.6,0.3 11.9,0.3 C 12.5,0.3 13.1,0.4 13.7,0.5 C 15,1.9 15.9,3.7 16,5.7 C 18.2,6.1 20,8.1 20,10.5 C 20,13.2 17.8,15.4 15.1,15.4 C 14.8,15.4 14.5,15.4 14.2,15.3 C 14.2,15.4 14.2,15.4 14.2,15.5 C 14.2,17.4 15.5,19 17,19 Z",lightning:"M 13,2 L 3,14 H 12 V 22 L 22,10 H 13 L 16,2 Z",plus:"M 19,13 H 13 V 19 H 11 V 13 H 5 V 11 H 11 V 5 H 13 V 11 H 19 V 13 Z",minus:"M 19,13 H 5 V 11 H 19 V 13 Z",multiply:"M 19,6.41 L 17.59,5 L 12,10.59 L 6.41,5 L 5,6.41 L 10.59,12 L 5,17.59 L 6.41,19 L 12,13.41 L 17.59,19 L 19,17.59 L 13.41,12 L 19,6.41 Z",divide:"M 12,7 A 2,2 0 1,1 12,11 A 2,2 0 1,1 12,7 M 12,17 A 2,2 0 1,1 12,21 A 2,2 0 1,1 12,17 M 5,11 H 19 V 13 H 5 V 11 Z",equal:"M 19,10 H 5 V 8 H 19 V 10 M 19,16 H 5 V 14 H 19 V 16 Z"},Re=({slide:h,onElementUpdate:t,onSelect:s,uiScale:p,onSlashCommand:x,selectedElementId:k,onAiGenerateClick:S,onUploadImageClick:z,onDeleteElement:H})=>{let i=(0,K.useRef)(null),b=(0,K.useRef)(null),n=(0,K.useRef)(!1),w=(0,K.useRef)(t),c=(0,K.useRef)(s),v=(0,K.useRef)(null),[N,d]=(0,K.useState)(1),[B,M]=(0,K.useState)(!1),y=(0,K.useRef)({x:0,y:0});(0,K.useEffect)(()=>{if(!v.current)return;let u=new ResizeObserver(G=>{let q=G[0];if(q){let{width:Q,height:$}=q.contentRect,r=Q/1200,f=$/675,m=Math.min(r,f)*.95;d(m)}});return u.observe(v.current),()=>u.disconnect()},[]),(0,K.useEffect)(()=>{w.current=t,c.current=s},[t,s]),(0,K.useEffect)(()=>{if(i.current&&!b.current){let u=new Y.Canvas(i.current,{width:1200,height:675,backgroundColor:"white",selection:!0,preserveObjectStacking:!0});b.current=u,M(!0);let G=r=>{r.left<0&&r.set("left",0),r.top<0&&r.set("top",0);let f=r.getBoundingRect();f.left+f.width>(u.width||1200)&&r.set("left",(u.width||1200)-f.width),f.top+f.height>(u.height||675)&&r.set("top",(u.height||675)-f.height)};u.on("object:moving",r=>G(r.target)),u.on("object:scaling",r=>G(r.target));let q=r=>{var F;if(n.current)return;let f=r.target,m=(F=f.get("data"))==null?void 0:F.id;f&&m&&w.current(m,C({x:f.left,y:f.top,width:f.getScaledWidth(),height:f.getScaledHeight()},f.isType("textbox")?{content:f.text,textAlign:f.textAlign,fontSize:f.fontSize,fontFamily:f.fontFamily,color:f.fill}:{fill:f.fill}))};u.on("object:modified",q),u.on("text:changed",q);let Q=r=>{var m,F;let f=((m=r.selected)==null?void 0:m[0])||r.target;if(f){let j=(F=f.get("data"))==null?void 0:F.id;c.current(j)}};u.on("selection:created",Q),u.on("selection:updated",Q),u.on("selection:cleared",()=>c.current(null)),u.on("mouse:move",r=>{r.pointer&&(y.current={x:r.pointer.x,y:r.pointer.y})});let $=r=>{var ne;let f=b.current;if(!f)return;let m=f.getActiveObject();if(r.key==="/"){r.preventDefault();let W=0,te=0,ce=(ne=i.current)==null?void 0:ne.getBoundingClientRect();if(m&&m.isType("textbox")&&m.isEditing&&ce){let ae=m,se=ae.get2DCursorLocation(),X=ae.getCursorCoords(se);if(X){let ge=Y.util.transformPoint(new Y.Point(X.left,X.top),ae.calcTransformMatrix()),fe=f.viewportTransform||[1,0,0,1,0,0],be=Y.util.transformPoint(ge,fe);W=ce.left+be.x*N,te=ce.top+be.y*N}}else if(ce){let ae=f.viewportTransform||[1,0,0,1,0,0],se=Y.util.transformPoint(new Y.Point(y.current.x,y.current.y),ae);W=ce.left+se.x*N,te=ce.top+se.y*N}W&&te&&x({x:W,y:te+20});return}if(m&&m.isType("textbox")&&m.isEditing||!m)return;let F=r.shiftKey?10:1,j=!1;switch(r.key){case"ArrowLeft":m.set("left",m.left-F),j=!0;break;case"ArrowRight":m.set("left",m.left+F),j=!0;break;case"ArrowUp":m.set("top",m.top-F),j=!0;break;case"ArrowDown":m.set("top",m.top+F),j=!0;break}j&&(G(m),f.requestRenderAll(),q({target:m}))};window.addEventListener("keydown",$),u._keyboardListener=$}return()=>{if(b.current){let u=b.current._keyboardListener;u&&window.removeEventListener("keydown",u),b.current.dispose(),b.current=null}}},[]),(0,K.useEffect)(()=>{if(!b.current)return;let u=b.current;(async()=>{n.current=!0;let q=u.getObjects(),Q=new Set(h.elements.map(r=>r.id));q.forEach(r=>{var m;let f=(m=r.get("data"))==null?void 0:m.id;f&&!Q.has(f)&&u.remove(r)});let $=[...h.elements].sort((r,f)=>(r.zIndex||0)-(f.zIndex||0));for(let r of $){let f=q.find(m=>{var F;return((F=m.get("data"))==null?void 0:F.id)===r.id});if(f){if(f===u.getActiveObject()&&f.isType("textbox")&&f.isEditing)continue;let m={left:r.x,top:r.y,opacity:r.opacity!==void 0?r.opacity:1,zIndex:r.zIndex};r.type==="text"&&f.isType("textbox")?(m.text=r.content||" ",m.fontSize=r.fontSize||22,m.fill=r.color||"#000000",m.textAlign=r.textAlign||"left",m.fontWeight=r.isBold?"bold":"normal",m.fontStyle=r.isItalic?"italic":"normal",m.fontFamily=r.fontFamily||"Arial",m.width=Math.max(r.width||50,10)):r.type==="shape"?(m.fill=r.fill||"#cccccc",m.scaleX=(r.width||50)/(f.width||1),m.scaleY=(r.height||50)/(f.height||1)):r.type==="image"&&(m.scaleX=(r.width||100)/(f.width||1),m.scaleY=(r.height||100)/(f.height||1)),f.set(m)}else{let m=null,F={left:r.x,top:r.y,data:{id:r.id},originX:"left",originY:"top",opacity:r.opacity!==void 0?r.opacity:1};if(r.type==="text")m=new Y.Textbox(r.content||" ",I(C({},F),{width:Math.max(r.width||200,10),fontSize:r.fontSize||22,fill:r.color||"#000000",fontFamily:r.fontFamily||"Inter, Arial, sans-serif",textAlign:r.textAlign||"left",fontWeight:r.isBold?"bold":"normal",fontStyle:r.isItalic?"italic":"normal",splitByGrapheme:!1}));else if(r.type==="shape"){let j=r.fill||"#3b82f6";if(r.shapeType==="ellipse")m=new Y.Circle(I(C({},F),{radius:(r.width||100)/2,scaleY:(r.height||100)/(r.width||100),fill:j}));else if(r.shapeType==="rect")m=new Y.Rect(I(C({},F),{width:r.width||100,height:r.height||100,fill:j}));else{let ne=Gt[r.shapeType];if(ne){m=new Y.Path(ne,I(C({},F),{fill:j}));let W=m;W.set({scaleX:(r.width||100)/(W.width||1),scaleY:(r.height||100)/(W.height||1)})}else m=new Y.Rect(I(C({},F),{width:r.width||100,height:r.height||100,fill:j}))}}else if(r.type==="image")try{let j=await Y.FabricImage.fromURL(r.src);j.set(I(C({},F),{scaleX:(r.width||100)/(j.width||1),scaleY:(r.height||100)/(j.height||1)})),m=j}catch(j){console.error(j)}m&&u.add(m)}}u.renderAll(),n.current=!1})()},[h,B]);let R=h.elements.find(u=>u.id===k);return(0,V.jsx)("div",{ref:v,className:"w-full h-full flex items-center justify-center overflow-hidden relative",children:(0,V.jsxs)("div",{className:"border border-slate-200 overflow-hidden bg-white shadow-xl transition-all duration-300 ease-out shrink-0 relative",style:{transform:`scale(${N})`,transformOrigin:"center center"},children:[(0,V.jsx)("canvas",{ref:i}),R&&R.type==="image"&&(0,V.jsxs)("div",{className:"absolute z-[5000] flex flex-col w-64 bg-white border border-slate-200 shadow-2xl rounded-xl overflow-hidden animate-in fade-in zoom-in duration-200",style:{left:R.x+R.width/2>600?`${R.x-12}px`:`${R.x+R.width+12}px`,top:`${R.y+R.height/2}px`,transform:R.x+R.width/2>600?"translate(-100%, -50%)":"translate(0, -50%)"},children:[(0,V.jsx)("div",{className:"px-3 py-2 text-[10px] uppercase tracking-wider font-bold text-slate-400 bg-slate-50/50 border-b border-slate-100",children:"Image Actions"}),(0,V.jsxs)("div",{className:"p-1.5 flex flex-col gap-0.5",children:[(0,V.jsxs)("button",{onClick:u=>{u.stopPropagation(),S()},className:"w-full flex items-center gap-3 px-3 py-2 text-left transition-all duration-150 rounded-lg hover:bg-slate-50 group",children:[(0,V.jsx)("div",{className:"p-1.5 rounded-md bg-blue-50 text-blue-600 group-hover:bg-blue-600 group-hover:text-white transition-colors",children:(0,V.jsx)(xe.Sparkles,{size:16})}),(0,V.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,V.jsx)("span",{className:"text-sm font-semibold text-slate-900",children:"AI Generate Image"}),(0,V.jsx)("span",{className:"text-[11px] text-slate-400 truncate leading-tight",children:"Create an image with AI prompt"})]})]}),(0,V.jsxs)("button",{onClick:u=>{u.stopPropagation(),z()},className:"w-full flex items-center gap-3 px-3 py-2 text-left transition-all duration-150 rounded-lg hover:bg-slate-50 group",children:[(0,V.jsx)("div",{className:"p-1.5 rounded-md bg-slate-100 text-slate-500 group-hover:bg-slate-200 group-hover:text-slate-700 transition-colors",children:(0,V.jsx)(xe.Image,{size:16})}),(0,V.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,V.jsx)("span",{className:"text-sm font-semibold text-slate-700",children:"Change Image"}),(0,V.jsx)("span",{className:"text-[11px] text-slate-400 truncate leading-tight",children:"Replace with local file"})]})]}),(0,V.jsx)("div",{className:"h-[1px] bg-slate-100 my-1 mx-2"}),(0,V.jsxs)("button",{onClick:u=>{u.stopPropagation(),H()},className:"w-full flex items-center gap-3 px-3 py-2 text-left transition-all duration-150 rounded-lg hover:bg-red-50 group",children:[(0,V.jsx)("div",{className:"p-1.5 rounded-md bg-red-50 text-red-500 group-hover:bg-red-500 group-hover:text-white transition-colors",children:(0,V.jsx)(xe.Trash2,{size:16})}),(0,V.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,V.jsx)("span",{className:"text-sm font-semibold text-red-600",children:"Delete Element"}),(0,V.jsx)("span",{className:"text-[11px] text-red-400/80 truncate leading-tight",children:"Remove from slide"})]})]})]})]})]})})};var mt=Se(require("pptxgenjs"));var ze=class{async export(t){var i,b;let s=new mt.default,p=((i=t.layout)==null?void 0:i.width)||12192e3,x=((b=t.layout)==null?void 0:b.height)||6858e3,k=1200,S=675,z=n=>n/k*(p/914400),H=n=>n/S*(x/914400);t.slides.forEach(n=>{let w=s.addSlide();[...n.elements].sort((v,N)=>v.zIndex-N.zIndex).forEach(v=>{var B,M;let N=v.opacity!==void 0?(1-v.opacity)*100:0,d={x:z(v.x),y:H(v.y),w:z(v.width),h:H(v.height)};if(v.type==="text")w.addText(v.content,I(C({},d),{fontSize:(v.fontSize||18)/2,color:((B=v.color)==null?void 0:B.replace("#",""))||"000000",fontFace:v.fontFamily||"Arial"}));else if(v.type==="image")w.addImage(I(C({},d),{path:v.src,transparency:N}));else if(v.type==="shape"){let y=v.shapeType==="ellipse"?s.ShapeType.ellipse:s.ShapeType.rect;w.addShape(y,I(C({},d),{fill:{color:((M=v.fill)==null?void 0:M.replace("#",""))||"CCCCCC",transparency:N>0?Math.min(N+10,100):0}}))}})}),await s.writeFile({fileName:"presentation.pptx"})}};var ut=Se(require("jszip")),Ae=class{constructor(){this.slideWidth=12192e3;this.slideHeight=6858e3;this.CANVAS_WIDTH=1200;this.CANVAS_HEIGHT=675}async parse(t){var b,n;let s=t;if(typeof t=="string"){let w=await fetch(t);if(!w.ok){let c=w.status,v=w.statusText,N="";try{let d=await w.json();N=d.details||d.error||""}catch(d){}throw new Error(`Failed to fetch PPTX from ${t}: ${c} ${v} ${N?`(${N})`:""}`)}s=await w.arrayBuffer()}let p=await ut.default.loadAsync(s),x=await((b=p.file("ppt/presentation.xml"))==null?void 0:b.async("string"));if(!x)throw new Error("Invalid PPTX");let S=new DOMParser().parseFromString(x,"text/xml"),z=this.findFirstByLocalName(S,"sldSz");z&&(this.slideWidth=parseInt(this.getAttr(z,"cx")||"12192000"),this.slideHeight=parseInt(this.getAttr(z,"cy")||"6858000"));let H=Array.from(S.getElementsByTagNameNS("*","sldId")),i=[];for(let w=0;w<H.length;w++){let c=w+1,v=`ppt/slides/slide${c}.xml`,N=await((n=p.file(v))==null?void 0:n.async("string"));if(N){let d=await this.parseSlide(N,c,p);i.push(d)}}return{slides:i,layout:{width:this.slideWidth,height:this.slideHeight}}}getAttr(t,s){return t.getAttribute(s)||t.getAttribute(`a:${s}`)||t.getAttribute(`p:${s}`)||t.getAttribute(`r:${s}`)}findFirstByLocalName(t,s){let p=t.getElementsByTagNameNS("*",s);return p.length>0?p[0]:null}findAllByLocalName(t,s){return Array.from(t.getElementsByTagNameNS("*",s))}scaleX(t){return t/this.slideWidth*this.CANVAS_WIDTH}scaleY(t){return t/this.slideHeight*this.CANVAS_HEIGHT}parseColor(t){let s=this.findFirstByLocalName(t,"srgbClr");if(s){let x=`#${this.getAttr(s,"val")}`,k=this.findFirstByLocalName(s,"alpha"),S=k?parseInt(this.getAttr(k,"val")||"100000")/1e5:1;return{color:x,opacity:S}}let p=this.findFirstByLocalName(t,"schemeClr");if(p){let x=this.findFirstByLocalName(p,"alpha");return{color:"#000000",opacity:x?parseInt(this.getAttr(x,"val")||"100000")/1e5:1}}return{color:"#000000",opacity:1}}async resolveImage(t,s,p){var i,b;let x=await((i=p.file(`ppt/slides/_rels/slide${s}.xml.rels`))==null?void 0:i.async("string"));if(!x)return null;let S=new DOMParser().parseFromString(x,"text/xml"),z=Array.from(S.getElementsByTagName("Relationship")).find(n=>n.getAttribute("Id")===t),H=z==null?void 0:z.getAttribute("Target");if(H){let n=(H.startsWith("../")?`ppt/${H.substring(3)}`:`ppt/slides/${H}`).replace("ppt/slides/../","ppt/");return await((b=p.file(n))==null?void 0:b.async("blob"))||null}return null}async parseSlide(t,s,p){let k=new DOMParser().parseFromString(t,"text/xml"),S=[],z=0,H=this.findFirstByLocalName(k,"bg");if(H){let n=this.findFirstByLocalName(H,"blip"),w=(n==null?void 0:n.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(n==null?void 0:n.getAttribute("r:embed"));if(w){let c=await this.resolveImage(w,s,p);c&&S.push({id:`bg-${s}`,type:"image",src:URL.createObjectURL(c),x:0,y:0,width:this.CANVAS_WIDTH,height:this.CANVAS_HEIGHT,zIndex:z++,opacity:1})}}let i=this.findFirstByLocalName(k,"spTree");if(!i)return{id:`slide-${s}`,elements:S};let b=Array.from(i.children);for(let n of b){let w=n.localName;if(w==="sp"){let c=this.findFirstByLocalName(n,"txBody"),v=this.findFirstByLocalName(n,"xfrm"),N=v?this.findFirstByLocalName(v,"off"):null,d=v?this.findFirstByLocalName(v,"ext"):null;if(c&&N&&d){let M=this.findAllByLocalName(c,"p"),y="",R=18,u="#000000",G=1,q=!1;for(let Q of M){let $=this.findFirstByLocalName(Q,"pPr"),r=$?this.findFirstByLocalName($,"buNone"):null;$&&!r&&(this.findFirstByLocalName($,"buChar")||this.findFirstByLocalName($,"buAutoNum"))&&(q=!0,y+="\u2022 ");let f=this.findAllByLocalName(Q,"r");for(let m of f){let F=this.findFirstByLocalName(m,"t");F&&(y+=F.textContent);let j=this.findFirstByLocalName(m,"rPr");if(j){let ne=this.getAttr(j,"sz");ne&&(R=parseInt(ne)/100*2);let W=this.parseColor(j);u=W.color,G=W.opacity}}y+=`
4
+ `}if(y.trim()){S.push({id:`el-${s}-${Date.now()}-${z}`,type:"text",content:y.trim(),x:this.scaleX(parseInt(this.getAttr(N,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(N,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(d,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(d,"cy")||"0")),fontSize:R,color:u,fontFamily:"Arial",zIndex:z++,isBulleted:q,opacity:G});continue}}let B=this.findFirstByLocalName(n,"prstGeom");if(B&&N&&d){let M=this.getAttr(B,"prst")||"rect",y=this.findFirstByLocalName(n,"spPr"),R=y?this.parseColor(y):{color:"#cccccc",opacity:1},u={rect:"rect",roundRect:"rect",ellipse:"ellipse",circle:"ellipse",triangle:"triangle",rtTriangle:"rightTriangle",diamond:"rhombus",parallelogram:"parallelogram",trapezoid:"trapezoid",pentagon:"pentagon",hexagon:"hexagon",heptagon:"heptagon",octagon:"octagon",heart:"heart",smileyFace:"smiley",sun:"sun",moon:"moon",rightArrow:"arrowRight",leftArrow:"arrowLeft",upArrow:"arrowUp",downArrow:"arrowDown",leftRightArrow:"arrowLeftRight",upDownArrow:"arrowUpDown",star4:"star4",star5:"star5",star6:"star6",star8:"star8",cloud:"cloud",lightningBolt:"lightning",plus:"plus",minus:"minus",multiply:"multiply",divide:"divide",equal:"equal"};S.push({id:`el-${s}-${Date.now()}-${z}`,type:"shape",shapeType:u[M]||"rect",fill:R.color,opacity:R.opacity,x:this.scaleX(parseInt(this.getAttr(N,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(N,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(d,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(d,"cy")||"0")),zIndex:z++})}}if(w==="pic"){let c=this.findFirstByLocalName(n,"blip"),v=(c==null?void 0:c.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(c==null?void 0:c.getAttribute("r:embed")),N=this.findFirstByLocalName(n,"xfrm"),d=N?this.findFirstByLocalName(N,"off"):null,B=N?this.findFirstByLocalName(N,"ext"):null;if(v&&d&&B){let M=await this.resolveImage(v,s,p);M&&S.push({id:`el-${s}-${Date.now()}-${z}`,type:"image",src:URL.createObjectURL(M),x:this.scaleX(parseInt(this.getAttr(d,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(d,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(B,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(B,"cy")||"0")),zIndex:z++,opacity:1})}}}return{id:`slide-${s}`,elements:S}}};var ye=require("react"),ke=require("lucide-react");var J=require("react/jsx-runtime"),Xe=({presentation:h,initialSlideIndex:t,onClose:s})=>{let[p,x]=(0,ye.useState)(t),k=h.slides[p],S=()=>{p>0&&x(p-1)},z=()=>{p<h.slides.length-1&&x(p+1)};(0,ye.useEffect)(()=>{let b=n=>{n.key==="ArrowRight"||n.key===" "||n.key==="PageDown"?z():n.key==="ArrowLeft"||n.key==="Backspace"||n.key==="PageUp"?S():n.key==="Escape"&&s()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[p]);let[H,i]=(0,ye.useState)(1);return(0,ye.useEffect)(()=>{let b=()=>{let w=window.innerWidth-40,c=window.innerHeight-40,v=1200,N=675,d=w/v,B=c/N,M=Math.min(d,B);i(M)};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]),(0,J.jsxs)("div",{className:"fixed inset-0 z-[99999] bg-[#0A0A0A] flex flex-col items-center justify-center overflow-hidden",children:[(0,J.jsxs)("div",{className:"absolute top-0 left-0 right-0 p-6 flex justify-between items-center opacity-0 hover:opacity-100 transition-opacity bg-gradient-to-b from-black/60 to-transparent z-[100] pointer-events-none",children:[(0,J.jsxs)("div",{className:"text-white/80 font-bold ml-4 pointer-events-auto",children:["Slide ",p+1," of ",h.slides.length]}),(0,J.jsx)("button",{onClick:s,className:"p-3 bg-white/10 hover:bg-white/20 text-white rounded-full transition-all pointer-events-auto",children:(0,J.jsx)(ke.X,{size:24})})]}),(0,J.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,J.jsx)("div",{className:"relative shadow-2xl shadow-black/80 bg-white",style:{width:"1200px",height:"675px",transform:`scale(${H})`,transformOrigin:"center center"},children:(0,J.jsx)(Re,{slide:k,onElementUpdate:()=>{},onSelect:()=>{},uiScale:.75,onSlashCommand:()=>{},selectedElementId:null,onAiGenerateClick:()=>{},onUploadImageClick:()=>{},onDeleteElement:()=>{}})})}),(0,J.jsxs)("div",{className:"absolute bottom-10 left-1/2 -translate-x-1/2 flex items-center gap-6 opacity-0 hover:opacity-100 transition-opacity bg-black/40 backdrop-blur-md px-6 py-3 rounded-full border border-white/10 pointer-events-auto",children:[(0,J.jsx)("button",{disabled:p===0,onClick:S,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,J.jsx)(ke.ChevronLeft,{size:32})}),(0,J.jsx)("div",{className:"h-6 w-[1px] bg-white/10"}),(0,J.jsx)("button",{disabled:p===h.slides.length-1,onClick:z,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,J.jsx)(ke.ChevronRight,{size:32})})]})]})};var ft=require("@google/generative-ai");var ee=Se(require("react")),E=require("lucide-react");var D=require("react/jsx-runtime"),vt=({onClose:h,onAction:t,position:s,canUseAi:p})=>{let[x,k]=(0,ee.useState)(""),[S,z]=(0,ee.useState)(0),H=(0,ee.useRef)(null),i=(0,ee.useMemo)(()=>{let n=[{id:"generate-image",label:"AI Generate Image",icon:E.Sparkles,category:"AI",description:"Create an image with AI prompt",action:()=>t("generate-image")},{id:"text",label:"Text Box",icon:E.Type,category:"Basic",description:"Insert a new text element",action:()=>t("add-text")},{id:"image",label:"Image",icon:E.Image,category:"Basic",description:"Upload and insert an image",action:()=>t("add-image")},{id:"new-slide",label:"New Slide",icon:E.PlusCircle,category:"Canvas",description:"Add a fresh slide to deck",action:()=>t("new-slide")},{id:"rect",label:"Rectangle",icon:E.Square,category:"Shapes",action:()=>t("add-shape","rect")},{id:"circle",label:"Circle",icon:E.Circle,category:"Shapes",action:()=>t("add-shape","circle")},{id:"triangle",label:"Triangle",icon:E.Triangle,category:"Shapes",action:()=>t("add-shape","triangle")},{id:"star5",label:"Star",icon:E.Star,category:"Shapes",action:()=>t("add-shape","star5")},{id:"arrowRight",label:"Arrow",icon:E.ArrowRight,category:"Shapes",action:()=>t("add-shape","arrowRight")}];return p&&n.unshift({id:"ai-reframe",label:"AI Reframe",icon:E.Sparkles,category:"AI",description:"Reword selected text",action:()=>t("ai-action","reframe")},{id:"ai-shorten",label:"AI Shorten",icon:E.Sparkles,category:"AI",description:"Summarize selected text",action:()=>t("ai-action","shorten")},{id:"ai-lengthen",label:"AI Lengthen",icon:E.Sparkles,category:"AI",description:"Expand selected text",action:()=>t("ai-action","lengthen")}),n},[t,p]),b=(0,ee.useMemo)(()=>i.filter(n=>n.label.toLowerCase().includes(x.toLowerCase())||n.category.toLowerCase().includes(x.toLowerCase())),[i,x]);return(0,ee.useEffect)(()=>{z(0)},[x]),(0,ee.useEffect)(()=>{let n=w=>{w.key==="ArrowDown"?(w.preventDefault(),z(c=>(c+1)%b.length)):w.key==="ArrowUp"?(w.preventDefault(),z(c=>(c-1+b.length)%b.length)):w.key==="Enter"?(w.preventDefault(),b[S]&&b[S].action()):w.key==="Escape"&&(w.preventDefault(),h())};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[b,S,h]),(0,ee.useEffect)(()=>{if(H.current){let n=H.current.children[S];n&&n.scrollIntoView({block:"nearest"})}},[S]),b.length===0&&x===""?null:(0,D.jsxs)("div",{className:"fixed z-[9999] w-72 bg-white rounded-xl shadow-2xl border border-slate-200 overflow-hidden flex flex-col animate-in fade-in zoom-in duration-200",style:{left:`${s.x}px`,top:`${s.y}px`,maxHeight:"400px"},onClick:n=>n.stopPropagation(),children:[(0,D.jsxs)("div",{className:"p-3 border-b border-slate-100 flex items-center gap-2 bg-slate-50/50",children:[(0,D.jsx)(E.Search,{size:14,className:"text-slate-400"}),(0,D.jsx)("input",{autoFocus:!0,type:"text",placeholder:"Type a command...",className:"bg-transparent border-none outline-none text-sm w-full font-medium text-slate-700 placeholder:text-slate-400",value:x,onChange:n=>k(n.target.value)})]}),(0,D.jsx)("div",{ref:H,className:"overflow-y-auto py-2 px-1 custom-scrollbar",children:b.length>0?b.map((n,w)=>{let c=w===S,v=w===0||b[w-1].category!==n.category;return(0,D.jsxs)(ee.default.Fragment,{children:[v&&(0,D.jsx)("div",{className:"px-3 py-1.5 text-[10px] uppercase tracking-wider font-bold text-slate-400",children:n.category}),(0,D.jsxs)("button",{className:O("w-full flex items-center gap-3 px-3 py-2 text-left transition-all duration-150 rounded-lg group",c?"bg-slate-100":"hover:bg-slate-50"),onClick:()=>n.action(),onMouseEnter:()=>z(w),children:[(0,D.jsx)("div",{className:O("p-1.5 rounded-md transition-colors",c?"bg-white shadow-sm text-blue-600":"bg-slate-100 text-slate-500 group-hover:text-slate-700"),children:(0,D.jsx)(n.icon,{size:16})}),(0,D.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,D.jsx)("span",{className:O("text-sm font-semibold truncate",c?"text-slate-900":"text-slate-700"),children:n.label}),n.description&&(0,D.jsx)("span",{className:"text-[11px] text-slate-400 truncate leading-tight",children:n.description})]}),c&&(0,D.jsx)("div",{className:"ml-auto text-[10px] font-mono font-bold text-slate-400 flex items-center gap-1 border border-slate-200 rounded px-1 px-0.5 bg-white",children:(0,D.jsx)("span",{children:"\u21B5"})})]})]},n.id)}):(0,D.jsxs)("div",{className:"px-3 py-8 text-center flex flex-col items-center gap-2",children:[(0,D.jsx)("div",{className:"p-3 bg-slate-50 rounded-full",children:(0,D.jsx)(E.Search,{size:20,className:"text-slate-300"})}),(0,D.jsxs)("span",{className:"text-sm text-slate-400 font-medium whitespace-nowrap",children:['No commands found for "',x,'"']})]})}),(0,D.jsxs)("div",{className:"px-3 py-2 border-t border-slate-100 bg-slate-50/50 flex items-center justify-between",children:[(0,D.jsxs)("div",{className:"flex items-center gap-1 text-[10px] font-medium text-slate-400",children:[(0,D.jsx)("span",{className:"border border-slate-200 rounded px-1 bg-white",children:"\u2191\u2193"}),(0,D.jsx)("span",{children:"to navigate"})]}),(0,D.jsxs)("div",{className:"flex items-center gap-1 text-[10px] font-medium text-slate-400",children:[(0,D.jsx)("span",{className:"border border-slate-200 rounded px-1 bg-white",children:"Esc"}),(0,D.jsx)("span",{children:"to close"})]})]})]})};var _=require("lucide-react");var o=require("react/jsx-runtime"),Wt=({initialPresentation:h,url:t,appName:s="SlideCanvas",onChange:p,geminiApiKey:x,width:k,height:S,appBgColor:z="#B7472A",showHomeOnEmpty:H=!1,initialSource:i,onSourceChange:b,proxyUrl:n,onGenerateImage:w})=>{var rt;let[c,v]=(0,A.useState)(h||{slides:[{id:"slide-1",elements:[]}],layout:{width:12192e3,height:6858e3}}),[N,d]=(0,A.useState)([]),[B,M]=(0,A.useState)([]),[y,R]=(0,A.useState)(0),[u,G]=(0,A.useState)(null),[q,Q]=(0,A.useState)(!1),[$,r]=(0,A.useState)(null),[f,m]=(0,A.useState)(!1),[F,j]=(0,A.useState)(i||(t?"url":null)),[ne,W]=(0,A.useState)(H&&!h&&!t&&!i),[te,ce]=(0,A.useState)(""),[ae,se]=(0,A.useState)({visible:!1,position:{x:0,y:0}}),[X,ge]=(0,A.useState)(!1),[fe,be]=(0,A.useState)(""),[P,me]=(0,A.useState)(!1),[re,Ie]=(0,A.useState)(null),[De,Ye]=(0,A.useState)(!1),[_e,Ve]=(0,A.useState)(!1);(0,A.useEffect)(()=>{re&&(Ye(!1),Ve(!0))},[re]),(0,A.useEffect)(()=>{t&&Be(t)},[t]);let[bt,Fe]=(0,A.useState)(!1),[Le,qe]=(0,A.useState)(null),Me=(0,A.useMemo)(()=>{let a=typeof k=="number"?k:parseInt(String(k));return isNaN(a)?1:Math.min(Math.max(a/1600,.7),1)},[k]),de=c.slides[y],wt=(0,A.useMemo)(()=>de.elements.find(a=>a.id===u)||null,[de,u]),Ne=(0,A.useCallback)(a=>{d(l=>[...l.slice(-19),c]),M([]),v(a),p==null||p(a)},[p,c]),Ke=()=>{if(N.length===0)return;let a=N[N.length-1];M(l=>[...l,c]),d(l=>l.slice(0,-1)),v(a)},je=()=>{if(B.length===0)return;let a=B[B.length-1];d(l=>[...l,c]),M(l=>l.slice(0,-1)),v(a)},ue=(0,A.useCallback)(a=>{v(l=>{let g=[...l.slides];g[y]=C(C({},g[y]),a);let T=I(C({},l),{slides:g});return d(U=>[...U.slice(-19),l]),M([]),p==null||p(T),T})},[y,p]),Pe=(0,A.useCallback)((a,l)=>{v(g=>{let T=g.slides[y],U=T.elements.map(pe=>pe.id===a?C(C({},pe),l):pe),oe=[...g.slides];oe[y]=I(C({},T),{elements:U});let he=I(C({},g),{slides:oe});return p==null||p(he),he})},[y,p]),xt=a=>{if(!u)return;if(de.elements.find(g=>g.id===u)){Pe(u,a);let g=c.slides[y],T=g.elements.map(oe=>oe.id===u?C(C({},oe),a):oe),U=[...c.slides];U[y]=I(C({},g),{elements:T}),Ne(I(C({},c),{slides:U}))}},He=(0,A.useCallback)(()=>{if(!u)return;let l=c.slides[y].elements.filter(g=>g.id!==u);ue({elements:l}),G(null)},[u,y,c,ue]),Je=()=>{let a={id:`text-${Date.now()}`,type:"text",content:"New Text",x:100,y:100,width:400,height:100,fontSize:48,fontFamily:"Arial",color:"#000000",zIndex:de.elements.length};ue({elements:[...de.elements,a]})},Ze=(0,A.useCallback)(async a=>{let l="";typeof a=="string"?l=a:l=await new Promise(U=>{let oe=new FileReader;oe.onload=he=>{var pe;return U((pe=he.target)==null?void 0:pe.result)},oe.readAsDataURL(a)});let g=`img-${Date.now()}`,T={id:g,type:"image",src:l,x:100,y:100,width:400,height:250,zIndex:de.elements.length};ue({elements:[...de.elements,T]}),G(g)},[de.elements,ue,G]),Qe=a=>{let l={id:`shape-${Date.now()}`,type:"shape",shapeType:a,fill:"#3b82f6",x:200,y:200,width:200,height:200,zIndex:de.elements.length};ue({elements:[...de.elements,l]})},et=()=>{let a={id:`slide-${Date.now()}`,elements:[]};Ne(I(C({},c),{slides:[...c.slides,a]})),R(c.slides.length)},yt=a=>{if(c.slides.length<=1)return;let l=c.slides.filter((g,T)=>T!==a);Ne(I(C({},c),{slides:l})),a<=y&&R(Math.max(0,y-1))},kt=a=>{let l=c.slides[a],g=I(C({},l),{id:`slide-${Date.now()}`,elements:l.elements.map(U=>I(C({},U),{id:`${U.type}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}))}),T=[...c.slides];T.splice(a+1,0,g),Ne(I(C({},c),{slides:T})),R(a+1)},Lt=(a,l)=>{if(a===l)return;let g=[...c.slides],[T]=g.splice(a,1);g.splice(l,0,T),Ne(I(C({},c),{slides:g})),y===a?R(l):y>a&&y<=l?R(y-1):y<a&&y>=l&&R(y+1)},Nt=a=>{let l=[],g=Date.now();a==="title"?l=[{id:`text-title-${g}`,type:"text",content:"Presentation Title",x:100,y:200,width:1e3,height:150,fontSize:80,fontFamily:"Inter",color:"#000000",textAlign:"center",isBold:!0,zIndex:0},{id:`text-sub-${g}`,type:"text",content:"Subtitle goes here",x:200,y:380,width:800,height:80,fontSize:36,fontFamily:"Inter",color:"#64748b",textAlign:"center",zIndex:1}]:a==="content"?l=[{id:`text-title-${g}`,type:"text",content:"Slide Title",x:60,y:40,width:800,height:80,fontSize:48,fontFamily:"Inter",color:"#000000",isBold:!0,zIndex:0},{id:`text-body-${g}`,type:"text",content:`\u2022 Add your points here
5
5
  \u2022 Press Enter for new line
6
- \u2022 Use the toolbar to format`,x:60,y:150,width:1080,height:480,fontSize:28,fontFamily:"Inter",color:"#334155",zIndex:1,isBulleted:!0}]:s==="split"&&(c=[{id:`text-title-${m}`,type:"text",content:"Comparison Layout",x:60,y:40,width:1080,height:80,fontSize:48,fontFamily:"Inter",color:"#000000",isBold:!0,textAlign:"center",zIndex:0},{id:`text-left-${m}`,type:"text",content:"Left column content goes here.",x:60,y:180,width:520,height:400,fontSize:24,fontFamily:"Inter",color:"#334155",zIndex:1},{id:`text-right-${m}`,type:"text",content:"Right column content goes here.",x:620,y:180,width:520,height:400,fontSize:24,fontFamily:"Inter",color:"#334155",zIndex:2}]),J({elements:c})},Ae=async(s,c)=>{let P=p.slides[h].elements.find(D=>D.id===s);if(!(!P||P.type!=="text")){R(!0),F(null),xe({id:s,action:c});try{if(!x){F("Gemini API key is missing. Please provide it via the 'geminiApiKey' prop."),R(!1);return}let K=new Ue.GoogleGenerativeAI(x).getGenerativeModel({model:"gemini-flash-latest",systemInstruction:`You are a professional presentation assistant. Your task is to transform slide text according to specific user requests (shorten, reframe, or lengthen).
6
+ \u2022 Use the toolbar to format`,x:60,y:150,width:1080,height:480,fontSize:28,fontFamily:"Inter",color:"#334155",zIndex:1,isBulleted:!0}]:a==="split"&&(l=[{id:`text-title-${g}`,type:"text",content:"Comparison Layout",x:60,y:40,width:1080,height:80,fontSize:48,fontFamily:"Inter",color:"#000000",isBold:!0,textAlign:"center",zIndex:0},{id:`text-left-${g}`,type:"text",content:"Left column content goes here.",x:60,y:180,width:520,height:400,fontSize:24,fontFamily:"Inter",color:"#334155",zIndex:1},{id:`text-right-${g}`,type:"text",content:"Right column content goes here.",x:620,y:180,width:520,height:400,fontSize:24,fontFamily:"Inter",color:"#334155",zIndex:2}]),ue({elements:l})},Ee=async(a,l)=>{let T=c.slides[y].elements.find(U=>U.id===a);if(!(!T||T.type!=="text")){Fe(!0),r(null),qe({id:a,action:l});try{if(!x){r("Gemini API key is missing. Please provide it via the 'geminiApiKey' prop."),Fe(!1);return}let oe=new ft.GoogleGenerativeAI(x).getGenerativeModel({model:"gemini-flash-latest",systemInstruction:`You are a professional presentation assistant. Your task is to transform slide text according to specific user requests (shorten, reframe, or lengthen).
7
7
 
8
8
  CRITICAL RULES:
9
9
  1. Return ONLY the transformed text.
@@ -11,9 +11,9 @@ CRITICAL RULES:
11
11
  3. Do NOT use markdown formatting (like bolding or headers) unless specifically needed for bullet points.
12
12
  4. If the input text is a title/headline, the output should be a professional title/headline.
13
13
  5. If the input text is a bulleted list, the output MUST be a bulleted list using the same bullet style (e.g., '\u2022').
14
- 6. Maintain the professional tone of the original presentation.`}),me=P.fontSize>32?"Title/Headline":"Body Text/List",ce=`Action: ${c.toUpperCase()}
15
- Text Role: ${me}
16
- Original Text: "${P.content}"
14
+ 6. Maintain the professional tone of the original presentation.`}),he=T.fontSize>32?"Title/Headline":"Body Text/List",pe=`Action: ${l.toUpperCase()}
15
+ Text Role: ${he}
16
+ Original Text: "${T.content}"
17
17
 
18
- Transformed Text:`,rt=await(await K.generateContent(ce)).response;F(rt.text().trim())}catch(D){console.error("Gemini AI Error:",D),F("Error generating response. Please check your API key or connection.")}finally{R(!1)}}},Je=s=>{if(!U||!te)return;if(s==="regenerate"){Ae(te.id,te.action);return}let c=p.slides[h],m=c.elements.find(P=>P.id===te.id);if(!(!m||m.type!=="text")){if(s==="replace")ke(te.id,{content:U});else if(s==="addBelow"){let P=M(y({},m),{id:`text-ai-${Date.now()}`,content:U,y:m.y+m.height+20,zIndex:c.elements.length});J({elements:[...c.elements,P]})}F(null),xe(null)}},Qe=async()=>{await new pe().export(p)},et=()=>{V(!0);let s=document.documentElement;s.requestFullscreen&&s.requestFullscreen()},tt=()=>{V(!1),document.fullscreenElement&&document.exitFullscreen()};(0,T.useEffect)(()=>{let s=()=>{document.fullscreenElement||V(!1)};return document.addEventListener("fullscreenchange",s),()=>document.removeEventListener("fullscreenchange",s)},[]),(0,T.useEffect)(()=>{let s=c=>{if(c.key==="Delete"||c.key==="Backspace"){let m=document.activeElement;if((m==null?void 0:m.tagName)==="INPUT"||(m==null?void 0:m.tagName)==="TEXTAREA"||m!=null&&m.isContentEditable)return;Le()}(c.ctrlKey||c.metaKey)&&(c.key==="z"&&(c.preventDefault(),c.shiftKey?ye():Ce()),c.key==="y"&&(c.preventDefault(),ye()))};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[Le,Ce,ye]);let Ne=(s,c)=>{Q(s),z==null||z(s,c)},ze=()=>{S({slides:[{id:`slide-${Date.now()}`,elements:[]}],layout:{width:12192e3,height:6858e3}}),r(0),v(null),Ne("scratch")},ue=async s=>{ne(!0);try{let c=new ge,m=s;if(typeof s=="string"){let D=s.trim();m=u?`${u}${u.includes("?")?"&":"?"}url=${encodeURIComponent(D)}`:D,Ne("url",D)}else Ne("uploaded");let P=await c.parse(m);S(P),b([]),k([]),r(0),v(null)}catch(c){console.error("Failed to load PPTX",c),alert("Failed to load presentation. Please ensure it is a valid .pptx.")}finally{ne(!1)}};return!f||!C?(0,L.jsx)("div",{className:"flex items-center justify-center bg-red-50 text-red-600 p-8 rounded-xl border-2 border-red-200 font-bold",children:"Error: width and height props are compulsory for PptEditor."}):(0,L.jsxs)("div",{className:"flex flex-col bg-white relative",style:{width:typeof f=="number"?`${f}px`:f,height:typeof C=="number"?`${C}px`:C,fontSize:`${16*A}px`},children:[Y&&(0,L.jsx)("div",{className:"absolute inset-0 z-[2000] bg-white flex flex-col items-center justify-center p-6 md:p-12 overflow-y-auto",children:(0,L.jsxs)("div",{className:"max-w-2xl w-full text-center space-y-6 md:space-y-8 animate-in fade-in zoom-in-95 duration-500 my-auto",children:[(0,L.jsxs)("div",{className:"space-y-2",children:[(0,L.jsx)("h2",{className:"text-4xl font-black tracking-tight text-slate-800",children:a}),(0,L.jsx)("p",{className:"text-slate-500 font-medium",children:"Create stunning presentations in seconds."})]}),(0,L.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,L.jsxs)("button",{onClick:()=>{ze(),_(!1)},className:"flex flex-col items-center justify-center gap-4 p-10 border-2 border-slate-100 rounded-[2.5rem] hover:border-slate-300 hover:bg-slate-50 transition-all group shadow-sm hover:shadow-md active:scale-[0.98]",children:[(0,L.jsx)("div",{className:"p-5 bg-slate-100 rounded-2xl group-hover:bg-blue-50 transition-colors",children:(0,L.jsx)("svg",{className:"w-10 h-10 text-blue-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,L.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M12 4v16m8-8H4"})})}),(0,L.jsx)("span",{className:"text-sm font-black uppercase tracking-[0.15em] text-slate-600 group-hover:text-slate-900 transition-colors",children:"Start New Deck"})]}),(0,L.jsxs)("label",{className:"flex flex-col items-center justify-center gap-4 p-10 border-2 border-slate-100 rounded-[2.5rem] hover:border-slate-300 hover:bg-slate-50 transition-all group shadow-sm hover:shadow-md active:scale-[0.98] cursor-pointer",children:[(0,L.jsx)("div",{className:"p-5 bg-slate-100 rounded-2xl group-hover:bg-emerald-50 transition-colors",children:(0,L.jsx)("svg",{className:"w-10 h-10 text-emerald-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,L.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M4 16v1a2 2 0 002 2h12a2 2 0 002-2v-1m-4-8l-4-4m0 0L8 8m4-4v12"})})}),(0,L.jsx)("span",{className:"text-sm font-black uppercase tracking-[0.15em] text-slate-600 group-hover:text-slate-900 transition-colors",children:"Upload PPTX"}),(0,L.jsx)("input",{type:"file",accept:".pptx",className:"hidden",onChange:s=>{var m;let c=(m=s.target.files)==null?void 0:m[0];c&&(ue(c),_(!1))}})]})]}),(0,L.jsxs)("div",{className:"space-y-4 pt-8 border-t border-slate-100",children:[(0,L.jsxs)("div",{className:"flex gap-3 items-stretch",children:[(0,L.jsx)("div",{className:"flex-1 relative group",children:(0,L.jsx)("input",{type:"text",placeholder:"Paste presentation URL...",value:G,onChange:s=>ee(s.target.value),className:"text-black w-full bg-slate-50 border border-slate-200 rounded-2xl pl-12 pr-5 py-4 focus:outline-none focus:border-slate-400 focus:ring-4 focus:ring-slate-400/5 text-base transition-all h-full"})}),(0,L.jsx)("button",{onClick:()=>{G.trim()&&(ue(G.trim()),_(!1))},disabled:!G.trim()||ie,style:{cursor:"pointer"},className:"bg-slate-900 hover:bg-black disabled:bg-slate-100 disabled:text-slate-400 text-white font-black px-10 rounded-2xl transition-all shadow-sm text-sm shrink-0 whitespace-nowrap h-full min-h-[56px] flex items-center justify-center uppercase tracking-widest",children:ie?(0,L.jsxs)("svg",{className:"animate-spin h-5 w-5 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,L.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,L.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):"Load"})]}),(0,L.jsx)("p",{className:"text-[10px] text-slate-400 font-bold uppercase tracking-[0.2em]",children:"Supports S3, public links, and versioned assets"})]})]})}),I&&(0,L.jsx)($e,{presentation:p,initialSlideIndex:h,onClose:tt}),(0,L.jsx)(Ve,{onAddText:Oe,onAddImage:Xe,onAddShape:We,onAddSlide:Ye,onExport:Qe,onFormatText:Ee,onDeleteElement:Le,onApplyLayout:qe,onPlay:et,onAiAction:Ae,onAiResponseAction:Je,onNewPresentation:ze,onLoadPresentation:ue,aiResponse:U,isAiLoading:we,selectedElement:he,appName:a,appBgColor:N,uiScale:A,source:se}),(0,L.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,L.jsx)(Fe,{slides:p.slides,currentSlideIndex:h,onSelectSlide:r,onDeleteSlide:_e,onDuplicateSlide:Ge,onReorderSlides:Ke,uiScale:A,appBgColor:N}),(0,L.jsx)("div",{className:"flex-1 flex items-center justify-center p-12 overflow-auto bg-white",children:(0,L.jsx)(be,{slide:Z,onElementUpdate:ke,onSelect:v,uiScale:A})})]})]})};0&&(module.exports={PptEditor,PptxExporter,PptxParser});
18
+ Transformed Text:`,It=await(await oe.generateContent(pe)).response;r(It.text().trim())}catch(U){console.error("Gemini AI Error:",U),r("Error generating response. Please check your API key or connection.")}finally{Fe(!1)}}},Te=a=>{if(!$||!Le)return;if(a==="regenerate"){Ee(Le.id,Le.action);return}let l=c.slides[y],g=l.elements.find(T=>T.id===Le.id);if(!(!g||g.type!=="text")){if(a==="replace")Pe(Le.id,{content:$});else if(a==="addBelow"){let T=I(C({},g),{id:`text-ai-${Date.now()}`,content:$,y:g.y+g.height+20,zIndex:l.elements.length});ue({elements:[...l.elements,T]})}r(null),qe(null)}},Ct=async()=>{await new ze().export(c)},Yt=()=>{Q(!0);let a=document.documentElement;a.requestFullscreen&&a.requestFullscreen()},tt=()=>{Q(!1),document.fullscreenElement&&document.exitFullscreen()};(0,A.useEffect)(()=>{let a=()=>{document.fullscreenElement||Q(!1)};return document.addEventListener("fullscreenchange",a),()=>document.removeEventListener("fullscreenchange",a)},[]),(0,A.useEffect)(()=>{let a=l=>{if(l.key==="Delete"||l.key==="Backspace"){let g=document.activeElement;if((g==null?void 0:g.tagName)==="INPUT"||(g==null?void 0:g.tagName)==="TEXTAREA"||g!=null&&g.isContentEditable)return;He()}l.key==="Escape"&&(G(null),se(g=>I(C({},g),{visible:!1}))),(l.ctrlKey||l.metaKey)&&(l.key==="z"&&(l.preventDefault(),l.shiftKey?je():Ke()),l.key==="y"&&(l.preventDefault(),je()))};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[He,Ke,je]);let $e=(a,l)=>{j(a),b==null||b(a,l)},at=()=>{v({slides:[{id:`slide-${Date.now()}`,elements:[]}],layout:{width:12192e3,height:6858e3}}),R(0),G(null),$e("scratch")},Be=async a=>{m(!0);try{let l=new Ae,g=a;if(typeof a=="string"){let U=a.trim();g=n?`${n}${n.includes("?")?"&":"?"}url=${encodeURIComponent(U)}`:U,$e("url",U)}else $e("uploaded");let T=await l.parse(g);v(T),d([]),M([]),R(0),G(null)}catch(l){console.error("Failed to load PPTX",l),alert("Failed to load presentation. Please ensure it is a valid .pptx.")}finally{m(!1)}},St=(a,l)=>{switch(se(g=>I(C({},g),{visible:!1})),a){case"add-text":Je();break;case"add-image":Oe();break;case"add-shape":Qe(l);break;case"new-slide":et();break;case"ai-action":Ee(u||"",l);break;case"generate-image":ge(!0);break}},zt=async()=>{if(fe.trim()){me(!0);try{let a="";if(w)a=await w(fe);else throw x?new Error("Internal image generation requires onGenerateImage prop or specific endpoint configuration."):new Error("No image generation function or Gemini API key provided.");Ie(a),ge(!1),be("")}catch(a){console.error("Image generation failed:",a),alert("Image generation failed: "+(a instanceof Error?a.message:"Unknown error"))}finally{me(!1)}}},Ue=a=>{if(a==="insert"&&re)Ze(re);else if(a==="replace"&&re&&u){let l=c.slides[y].elements.find(g=>g.id===u);l&&l.type==="image"?Pe(u,{src:re}):Ze(re)}Ie(null)},Oe=()=>{let a=document.createElement("input");a.type="file",a.accept="image/*",a.onchange=async l=>{var T;let g=(T=l.target.files)==null?void 0:T[0];if(g){let U=await new Promise(oe=>{let he=new FileReader;he.onload=pe=>{var Ge;return oe((Ge=pe.target)==null?void 0:Ge.result)},he.readAsDataURL(g)});Ie(U)}},a.click()},At=(0,A.useCallback)(a=>!n||!a||a.startsWith("data:")||a.includes("localhost")||a.includes("127.0.0.1")?a:`${n}?url=${encodeURIComponent(a)}`,[n]);return!k||!S?(0,o.jsx)("div",{className:"flex items-center justify-center bg-red-50 text-red-600 p-8 rounded-xl border-2 border-red-200 font-bold",children:"Error: width and height props are compulsory for PptEditor."}):(0,o.jsxs)("div",{className:"flex flex-col bg-white relative",style:{width:typeof k=="number"?`${k}px`:k,height:typeof S=="number"?`${S}px`:S,fontSize:`${16*Me}px`},children:[ne&&(0,o.jsx)("div",{className:"absolute inset-0 z-[2000] bg-white flex flex-col items-center justify-center p-6 md:p-12 overflow-y-auto",children:(0,o.jsxs)("div",{className:"max-w-2xl w-full text-center space-y-6 md:space-y-8 animate-in fade-in zoom-in-95 duration-500 my-auto",children:[(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("h2",{className:"text-4xl font-black tracking-tight text-slate-800",children:s}),(0,o.jsx)("p",{className:"text-slate-500 font-medium",children:"Create stunning presentations in seconds."})]}),(0,o.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,o.jsxs)("button",{onClick:()=>{at(),W(!1)},className:"flex flex-col items-center justify-center gap-4 p-10 border-2 border-slate-100 rounded-[2.5rem] hover:border-slate-300 hover:bg-slate-50 transition-all group shadow-sm hover:shadow-md active:scale-[0.98]",children:[(0,o.jsx)("div",{className:"p-5 bg-slate-100 rounded-2xl group-hover:bg-blue-50 transition-colors",children:(0,o.jsx)("svg",{className:"w-10 h-10 text-blue-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M12 4v16m8-8H4"})})}),(0,o.jsx)("span",{className:"text-sm font-black uppercase tracking-[0.15em] text-slate-600 group-hover:text-slate-900 transition-colors",children:"Start New Deck"})]}),(0,o.jsxs)("label",{className:"flex flex-col items-center justify-center gap-4 p-10 border-2 border-slate-100 rounded-[2.5rem] hover:border-slate-300 hover:bg-slate-50 transition-all group shadow-sm hover:shadow-md active:scale-[0.98] cursor-pointer",children:[(0,o.jsx)("div",{className:"p-5 bg-slate-100 rounded-2xl group-hover:bg-emerald-50 transition-colors",children:(0,o.jsx)("svg",{className:"w-10 h-10 text-emerald-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M4 16v1a2 2 0 002 2h12a2 2 0 002-2v-1m-4-8l-4-4m0 0L8 8m4-4v12"})})}),(0,o.jsx)("span",{className:"text-sm font-black uppercase tracking-[0.15em] text-slate-600 group-hover:text-slate-900 transition-colors",children:"Upload PPTX"}),(0,o.jsx)("input",{type:"file",accept:".pptx",className:"hidden",onChange:a=>{var g;let l=(g=a.target.files)==null?void 0:g[0];l&&(Be(l),W(!1))}})]})]}),(0,o.jsxs)("div",{className:"space-y-4 pt-8 border-t border-slate-100",children:[(0,o.jsxs)("div",{className:"flex gap-3 items-stretch",children:[(0,o.jsx)("div",{className:"flex-1 relative group",children:(0,o.jsx)("input",{type:"text",placeholder:"Paste presentation URL...",value:te,onChange:a=>ce(a.target.value),className:"text-black w-full bg-slate-50 border border-slate-200 rounded-2xl pl-12 pr-5 py-4 focus:outline-none focus:border-slate-400 focus:ring-4 focus:ring-slate-400/5 text-base transition-all h-full"})}),(0,o.jsx)("button",{onClick:()=>{te.trim()&&(Be(te.trim()),W(!1))},disabled:!te.trim()||f,style:{cursor:"pointer"},className:"bg-slate-900 hover:bg-black disabled:bg-slate-100 disabled:text-slate-400 text-white font-black px-10 rounded-2xl transition-all shadow-sm text-sm shrink-0 whitespace-nowrap h-full min-h-[56px] flex items-center justify-center uppercase tracking-widest",children:f?(0,o.jsxs)("svg",{className:"animate-spin h-5 w-5 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,o.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,o.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):"Load"})]}),(0,o.jsx)("p",{className:"text-[10px] text-slate-400 font-bold uppercase tracking-[0.2em]",children:"Supports S3, public links, and versioned assets"})]})]})}),q&&(0,o.jsx)(Xe,{presentation:c,initialSlideIndex:y,onClose:tt}),(0,o.jsx)(dt,{onAddText:Je,onAddImage:Ze,onAddShape:Qe,onAddSlide:et,onExport:Ct,onFormatText:xt,onDeleteElement:He,onGenerateImageClick:()=>ge(!0),onUploadImageClick:Oe,onApplyLayout:Nt,onPlay:()=>Q(!0),onAiAction:Ee,onAiResponseAction:Te,onNewPresentation:at,onLoadPresentation:Be,aiResponse:$,isAiLoading:bt,selectedElement:wt,appName:s,appBgColor:z,uiScale:Me,source:F}),(0,o.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,o.jsx)(ht,{slides:c.slides,currentSlideIndex:y,onSelectSlide:R,onDeleteSlide:yt,onDuplicateSlide:kt,onReorderSlides:Lt,uiScale:Me,appBgColor:z}),(0,o.jsx)("div",{className:"flex-1 flex items-center justify-center p-12 overflow-auto bg-white",children:(0,o.jsx)(Re,{slide:de,onElementUpdate:Pe,onSelect:G,uiScale:Me,onSlashCommand:a=>se({visible:!0,position:a}),selectedElementId:u,onAiGenerateClick:()=>ge(!0),onUploadImageClick:Oe,onDeleteElement:He})})]}),ae.visible&&(0,o.jsx)("div",{className:"fixed inset-0 z-[9998]",onClick:()=>se(a=>I(C({},a),{visible:!1})),children:(0,o.jsx)(vt,{position:ae.position,onClose:()=>se(a=>I(C({},a),{visible:!1})),onAction:St,canUseAi:!!x})}),X&&(0,o.jsx)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-sm animate-in fade-in duration-200",children:(0,o.jsxs)("div",{className:"bg-white rounded-2xl shadow-2xl w-[500px] p-6 flex flex-col gap-4 animate-in zoom-in-95 duration-200",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsxs)("h3",{className:"text-xl font-bold text-slate-800 flex items-center gap-2",children:[(0,o.jsx)(_.Sparkles,{className:"text-blue-600",size:20}),"Generate Image"]}),(0,o.jsx)("button",{onClick:()=>ge(!1),className:"text-slate-400 hover:text-slate-600",children:(0,o.jsx)(_.Plus,{className:"rotate-45",size:24})})]}),(0,o.jsx)("p",{className:"text-sm text-slate-500",children:"Describe the image you want to create for this slide."}),(0,o.jsx)("textarea",{autoFocus:!0,placeholder:"A futuristic city in the style of cyberpunk with neon lights...",className:"text-black w-full h-32 p-4 bg-slate-50 border border-slate-200 rounded-xl outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 text-sm font-medium resize-none",value:fe,onChange:a=>be(a.target.value)}),(0,o.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,o.jsx)("button",{onClick:()=>ge(!1),className:"px-5 py-2.5 text-sm font-bold text-slate-600 hover:bg-slate-100 rounded-lg transition-colors",children:"Cancel"}),(0,o.jsx)("button",{onClick:zt,disabled:P||!fe.trim(),className:"px-6 py-2.5 text-sm font-bold text-white bg-blue-600 hover:bg-blue-700 rounded-lg shadow-lg shadow-blue-500/20 transition-all active:scale-95 disabled:opacity-50 disabled:active:scale-100 flex items-center gap-2",children:P?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(_.RefreshCw,{className:"animate-spin",size:16}),"Generating..."]}):"Generate"})]})]})}),re&&(0,o.jsx)("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center bg-black/60 backdrop-blur-md animate-in fade-in duration-300",children:(0,o.jsxs)("div",{className:"bg-white rounded-2xl shadow-3xl max-w-[90vw] max-h-[90vh] overflow-hidden flex flex-col animate-in zoom-in-95 duration-300 border border-slate-200",children:[(0,o.jsxs)("div",{className:"p-4 border-b border-slate-100 flex items-center justify-between bg-white",children:[(0,o.jsx)("h3",{className:"text-lg font-bold text-slate-800",children:"Preview Image"}),(0,o.jsx)("button",{onClick:()=>Ie(null),className:"p-2 hover:bg-slate-100 rounded-full text-slate-400 transition-colors",children:(0,o.jsx)(_.Plus,{className:"rotate-45",size:20})})]}),(0,o.jsxs)("div",{className:"p-8 bg-slate-100 flex items-center justify-center overflow-auto min-h-[300px] relative",children:[_e&&!De&&(0,o.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-slate-100/50 z-10",children:(0,o.jsx)(_.RefreshCw,{className:"animate-spin text-slate-400",size:32})}),(0,o.jsx)("img",{src:At(re),alt:"Generated",className:O("max-w-full max-h-[60vh] rounded-lg shadow-2xl ring-4 ring-white transition-opacity duration-300",De||_e?"opacity-0":"opacity-100"),onLoad:()=>Ve(!1),onError:()=>{Ye(!0),Ve(!1)}}),De&&(0,o.jsxs)("div",{className:"flex flex-col items-center gap-4 text-slate-400 p-12 text-center animate-in fade-in duration-500",children:[(0,o.jsx)("div",{className:"p-4 bg-slate-200/50 rounded-full",children:(0,o.jsx)(_.Image,{size:48,className:"opacity-40"})}),(0,o.jsxs)("div",{children:[(0,o.jsx)("p",{className:"font-bold text-slate-600",children:"Failed to load preview"}),(0,o.jsx)("p",{className:"text-xs max-w-[300px] mt-1",children:"The URL might be invalid or restricted. Ensure it's a valid image format."})]}),(0,o.jsx)("code",{className:"text-[10px] bg-slate-200/50 px-2 py-1 rounded break-all max-w-[400px]",children:re})]})]}),(0,o.jsxs)("div",{className:"p-6 bg-white border-t border-slate-100 flex flex-col gap-4",children:[(0,o.jsxs)("div",{className:"flex gap-3 justify-center",children:[(0,o.jsxs)("button",{onClick:()=>Ue("insert"),className:"flex-1 px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white rounded-xl font-bold shadow-lg shadow-blue-500/20 transition-all flex items-center justify-center gap-2",children:[(0,o.jsx)(_.Check,{size:18}),"Insert image"]}),u&&((rt=c.slides[y].elements.find(a=>a.id===u))==null?void 0:rt.type)==="image"&&(0,o.jsxs)("button",{onClick:()=>Ue("replace"),className:"flex-1 px-6 py-3 bg-emerald-600 hover:bg-emerald-700 text-white rounded-xl font-bold shadow-lg shadow-emerald-500/20 transition-all flex items-center justify-center gap-2",children:[(0,o.jsx)(_.RefreshCw,{size:18}),"Replace existing"]})]}),(0,o.jsxs)("button",{onClick:()=>Ue("discard"),className:"w-full px-6 py-3 bg-red-50 hover:bg-red-100 text-red-600 rounded-xl font-bold transition-all flex items-center justify-center gap-2",children:[(0,o.jsx)(_.Trash2,{size:18}),"Discard"]})]})]})}),$&&(0,o.jsx)("div",{className:"fixed inset-0 z-[10001] flex items-center justify-center bg-black/40 backdrop-blur-sm animate-in fade-in duration-200",children:(0,o.jsxs)("div",{className:"bg-white rounded-2xl shadow-2xl w-[600px] border border-slate-200 overflow-hidden animate-in zoom-in-95 duration-200",children:[(0,o.jsxs)("div",{className:"p-4 border-b border-slate-100 bg-slate-50 flex items-center justify-between",children:[(0,o.jsxs)("h3",{className:"text-sm font-black text-slate-800 uppercase tracking-widest flex items-center gap-2",children:[(0,o.jsx)(_.Sparkles,{className:"text-purple-600",size:16}),"AI Suggestion"]}),(0,o.jsx)("button",{onClick:()=>r(null),className:"p-1 hover:bg-white rounded-lg text-slate-400 transition-colors",children:(0,o.jsx)(_.Plus,{className:"rotate-45",size:20})})]}),(0,o.jsx)("div",{className:"p-8 bg-white overflow-y-auto max-h-[400px]",children:(0,o.jsx)("div",{className:"text-lg font-medium text-slate-800 leading-relaxed whitespace-pre-wrap",children:$})}),(0,o.jsxs)("div",{className:"p-6 bg-slate-50 border-t border-slate-100 flex items-center gap-3",children:[(0,o.jsx)("button",{onClick:()=>Te("replace"),style:{backgroundColor:"#0f172a",color:"#ffffff"},className:"flex-1 hover:opacity-90 font-black py-4 rounded-xl transition-all shadow-lg active:scale-95 text-xs uppercase tracking-widest",children:"Replace Original"}),(0,o.jsx)("button",{onClick:()=>Te("addBelow"),style:{backgroundColor:"#ffffff",color:"#0f172a",border:"1px solid #e2e8f0"},className:"flex-1 hover:bg-slate-50 font-black py-4 rounded-xl transition-all shadow-sm active:scale-95 text-xs uppercase tracking-widest",children:"Add Below"}),(0,o.jsx)("button",{onClick:()=>Te("regenerate"),style:{backgroundColor:"#ffffff",color:"#94a3b8",border:"1px solid #e2e8f0"},className:"px-6 hover:bg-slate-50 font-black py-4 rounded-xl transition-all shadow-sm active:scale-95 flex items-center justify-center",title:"Regenerate",children:(0,o.jsx)(_.RefreshCw,{size:18})})]})]})}),q&&(0,o.jsx)(Xe,{presentation:c,initialSlideIndex:y,onClose:tt})]})};0&&(module.exports={PptEditor,PptxExporter,PptxParser});
19
19
  //# sourceMappingURL=index.js.map