slidecanvas 1.0.4 → 1.0.6

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 ee=Object.create;var dt=Object.defineProperty,re=Object.defineProperties,ae=Object.getOwnPropertyDescriptor,oe=Object.getOwnPropertyDescriptors,ie=Object.getOwnPropertyNames,Lt=Object.getOwnPropertySymbols,ne=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var It=(g,a,n)=>a in g?dt(g,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):g[a]=n,k=(g,a)=>{for(var n in a||(a={}))Pt.call(a,n)&&It(g,n,a[n]);if(Lt)for(var n of Lt(a))se.call(a,n)&&It(g,n,a[n]);return g},A=(g,a)=>re(g,oe(a));var le=(g,a)=>{for(var n in a)dt(g,n,{get:a[n],enumerable:!0})},Bt=(g,a,n,p)=>{if(a&&typeof a=="object"||typeof a=="function")for(let b of ie(a))!Pt.call(g,b)&&b!==n&&dt(g,b,{get:()=>a[b],enumerable:!(p=ae(a,b))||p.enumerable});return g};var mt=(g,a,n)=>(n=g!=null?ee(ne(g)):{},Bt(a||!g||!g.__esModule?dt(n,"default",{value:g,enumerable:!0}):n,g)),ce=g=>Bt(dt({},"__esModule",{value:!0}),g);var ve={};le(ve,{PptEditor:()=>me,PptxExporter:()=>pt,PptxParser:()=>gt});module.exports=ce(ve);function Nt(g,{insertAt:a}={}){if(!g||typeof document=="undefined")return;let n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css",a==="top"&&n.firstChild?n.insertBefore(p,n.firstChild):n.appendChild(p),p.styleSheet?p.styleSheet.cssText=g:p.appendChild(document.createTextNode(g))}Nt(`@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-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;--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-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-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-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}.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-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-\\[\\#B7472A\\]{border-color:#b7472a}.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-\\[\\#B7472A\\]{background-color:#b7472a}.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-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.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)}.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)}.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)}.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-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-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)}.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%}.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}.outline-none{--tw-outline-style: none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.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\\: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%}}}.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\\:cursor-grabbing{&:active{cursor:grabbing}}.disabled\\:bg-slate-200{&:disabled{background-color:var(--color-slate-200)}}.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;}@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}}}
3
- `);var I=require("react");var U=mt(require("react")),m=require("lucide-react");var Tt=require("clsx"),Mt=require("tailwind-merge");function D(...g){return(0,Mt.twMerge)((0,Tt.clsx)(g))}var t=require("react/jsx-runtime"),de=["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"],pe=[12,14,16,18,20,24,28,32,36,48,64,72,96],ge=[{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"]}],he=({type:g,className:a})=>{switch(g){case"rect":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",fill:"currentColor"})});case"circle":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",fill:"currentColor"})});case"triangle":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M12 4L20 18H4L12 4Z",fill:"currentColor"})});case"rightTriangle":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M4 4V20H20L4 4Z",fill:"currentColor"})});case"rhombus":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M12 4L20 12L12 20L4 12L12 4Z",fill:"currentColor"})});case"parallelogram":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M7 4H21L17 20H3L7 4Z",fill:"currentColor"})});case"trapezoid":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M6 4H18L21 20H3L6 4Z",fill:"currentColor"})});case"pentagon":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M12 3L21 9V19H3V9L12 3Z",fill:"currentColor"})});case"hexagon":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M12 3L20 7.5V16.5L12 21L4 16.5V7.5L12 3Z",fill:"currentColor"})});case"heptagon":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M12 3L18.5 6L21 13L16 20H8L3 13L5.5 6L12 3Z",fill:"currentColor"})});case"octagon":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M8.5 3H15.5L21 8.5V15.5L15.5 21H8.5L3 15.5V8.5L8.5 3Z",fill:"currentColor"})});case"heart":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsxs)("svg",{viewBox:"0 0 24 24",className:a,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",fill:"currentColor",fillOpacity:"0.2",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"9",cy:"9",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"15",cy:"9",r:"1.5",fill:"currentColor"}),(0,t.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,t.jsxs)("svg",{viewBox:"0 0 24 24",className:a,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"5",fill:"currentColor"}),(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9 7 7 0 0 1-9-9",fill:"currentColor"})});case"arrowRight":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M4 12l4-4v3h8V8l4 4-4 4v-3H8v3l-4-4z",fill:"currentColor"})});case"arrowUpDown":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M12 4l-4 4h3v8H8l4 4 4-4h-3V8h3l-4-4z",fill:"currentColor"})});case"star4":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M13 2L3 14h9v8l10-12h-9l3-8z",fill:"currentColor"})});case"plus":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z",fill:"currentColor"})});case"minus":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M19 13H5v-2h14v2z",fill:"currentColor"})});case"multiply":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.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,t.jsxs)("svg",{viewBox:"0 0 24 24",className:a,children:[(0,t.jsx)("circle",{cx:"12",cy:"7",r:"2",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"12",cy:"17",r:"2",fill:"currentColor"}),(0,t.jsx)("rect",{x:"5",y:"11",width:"14",height:"2",fill:"currentColor"})]});case"equal":return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,children:(0,t.jsx)("path",{d:"M19 10H5V8h14v2zm0 6H5v-2h14v2z",fill:"currentColor"})});default:return(0,t.jsx)("div",{className:"w-6 h-6 bg-slate-200 rounded-sm"})}},ue=({onAddShape:g,uiScale:a})=>{let[n,p]=(0,U.useState)(!1);return U.default.useEffect(()=>(window._toggleShapesMenu=()=>p(!n),()=>{window._toggleShapesMenu=void 0}),[n]),n?(0,t.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*a}px`,maxHeight:`${480*a}px`},children:(0,t.jsx)("div",{className:"flex flex-col gap-6",children:ge.map(b=>(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("span",{className:"text-[10px] font-black uppercase tracking-widest text-slate-400 px-1",style:{fontSize:`${10*a}px`},children:b.name}),(0,t.jsx)("div",{className:"grid grid-cols-5 gap-1",children:b.shapes.map(u=>(0,t.jsx)("button",{onClick:()=>{g(u),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:u,children:(0,t.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,t.jsx)(he,{type:u,className:"w-full h-full text-slate-400 group-hover:text-blue-600 transition-colors"})})},u))})]},b.name))})}):null},Dt=({onAddText:g,onAddImage:a,onAddShape:n,onAddSlide:p,onExport:b,onFormatText:u,onDeleteElement:S,onApplyLayout:z,onPlay:L,selectedElement:o,appName:x,onAiAction:i,onAiResponseAction:w,aiResponse:y,isAiLoading:e,onNewPresentation:r,onLoadPresentation:s,appBgColor:c="#B7472A",uiScale:f,source:B})=>{let F=U.default.useRef(null),[ot,_]=(0,U.useState)("Home"),[E,j]=(0,U.useState)(!1),[X,it]=(0,U.useState)(!1),[ht,nt]=(0,U.useState)(!1),[Q,H]=(0,U.useState)(!1),[O,Z]=(0,U.useState)("file"),[tt,st]=(0,U.useState)(""),T=(o==null?void 0:o.type)==="text",bt=(o==null?void 0:o.type)==="shape",lt="#B7472A";return(0,t.jsxs)("div",{className:"flex flex-col border-b border-slate-200 bg-white z-50 select-none",style:{fontSize:`${12*f}px`},children:[(0,t.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*f}px`,overflow:"visible"},children:[(0,t.jsxs)("div",{className:D("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",f<.84?"min-w-0":"min-w-fit"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto",children:[(0,t.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,t.jsx)("div",{className:"bg-orange-50 p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Plus,{size:20,style:{color:c}})}),(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"New Slide"})]}),(0,t.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{onClick:()=>j(!E),className:D("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]",E&&"bg-slate-100"),children:[(0,t.jsx)("div",{className:"p-1.5 rounded-lg",children:(0,t.jsx)(m.Layout,{size:20,className:"text-slate-500"})}),(0,t.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Layout"})]}),E&&(0,t.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,t.jsxs)("button",{onClick:()=>{z("title"),j(!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,t.jsx)(m.FileText,{size:16,className:"text-blue-500"})," Title Slide"]}),(0,t.jsxs)("button",{onClick:()=>{z("content"),j(!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,t.jsx)(m.List,{size:16,className:"text-emerald-500"})," Title & Content"]}),(0,t.jsxs)("button",{onClick:()=>{z("split"),j(!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,t.jsx)(m.Columns,{size:16,className:"text-purple-500"})," Two Columns"]})]})]})]}),f>=.85&&(0,t.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Slides"})]}),(0,t.jsxs)("div",{className:D("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",f<.85?"px-2":"px-4"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-center gap-1.5 w-full mt-1",children:[(0,t.jsx)("select",{disabled:!T,value:(o==null?void 0:o.fontFamily)||"Arial",onChange:v=>u({fontFamily:v.target.value}),className:D("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",f<.85?"flex-1":"w-44"),children:de.map(v=>(0,t.jsx)("option",{value:v,children:v},v))}),(0,t.jsx)("select",{disabled:!T,value:(o==null?void 0:o.fontSize)||24,onChange:v=>u({fontSize:parseInt(v.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:pe.map(v=>(0,t.jsx)("option",{value:v,children:v},v))})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between w-full mt-auto mb-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,t.jsx)("button",{disabled:!T,onClick:()=>u({isBold:!o.isBold}),className:D("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,t.jsx)(m.Bold,{size:14,strokeWidth:3})}),(0,t.jsx)("button",{disabled:!T,onClick:()=>u({isItalic:!o.isItalic}),className:D("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,t.jsx)(m.Italic,{size:14})}),(0,t.jsx)("button",{disabled:!T,onClick:()=>u({isBulleted:!o.isBulleted}),className:D("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,t.jsx)(m.List,{size:14})}),(0,t.jsxs)("div",{className:"relative group p-1 hover:bg-slate-50 rounded-lg transition-colors cursor-pointer ml-0.5",children:[(0,t.jsx)("input",{type:"color",disabled:!o,value:T?o.color||"#000000":(o==null?void 0:o.fill)||"#3b82f6",onChange:v=>u(T?{color:v.target.value}:{fill:v.target.value}),className:"w-6 h-4 p-0 border-0 bg-transparent cursor-pointer disabled:opacity-50",title:"Font/Fill Color"}),(0,t.jsx)("div",{className:"absolute bottom-1 left-1 right-1 h-0.5 rounded-full",style:{backgroundColor:T?o.color||"#000000":(o==null?void 0:o.fill)||"#3b82f6"}})]})]}),(0,t.jsx)("div",{className:"h-4 w-[1px] bg-slate-200 mx-1.5"}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5 bg-slate-50/50 p-0.5 rounded-lg",children:[(0,t.jsx)("button",{disabled:!T,onClick:()=>u({textAlign:"left"}),className:D("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"?c:void 0},children:(0,t.jsx)(m.AlignLeft,{size:13})}),(0,t.jsx)("button",{disabled:!T,onClick:()=>u({textAlign:"center"}),className:D("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"?c:void 0},children:(0,t.jsx)(m.AlignCenter,{size:13})}),(0,t.jsx)("button",{disabled:!T,onClick:()=>u({textAlign:"right"}),className:D("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"?c:void 0},children:(0,t.jsx)(m.AlignRight,{size:13})})]})]}),f>=.85&&(0,t.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Font"})]}),(0,t.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,t.jsxs)("div",{className:"flex items-center justify-center gap-2 my-auto",children:[(0,t.jsxs)("div",{className:"relative group/shapes flex justify-center",children:[(0,t.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 v;return(v=window._toggleShapesMenu)==null?void 0:v.call(window)},children:[(0,t.jsx)("div",{className:"bg-blue-50 p-1.5 rounded-lg group-hover:scale-105 transition-transform",children:(0,t.jsx)(m.Square,{size:20,className:"text-blue-600"})}),(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"Shapes"})]}),(0,t.jsx)(ue,{onAddShape:v=>{n(v)},uiScale:f})]}),(0,t.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,t.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,t.jsx)("div",{className:"p-1.5",children:(0,t.jsx)(m.Type,{size:20})}),(0,t.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Text Box"})]}),(0,t.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,t.jsxs)("button",{onClick:()=>{var v;return(v=F.current)==null?void 0:v.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,t.jsx)("div",{className:"p-1.5",children:(0,t.jsx)(m.Image,{size:20})}),(0,t.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Image"}),(0,t.jsx)("input",{type:"file",ref:F,className:"hidden",accept:"image/*",onChange:v=>{var q;return((q=v.target.files)==null?void 0:q[0])&&a(v.target.files[0])}})]})]}),f>=.85&&(0,t.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Drawing"})]}),(0,t.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,t.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto h-full",children:[(0,t.jsxs)("button",{disabled:!T||e,onClick:()=>i(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,t.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Sparkles,{size:20,className:"text-purple-500"})}),(0,t.jsx)("span",{className:"text-[10px] font-bold",children:"Shorten"})]}),(0,t.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,t.jsxs)("button",{disabled:!T||e,onClick:()=>i(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,t.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Sparkles,{size:20,className:"text-blue-500"})}),(0,t.jsx)("span",{className:"text-[10px] font-bold",children:"Reframe"})]}),(0,t.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,t.jsxs)("button",{disabled:!T||e,onClick:()=>i(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,t.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Sparkles,{size:20,className:"text-emerald-500"})}),(0,t.jsx)("span",{className:"text-[10px] font-bold text-center leading-tight",children:"Lengthen"})]})]}),e&&(0,t.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,t.jsx)(m.RefreshCw,{size:16,className:"text-blue-600 animate-spin"})}),f>=.85&&(0,t.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"AI Text"})]}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center pl-4 pr-3 gap-1 h-full py-2 relative",children:[(0,t.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto h-full",children:[(0,t.jsxs)("button",{onClick:L,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,t.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Play,{size:20,className:"fill-slate-700 group-hover:fill-slate-900"})}),(0,t.jsx)("span",{className:"text-[10px] font-bold",children:"Present"})]}),(0,t.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,t.jsxs)("button",{onClick:b,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,t.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Download,{size:20,className:"text-emerald-600"})}),(0,t.jsx)("span",{className:"text-[10px] font-bold",children:"Export"})]}),o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,t.jsxs)("button",{onClick:S,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-red-50 rounded-lg text-red-600 transition-all min-w-[64px] group",title:"Delete",children:[(0,t.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Trash2,{size:20})}),(0,t.jsx)("span",{className:"text-[10px] font-bold",children:"Delete"})]})]})]}),(0,t.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,t.jsx)(m.Check,{size:9,className:"text-emerald-500"}),(0,t.jsx)("span",{className:"text-[7px] font-black text-emerald-600/70 tracking-tighter uppercase",children:"Saved"})]}),f>=.85&&(0,t.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Actions"})]})]}),Q&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-[2000]",onClick:()=>H(!1)}),(0,t.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,t.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,t.jsxs)("h3",{className:"text-lg font-black text-slate-800 tracking-tight flex items-center gap-3",children:[(0,t.jsx)("div",{className:"p-2 bg-blue-50 text-blue-600 rounded-xl",children:(0,t.jsx)(m.Download,{size:20})}),"Upload Presentation"]}),(0,t.jsx)("button",{onClick:()=>H(!1),className:"text-slate-400 hover:text-slate-600 transition-colors",children:(0,t.jsx)(m.RefreshCw,{size:20,className:"rotate-45"})})]}),(0,t.jsxs)("div",{className:"flex gap-2 p-1 bg-slate-50 rounded-2xl mb-8",children:[(0,t.jsx)("button",{onClick:()=>Z("file"),className:D("flex-1 py-3 text-xs font-black rounded-xl transition-all",O==="file"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"FILE UPLOAD"}),(0,t.jsx)("button",{onClick:()=>Z("link"),className:D("flex-1 py-3 text-xs font-black rounded-xl transition-all",O==="link"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"LINK UPLOAD"})]}),O==="file"?(0,t.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,t.jsx)("div",{className:"p-4 bg-white rounded-2xl shadow-sm border border-slate-100 group-hover:scale-110 transition-transform",children:(0,t.jsx)(m.Plus,{size:24,className:"text-blue-500"})}),(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-sm font-bold text-slate-700",children:"Choose a PPTX file"}),(0,t.jsx)("p",{className:"text-xs text-slate-400 mt-1",children:"Maximum file size: 50MB"})]}),(0,t.jsx)("input",{type:"file",accept:".pptx",className:"hidden",onChange:v=>{var Y;let q=(Y=v.target.files)==null?void 0:Y[0];q&&(s(q),H(!1))}})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)("div",{className:"relative",children:(0,t.jsx)("input",{type:"text",placeholder:"Paste S3 or public URL",value:tt,onChange:v=>st(v.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,t.jsx)("button",{onClick:()=>{tt.trim()&&(s(tt.trim()),H(!1))},disabled:!tt.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,t.jsx)("p",{className:"text-[10px] text-slate-400 text-center uppercase tracking-widest font-black",children:"Supports S3, Dropbox, and public URLS"})]})]})]})]})};var et=require("lucide-react"),$=require("@dnd-kit/core"),K=require("@dnd-kit/sortable"),Ft=require("@dnd-kit/utilities");var P=require("react/jsx-runtime"),fe=({slide:g,index:a,isActive:n,onSelect:p,onDelete:b,onDuplicate:u,showDelete:S,uiScale:z})=>{let{attributes:L,listeners:o,setNodeRef:x,transform:i,transition:w,isDragging:y}=(0,K.useSortable)({id:g.id}),e={transform:Ft.CSS.Transform.toString(i),transition:w,zIndex:y?2:1,opacity:y?.5:1};return(0,P.jsxs)("div",{ref:x,style:e,onClick:p,className:D("cursor-pointer border-[1.5px] rounded-2xl p-2 transition-all duration-300 group relative select-none",n?"border-[#B7472A] bg-white":"border-transparent hover:border-slate-200 bg-white/50 hover:bg-white"),children:[(0,P.jsxs)("div",{className:"text-[10px] font-bold text-slate-400 mb-1 flex items-center justify-between",children:[(0,P.jsxs)("div",{className:"flex items-center gap-1",children:[(0,P.jsx)("div",A(k(k({},L),o),{className:"cursor-grab active:cursor-grabbing p-0.5 hover:bg-slate-100 rounded text-slate-300 hover:text-slate-500",children:(0,P.jsx)(et.GripVertical,{size:10})})),(0,P.jsxs)("span",{children:["SLIDE ",a+1]})]}),(0,P.jsxs)("div",{className:"flex items-center gap-1",children:[n&&(0,P.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-[#B7472A]"}),(0,P.jsxs)("div",{className:"flex items-center opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,P.jsx)("button",{onClick:r=>{r.stopPropagation(),u()},className:"p-1 hover:bg-blue-50 text-slate-400 hover:text-blue-500 rounded transition-all",title:"Duplicate Slide",children:(0,P.jsx)(et.Copy,{size:12})}),S&&(0,P.jsx)("button",{onClick:r=>{r.stopPropagation(),b()},className:"p-1 hover:bg-red-50 text-red-400 hover:text-red-500 rounded transition-all",title:"Delete Slide",children:(0,P.jsx)(et.Trash2,{size:12})})]})]})]}),(0,P.jsx)("div",{className:"aspect-video bg-white rounded-xl flex items-center justify-center border border-slate-200 overflow-hidden relative group-hover:shadow-sm transition-shadow",children:(0,P.jsx)("div",{className:"origin-center pointer-events-none select-none shrink-0",style:{width:"1200px",height:"675px",transform:`scale(${180*z/1200})`,backgroundColor:"#ffffff"},children:g.elements.sort((r,s)=>(r.zIndex||0)-(s.zIndex||0)).map(r=>{var c;let s={position:"absolute",left:r.x,top:r.y,width:r.width,height:r.height,opacity:(c=r.opacity)!=null?c:1};return r.type==="text"?(0,P.jsx)("div",{style:A(k({},s),{fontSize:r.fontSize,fontFamily:r.fontFamily,color:r.color,textAlign:r.textAlign||"left",fontWeight:r.isBold?"bold":"normal",fontStyle:r.isItalic?"italic":"normal",lineHeight:1.2,overflow:"hidden",wordBreak:"break-word",whiteSpace:"pre-wrap"}),children:r.content},r.id):r.type==="shape"?(0,P.jsx)("div",{style:A(k({},s),{backgroundColor:r.fill,borderRadius:r.shapeType==="ellipse"?"50%":"0"})},r.id):r.type==="image"?(0,P.jsx)("img",{src:r.src,alt:"",style:A(k({},s),{objectFit:"contain"})},r.id):null})})})]})},Rt=({slides:g,currentSlideIndex:a,onSelectSlide:n,onDeleteSlide:p,onDuplicateSlide:b,onReorderSlides:u,uiScale:S})=>{let z=(0,$.useSensors)((0,$.useSensor)($.PointerSensor,{activationConstraint:{distance:5}}),(0,$.useSensor)($.KeyboardSensor,{coordinateGetter:K.sortableKeyboardCoordinates})),L=o=>{let{active:x,over:i}=o;if(x.id!==(i==null?void 0:i.id)){let w=g.findIndex(e=>e.id===x.id),y=g.findIndex(e=>e.id===(i==null?void 0:i.id));u(w,y)}};return(0,P.jsx)("div",{className:"bg-white border-r border-slate-100 overflow-y-auto p-4 flex flex-col gap-4",style:{width:`${256*S}px`},children:(0,P.jsx)($.DndContext,{sensors:z,collisionDetection:$.closestCenter,onDragEnd:L,children:(0,P.jsx)(K.SortableContext,{items:g.map(o=>o.id),strategy:K.verticalListSortingStrategy,children:g.map((o,x)=>(0,P.jsx)(fe,{slide:o,index:x,isActive:x===a,onSelect:()=>n(x),onDelete:()=>p(x),onDuplicate:()=>b(x),showDelete:g.length>1,uiScale:S},o.id))})})})};var V=require("react"),W=mt(require("fabric"));var St=require("react/jsx-runtime"),vt=({slide:g,onElementUpdate:a,onSelect:n,uiScale:p})=>{let b=(0,V.useRef)(null),u=(0,V.useRef)(null),S=(0,V.useRef)(!1),z=(0,V.useRef)(a),L=(0,V.useRef)(n);return(0,V.useEffect)(()=>{z.current=a,L.current=n},[a,n]),(0,V.useEffect)(()=>{if(b.current&&!u.current){u.current=new W.Canvas(b.current,{width:1200,height:675,backgroundColor:"#ffffff"});let o=u.current,x=e=>{e.left<0&&e.set("left",0),e.top<0&&e.set("top",0);let r=e.getBoundingRect();r.left+r.width>(o.width||1200)&&e.set("left",(o.width||1200)-r.width),r.top+r.height>(o.height||675)&&e.set("top",(o.height||675)-r.height)};o.on("object:moving",e=>x(e.target)),o.on("object:scaling",e=>x(e.target));let i=e=>{var c;if(S.current)return;let r=e.target,s=(c=r.get("data"))==null?void 0:c.id;r&&s&&z.current(s,k({x:r.left,y:r.top,width:r.getScaledWidth(),height:r.getScaledHeight()},r.isType("textbox")?{content:r.text,textAlign:r.textAlign,fontSize:r.fontSize,fontFamily:r.fontFamily,color:r.fill}:{fill:r.fill}))};o.on("object:modified",i),o.on("text:changed",i);let w=e=>{var s,c;let r=((s=e.selected)==null?void 0:s[0])||e.target;if(r){let f=(c=r.get("data"))==null?void 0:c.id;L.current(f)}};o.on("selection:created",w),o.on("selection:updated",w),o.on("selection:cleared",()=>L.current(null));let y=e=>{let r=o.getActiveObject();if(!r||r.isType("textbox")&&r.isEditing)return;let s=e.shiftKey?10:1,c=!1;switch(e.key){case"ArrowLeft":r.set("left",r.left-s),c=!0;break;case"ArrowRight":r.set("left",r.left+s),c=!0;break;case"ArrowUp":r.set("top",r.top-s),c=!0;break;case"ArrowDown":r.set("top",r.top+s),c=!0;break}c&&(x(r),o.requestRenderAll(),i({target:r}))};window.addEventListener("keydown",y),o._keyboardListener=y}return()=>{if(u.current){let o=u.current._keyboardListener;o&&window.removeEventListener("keydown",o),u.current.dispose(),u.current=null}}},[]),(0,V.useEffect)(()=>{if(!u.current)return;let o=u.current;(async()=>{S.current=!0;let i=o.getObjects(),w=new Set(g.elements.map(e=>e.id));i.forEach(e=>{var s;let r=(s=e.get("data"))==null?void 0:s.id;r&&!w.has(r)&&o.remove(e)});let y=[...g.elements].sort((e,r)=>(e.zIndex||0)-(r.zIndex||0));for(let e of y){let r=i.find(s=>{var c;return((c=s.get("data"))==null?void 0:c.id)===e.id});if(r){if(r===o.getActiveObject()&&r.isType("textbox")&&r.isEditing)continue;let s={left:e.x,top:e.y,opacity:e.opacity!==void 0?e.opacity:1,zIndex:e.zIndex};e.type==="text"&&r.isType("textbox")?(s.text=e.content||" ",s.fontSize=e.fontSize||22,s.fill=e.color||"#000000",s.textAlign=e.textAlign||"left",s.fontWeight=e.isBold?"bold":"normal",s.fontStyle=e.isItalic?"italic":"normal",s.fontFamily=e.fontFamily||"Arial",s.width=Math.max(e.width||50,10)):e.type==="shape"?(s.fill=e.fill||"#cccccc",s.scaleX=(e.width||50)/(r.width||1),s.scaleY=(e.height||50)/(r.height||1)):e.type==="image"&&(s.scaleX=(e.width||100)/(r.width||1),s.scaleY=(e.height||100)/(r.height||1)),r.set(s)}else{let s=null,c={left:e.x,top:e.y,data:{id:e.id},originX:"left",originY:"top",opacity:e.opacity!==void 0?e.opacity:1};if(e.type==="text")s=new W.Textbox(e.content||" ",A(k({},c),{width:Math.max(e.width||200,10),fontSize:e.fontSize||22,fill:e.color||"#000000",fontFamily:e.fontFamily||"Inter, Arial, sans-serif",textAlign:e.textAlign||"left",fontWeight:e.isBold?"bold":"normal",fontStyle:e.isItalic?"italic":"normal",splitByGrapheme:!1}));else if(e.type==="shape"){let f=e.fill||"#3b82f6";e.shapeType==="ellipse"?s=new W.Circle(A(k({},c),{radius:(e.width||100)/2,scaleY:(e.height||100)/(e.width||100),fill:f})):s=new W.Rect(A(k({},c),{width:e.width||100,height:e.height||100,fill:f}))}else if(e.type==="image")try{let f=await W.FabricImage.fromURL(e.src);f.set(A(k({},c),{scaleX:(e.width||100)/(f.width||1),scaleY:(e.height||100)/(f.height||1)})),s=f}catch(f){console.error(f)}s&&o.add(s)}}o.renderAll(),S.current=!1})()},[g]),(0,St.jsx)("div",{className:"border border-slate-200 overflow-hidden bg-white shadow-lg transition-transform duration-300",style:{transform:`scale(${p*1})`,transformOrigin:"center center"},children:(0,St.jsx)("canvas",{ref:b})})};var jt=mt(require("pptxgenjs"));var pt=class{async export(a){var o,x;let n=new jt.default,p=((o=a.layout)==null?void 0:o.width)||12192e3,b=((x=a.layout)==null?void 0:x.height)||6858e3,u=1200,S=675,z=i=>i/u*(p/914400),L=i=>i/S*(b/914400);a.slides.forEach(i=>{let w=n.addSlide();[...i.elements].sort((e,r)=>e.zIndex-r.zIndex).forEach(e=>{var c,f;let r=e.opacity!==void 0?(1-e.opacity)*100:0,s={x:z(e.x),y:L(e.y),w:z(e.width),h:L(e.height)};if(e.type==="text")w.addText(e.content,A(k({},s),{fontSize:(e.fontSize||18)/2,color:((c=e.color)==null?void 0:c.replace("#",""))||"000000",fontFace:e.fontFamily||"Arial"}));else if(e.type==="image")w.addImage(A(k({},s),{path:e.src,transparency:r}));else if(e.type==="shape"){let B=e.shapeType==="ellipse"?n.ShapeType.ellipse:n.ShapeType.rect;w.addShape(B,A(k({},s),{fill:{color:((f=e.fill)==null?void 0:f.replace("#",""))||"CCCCCC",transparency:r>0?Math.min(r+10,100):0}}))}})}),await n.writeFile({fileName:"presentation.pptx"})}};var $t=mt(require("jszip")),gt=class{constructor(){this.slideWidth=12192e3;this.slideHeight=6858e3;this.CANVAS_WIDTH=1200;this.CANVAS_HEIGHT=675}async parse(a){var x,i;let n=a;if(typeof a=="string"){let w=await fetch(a);if(!w.ok){let y=w.status,e=w.statusText,r="";try{let s=await w.json();r=s.details||s.error||""}catch(s){}throw new Error(`Failed to fetch PPTX from ${a}: ${y} ${e} ${r?`(${r})`:""}`)}n=await w.arrayBuffer()}let p=await $t.default.loadAsync(n),b=await((x=p.file("ppt/presentation.xml"))==null?void 0:x.async("string"));if(!b)throw new Error("Invalid PPTX");let S=new DOMParser().parseFromString(b,"text/xml"),z=this.findFirstByLocalName(S,"sldSz");z&&(this.slideWidth=parseInt(this.getAttr(z,"cx")||"12192000"),this.slideHeight=parseInt(this.getAttr(z,"cy")||"6858000"));let L=Array.from(S.getElementsByTagNameNS("*","sldId")),o=[];for(let w=0;w<L.length;w++){let y=w+1,e=`ppt/slides/slide${y}.xml`,r=await((i=p.file(e))==null?void 0:i.async("string"));if(r){let s=await this.parseSlide(r,y,p);o.push(s)}}return{slides:o,layout:{width:this.slideWidth,height:this.slideHeight}}}getAttr(a,n){return a.getAttribute(n)||a.getAttribute(`a:${n}`)||a.getAttribute(`p:${n}`)||a.getAttribute(`r:${n}`)}findFirstByLocalName(a,n){let p=a.getElementsByTagNameNS("*",n);return p.length>0?p[0]:null}findAllByLocalName(a,n){return Array.from(a.getElementsByTagNameNS("*",n))}scaleX(a){return a/this.slideWidth*this.CANVAS_WIDTH}scaleY(a){return a/this.slideHeight*this.CANVAS_HEIGHT}parseColor(a){let n=this.findFirstByLocalName(a,"srgbClr");if(n){let b=`#${this.getAttr(n,"val")}`,u=this.findFirstByLocalName(n,"alpha"),S=u?parseInt(this.getAttr(u,"val")||"100000")/1e5:1;return{color:b,opacity:S}}let p=this.findFirstByLocalName(a,"schemeClr");if(p){let b=this.findFirstByLocalName(p,"alpha");return{color:"#000000",opacity:b?parseInt(this.getAttr(b,"val")||"100000")/1e5:1}}return{color:"#000000",opacity:1}}async resolveImage(a,n,p){var o,x;let b=await((o=p.file(`ppt/slides/_rels/slide${n}.xml.rels`))==null?void 0:o.async("string"));if(!b)return null;let S=new DOMParser().parseFromString(b,"text/xml"),z=Array.from(S.getElementsByTagName("Relationship")).find(i=>i.getAttribute("Id")===a),L=z==null?void 0:z.getAttribute("Target");if(L){let i=(L.startsWith("../")?`ppt/${L.substring(3)}`:`ppt/slides/${L}`).replace("ppt/slides/../","ppt/");return await((x=p.file(i))==null?void 0:x.async("blob"))||null}return null}async parseSlide(a,n,p){let u=new DOMParser().parseFromString(a,"text/xml"),S=[],z=0,L=this.findFirstByLocalName(u,"bg");if(L){let i=this.findFirstByLocalName(L,"blip"),w=(i==null?void 0:i.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(i==null?void 0:i.getAttribute("r:embed"));if(w){let y=await this.resolveImage(w,n,p);y&&S.push({id:`bg-${n}`,type:"image",src:URL.createObjectURL(y),x:0,y:0,width:this.CANVAS_WIDTH,height:this.CANVAS_HEIGHT,zIndex:z++,opacity:1})}}let o=this.findFirstByLocalName(u,"spTree");if(!o)return{id:`slide-${n}`,elements:S};let x=Array.from(o.children);for(let i of x){let w=i.localName;if(w==="sp"){let y=this.findFirstByLocalName(i,"txBody"),e=this.findFirstByLocalName(i,"xfrm"),r=e?this.findFirstByLocalName(e,"off"):null,s=e?this.findFirstByLocalName(e,"ext"):null;if(y&&r&&s){let f=this.findAllByLocalName(y,"p"),B="",F=18,ot="#000000",_=1,E=!1;for(let j of f){let X=this.findFirstByLocalName(j,"pPr"),it=X?this.findFirstByLocalName(X,"buNone"):null;X&&!it&&(this.findFirstByLocalName(X,"buChar")||this.findFirstByLocalName(X,"buAutoNum"))&&(E=!0,B+="\u2022 ");let ht=this.findAllByLocalName(j,"r");for(let nt of ht){let Q=this.findFirstByLocalName(nt,"t");Q&&(B+=Q.textContent);let H=this.findFirstByLocalName(nt,"rPr");if(H){let O=this.getAttr(H,"sz");O&&(F=parseInt(O)/100*2);let Z=this.parseColor(H);ot=Z.color,_=Z.opacity}}B+=`
4
- `}if(B.trim()){S.push({id:`el-${n}-${Date.now()}-${z}`,type:"text",content:B.trim(),x:this.scaleX(parseInt(this.getAttr(r,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(r,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(s,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(s,"cy")||"0")),fontSize:F,color:ot,fontFamily:"Arial",zIndex:z++,isBulleted:E,opacity:_});continue}}let c=this.findFirstByLocalName(i,"prstGeom");if(c&&r&&s){let f=this.getAttr(c,"prst"),B=this.findFirstByLocalName(i,"spPr"),F=B?this.parseColor(B):{color:"#cccccc",opacity:1};S.push({id:`el-${n}-${Date.now()}-${z}`,type:"shape",shapeType:f==="ellipse"||f==="circle"?"ellipse":"rect",fill:F.color,opacity:F.opacity,x:this.scaleX(parseInt(this.getAttr(r,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(r,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(s,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(s,"cy")||"0")),zIndex:z++})}}if(w==="pic"){let y=this.findFirstByLocalName(i,"blip"),e=(y==null?void 0:y.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(y==null?void 0:y.getAttribute("r:embed")),r=this.findFirstByLocalName(i,"xfrm"),s=r?this.findFirstByLocalName(r,"off"):null,c=r?this.findFirstByLocalName(r,"ext"):null;if(e&&s&&c){let f=await this.resolveImage(e,n,p);f&&S.push({id:`el-${n}-${Date.now()}-${z}`,type:"image",src:URL.createObjectURL(f),x:this.scaleX(parseInt(this.getAttr(s,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(s,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(c,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(c,"cy")||"0")),zIndex:z++,opacity:1})}}}return{id:`slide-${n}`,elements:S}}};var rt=require("react"),at=require("lucide-react");var M=require("react/jsx-runtime"),Ht=({presentation:g,initialSlideIndex:a,onClose:n})=>{let[p,b]=(0,rt.useState)(a),u=g.slides[p],S=()=>{p>0&&b(p-1)},z=()=>{p<g.slides.length-1&&b(p+1)};(0,rt.useEffect)(()=>{let x=i=>{i.key==="ArrowRight"||i.key===" "||i.key==="PageDown"?z():i.key==="ArrowLeft"||i.key==="Backspace"||i.key==="PageUp"?S():i.key==="Escape"&&n()};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[p]);let[L,o]=(0,rt.useState)(1);return(0,rt.useEffect)(()=>{let x=()=>{let w=window.innerWidth-40,y=window.innerHeight-40,e=1200,r=675,s=w/e,c=y/r,f=Math.min(s,c);o(f)};return x(),window.addEventListener("resize",x),()=>window.removeEventListener("resize",x)},[]),(0,M.jsxs)("div",{className:"fixed inset-0 z-[99999] bg-[#0A0A0A] flex flex-col items-center justify-center overflow-hidden",children:[(0,M.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,M.jsxs)("div",{className:"text-white/80 font-bold ml-4 pointer-events-auto",children:["Slide ",p+1," of ",g.slides.length]}),(0,M.jsx)("button",{onClick:n,className:"p-3 bg-white/10 hover:bg-white/20 text-white rounded-full transition-all pointer-events-auto",children:(0,M.jsx)(at.X,{size:24})})]}),(0,M.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,M.jsx)("div",{className:"relative shadow-2xl shadow-black/80 bg-white",style:{width:"1200px",height:"675px",transform:`scale(${L})`,transformOrigin:"center center"},children:(0,M.jsx)(vt,{slide:u,onElementUpdate:()=>{},onSelect:()=>{},uiScale:.75})})}),(0,M.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,M.jsx)("button",{disabled:p===0,onClick:S,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,M.jsx)(at.ChevronLeft,{size:32})}),(0,M.jsx)("div",{className:"h-6 w-[1px] bg-white/10"}),(0,M.jsx)("button",{disabled:p===g.slides.length-1,onClick:z,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,M.jsx)(at.ChevronRight,{size:32})})]})]})};var Ut=require("@google/generative-ai");var N=require("react/jsx-runtime"),me=({initialPresentation:g,url:a,appName:n="SlideCanvas",onChange:p,geminiApiKey:b,width:u,height:S,appBgColor:z="#B7472A",showHomeOnEmpty:L=!1,initialSource:o,onSourceChange:x})=>{let[i,w]=(0,I.useState)(g||{slides:[{id:"slide-1",elements:[]}],layout:{width:12192e3,height:6858e3}}),[y,e]=(0,I.useState)([]),[r,s]=(0,I.useState)([]),[c,f]=(0,I.useState)(0),[B,F]=(0,I.useState)(null),[ot,_]=(0,I.useState)(!1),[E,j]=(0,I.useState)(null),[X,it]=(0,I.useState)(!1),[ht,nt]=(0,I.useState)(o||(a?"url":null)),[Q,H]=(0,I.useState)(L&&!g&&!a&&!o),[O,Z]=(0,I.useState)("");(0,I.useEffect)(()=>{a&&ut(a)},[a]);let[tt,st]=(0,I.useState)(!1),[T,bt]=(0,I.useState)(null),lt=(0,I.useMemo)(()=>{let l=typeof u=="number"?u:parseInt(String(u));return isNaN(l)?1:Math.min(Math.max(l/1600,.7),1)},[u]),v=i.slides[c],q=(0,I.useMemo)(()=>v.elements.find(l=>l.id===B)||null,[v,B]),Y=(0,I.useCallback)(l=>{e(d=>[...d.slice(-19),i]),s([]),w(l),p==null||p(l)},[p,i]),zt=()=>{if(y.length===0)return;let l=y[y.length-1];s(d=>[...d,i]),e(d=>d.slice(0,-1)),w(l)},wt=()=>{if(r.length===0)return;let l=r[r.length-1];e(d=>[...d,i]),s(d=>d.slice(0,-1)),w(l)},J=(0,I.useCallback)(l=>{w(d=>{let h=[...d.slides];h[c]=k(k({},h[c]),l);let C=A(k({},d),{slides:h});return e(R=>[...R.slice(-19),d]),s([]),p==null||p(C),C})},[c,p]),xt=(0,I.useCallback)((l,d)=>{w(h=>{let C=h.slides[c],R=C.elements.map(ct=>ct.id===l?k(k({},ct),d):ct),G=[...h.slides];G[c]=A(k({},C),{elements:R});let ft=A(k({},h),{slides:G});return p==null||p(ft),ft})},[c,p]),Et=l=>{if(!B)return;if(v.elements.find(h=>h.id===B)){xt(B,l);let h=i.slides[c],C=h.elements.map(G=>G.id===B?k(k({},G),l):G),R=[...i.slides];R[c]=A(k({},h),{elements:C}),Y(A(k({},i),{slides:R}))}},yt=(0,I.useCallback)(()=>{if(!B)return;let d=i.slides[c].elements.filter(h=>h.id!==B);J({elements:d}),F(null)},[B,c,i,J]),Ot=()=>{let l={id:`text-${Date.now()}`,type:"text",content:"New Text",x:100,y:100,width:400,height:100,fontSize:48,fontFamily:"Arial",color:"#000000",zIndex:v.elements.length};J({elements:[...v.elements,l]})},Vt=l=>{let d=URL.createObjectURL(l),h=`img-${Date.now()}`,C={id:h,type:"image",src:d,x:100,y:100,width:400,height:250,zIndex:v.elements.length};J({elements:[...v.elements,C]}),F(h)},Wt=l=>{let d={id:`shape-${Date.now()}`,type:"shape",shapeType:l,fill:"#3b82f6",x:200,y:200,width:200,height:200,zIndex:v.elements.length};J({elements:[...v.elements,d]})},Xt=()=>{let l={id:`slide-${Date.now()}`,elements:[]};Y(A(k({},i),{slides:[...i.slides,l]})),f(i.slides.length)},Yt=l=>{if(i.slides.length<=1)return;let d=i.slides.filter((h,C)=>C!==l);Y(A(k({},i),{slides:d})),l<=c&&f(Math.max(0,c-1))},Gt=l=>{let d=i.slides[l],h=A(k({},d),{id:`slide-${Date.now()}`,elements:d.elements.map(R=>A(k({},R),{id:`${R.type}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}))}),C=[...i.slides];C.splice(l+1,0,h),Y(A(k({},i),{slides:C})),f(l+1)},Kt=(l,d)=>{if(l===d)return;let h=[...i.slides],[C]=h.splice(l,1);h.splice(d,0,C),Y(A(k({},i),{slides:h})),c===l?f(d):c>l&&c<=d?f(c-1):c<l&&c>=d&&f(c+1)},_t=l=>{let d=[],h=Date.now();l==="title"?d=[{id:`text-title-${h}`,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-${h}`,type:"text",content:"Subtitle goes here",x:200,y:380,width:800,height:80,fontSize:36,fontFamily:"Inter",color:"#64748b",textAlign:"center",zIndex:1}]:l==="content"?d=[{id:`text-title-${h}`,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-${h}`,type:"text",content:`\u2022 Add your points here
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
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}]:l==="split"&&(d=[{id:`text-title-${h}`,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-${h}`,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-${h}`,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:d})},Ct=async(l,d)=>{let C=i.slides[c].elements.find(R=>R.id===l);if(!(!C||C.type!=="text")){st(!0),j(null),bt({id:l,action:d});try{if(!b){j("Gemini API key is missing. Please provide it via the 'geminiApiKey' prop."),st(!1);return}let G=new Ut.GoogleGenerativeAI(b).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}]: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).
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.`}),ft=C.fontSize>32?"Title/Headline":"Body Text/List",ct=`Action: ${d.toUpperCase()}
15
- Text Role: ${ft}
16
- Original Text: "${C.content}"
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}"
17
17
 
18
- Transformed Text:`,te=await(await G.generateContent(ct)).response;j(te.text().trim())}catch(R){console.error("Gemini AI Error:",R),j("Error generating response. Please check your API key or connection.")}finally{st(!1)}}},Zt=l=>{if(!E||!T)return;if(l==="regenerate"){Ct(T.id,T.action);return}let d=i.slides[c],h=d.elements.find(C=>C.id===T.id);if(!(!h||h.type!=="text")){if(l==="replace")xt(T.id,{content:E});else if(l==="addBelow"){let C=A(k({},h),{id:`text-ai-${Date.now()}`,content:E,y:h.y+h.height+20,zIndex:d.elements.length});J({elements:[...d.elements,C]})}j(null),bt(null)}},qt=async()=>{await new pt().export(i)},Jt=()=>{_(!0);let l=document.documentElement;l.requestFullscreen&&l.requestFullscreen()},Qt=()=>{_(!1),document.fullscreenElement&&document.exitFullscreen()};(0,I.useEffect)(()=>{let l=()=>{document.fullscreenElement||_(!1)};return document.addEventListener("fullscreenchange",l),()=>document.removeEventListener("fullscreenchange",l)},[]),(0,I.useEffect)(()=>{let l=d=>{if(d.key==="Delete"||d.key==="Backspace"){let h=document.activeElement;if((h==null?void 0:h.tagName)==="INPUT"||(h==null?void 0:h.tagName)==="TEXTAREA"||h!=null&&h.isContentEditable)return;yt()}(d.ctrlKey||d.metaKey)&&(d.key==="z"&&(d.preventDefault(),d.shiftKey?wt():zt()),d.key==="y"&&(d.preventDefault(),wt()))};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[yt,zt,wt]);let kt=(l,d)=>{nt(l),x==null||x(l,d)},At=()=>{w({slides:[{id:`slide-${Date.now()}`,elements:[]}],layout:{width:12192e3,height:6858e3}}),f(0),F(null),kt("scratch")},ut=async l=>{it(!0);try{let d=new gt,h=l;typeof l=="string"?(h=`/api/proxy?url=${encodeURIComponent(l.trim())}`,kt("url",l.trim())):kt("uploaded");let C=await d.parse(h);w(C),e([]),s([]),f(0),F(null)}catch(d){console.error("Failed to load PPTX",d),alert("Failed to load presentation. Please ensure it is a valid .pptx.")}finally{it(!1)}};return!u||!S?(0,N.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,N.jsxs)("div",{className:"flex flex-col bg-white relative",style:{width:typeof u=="number"?`${u}px`:u,height:typeof S=="number"?`${S}px`:S,fontSize:`${16*lt}px`},children:[Q&&(0,N.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,N.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,N.jsxs)("div",{className:"space-y-2",children:[(0,N.jsx)("h2",{className:"text-4xl font-black tracking-tight text-slate-800",children:n}),(0,N.jsx)("p",{className:"text-slate-500 font-medium",children:"Create stunning presentations in seconds."})]}),(0,N.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,N.jsxs)("button",{onClick:()=>{At(),H(!1)},className:"flex flex-col items-center justify-center gap-3 p-8 border-2 border-slate-100 rounded-3xl hover:border-slate-300 hover:bg-slate-50 transition-all group",children:[(0,N.jsx)("div",{className:"p-3 bg-slate-100 rounded-xl group-hover:bg-blue-50 transition-colors",children:(0,N.jsx)("svg",{className:"w-6 h-6 text-blue-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,N.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),(0,N.jsx)("span",{className:"text-xs font-black uppercase tracking-widest text-slate-600",children:"Start New Deck"})]}),(0,N.jsxs)("label",{className:"flex flex-col items-center justify-center gap-3 p-8 border-2 border-slate-100 rounded-3xl hover:border-slate-300 hover:bg-slate-50 transition-all group cursor-pointer",children:[(0,N.jsx)("div",{className:"p-3 bg-slate-100 rounded-xl group-hover:bg-emerald-50 transition-colors",children:(0,N.jsx)("svg",{className:"w-6 h-6 text-emerald-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,N.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a2 2 0 002 2h12a2 2 0 002-2v-1m-4-8l-4-4m0 0L8 8m4-4v12"})})}),(0,N.jsx)("span",{className:"text-xs font-black uppercase tracking-widest text-slate-600",children:"Upload PPTX"}),(0,N.jsx)("input",{type:"file",accept:".pptx",className:"hidden",onChange:l=>{var h;let d=(h=l.target.files)==null?void 0:h[0];d&&(ut(d),H(!1))}})]})]}),(0,N.jsxs)("div",{className:"space-y-4 pt-4 border-t border-slate-100",children:[(0,N.jsxs)("div",{className:"flex gap-2",children:[(0,N.jsxs)("div",{className:"flex-1 relative",children:[(0,N.jsx)("svg",{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,N.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9h18"})}),(0,N.jsx)("input",{type:"text",placeholder:"Paste presentation URL...",value:O,onChange:l=>Z(l.target.value),className:"text-black w-full bg-slate-50 border border-slate-200 rounded-2xl pl-11 pr-5 py-4 focus:outline-none focus:border-slate-400 focus:ring-4 focus:ring-slate-400/5 text-sm transition-all"})]}),(0,N.jsx)("button",{onClick:()=>{O.trim()&&(ut(O.trim()),H(!1))},disabled:!O.trim()||X,style:{cursor:"pointer"},className:"bg-slate-900 hover:bg-black disabled:bg-slate-200 disabled:text-slate-400 text-white font-bold px-8 rounded-2xl transition-all shadow-sm text-sm",children:"Load"})]}),(0,N.jsx)("p",{className:"text-[10px] text-slate-400 font-bold uppercase tracking-widest",children:"Supports S3, public links, and versioned assets"})]})]})}),ot&&(0,N.jsx)(Ht,{presentation:i,initialSlideIndex:c,onClose:Qt}),(0,N.jsx)(Dt,{onAddText:Ot,onAddImage:Vt,onAddShape:Wt,onAddSlide:Xt,onExport:qt,onFormatText:Et,onDeleteElement:yt,onApplyLayout:_t,onPlay:Jt,onAiAction:Ct,onAiResponseAction:Zt,onNewPresentation:At,onLoadPresentation:ut,aiResponse:E,isAiLoading:tt,selectedElement:q,appName:n,appBgColor:z,uiScale:lt,source:ht}),(0,N.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,N.jsx)(Rt,{slides:i.slides,currentSlideIndex:c,onSelectSlide:f,onDeleteSlide:Yt,onDuplicateSlide:Gt,onReorderSlides:Kt,uiScale:lt}),(0,N.jsx)("div",{className:"flex-1 flex items-center justify-center p-12 overflow-auto bg-white",children:(0,N.jsx)(vt,{slide:v,onElementUpdate:xt,onSelect:F,uiScale:lt})})]})]})};0&&(module.exports={PptEditor,PptxExporter,PptxParser});
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});
19
19
  //# sourceMappingURL=index.js.map