slidecanvas 1.0.6 → 1.0.7

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 It=Object.create;var ke=Object.defineProperty,Mt=Object.defineProperties,Pt=Object.getOwnPropertyDescriptor,Ht=Object.getOwnPropertyDescriptors,Tt=Object.getOwnPropertyNames,rt=Object.getOwnPropertySymbols,Bt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable;var ot=(h,t,l)=>t in h?ke(h,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):h[t]=l,S=(h,t)=>{for(var l in t||(t={}))it.call(t,l)&&ot(h,l,t[l]);if(rt)for(var l of rt(t))Rt.call(t,l)&&ot(h,l,t[l]);return h},P=(h,t)=>Mt(h,Ht(t));var Dt=(h,t)=>{for(var l in t)ke(h,l,{get:t[l],enumerable:!0})},st=(h,t,l,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let w of Tt(t))!it.call(h,w)&&w!==l&&ke(h,w,{get:()=>t[w],enumerable:!(p=Pt(t,w))||p.enumerable});return h};var Le=(h,t,l)=>(l=h!=null?It(Bt(h)):{},st(t||!h||!h.__esModule?ke(l,"default",{value:h,enumerable:!0}):l,h)),Vt=h=>st(ke({},"__esModule",{value:!0}),h);var Wt={};Dt(Wt,{PptEditor:()=>Gt,PptxExporter:()=>Ne,PptxParser:()=>Se});module.exports=Vt(Wt);function Oe(h,{insertAt:t}={}){if(!h||typeof document=="undefined")return;let l=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css",t==="top"&&l.firstChild?l.insertBefore(p,l.firstChild):l.appendChild(p),p.styleSheet?p.styleSheet.cssText=h:p.appendChild(document.createTextNode(h))}Oe(`@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-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-\\[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-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-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-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}.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-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-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-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-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\\: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-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 I=require("react");var ae=Le(require("react")),L=require("lucide-react");var nt=require("clsx"),lt=require("tailwind-merge");function Z(...h){return(0,lt.twMerge)((0,nt.clsx)(h))}var e=require("react/jsx-runtime"),Ft=["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"],jt=[12,14,16,18,20,24,28,32,36,48,64,72,96],Zt=[{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"})}},Et=({onAddShape:h,uiScale:t})=>{let[l,p]=(0,ae.useState)(!1);return ae.default.useEffect(()=>(window._toggleShapesMenu=()=>p(!l),()=>{window._toggleShapesMenu=void 0}),[l]),l?(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:Zt.map(w=>(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:w.name}),(0,e.jsx)("div",{className:"grid grid-cols-5 gap-1",children:w.shapes.map(x=>(0,e.jsx)("button",{onClick:()=>{h(x),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:x,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:x,className:"w-full h-full text-slate-400 group-hover:text-blue-600 transition-colors"})})},x))})]},w.name))})}):null},ct=({onAddText:h,onAddImage:t,onAddShape:l,onAddSlide:p,onExport:w,onFormatText:x,onDeleteElement:y,onApplyLayout:C,onPlay:T,selectedElement:n,appName:k,onAiAction:s,onAiResponseAction:v,aiResponse:d,isAiLoading:f,onNewPresentation:z,onLoadPresentation:i,appBgColor:M="#B7472A",uiScale:N,source:b,onGenerateImageClick:F,onUploadImageClick:a})=>{let u=ae.default.useRef(null),[g,R]=(0,ae.useState)("Home"),[A,U]=(0,ae.useState)(!1),[_,re]=(0,ae.useState)(!1),[ee,te]=(0,ae.useState)(!1),[oe,Y]=(0,ae.useState)(!1),[se,he]=(0,ae.useState)("file"),[ne,me]=(0,ae.useState)(""),G=(n==null?void 0:n.type)==="text",ue=(n==null?void 0:n.type)==="shape",fe=(n==null?void 0:n.type)==="image",Te="#B7472A";return(0,e.jsxs)("div",{className:"flex flex-col border-b border-slate-200 bg-white z-50 select-none",style:{fontSize:`${12*N}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*N}px`,overflow:"visible"},children:[(0,e.jsxs)("div",{className:Z("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",N<.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:M}})}),(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(!A),className:Z("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]",A&&"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"})]}),A&&(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:()=>{C("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)(L.FileText,{size:16,className:"text-blue-500"})," Title Slide"]}),(0,e.jsxs)("button",{onClick:()=>{C("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)(L.List,{size:16,className:"text-emerald-500"})," Title & Content"]}),(0,e.jsxs)("button",{onClick:()=>{C("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)(L.Columns,{size:16,className:"text-purple-500"})," Two Columns"]})]})]})]}),N>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Slides"})]}),fe&&(0,e.jsxs)("div",{className:Z("flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2 flex animate-in slide-in-from-left-4 duration-300",N<.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:F,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-blue-50 rounded-lg group 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-600"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-blue-700",children:"AI Generate"})]}),(0,e.jsxs)("button",{onClick:a,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:"p-1.5 rounded-lg group-hover:scale-110 transition-transform text-slate-500",children:(0,e.jsx)(L.Image,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"Change"})]})]}),N>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Image"})]}),(0,e.jsxs)("div",{className:Z("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",N<.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:!G,value:(n==null?void 0:n.fontFamily)||"Arial",onChange:H=>x({fontFamily:H.target.value}),className:Z("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",N<.85?"flex-1":"w-44"),children:Ft.map(H=>(0,e.jsx)("option",{value:H,children:H},H))}),(0,e.jsx)("select",{disabled:!G,value:(n==null?void 0:n.fontSize)||24,onChange:H=>x({fontSize:parseInt(H.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:jt.map(H=>(0,e.jsx)("option",{value:H,children:H},H))})]}),(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:!G,onClick:()=>x({isBold:!n.isBold}),className:Z("p-1.5 rounded-lg transition-all disabled:opacity-30",n!=null&&n.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:!G,onClick:()=>x({isItalic:!n.isItalic}),className:Z("p-1.5 rounded-lg transition-all disabled:opacity-30",n!=null&&n.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:!G,onClick:()=>x({isBulleted:!n.isBulleted}),className:Z("p-1.5 rounded-lg transition-all disabled:opacity-30",n!=null&&n.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:!n,value:G?n.color||"#000000":(n==null?void 0:n.fill)||"#3b82f6",onChange:H=>x(G?{color:H.target.value}:{fill:H.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:G?n.color||"#000000":(n==null?void 0:n.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:!G,onClick:()=>x({textAlign:"left"}),className:Z("p-1 rounded-md transition-all disabled:opacity-30",(n==null?void 0:n.textAlign)==="left"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(n==null?void 0:n.textAlign)==="left"?M:void 0},children:(0,e.jsx)(L.AlignLeft,{size:13})}),(0,e.jsx)("button",{disabled:!G,onClick:()=>x({textAlign:"center"}),className:Z("p-1 rounded-md transition-all disabled:opacity-30",(n==null?void 0:n.textAlign)==="center"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(n==null?void 0:n.textAlign)==="center"?M:void 0},children:(0,e.jsx)(L.AlignCenter,{size:13})}),(0,e.jsx)("button",{disabled:!G,onClick:()=>x({textAlign:"right"}),className:Z("p-1 rounded-md transition-all disabled:opacity-30",(n==null?void 0:n.textAlign)==="right"?"bg-white shadow-sm scale-105":"text-slate-400"),style:{color:(n==null?void 0:n.textAlign)==="right"?M:void 0},children:(0,e.jsx)(L.AlignRight,{size:13})})]})]}),N>=.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 H;return(H=window._toggleShapesMenu)==null?void 0:H.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)(Et,{onAddShape:H=>{l(H)},uiScale:N})]}),(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 H;return(H=u.current)==null?void 0:H.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:u,className:"hidden",accept:"image/*",onChange:H=>{var de;return((de=H.target.files)==null?void 0:de[0])&&t(H.target.files[0])}})]})]}),N>=.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:!G||f,onClick:()=>s(n.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:!G||f,onClick:()=>s(n.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:!G||f,onClick:()=>s(n.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"})]})]}),f&&(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"})}),N>=.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:T,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:w,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"})]}),n&&(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:y,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"})]}),N>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Actions"})]})]}),oe&&(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)(L.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)(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:()=>he("file"),className:Z("flex-1 py-3 text-xs font-black rounded-xl transition-all",se==="file"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"FILE UPLOAD"}),(0,e.jsx)("button",{onClick:()=>he("link"),className:Z("flex-1 py-3 text-xs font-black rounded-xl transition-all",se==="link"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"LINK UPLOAD"})]}),se==="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:H=>{var K;let de=(K=H.target.files)==null?void 0:K[0];de&&(i(de),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:ne,onChange:H=>me(H.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:()=>{ne.trim()&&(i(ne.trim()),Y(!1))},disabled:!ne.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 ve=require("lucide-react"),Q=require("@dnd-kit/core"),ge=require("@dnd-kit/sortable"),pt=require("@dnd-kit/utilities");var V=require("react/jsx-runtime"),dt={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"},Ut=({slide:h,index:t,isActive:l,onSelect:p,onDelete:w,onDuplicate:x,showDelete:y,uiScale:C,appBgColor:T})=>{let{attributes:n,listeners:k,setNodeRef:s,transform:v,transition:d,isDragging:f}=(0,ge.useSortable)({id:h.id}),z={transform:pt.CSS.Transform.toString(v),transition:d,zIndex:f?2:1,opacity:f?.5:1};return(0,V.jsxs)("div",{ref:s,onClick:p,className:Z("cursor-pointer border-[1.5px] border-solid p-2 transition-all duration-300 group relative select-none",l?"bg-white":"border-transparent hover:border-slate-200 bg-white/50 hover:bg-white"),style:P(S({},z),{borderColor:l?T:void 0}),children:[(0,V.jsxs)("div",{className:Z("text-[10px] font-bold mb-1 flex items-center justify-between transition-colors",!l&&"text-slate-400"),style:{color:l?T:void 0},children:[(0,V.jsxs)("div",{className:"flex items-center gap-1",children:[(0,V.jsx)("div",P(S(S({},n),k),{className:"cursor-grab active:cursor-grabbing p-0.5 hover:bg-slate-100 text-slate-300 hover:text-slate-500",children:(0,V.jsx)(ve.GripVertical,{size:10})})),(0,V.jsxs)("span",{children:["SLIDE ",t+1]})]}),(0,V.jsxs)("div",{className:"flex items-center gap-1",children:[l&&(0,V.jsx)("span",{className:"h-1.5 w-1.5",style:{backgroundColor:T}}),(0,V.jsxs)("div",{className:"flex items-center opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,V.jsx)("button",{onClick:i=>{i.stopPropagation(),x()},className:"p-1 hover:bg-blue-50 text-slate-400 hover:text-blue-500 transition-all",title:"Duplicate Slide",children:(0,V.jsx)(ve.Copy,{size:12})}),y&&(0,V.jsx)("button",{onClick:i=>{i.stopPropagation(),w()},className:"p-1 hover:bg-red-50 text-red-400 hover:text-red-500 transition-all",title:"Delete Slide",children:(0,V.jsx)(ve.Trash2,{size:12})})]})]})]}),(0,V.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,V.jsx)("div",{className:"origin-center pointer-events-none select-none shrink-0",style:{width:"1200px",height:"675px",transform:`scale(${180*C/1200})`,backgroundColor:"#ffffff"},children:h.elements.sort((i,M)=>(i.zIndex||0)-(M.zIndex||0)).map(i=>{var N;let M={position:"absolute",left:i.x,top:i.y,width:i.width,height:i.height,opacity:(N=i.opacity)!=null?N:1};if(i.type==="text")return(0,V.jsx)("div",{style:P(S({},M),{fontSize:i.fontSize,fontFamily:i.fontFamily,color:i.color,textAlign:i.textAlign||"left",fontWeight:i.isBold?"bold":"normal",fontStyle:i.isItalic?"italic":"normal",lineHeight:1.2,overflow:"hidden",wordBreak:"break-word",whiteSpace:"pre-wrap"}),children:i.content},i.id);if(i.type==="shape"){let b=dt[i.shapeType]||(i.shapeType==="ellipse"?dt.circle:null);return b?(0,V.jsx)("svg",{viewBox:"0 0 24 24",style:P(S({},M),{fill:i.fill}),preserveAspectRatio:"none",children:(0,V.jsx)("path",{d:b})},i.id):(0,V.jsx)("div",{style:P(S({},M),{backgroundColor:i.fill,borderRadius:i.shapeType==="ellipse"?"50%":"0"})},i.id)}else if(i.type==="image")return(0,V.jsx)("img",{src:i.src,alt:"",style:P(S({},M),{objectFit:"contain"})},i.id);return null})})})]})},gt=({slides:h,currentSlideIndex:t,onSelectSlide:l,onDeleteSlide:p,onDuplicateSlide:w,onReorderSlides:x,uiScale:y,appBgColor:C="#B7472A"})=>{let T=(0,Q.useSensors)((0,Q.useSensor)(Q.PointerSensor,{activationConstraint:{distance:5}}),(0,Q.useSensor)(Q.KeyboardSensor,{coordinateGetter:ge.sortableKeyboardCoordinates})),n=k=>{let{active:s,over:v}=k;if(s.id!==(v==null?void 0:v.id)){let d=h.findIndex(z=>z.id===s.id),f=h.findIndex(z=>z.id===(v==null?void 0:v.id));x(d,f)}};return(0,V.jsx)("div",{className:"bg-white border-r border-slate-100 overflow-y-auto p-4 flex flex-col gap-4",style:{width:`${256*y}px`},children:(0,V.jsx)(Q.DndContext,{sensors:T,collisionDetection:Q.closestCenter,onDragEnd:n,children:(0,V.jsx)(ge.SortableContext,{items:h.map(k=>k.id),strategy:ge.verticalListSortingStrategy,children:h.map((k,s)=>(0,V.jsx)(Ut,{slide:k,index:s,isActive:s===t,onSelect:()=>l(s),onDelete:()=>p(s),onDuplicate:()=>w(s),showDelete:h.length>1,uiScale:y,appBgColor:C},k.id))})})})};var W=require("react"),E=Le(require("fabric"));var Pe=require("react/jsx-runtime"),Ot={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"},He=({slide:h,onElementUpdate:t,onSelect:l,uiScale:p,onSlashCommand:w})=>{let x=(0,W.useRef)(null),y=(0,W.useRef)(null),C=(0,W.useRef)(!1),T=(0,W.useRef)(t),n=(0,W.useRef)(l),k=(0,W.useRef)(null),[s,v]=(0,W.useState)(1),[d,f]=(0,W.useState)(!1),z=(0,W.useRef)({x:0,y:0});return(0,W.useEffect)(()=>{if(!k.current)return;let i=new ResizeObserver(M=>{let N=M[0];if(N){let{width:b,height:F}=N.contentRect,a=b/1200,u=F/675,g=Math.min(a,u)*.95;v(g)}});return i.observe(k.current),()=>i.disconnect()},[]),(0,W.useEffect)(()=>{T.current=t,n.current=l},[t,l]),(0,W.useEffect)(()=>{if(x.current&&!y.current){let i=new E.Canvas(x.current,{width:1200,height:675,backgroundColor:"white",selection:!0,preserveObjectStacking:!0});y.current=i,f(!0);let M=a=>{a.left<0&&a.set("left",0),a.top<0&&a.set("top",0);let u=a.getBoundingRect();u.left+u.width>(i.width||1200)&&a.set("left",(i.width||1200)-u.width),u.top+u.height>(i.height||675)&&a.set("top",(i.height||675)-u.height)};i.on("object:moving",a=>M(a.target)),i.on("object:scaling",a=>M(a.target));let N=a=>{var R;if(C.current)return;let u=a.target,g=(R=u.get("data"))==null?void 0:R.id;u&&g&&T.current(g,S({x:u.left,y:u.top,width:u.getScaledWidth(),height:u.getScaledHeight()},u.isType("textbox")?{content:u.text,textAlign:u.textAlign,fontSize:u.fontSize,fontFamily:u.fontFamily,color:u.fill}:{fill:u.fill}))};i.on("object:modified",N),i.on("text:changed",N);let b=a=>{var g,R;let u=((g=a.selected)==null?void 0:g[0])||a.target;if(u){let A=(R=u.get("data"))==null?void 0:R.id;n.current(A)}};i.on("selection:created",b),i.on("selection:updated",b),i.on("selection:cleared",()=>n.current(null)),i.on("mouse:move",a=>{a.pointer&&(z.current={x:a.pointer.x,y:a.pointer.y})});let F=a=>{var U;let u=y.current;if(!u)return;let g=u.getActiveObject();if(a.key==="/"){a.preventDefault();let _=0,re=0,ee=(U=x.current)==null?void 0:U.getBoundingClientRect();if(g&&g.isType("textbox")&&g.isEditing&&ee){let te=g,oe=te.get2DCursorLocation(),Y=te.getCursorCoords(oe);if(Y){let se=E.util.transformPoint(new E.Point(Y.left,Y.top),te.calcTransformMatrix()),he=u.viewportTransform||[1,0,0,1,0,0],ne=E.util.transformPoint(se,he);_=ee.left+ne.x*s,re=ee.top+ne.y*s}}else if(ee){let te=u.viewportTransform||[1,0,0,1,0,0],oe=E.util.transformPoint(new E.Point(z.current.x,z.current.y),te);_=ee.left+oe.x*s,re=ee.top+oe.y*s}_&&re&&w({x:_,y:re+20});return}if(g&&g.isType("textbox")&&g.isEditing||!g)return;let R=a.shiftKey?10:1,A=!1;switch(a.key){case"ArrowLeft":g.set("left",g.left-R),A=!0;break;case"ArrowRight":g.set("left",g.left+R),A=!0;break;case"ArrowUp":g.set("top",g.top-R),A=!0;break;case"ArrowDown":g.set("top",g.top+R),A=!0;break}A&&(M(g),u.requestRenderAll(),N({target:g}))};window.addEventListener("keydown",F),i._keyboardListener=F}return()=>{if(y.current){let i=y.current._keyboardListener;i&&window.removeEventListener("keydown",i),y.current.dispose(),y.current=null}}},[]),(0,W.useEffect)(()=>{if(!y.current)return;let i=y.current;(async()=>{C.current=!0;let N=i.getObjects(),b=new Set(h.elements.map(a=>a.id));N.forEach(a=>{var g;let u=(g=a.get("data"))==null?void 0:g.id;u&&!b.has(u)&&i.remove(a)});let F=[...h.elements].sort((a,u)=>(a.zIndex||0)-(u.zIndex||0));for(let a of F){let u=N.find(g=>{var R;return((R=g.get("data"))==null?void 0:R.id)===a.id});if(u){if(u===i.getActiveObject()&&u.isType("textbox")&&u.isEditing)continue;let g={left:a.x,top:a.y,opacity:a.opacity!==void 0?a.opacity:1,zIndex:a.zIndex};a.type==="text"&&u.isType("textbox")?(g.text=a.content||" ",g.fontSize=a.fontSize||22,g.fill=a.color||"#000000",g.textAlign=a.textAlign||"left",g.fontWeight=a.isBold?"bold":"normal",g.fontStyle=a.isItalic?"italic":"normal",g.fontFamily=a.fontFamily||"Arial",g.width=Math.max(a.width||50,10)):a.type==="shape"?(g.fill=a.fill||"#cccccc",g.scaleX=(a.width||50)/(u.width||1),g.scaleY=(a.height||50)/(u.height||1)):a.type==="image"&&(g.scaleX=(a.width||100)/(u.width||1),g.scaleY=(a.height||100)/(u.height||1)),u.set(g)}else{let g=null,R={left:a.x,top:a.y,data:{id:a.id},originX:"left",originY:"top",opacity:a.opacity!==void 0?a.opacity:1};if(a.type==="text")g=new E.Textbox(a.content||" ",P(S({},R),{width:Math.max(a.width||200,10),fontSize:a.fontSize||22,fill:a.color||"#000000",fontFamily:a.fontFamily||"Inter, Arial, sans-serif",textAlign:a.textAlign||"left",fontWeight:a.isBold?"bold":"normal",fontStyle:a.isItalic?"italic":"normal",splitByGrapheme:!1}));else if(a.type==="shape"){let A=a.fill||"#3b82f6";if(a.shapeType==="ellipse")g=new E.Circle(P(S({},R),{radius:(a.width||100)/2,scaleY:(a.height||100)/(a.width||100),fill:A}));else if(a.shapeType==="rect")g=new E.Rect(P(S({},R),{width:a.width||100,height:a.height||100,fill:A}));else{let U=Ot[a.shapeType];if(U){g=new E.Path(U,P(S({},R),{fill:A}));let _=g;_.set({scaleX:(a.width||100)/(_.width||1),scaleY:(a.height||100)/(_.height||1)})}else g=new E.Rect(P(S({},R),{width:a.width||100,height:a.height||100,fill:A}))}}else if(a.type==="image")try{let A=await E.FabricImage.fromURL(a.src);A.set(P(S({},R),{scaleX:(a.width||100)/(A.width||1),scaleY:(a.height||100)/(A.height||1)})),g=A}catch(A){console.error(A)}g&&i.add(g)}}i.renderAll(),C.current=!1})()},[h,d]),(0,Pe.jsx)("div",{ref:k,className:"w-full h-full flex items-center justify-center overflow-hidden relative",children:(0,Pe.jsx)("div",{className:"border border-slate-200 overflow-hidden bg-white shadow-xl transition-all duration-300 ease-out shrink-0",style:{transform:`scale(${s})`,transformOrigin:"center center"},children:(0,Pe.jsx)("canvas",{ref:x})})})};var ht=Le(require("pptxgenjs"));var Ne=class{async export(t){var n,k;let l=new ht.default,p=((n=t.layout)==null?void 0:n.width)||12192e3,w=((k=t.layout)==null?void 0:k.height)||6858e3,x=1200,y=675,C=s=>s/x*(p/914400),T=s=>s/y*(w/914400);t.slides.forEach(s=>{let v=l.addSlide();[...s.elements].sort((f,z)=>f.zIndex-z.zIndex).forEach(f=>{var M,N;let z=f.opacity!==void 0?(1-f.opacity)*100:0,i={x:C(f.x),y:T(f.y),w:C(f.width),h:T(f.height)};if(f.type==="text")v.addText(f.content,P(S({},i),{fontSize:(f.fontSize||18)/2,color:((M=f.color)==null?void 0:M.replace("#",""))||"000000",fontFace:f.fontFamily||"Arial"}));else if(f.type==="image")v.addImage(P(S({},i),{path:f.src,transparency:z}));else if(f.type==="shape"){let b=f.shapeType==="ellipse"?l.ShapeType.ellipse:l.ShapeType.rect;v.addShape(b,P(S({},i),{fill:{color:((N=f.fill)==null?void 0:N.replace("#",""))||"CCCCCC",transparency:z>0?Math.min(z+10,100):0}}))}})}),await l.writeFile({fileName:"presentation.pptx"})}};var mt=Le(require("jszip")),Se=class{constructor(){this.slideWidth=12192e3;this.slideHeight=6858e3;this.CANVAS_WIDTH=1200;this.CANVAS_HEIGHT=675}async parse(t){var k,s;let l=t;if(typeof t=="string"){let v=await fetch(t);if(!v.ok){let d=v.status,f=v.statusText,z="";try{let i=await v.json();z=i.details||i.error||""}catch(i){}throw new Error(`Failed to fetch PPTX from ${t}: ${d} ${f} ${z?`(${z})`:""}`)}l=await v.arrayBuffer()}let p=await mt.default.loadAsync(l),w=await((k=p.file("ppt/presentation.xml"))==null?void 0:k.async("string"));if(!w)throw new Error("Invalid PPTX");let y=new DOMParser().parseFromString(w,"text/xml"),C=this.findFirstByLocalName(y,"sldSz");C&&(this.slideWidth=parseInt(this.getAttr(C,"cx")||"12192000"),this.slideHeight=parseInt(this.getAttr(C,"cy")||"6858000"));let T=Array.from(y.getElementsByTagNameNS("*","sldId")),n=[];for(let v=0;v<T.length;v++){let d=v+1,f=`ppt/slides/slide${d}.xml`,z=await((s=p.file(f))==null?void 0:s.async("string"));if(z){let i=await this.parseSlide(z,d,p);n.push(i)}}return{slides:n,layout:{width:this.slideWidth,height:this.slideHeight}}}getAttr(t,l){return t.getAttribute(l)||t.getAttribute(`a:${l}`)||t.getAttribute(`p:${l}`)||t.getAttribute(`r:${l}`)}findFirstByLocalName(t,l){let p=t.getElementsByTagNameNS("*",l);return p.length>0?p[0]:null}findAllByLocalName(t,l){return Array.from(t.getElementsByTagNameNS("*",l))}scaleX(t){return t/this.slideWidth*this.CANVAS_WIDTH}scaleY(t){return t/this.slideHeight*this.CANVAS_HEIGHT}parseColor(t){let l=this.findFirstByLocalName(t,"srgbClr");if(l){let w=`#${this.getAttr(l,"val")}`,x=this.findFirstByLocalName(l,"alpha"),y=x?parseInt(this.getAttr(x,"val")||"100000")/1e5:1;return{color:w,opacity:y}}let p=this.findFirstByLocalName(t,"schemeClr");if(p){let w=this.findFirstByLocalName(p,"alpha");return{color:"#000000",opacity:w?parseInt(this.getAttr(w,"val")||"100000")/1e5:1}}return{color:"#000000",opacity:1}}async resolveImage(t,l,p){var n,k;let w=await((n=p.file(`ppt/slides/_rels/slide${l}.xml.rels`))==null?void 0:n.async("string"));if(!w)return null;let y=new DOMParser().parseFromString(w,"text/xml"),C=Array.from(y.getElementsByTagName("Relationship")).find(s=>s.getAttribute("Id")===t),T=C==null?void 0:C.getAttribute("Target");if(T){let s=(T.startsWith("../")?`ppt/${T.substring(3)}`:`ppt/slides/${T}`).replace("ppt/slides/../","ppt/");return await((k=p.file(s))==null?void 0:k.async("blob"))||null}return null}async parseSlide(t,l,p){let x=new DOMParser().parseFromString(t,"text/xml"),y=[],C=0,T=this.findFirstByLocalName(x,"bg");if(T){let s=this.findFirstByLocalName(T,"blip"),v=(s==null?void 0:s.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(s==null?void 0:s.getAttribute("r:embed"));if(v){let d=await this.resolveImage(v,l,p);d&&y.push({id:`bg-${l}`,type:"image",src:URL.createObjectURL(d),x:0,y:0,width:this.CANVAS_WIDTH,height:this.CANVAS_HEIGHT,zIndex:C++,opacity:1})}}let n=this.findFirstByLocalName(x,"spTree");if(!n)return{id:`slide-${l}`,elements:y};let k=Array.from(n.children);for(let s of k){let v=s.localName;if(v==="sp"){let d=this.findFirstByLocalName(s,"txBody"),f=this.findFirstByLocalName(s,"xfrm"),z=f?this.findFirstByLocalName(f,"off"):null,i=f?this.findFirstByLocalName(f,"ext"):null;if(d&&z&&i){let N=this.findAllByLocalName(d,"p"),b="",F=18,a="#000000",u=1,g=!1;for(let R of N){let A=this.findFirstByLocalName(R,"pPr"),U=A?this.findFirstByLocalName(A,"buNone"):null;A&&!U&&(this.findFirstByLocalName(A,"buChar")||this.findFirstByLocalName(A,"buAutoNum"))&&(g=!0,b+="\u2022 ");let _=this.findAllByLocalName(R,"r");for(let re of _){let ee=this.findFirstByLocalName(re,"t");ee&&(b+=ee.textContent);let te=this.findFirstByLocalName(re,"rPr");if(te){let oe=this.getAttr(te,"sz");oe&&(F=parseInt(oe)/100*2);let Y=this.parseColor(te);a=Y.color,u=Y.opacity}}b+=`
4
+ `}if(b.trim()){y.push({id:`el-${l}-${Date.now()}-${C}`,type:"text",content:b.trim(),x:this.scaleX(parseInt(this.getAttr(z,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(z,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(i,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(i,"cy")||"0")),fontSize:F,color:a,fontFamily:"Arial",zIndex:C++,isBulleted:g,opacity:u});continue}}let M=this.findFirstByLocalName(s,"prstGeom");if(M&&z&&i){let N=this.getAttr(M,"prst")||"rect",b=this.findFirstByLocalName(s,"spPr"),F=b?this.parseColor(b):{color:"#cccccc",opacity:1},a={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"};y.push({id:`el-${l}-${Date.now()}-${C}`,type:"shape",shapeType:a[N]||"rect",fill:F.color,opacity:F.opacity,x:this.scaleX(parseInt(this.getAttr(z,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(z,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(i,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(i,"cy")||"0")),zIndex:C++})}}if(v==="pic"){let d=this.findFirstByLocalName(s,"blip"),f=(d==null?void 0:d.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(d==null?void 0:d.getAttribute("r:embed")),z=this.findFirstByLocalName(s,"xfrm"),i=z?this.findFirstByLocalName(z,"off"):null,M=z?this.findFirstByLocalName(z,"ext"):null;if(f&&i&&M){let N=await this.resolveImage(f,l,p);N&&y.push({id:`el-${l}-${Date.now()}-${C}`,type:"image",src:URL.createObjectURL(N),x:this.scaleX(parseInt(this.getAttr(i,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(i,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(M,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(M,"cy")||"0")),zIndex:C++,opacity:1})}}}return{id:`slide-${l}`,elements:y}}};var be=require("react"),we=require("lucide-react");var X=require("react/jsx-runtime"),Ge=({presentation:h,initialSlideIndex:t,onClose:l})=>{let[p,w]=(0,be.useState)(t),x=h.slides[p],y=()=>{p>0&&w(p-1)},C=()=>{p<h.slides.length-1&&w(p+1)};(0,be.useEffect)(()=>{let k=s=>{s.key==="ArrowRight"||s.key===" "||s.key==="PageDown"?C():s.key==="ArrowLeft"||s.key==="Backspace"||s.key==="PageUp"?y():s.key==="Escape"&&l()};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[p]);let[T,n]=(0,be.useState)(1);return(0,be.useEffect)(()=>{let k=()=>{let v=window.innerWidth-40,d=window.innerHeight-40,f=1200,z=675,i=v/f,M=d/z,N=Math.min(i,M);n(N)};return k(),window.addEventListener("resize",k),()=>window.removeEventListener("resize",k)},[]),(0,X.jsxs)("div",{className:"fixed inset-0 z-[99999] bg-[#0A0A0A] flex flex-col items-center justify-center overflow-hidden",children:[(0,X.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,X.jsxs)("div",{className:"text-white/80 font-bold ml-4 pointer-events-auto",children:["Slide ",p+1," of ",h.slides.length]}),(0,X.jsx)("button",{onClick:l,className:"p-3 bg-white/10 hover:bg-white/20 text-white rounded-full transition-all pointer-events-auto",children:(0,X.jsx)(we.X,{size:24})})]}),(0,X.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,X.jsx)("div",{className:"relative shadow-2xl shadow-black/80 bg-white",style:{width:"1200px",height:"675px",transform:`scale(${T})`,transformOrigin:"center center"},children:(0,X.jsx)(He,{slide:x,onElementUpdate:()=>{},onSelect:()=>{},uiScale:.75,onSlashCommand:()=>{}})})}),(0,X.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,X.jsx)("button",{disabled:p===0,onClick:y,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,X.jsx)(we.ChevronLeft,{size:32})}),(0,X.jsx)("div",{className:"h-6 w-[1px] bg-white/10"}),(0,X.jsx)("button",{disabled:p===h.slides.length-1,onClick:C,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,X.jsx)(we.ChevronRight,{size:32})})]})]})};var ft=require("@google/generative-ai");var q=Le(require("react")),j=require("lucide-react");var D=require("react/jsx-runtime"),ut=({onClose:h,onAction:t,position:l,canUseAi:p})=>{let[w,x]=(0,q.useState)(""),[y,C]=(0,q.useState)(0),T=(0,q.useRef)(null),n=(0,q.useMemo)(()=>{let s=[{id:"generate-image",label:"AI Generate Image",icon:j.Sparkles,category:"AI",description:"Create an image with AI prompt",action:()=>t("generate-image")},{id:"text",label:"Text Box",icon:j.Type,category:"Basic",description:"Insert a new text element",action:()=>t("add-text")},{id:"image",label:"Image",icon:j.Image,category:"Basic",description:"Upload and insert an image",action:()=>t("add-image")},{id:"new-slide",label:"New Slide",icon:j.PlusCircle,category:"Canvas",description:"Add a fresh slide to deck",action:()=>t("add-slide")},{id:"rect",label:"Rectangle",icon:j.Square,category:"Shapes",action:()=>t("add-shape","rect")},{id:"circle",label:"Circle",icon:j.Circle,category:"Shapes",action:()=>t("add-shape","circle")},{id:"triangle",label:"Triangle",icon:j.Triangle,category:"Shapes",action:()=>t("add-shape","triangle")},{id:"star5",label:"Star",icon:j.Star,category:"Shapes",action:()=>t("add-shape","star5")},{id:"arrowRight",label:"Arrow",icon:j.ArrowRight,category:"Shapes",action:()=>t("add-shape","arrowRight")}];return p&&s.unshift({id:"ai-reframe",label:"AI Reframe",icon:j.Sparkles,category:"AI",description:"Reword selected text",action:()=>t("ai-action","reframe")},{id:"ai-shorten",label:"AI Shorten",icon:j.Sparkles,category:"AI",description:"Summarize selected text",action:()=>t("ai-action","shorten")},{id:"ai-lengthen",label:"AI Lengthen",icon:j.Sparkles,category:"AI",description:"Expand selected text",action:()=>t("ai-action","lengthen")}),s},[t,p]),k=(0,q.useMemo)(()=>n.filter(s=>s.label.toLowerCase().includes(w.toLowerCase())||s.category.toLowerCase().includes(w.toLowerCase())),[n,w]);return(0,q.useEffect)(()=>{C(0)},[w]),(0,q.useEffect)(()=>{let s=v=>{v.key==="ArrowDown"?(v.preventDefault(),C(d=>(d+1)%k.length)):v.key==="ArrowUp"?(v.preventDefault(),C(d=>(d-1+k.length)%k.length)):v.key==="Enter"?(v.preventDefault(),k[y]&&k[y].action()):v.key==="Escape"&&(v.preventDefault(),h())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[k,y,h]),(0,q.useEffect)(()=>{if(T.current){let s=T.current.children[y];s&&s.scrollIntoView({block:"nearest"})}},[y]),k.length===0&&w===""?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:`${l.x}px`,top:`${l.y}px`,maxHeight:"400px"},onClick:s=>s.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)(j.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:w,onChange:s=>x(s.target.value)})]}),(0,D.jsx)("div",{ref:T,className:"overflow-y-auto py-2 px-1 custom-scrollbar",children:k.length>0?k.map((s,v)=>{let d=v===y,f=v===0||k[v-1].category!==s.category;return(0,D.jsxs)(q.default.Fragment,{children:[f&&(0,D.jsx)("div",{className:"px-3 py-1.5 text-[10px] uppercase tracking-wider font-bold text-slate-400",children:s.category}),(0,D.jsxs)("button",{className:Z("w-full flex items-center gap-3 px-3 py-2 text-left transition-all duration-150 rounded-lg group",d?"bg-slate-100":"hover:bg-slate-50"),onClick:()=>s.action(),onMouseEnter:()=>C(v),children:[(0,D.jsx)("div",{className:Z("p-1.5 rounded-md transition-colors",d?"bg-white shadow-sm text-blue-600":"bg-slate-100 text-slate-500 group-hover:text-slate-700"),children:(0,D.jsx)(s.icon,{size:16})}),(0,D.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,D.jsx)("span",{className:Z("text-sm font-semibold truncate",d?"text-slate-900":"text-slate-700"),children:s.label}),s.description&&(0,D.jsx)("span",{className:"text-[11px] text-slate-400 truncate leading-tight",children:s.description})]}),d&&(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"})})]})]},s.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)(j.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 "',w,'"']})]})}),(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 O=require("lucide-react");var o=require("react/jsx-runtime"),Gt=({initialPresentation:h,url:t,appName:l="SlideCanvas",onChange:p,geminiApiKey:w,width:x,height:y,appBgColor:C="#B7472A",showHomeOnEmpty:T=!1,initialSource:n,onSourceChange:k,proxyUrl:s,onGenerateImage:v})=>{var at;let[d,f]=(0,I.useState)(h||{slides:[{id:"slide-1",elements:[]}],layout:{width:12192e3,height:6858e3}}),[z,i]=(0,I.useState)([]),[M,N]=(0,I.useState)([]),[b,F]=(0,I.useState)(0),[a,u]=(0,I.useState)(null),[g,R]=(0,I.useState)(!1),[A,U]=(0,I.useState)(null),[_,re]=(0,I.useState)(!1),[ee,te]=(0,I.useState)(n||(t?"url":null)),[oe,Y]=(0,I.useState)(T&&!h&&!t&&!n),[se,he]=(0,I.useState)(""),[ne,me]=(0,I.useState)({visible:!1,position:{x:0,y:0}}),[G,ue]=(0,I.useState)(!1),[fe,Te]=(0,I.useState)(""),[H,de]=(0,I.useState)(!1),[K,Ce]=(0,I.useState)(null),[Be,We]=(0,I.useState)(!1),[Xe,Re]=(0,I.useState)(!1);(0,I.useEffect)(()=>{K&&(We(!1),Re(!0))},[K]),(0,I.useEffect)(()=>{t&&Me(t)},[t]);let[vt,De]=(0,I.useState)(!1),[xe,Ye]=(0,I.useState)(null),ze=(0,I.useMemo)(()=>{let r=typeof x=="number"?x:parseInt(String(x));return isNaN(r)?1:Math.min(Math.max(r/1600,.7),1)},[x]),ie=d.slides[b],bt=(0,I.useMemo)(()=>ie.elements.find(r=>r.id===a)||null,[ie,a]),ye=(0,I.useCallback)(r=>{i(c=>[...c.slice(-19),d]),N([]),f(r),p==null||p(r)},[p,d]),_e=()=>{if(z.length===0)return;let r=z[z.length-1];N(c=>[...c,d]),i(c=>c.slice(0,-1)),f(r)},Ve=()=>{if(M.length===0)return;let r=M[M.length-1];i(c=>[...c,d]),N(c=>c.slice(0,-1)),f(r)},pe=(0,I.useCallback)(r=>{f(c=>{let m=[...c.slides];m[b]=S(S({},m[b]),r);let B=P(S({},c),{slides:m});return i($=>[...$.slice(-19),c]),N([]),p==null||p(B),B})},[b,p]),Ae=(0,I.useCallback)((r,c)=>{f(m=>{let B=m.slides[b],$=B.elements.map(le=>le.id===r?S(S({},le),c):le),J=[...m.slides];J[b]=P(S({},B),{elements:$});let ce=P(S({},m),{slides:J});return p==null||p(ce),ce})},[b,p]),wt=r=>{if(!a)return;if(ie.elements.find(m=>m.id===a)){Ae(a,r);let m=d.slides[b],B=m.elements.map(J=>J.id===a?S(S({},J),r):J),$=[...d.slides];$[b]=P(S({},m),{elements:B}),ye(P(S({},d),{slides:$}))}},Fe=(0,I.useCallback)(()=>{if(!a)return;let c=d.slides[b].elements.filter(m=>m.id!==a);pe({elements:c}),u(null)},[a,b,d,pe]),qe=()=>{let r={id:`text-${Date.now()}`,type:"text",content:"New Text",x:100,y:100,width:400,height:100,fontSize:48,fontFamily:"Arial",color:"#000000",zIndex:ie.elements.length};pe({elements:[...ie.elements,r]})},je=(0,I.useCallback)(async r=>{let c="";typeof r=="string"?c=r:c=await new Promise($=>{let J=new FileReader;J.onload=ce=>{var le;return $((le=ce.target)==null?void 0:le.result)},J.readAsDataURL(r)});let m=`img-${Date.now()}`,B={id:m,type:"image",src:c,x:100,y:100,width:400,height:250,zIndex:ie.elements.length};pe({elements:[...ie.elements,B]}),u(m)},[ie.elements,pe,u]),Ke=r=>{let c={id:`shape-${Date.now()}`,type:"shape",shapeType:r,fill:"#3b82f6",x:200,y:200,width:200,height:200,zIndex:ie.elements.length};pe({elements:[...ie.elements,c]})},Je=()=>{let r={id:`slide-${Date.now()}`,elements:[]};ye(P(S({},d),{slides:[...d.slides,r]})),F(d.slides.length)},xt=r=>{if(d.slides.length<=1)return;let c=d.slides.filter((m,B)=>B!==r);ye(P(S({},d),{slides:c})),r<=b&&F(Math.max(0,b-1))},yt=r=>{let c=d.slides[r],m=P(S({},c),{id:`slide-${Date.now()}`,elements:c.elements.map($=>P(S({},$),{id:`${$.type}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}))}),B=[...d.slides];B.splice(r+1,0,m),ye(P(S({},d),{slides:B})),F(r+1)},kt=(r,c)=>{if(r===c)return;let m=[...d.slides],[B]=m.splice(r,1);m.splice(c,0,B),ye(P(S({},d),{slides:m})),b===r?F(c):b>r&&b<=c?F(b-1):b<r&&b>=c&&F(b+1)},Lt=r=>{let c=[],m=Date.now();r==="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}]:r==="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
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}]:r==="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}]),pe({elements:c})},Ze=async(r,c)=>{let B=d.slides[b].elements.find($=>$.id===r);if(!(!B||B.type!=="text")){De(!0),U(null),Ye({id:r,action:c});try{if(!w){U("Gemini API key is missing. Please provide it via the 'geminiApiKey' prop."),De(!1);return}let J=new ft.GoogleGenerativeAI(w).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.`}),ce=B.fontSize>32?"Title/Headline":"Body Text/List",le=`Action: ${c.toUpperCase()}
15
+ Text Role: ${ce}
16
+ Original Text: "${B.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:`,At=await(await J.generateContent(le)).response;U(At.text().trim())}catch($){console.error("Gemini AI Error:",$),U("Error generating response. Please check your API key or connection.")}finally{De(!1)}}},Ie=r=>{if(!A||!xe)return;if(r==="regenerate"){Ze(xe.id,xe.action);return}let c=d.slides[b],m=c.elements.find(B=>B.id===xe.id);if(!(!m||m.type!=="text")){if(r==="replace")Ae(xe.id,{content:A});else if(r==="addBelow"){let B=P(S({},m),{id:`text-ai-${Date.now()}`,content:A,y:m.y+m.height+20,zIndex:c.elements.length});pe({elements:[...c.elements,B]})}U(null),Ye(null)}},Nt=async()=>{await new Ne().export(d)},Xt=()=>{R(!0);let r=document.documentElement;r.requestFullscreen&&r.requestFullscreen()},Qe=()=>{R(!1),document.fullscreenElement&&document.exitFullscreen()};(0,I.useEffect)(()=>{let r=()=>{document.fullscreenElement||R(!1)};return document.addEventListener("fullscreenchange",r),()=>document.removeEventListener("fullscreenchange",r)},[]),(0,I.useEffect)(()=>{let r=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;Fe()}(c.ctrlKey||c.metaKey)&&(c.key==="z"&&(c.preventDefault(),c.shiftKey?Ve():_e()),c.key==="y"&&(c.preventDefault(),Ve()))};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[Fe,_e,Ve]);let $e=(r,c)=>{te(r),k==null||k(r,c)},et=()=>{f({slides:[{id:`slide-${Date.now()}`,elements:[]}],layout:{width:12192e3,height:6858e3}}),F(0),u(null),$e("scratch")},Me=async r=>{re(!0);try{let c=new Se,m=r;if(typeof r=="string"){let $=r.trim();m=s?`${s}${s.includes("?")?"&":"?"}url=${encodeURIComponent($)}`:$,$e("url",$)}else $e("uploaded");let B=await c.parse(m);f(B),i([]),N([]),F(0),u(null)}catch(c){console.error("Failed to load PPTX",c),alert("Failed to load presentation. Please ensure it is a valid .pptx.")}finally{re(!1)}},St=(r,c)=>{switch(me(m=>P(S({},m),{visible:!1})),r){case"add-text":qe();break;case"add-image":tt();break;case"add-shape":Ke(c);break;case"new-slide":Je();break;case"ai-action":Ze(a||"",c);break;case"generate-image":ue(!0);break}},Ct=async()=>{if(fe.trim()){de(!0);try{let r="";if(v)r=await v(fe);else throw w?new Error("Internal image generation requires onGenerateImage prop or specific endpoint configuration."):new Error("No image generation function or Gemini API key provided.");Ce(r),ue(!1),Te("")}catch(r){console.error("Image generation failed:",r),alert("Image generation failed: "+(r instanceof Error?r.message:"Unknown error"))}finally{de(!1)}}},Ee=r=>{if(r==="insert"&&K)je(K);else if(r==="replace"&&K&&a){let c=d.slides[b].elements.find(m=>m.id===a);c&&c.type==="image"?Ae(a,{src:K}):je(K)}Ce(null)},tt=()=>{let r=document.createElement("input");r.type="file",r.accept="image/*",r.onchange=async c=>{var B;let m=(B=c.target.files)==null?void 0:B[0];if(m){let $=await new Promise(J=>{let ce=new FileReader;ce.onload=le=>{var Ue;return J((Ue=le.target)==null?void 0:Ue.result)},ce.readAsDataURL(m)});Ce($)}},r.click()},zt=(0,I.useCallback)(r=>!s||!r||r.startsWith("data:")||r.includes("localhost")||r.includes("127.0.0.1")?r:`${s}?url=${encodeURIComponent(r)}`,[s]);return!x||!y?(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 x=="number"?`${x}px`:x,height:typeof y=="number"?`${y}px`:y,fontSize:`${16*ze}px`},children:[oe&&(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:l}),(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:()=>{et(),Y(!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:r=>{var m;let c=(m=r.target.files)==null?void 0:m[0];c&&(Me(c),Y(!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:se,onChange:r=>he(r.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:()=>{se.trim()&&(Me(se.trim()),Y(!1))},disabled:!se.trim()||_,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:_?(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"})]})]})}),g&&(0,o.jsx)(Ge,{presentation:d,initialSlideIndex:b,onClose:Qe}),(0,o.jsx)(ct,{onAddText:qe,onAddImage:je,onAddShape:Ke,onAddSlide:Je,onExport:Nt,onFormatText:wt,onDeleteElement:Fe,onGenerateImageClick:()=>ue(!0),onUploadImageClick:tt,onApplyLayout:Lt,onPlay:()=>R(!0),onAiAction:Ze,onAiResponseAction:Ie,onNewPresentation:et,onLoadPresentation:Me,aiResponse:A,isAiLoading:vt,selectedElement:bt,appName:l,appBgColor:C,uiScale:ze,source:ee}),(0,o.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,o.jsx)(gt,{slides:d.slides,currentSlideIndex:b,onSelectSlide:F,onDeleteSlide:xt,onDuplicateSlide:yt,onReorderSlides:kt,uiScale:ze,appBgColor:C}),(0,o.jsx)("div",{className:"flex-1 flex items-center justify-center p-12 overflow-auto bg-white",children:(0,o.jsx)(He,{slide:ie,onElementUpdate:Ae,onSelect:u,uiScale:ze,onSlashCommand:r=>me({visible:!0,position:r})})})]}),ne.visible&&(0,o.jsx)("div",{className:"fixed inset-0 z-[9998]",onClick:()=>me(r=>P(S({},r),{visible:!1})),children:(0,o.jsx)(ut,{position:ne.position,onClose:()=>me(r=>P(S({},r),{visible:!1})),onAction:St,canUseAi:!!w})}),G&&(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)(O.Sparkles,{className:"text-blue-600",size:20}),"Generate Image"]}),(0,o.jsx)("button",{onClick:()=>ue(!1),className:"text-slate-400 hover:text-slate-600",children:(0,o.jsx)(O.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:r=>Te(r.target.value)}),(0,o.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,o.jsx)("button",{onClick:()=>ue(!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:Ct,disabled:H||!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:H?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(O.RefreshCw,{className:"animate-spin",size:16}),"Generating..."]}):"Generate"})]})]})}),K&&(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:()=>Ce(null),className:"p-2 hover:bg-slate-100 rounded-full text-slate-400 transition-colors",children:(0,o.jsx)(O.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:[Xe&&!Be&&(0,o.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-slate-100/50 z-10",children:(0,o.jsx)(O.RefreshCw,{className:"animate-spin text-slate-400",size:32})}),(0,o.jsx)("img",{src:zt(K),alt:"Generated",className:Z("max-w-full max-h-[60vh] rounded-lg shadow-2xl ring-4 ring-white transition-opacity duration-300",Be||Xe?"opacity-0":"opacity-100"),onLoad:()=>Re(!1),onError:()=>{We(!0),Re(!1)}}),Be&&(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)(O.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:K})]})]}),(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:()=>Ee("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)(O.Check,{size:18}),"Insert image"]}),a&&((at=d.slides[b].elements.find(r=>r.id===a))==null?void 0:at.type)==="image"&&(0,o.jsxs)("button",{onClick:()=>Ee("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)(O.RefreshCw,{size:18}),"Replace existing"]})]}),(0,o.jsxs)("button",{onClick:()=>Ee("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)(O.Trash2,{size:18}),"Discard"]})]})]})}),A&&(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)(O.Sparkles,{className:"text-purple-600",size:16}),"AI Suggestion"]}),(0,o.jsx)("button",{onClick:()=>U(null),className:"p-1 hover:bg-white rounded-lg text-slate-400 transition-colors",children:(0,o.jsx)(O.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:A})}),(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:()=>Ie("replace"),className:"flex-1 bg-slate-900 hover:bg-black text-white 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:()=>Ie("addBelow"),className:"flex-1 bg-white hover:bg-slate-50 text-slate-900 border border-slate-200 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:()=>Ie("regenerate"),className:"px-6 bg-white hover:bg-slate-50 text-slate-400 border border-slate-200 font-black py-4 rounded-xl transition-all shadow-sm active:scale-95 flex items-center justify-center",title:"Regenerate",children:(0,o.jsx)(O.RefreshCw,{size:18})})]})]})}),g&&(0,o.jsx)(Ge,{presentation:d,initialSlideIndex:b,onClose:Qe})]})};0&&(module.exports={PptEditor,PptxExporter,PptxParser});
19
19
  //# sourceMappingURL=index.js.map