slidecanvas 1.0.4 → 1.0.5
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 +8 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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(
|
|
2
|
+
"use strict";var tt=Object.create;var de=Object.defineProperty,rt=Object.defineProperties,at=Object.getOwnPropertyDescriptor,ot=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertyNames,Le=Object.getOwnPropertySymbols,st=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable;var Ie=(h,r,s)=>r in h?de(h,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):h[r]=s,N=(h,r)=>{for(var s in r||(r={}))Pe.call(r,s)&&Ie(h,s,r[s]);if(Le)for(var s of Le(r))nt.call(r,s)&&Ie(h,s,r[s]);return h},L=(h,r)=>rt(h,ot(r));var lt=(h,r)=>{for(var s in r)de(h,s,{get:r[s],enumerable:!0})},Be=(h,r,s,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let x of it(r))!Pe.call(h,x)&&x!==s&&de(h,x,{get:()=>r[x],enumerable:!(p=at(r,x))||p.enumerable});return h};var me=(h,r,s)=>(s=h!=null?tt(st(h)):{},Be(r||!h||!h.__esModule?de(s,"default",{value:h,enumerable:!0}):s,h)),ct=h=>Be(de({},"__esModule",{value:!0}),h);var ft={};lt(ft,{PptEditor:()=>mt,PptxExporter:()=>pe,PptxParser:()=>ge});module.exports=ct(ft);function Se(h,{insertAt:r}={}){if(!h||typeof document=="undefined")return;let s=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css",r==="top"&&s.firstChild?s.insertBefore(p,s.firstChild):s.appendChild(p),p.styleSheet?p.styleSheet.cssText=h:p.appendChild(document.createTextNode(h))}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-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 B=require("react");var O=me(require("react")),b=require("lucide-react");var Te=require("clsx"),Me=require("tailwind-merge");function R(...h){return(0,Me.twMerge)((0,Te.clsx)(h))}var e=require("react/jsx-runtime"),dt=["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"],pt=[12,14,16,18,20,24,28,32,36,48,64,72,96],gt=[{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"]}],ht=({type:h,className:r})=>{switch(h){case"rect":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:r,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:r,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:r,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:r,children:(0,e.jsx)("path",{d:"M4 4V20H20L4 4Z",fill:"currentColor"})});case"rhombus":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,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:r,children:(0,e.jsx)("path",{d:"M19 13H5v-2h14v2z",fill:"currentColor"})});case"multiply":return(0,e.jsx)("svg",{viewBox:"0 0 24 24",className:r,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:r,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:r,children:(0,e.jsx)("path",{d:"M19 10H5V8h14v2zm0 6H5v-2h14v2z",fill:"currentColor"})});default:return(0,e.jsx)("div",{className:"w-6 h-6 bg-slate-200 rounded-sm"})}},ut=({onAddShape:h,uiScale:r})=>{let[s,p]=(0,O.useState)(!1);return O.default.useEffect(()=>(window._toggleShapesMenu=()=>p(!s),()=>{window._toggleShapesMenu=void 0}),[s]),s?(0,e.jsx)("div",{className:"absolute top-full left-0 mt-2 bg-white border border-slate-200 rounded-2xl shadow-2xl p-4 overflow-y-auto z-[100] animate-in fade-in zoom-in-95 duration-200",style:{width:`${320*r}px`,maxHeight:`${480*r}px`},children:(0,e.jsx)("div",{className:"flex flex-col gap-6",children:gt.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*r}px`},children:x.name}),(0,e.jsx)("div",{className:"grid grid-cols-5 gap-1",children:x.shapes.map(m=>(0,e.jsx)("button",{onClick:()=>{h(m),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:m,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)(ht,{type:m,className:"w-full h-full text-slate-400 group-hover:text-blue-600 transition-colors"})})},m))})]},x.name))})}):null},De=({onAddText:h,onAddImage:r,onAddShape:s,onAddSlide:p,onExport:x,onFormatText:m,onDeleteElement:z,onApplyLayout:S,onPlay:I,selectedElement:o,appName:A,onAiAction:i,onAiResponseAction:l,aiResponse:k,isAiLoading:u,onNewPresentation:f,onLoadPresentation:c,appBgColor:t="#B7472A",uiScale:a,source:g})=>{let C=O.default.useRef(null),[D,Z]=(0,O.useState)("Home"),[V,H]=(0,O.useState)(!1),[Y,ie]=(0,O.useState)(!1),[he,se]=(0,O.useState)(!1),[ee,E]=(0,O.useState)(!1),[W,q]=(0,O.useState)("file"),[te,ne]=(0,O.useState)(""),M=(o==null?void 0:o.type)==="text",we=(o==null?void 0:o.type)==="shape",le="#B7472A";return(0,e.jsxs)("div",{className:"flex flex-col border-b border-slate-200 bg-white z-50 select-none",style:{fontSize:`${12*a}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*a}px`,overflow:"visible"},children:[(0,e.jsxs)("div",{className:R("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",a<.84?"min-w-0":"min-w-fit"),children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-1 my-auto",children:[(0,e.jsxs)("button",{onClick:p,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg group transition-all min-w-[64px]",children:[(0,e.jsx)("div",{className:"bg-orange-50 p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(b.Plus,{size:20,style:{color:t}})}),(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:()=>H(!V),className:R("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)(b.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:()=>{S("title"),H(!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)(b.FileText,{size:16,className:"text-blue-500"})," Title Slide"]}),(0,e.jsxs)("button",{onClick:()=>{S("content"),H(!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)(b.List,{size:16,className:"text-emerald-500"})," Title & Content"]}),(0,e.jsxs)("button",{onClick:()=>{S("split"),H(!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)(b.Columns,{size:16,className:"text-purple-500"})," Two Columns"]})]})]})]}),a>=.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:R("flex-1 flex flex-col items-center border-r border-slate-100 px-3 gap-1 h-full py-2",a<.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:!M,value:(o==null?void 0:o.fontFamily)||"Arial",onChange:w=>m({fontFamily:w.target.value}),className:R("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",a<.85?"flex-1":"w-44"),children:dt.map(w=>(0,e.jsx)("option",{value:w,children:w},w))}),(0,e.jsx)("select",{disabled:!M,value:(o==null?void 0:o.fontSize)||24,onChange:w=>m({fontSize:parseInt(w.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:pt.map(w=>(0,e.jsx)("option",{value:w,children:w},w))})]}),(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:!M,onClick:()=>m({isBold:!o.isBold}),className:R("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)(b.Bold,{size:14,strokeWidth:3})}),(0,e.jsx)("button",{disabled:!M,onClick:()=>m({isItalic:!o.isItalic}),className:R("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)(b.Italic,{size:14})}),(0,e.jsx)("button",{disabled:!M,onClick:()=>m({isBulleted:!o.isBulleted}),className:R("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)(b.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:M?o.color||"#000000":(o==null?void 0:o.fill)||"#3b82f6",onChange:w=>m(M?{color:w.target.value}:{fill:w.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:M?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:!M,onClick:()=>m({textAlign:"left"}),className:R("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"?t:void 0},children:(0,e.jsx)(b.AlignLeft,{size:13})}),(0,e.jsx)("button",{disabled:!M,onClick:()=>m({textAlign:"center"}),className:R("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"?t:void 0},children:(0,e.jsx)(b.AlignCenter,{size:13})}),(0,e.jsx)("button",{disabled:!M,onClick:()=>m({textAlign:"right"}),className:R("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"?t:void 0},children:(0,e.jsx)(b.AlignRight,{size:13})})]})]}),a>=.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 w;return(w=window._toggleShapesMenu)==null?void 0:w.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)(b.Square,{size:20,className:"text-blue-600"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-slate-700",children:"Shapes"})]}),(0,e.jsx)(ut,{onAddShape:w=>{s(w)},uiScale:a})]}),(0,e.jsx)("div",{className:"w-[1px] h-10 bg-slate-100 mx-1"}),(0,e.jsxs)("button",{onClick:h,className:"flex flex-col items-center justify-center gap-1.5 px-3 py-1.5 hover:bg-slate-50 rounded-lg text-slate-600 transition-colors min-w-[64px]",title:"Text Box",children:[(0,e.jsx)("div",{className:"p-1.5",children:(0,e.jsx)(b.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 w;return(w=C.current)==null?void 0:w.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)(b.Image,{size:20})}),(0,e.jsx)("span",{className:"text-[10px] font-medium text-slate-500",children:"Image"}),(0,e.jsx)("input",{type:"file",ref:C,className:"hidden",accept:"image/*",onChange:w=>{var J;return((J=w.target.files)==null?void 0:J[0])&&r(w.target.files[0])}})]})]}),a>=.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:!M||u,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,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(b.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:!M||u,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,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(b.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:!M||u,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,e.jsx)("div",{className:"p-1.5 rounded-lg group-hover:scale-110 transition-transform",children:(0,e.jsx)(b.Sparkles,{size:20,className:"text-emerald-500"})}),(0,e.jsx)("span",{className:"text-[10px] font-bold text-center leading-tight",children:"Lengthen"})]})]}),u&&(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)(b.RefreshCw,{size:16,className:"text-blue-600 animate-spin"})}),a>=.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:I,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)(b.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)(b.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:z,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)(b.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)(b.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"})]}),a>=.85&&(0,e.jsx)("span",{className:"text-[9px] uppercase tracking-[0.2em] font-black text-slate-300 mt-auto",children:"Actions"})]})]}),ee&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"fixed inset-0 bg-slate-900/40 backdrop-blur-sm z-[2000]",onClick:()=>E(!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)(b.Download,{size:20})}),"Upload Presentation"]}),(0,e.jsx)("button",{onClick:()=>E(!1),className:"text-slate-400 hover:text-slate-600 transition-colors",children:(0,e.jsx)(b.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:()=>q("file"),className:R("flex-1 py-3 text-xs font-black rounded-xl transition-all",W==="file"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"FILE UPLOAD"}),(0,e.jsx)("button",{onClick:()=>q("link"),className:R("flex-1 py-3 text-xs font-black rounded-xl transition-all",W==="link"?"bg-white text-blue-600 shadow-sm":"text-slate-500 hover:text-slate-700"),children:"LINK UPLOAD"})]}),W==="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)(b.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:w=>{var G;let J=(G=w.target.files)==null?void 0:G[0];J&&(c(J),E(!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:te,onChange:w=>ne(w.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:()=>{te.trim()&&(c(te.trim()),E(!1))},disabled:!te.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"),U=require("@dnd-kit/core"),_=require("@dnd-kit/sortable"),Fe=require("@dnd-kit/utilities");var T=require("react/jsx-runtime"),vt=({slide:h,index:r,isActive:s,onSelect:p,onDelete:x,onDuplicate:m,showDelete:z,uiScale:S,appBgColor:I})=>{let{attributes:o,listeners:A,setNodeRef:i,transform:l,transition:k,isDragging:u}=(0,_.useSortable)({id:h.id}),f={transform:Fe.CSS.Transform.toString(l),transition:k,zIndex:u?2:1,opacity:u?.5:1};return(0,T.jsxs)("div",{ref:i,onClick:p,className:R("cursor-pointer border-[1.5px] rounded-2xl p-2 transition-all duration-300 group relative select-none",s?"bg-white":"border-transparent hover:border-slate-200 bg-white/50 hover:bg-white"),style:L(N({},f),{borderColor:s?I:void 0}),children:[(0,T.jsxs)("div",{className:"text-[10px] font-bold text-slate-400 mb-1 flex items-center justify-between",children:[(0,T.jsxs)("div",{className:"flex items-center gap-1",children:[(0,T.jsx)("div",L(N(N({},o),A),{className:"cursor-grab active:cursor-grabbing p-0.5 hover:bg-slate-100 text-slate-300 hover:text-slate-500",children:(0,T.jsx)(re.GripVertical,{size:10})})),(0,T.jsxs)("span",{children:["SLIDE ",r+1]})]}),(0,T.jsxs)("div",{className:"flex items-center gap-1",children:[s&&(0,T.jsx)("span",{className:"h-1.5 w-1.5 rounded-full",style:{backgroundColor:I}}),(0,T.jsxs)("div",{className:"flex items-center opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,T.jsx)("button",{onClick:c=>{c.stopPropagation(),m()},className:"p-1 hover:bg-blue-50 text-slate-400 hover:text-blue-500 transition-all",title:"Duplicate Slide",children:(0,T.jsx)(re.Copy,{size:12})}),z&&(0,T.jsx)("button",{onClick:c=>{c.stopPropagation(),x()},className:"p-1 hover:bg-red-50 text-red-400 hover:text-red-500 transition-all",title:"Delete Slide",children:(0,T.jsx)(re.Trash2,{size:12})})]})]})]}),(0,T.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,T.jsx)("div",{className:"origin-center pointer-events-none select-none shrink-0",style:{width:"1200px",height:"675px",transform:`scale(${180*S/1200})`,backgroundColor:"#ffffff"},children:h.elements.sort((c,t)=>(c.zIndex||0)-(t.zIndex||0)).map(c=>{var a;let t={position:"absolute",left:c.x,top:c.y,width:c.width,height:c.height,opacity:(a=c.opacity)!=null?a:1};return c.type==="text"?(0,T.jsx)("div",{style:L(N({},t),{fontSize:c.fontSize,fontFamily:c.fontFamily,color:c.color,textAlign:c.textAlign||"left",fontWeight:c.isBold?"bold":"normal",fontStyle:c.isItalic?"italic":"normal",lineHeight:1.2,overflow:"hidden",wordBreak:"break-word",whiteSpace:"pre-wrap"}),children:c.content},c.id):c.type==="shape"?(0,T.jsx)("div",{style:L(N({},t),{backgroundColor:c.fill,borderRadius:c.shapeType==="ellipse"?"50%":"0"})},c.id):c.type==="image"?(0,T.jsx)("img",{src:c.src,alt:"",style:L(N({},t),{objectFit:"contain"})},c.id):null})})})]})},Re=({slides:h,currentSlideIndex:r,onSelectSlide:s,onDeleteSlide:p,onDuplicateSlide:x,onReorderSlides:m,uiScale:z,appBgColor:S="#B7472A"})=>{let I=(0,U.useSensors)((0,U.useSensor)(U.PointerSensor,{activationConstraint:{distance:5}}),(0,U.useSensor)(U.KeyboardSensor,{coordinateGetter:_.sortableKeyboardCoordinates})),o=A=>{let{active:i,over:l}=A;if(i.id!==(l==null?void 0:l.id)){let k=h.findIndex(f=>f.id===i.id),u=h.findIndex(f=>f.id===(l==null?void 0:l.id));m(k,u)}};return(0,T.jsx)("div",{className:"bg-white border-r border-slate-100 overflow-y-auto p-4 flex flex-col gap-4",style:{width:`${256*z}px`},children:(0,T.jsx)(U.DndContext,{sensors:I,collisionDetection:U.closestCenter,onDragEnd:o,children:(0,T.jsx)(_.SortableContext,{items:h.map(A=>A.id),strategy:_.verticalListSortingStrategy,children:h.map((A,i)=>(0,T.jsx)(vt,{slide:A,index:i,isActive:i===r,onSelect:()=>s(i),onDelete:()=>p(i),onDuplicate:()=>x(i),showDelete:h.length>1,uiScale:z,appBgColor:S},A.id))})})})};var $=require("react"),X=me(require("fabric"));var fe=require("react/jsx-runtime"),be=({slide:h,onElementUpdate:r,onSelect:s,uiScale:p})=>{let x=(0,$.useRef)(null),m=(0,$.useRef)(null),z=(0,$.useRef)(!1),S=(0,$.useRef)(r),I=(0,$.useRef)(s),o=(0,$.useRef)(null),[A,i]=(0,$.useState)(.8);return(0,$.useEffect)(()=>{if(!o.current)return;let l=new ResizeObserver(k=>{let u=k[0];if(u){let{width:f,height:c}=u.contentRect,t=f/1200,a=c/675,g=Math.min(t,a)*.95;i(g)}});return l.observe(o.current),()=>l.disconnect()},[]),(0,$.useEffect)(()=>{S.current=r,I.current=s},[r,s]),(0,$.useEffect)(()=>{if(x.current&&!m.current){m.current=new X.Canvas(x.current,{width:1200,height:675,backgroundColor:"#ffffff"});let l=m.current,k=t=>{t.left<0&&t.set("left",0),t.top<0&&t.set("top",0);let a=t.getBoundingRect();a.left+a.width>(l.width||1200)&&t.set("left",(l.width||1200)-a.width),a.top+a.height>(l.height||675)&&t.set("top",(l.height||675)-a.height)};l.on("object:moving",t=>k(t.target)),l.on("object:scaling",t=>k(t.target));let u=t=>{var C;if(z.current)return;let a=t.target,g=(C=a.get("data"))==null?void 0:C.id;a&&g&&S.current(g,N({x:a.left,y:a.top,width:a.getScaledWidth(),height:a.getScaledHeight()},a.isType("textbox")?{content:a.text,textAlign:a.textAlign,fontSize:a.fontSize,fontFamily:a.fontFamily,color:a.fill}:{fill:a.fill}))};l.on("object:modified",u),l.on("text:changed",u);let f=t=>{var g,C;let a=((g=t.selected)==null?void 0:g[0])||t.target;if(a){let D=(C=a.get("data"))==null?void 0:C.id;I.current(D)}};l.on("selection:created",f),l.on("selection:updated",f),l.on("selection:cleared",()=>I.current(null));let c=t=>{let a=l.getActiveObject();if(!a||a.isType("textbox")&&a.isEditing)return;let g=t.shiftKey?10:1,C=!1;switch(t.key){case"ArrowLeft":a.set("left",a.left-g),C=!0;break;case"ArrowRight":a.set("left",a.left+g),C=!0;break;case"ArrowUp":a.set("top",a.top-g),C=!0;break;case"ArrowDown":a.set("top",a.top+g),C=!0;break}C&&(k(a),l.requestRenderAll(),u({target:a}))};window.addEventListener("keydown",c),l._keyboardListener=c}return()=>{if(m.current){let l=m.current._keyboardListener;l&&window.removeEventListener("keydown",l),m.current.dispose(),m.current=null}}},[]),(0,$.useEffect)(()=>{if(!m.current)return;let l=m.current;(async()=>{z.current=!0;let u=l.getObjects(),f=new Set(h.elements.map(t=>t.id));u.forEach(t=>{var g;let a=(g=t.get("data"))==null?void 0:g.id;a&&!f.has(a)&&l.remove(t)});let c=[...h.elements].sort((t,a)=>(t.zIndex||0)-(a.zIndex||0));for(let t of c){let a=u.find(g=>{var C;return((C=g.get("data"))==null?void 0:C.id)===t.id});if(a){if(a===l.getActiveObject()&&a.isType("textbox")&&a.isEditing)continue;let g={left:t.x,top:t.y,opacity:t.opacity!==void 0?t.opacity:1,zIndex:t.zIndex};t.type==="text"&&a.isType("textbox")?(g.text=t.content||" ",g.fontSize=t.fontSize||22,g.fill=t.color||"#000000",g.textAlign=t.textAlign||"left",g.fontWeight=t.isBold?"bold":"normal",g.fontStyle=t.isItalic?"italic":"normal",g.fontFamily=t.fontFamily||"Arial",g.width=Math.max(t.width||50,10)):t.type==="shape"?(g.fill=t.fill||"#cccccc",g.scaleX=(t.width||50)/(a.width||1),g.scaleY=(t.height||50)/(a.height||1)):t.type==="image"&&(g.scaleX=(t.width||100)/(a.width||1),g.scaleY=(t.height||100)/(a.height||1)),a.set(g)}else{let g=null,C={left:t.x,top:t.y,data:{id:t.id},originX:"left",originY:"top",opacity:t.opacity!==void 0?t.opacity:1};if(t.type==="text")g=new X.Textbox(t.content||" ",L(N({},C),{width:Math.max(t.width||200,10),fontSize:t.fontSize||22,fill:t.color||"#000000",fontFamily:t.fontFamily||"Inter, Arial, sans-serif",textAlign:t.textAlign||"left",fontWeight:t.isBold?"bold":"normal",fontStyle:t.isItalic?"italic":"normal",splitByGrapheme:!1}));else if(t.type==="shape"){let D=t.fill||"#3b82f6";t.shapeType==="ellipse"?g=new X.Circle(L(N({},C),{radius:(t.width||100)/2,scaleY:(t.height||100)/(t.width||100),fill:D})):g=new X.Rect(L(N({},C),{width:t.width||100,height:t.height||100,fill:D}))}else if(t.type==="image")try{let D=await X.FabricImage.fromURL(t.src);D.set(L(N({},C),{scaleX:(t.width||100)/(D.width||1),scaleY:(t.height||100)/(D.height||1)})),g=D}catch(D){console.error(D)}g&&l.add(g)}}l.renderAll(),z.current=!1})()},[h]),(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(${A})`,transformOrigin:"center center"},children:(0,fe.jsx)("canvas",{ref:x})})})};var je=me(require("pptxgenjs"));var pe=class{async export(r){var o,A;let s=new je.default,p=((o=r.layout)==null?void 0:o.width)||12192e3,x=((A=r.layout)==null?void 0:A.height)||6858e3,m=1200,z=675,S=i=>i/m*(p/914400),I=i=>i/z*(x/914400);r.slides.forEach(i=>{let l=s.addSlide();[...i.elements].sort((u,f)=>u.zIndex-f.zIndex).forEach(u=>{var t,a;let f=u.opacity!==void 0?(1-u.opacity)*100:0,c={x:S(u.x),y:I(u.y),w:S(u.width),h:I(u.height)};if(u.type==="text")l.addText(u.content,L(N({},c),{fontSize:(u.fontSize||18)/2,color:((t=u.color)==null?void 0:t.replace("#",""))||"000000",fontFace:u.fontFamily||"Arial"}));else if(u.type==="image")l.addImage(L(N({},c),{path:u.src,transparency:f}));else if(u.type==="shape"){let g=u.shapeType==="ellipse"?s.ShapeType.ellipse:s.ShapeType.rect;l.addShape(g,L(N({},c),{fill:{color:((a=u.fill)==null?void 0:a.replace("#",""))||"CCCCCC",transparency:f>0?Math.min(f+10,100):0}}))}})}),await s.writeFile({fileName:"presentation.pptx"})}};var $e=me(require("jszip")),ge=class{constructor(){this.slideWidth=12192e3;this.slideHeight=6858e3;this.CANVAS_WIDTH=1200;this.CANVAS_HEIGHT=675}async parse(r){var A,i;let s=r;if(typeof r=="string"){let l=await fetch(r);if(!l.ok){let k=l.status,u=l.statusText,f="";try{let c=await l.json();f=c.details||c.error||""}catch(c){}throw new Error(`Failed to fetch PPTX from ${r}: ${k} ${u} ${f?`(${f})`:""}`)}s=await l.arrayBuffer()}let p=await $e.default.loadAsync(s),x=await((A=p.file("ppt/presentation.xml"))==null?void 0:A.async("string"));if(!x)throw new Error("Invalid PPTX");let z=new DOMParser().parseFromString(x,"text/xml"),S=this.findFirstByLocalName(z,"sldSz");S&&(this.slideWidth=parseInt(this.getAttr(S,"cx")||"12192000"),this.slideHeight=parseInt(this.getAttr(S,"cy")||"6858000"));let I=Array.from(z.getElementsByTagNameNS("*","sldId")),o=[];for(let l=0;l<I.length;l++){let k=l+1,u=`ppt/slides/slide${k}.xml`,f=await((i=p.file(u))==null?void 0:i.async("string"));if(f){let c=await this.parseSlide(f,k,p);o.push(c)}}return{slides:o,layout:{width:this.slideWidth,height:this.slideHeight}}}getAttr(r,s){return r.getAttribute(s)||r.getAttribute(`a:${s}`)||r.getAttribute(`p:${s}`)||r.getAttribute(`r:${s}`)}findFirstByLocalName(r,s){let p=r.getElementsByTagNameNS("*",s);return p.length>0?p[0]:null}findAllByLocalName(r,s){return Array.from(r.getElementsByTagNameNS("*",s))}scaleX(r){return r/this.slideWidth*this.CANVAS_WIDTH}scaleY(r){return r/this.slideHeight*this.CANVAS_HEIGHT}parseColor(r){let s=this.findFirstByLocalName(r,"srgbClr");if(s){let x=`#${this.getAttr(s,"val")}`,m=this.findFirstByLocalName(s,"alpha"),z=m?parseInt(this.getAttr(m,"val")||"100000")/1e5:1;return{color:x,opacity:z}}let p=this.findFirstByLocalName(r,"schemeClr");if(p){let x=this.findFirstByLocalName(p,"alpha");return{color:"#000000",opacity:x?parseInt(this.getAttr(x,"val")||"100000")/1e5:1}}return{color:"#000000",opacity:1}}async resolveImage(r,s,p){var o,A;let x=await((o=p.file(`ppt/slides/_rels/slide${s}.xml.rels`))==null?void 0:o.async("string"));if(!x)return null;let z=new DOMParser().parseFromString(x,"text/xml"),S=Array.from(z.getElementsByTagName("Relationship")).find(i=>i.getAttribute("Id")===r),I=S==null?void 0:S.getAttribute("Target");if(I){let i=(I.startsWith("../")?`ppt/${I.substring(3)}`:`ppt/slides/${I}`).replace("ppt/slides/../","ppt/");return await((A=p.file(i))==null?void 0:A.async("blob"))||null}return null}async parseSlide(r,s,p){let m=new DOMParser().parseFromString(r,"text/xml"),z=[],S=0,I=this.findFirstByLocalName(m,"bg");if(I){let i=this.findFirstByLocalName(I,"blip"),l=(i==null?void 0:i.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(i==null?void 0:i.getAttribute("r:embed"));if(l){let k=await this.resolveImage(l,s,p);k&&z.push({id:`bg-${s}`,type:"image",src:URL.createObjectURL(k),x:0,y:0,width:this.CANVAS_WIDTH,height:this.CANVAS_HEIGHT,zIndex:S++,opacity:1})}}let o=this.findFirstByLocalName(m,"spTree");if(!o)return{id:`slide-${s}`,elements:z};let A=Array.from(o.children);for(let i of A){let l=i.localName;if(l==="sp"){let k=this.findFirstByLocalName(i,"txBody"),u=this.findFirstByLocalName(i,"xfrm"),f=u?this.findFirstByLocalName(u,"off"):null,c=u?this.findFirstByLocalName(u,"ext"):null;if(k&&f&&c){let a=this.findAllByLocalName(k,"p"),g="",C=18,D="#000000",Z=1,V=!1;for(let H of a){let Y=this.findFirstByLocalName(H,"pPr"),ie=Y?this.findFirstByLocalName(Y,"buNone"):null;Y&&!ie&&(this.findFirstByLocalName(Y,"buChar")||this.findFirstByLocalName(Y,"buAutoNum"))&&(V=!0,g+="\u2022 ");let he=this.findAllByLocalName(H,"r");for(let se of he){let ee=this.findFirstByLocalName(se,"t");ee&&(g+=ee.textContent);let E=this.findFirstByLocalName(se,"rPr");if(E){let W=this.getAttr(E,"sz");W&&(C=parseInt(W)/100*2);let q=this.parseColor(E);D=q.color,Z=q.opacity}}g+=`
|
|
4
|
+
`}if(g.trim()){z.push({id:`el-${s}-${Date.now()}-${S}`,type:"text",content:g.trim(),x:this.scaleX(parseInt(this.getAttr(f,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(f,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(c,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(c,"cy")||"0")),fontSize:C,color:D,fontFamily:"Arial",zIndex:S++,isBulleted:V,opacity:Z});continue}}let t=this.findFirstByLocalName(i,"prstGeom");if(t&&f&&c){let a=this.getAttr(t,"prst"),g=this.findFirstByLocalName(i,"spPr"),C=g?this.parseColor(g):{color:"#cccccc",opacity:1};z.push({id:`el-${s}-${Date.now()}-${S}`,type:"shape",shapeType:a==="ellipse"||a==="circle"?"ellipse":"rect",fill:C.color,opacity:C.opacity,x:this.scaleX(parseInt(this.getAttr(f,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(f,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(c,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(c,"cy")||"0")),zIndex:S++})}}if(l==="pic"){let k=this.findFirstByLocalName(i,"blip"),u=(k==null?void 0:k.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed"))||(k==null?void 0:k.getAttribute("r:embed")),f=this.findFirstByLocalName(i,"xfrm"),c=f?this.findFirstByLocalName(f,"off"):null,t=f?this.findFirstByLocalName(f,"ext"):null;if(u&&c&&t){let a=await this.resolveImage(u,s,p);a&&z.push({id:`el-${s}-${Date.now()}-${S}`,type:"image",src:URL.createObjectURL(a),x:this.scaleX(parseInt(this.getAttr(c,"x")||"0")),y:this.scaleY(parseInt(this.getAttr(c,"y")||"0")),width:this.scaleX(parseInt(this.getAttr(t,"cx")||"0")),height:this.scaleY(parseInt(this.getAttr(t,"cy")||"0")),zIndex:S++,opacity:1})}}}return{id:`slide-${s}`,elements:z}}};var ae=require("react"),oe=require("lucide-react");var F=require("react/jsx-runtime"),He=({presentation:h,initialSlideIndex:r,onClose:s})=>{let[p,x]=(0,ae.useState)(r),m=h.slides[p],z=()=>{p>0&&x(p-1)},S=()=>{p<h.slides.length-1&&x(p+1)};(0,ae.useEffect)(()=>{let A=i=>{i.key==="ArrowRight"||i.key===" "||i.key==="PageDown"?S():i.key==="ArrowLeft"||i.key==="Backspace"||i.key==="PageUp"?z():i.key==="Escape"&&s()};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[p]);let[I,o]=(0,ae.useState)(1);return(0,ae.useEffect)(()=>{let A=()=>{let l=window.innerWidth-40,k=window.innerHeight-40,u=1200,f=675,c=l/u,t=k/f,a=Math.min(c,t);o(a)};return A(),window.addEventListener("resize",A),()=>window.removeEventListener("resize",A)},[]),(0,F.jsxs)("div",{className:"fixed inset-0 z-[99999] bg-[#0A0A0A] flex flex-col items-center justify-center overflow-hidden",children:[(0,F.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,F.jsxs)("div",{className:"text-white/80 font-bold ml-4 pointer-events-auto",children:["Slide ",p+1," of ",h.slides.length]}),(0,F.jsx)("button",{onClick:s,className:"p-3 bg-white/10 hover:bg-white/20 text-white rounded-full transition-all pointer-events-auto",children:(0,F.jsx)(oe.X,{size:24})})]}),(0,F.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,F.jsx)("div",{className:"relative shadow-2xl shadow-black/80 bg-white",style:{width:"1200px",height:"675px",transform:`scale(${I})`,transformOrigin:"center center"},children:(0,F.jsx)(be,{slide:m,onElementUpdate:()=>{},onSelect:()=>{},uiScale:.75})})}),(0,F.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,F.jsx)("button",{disabled:p===0,onClick:z,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,F.jsx)(oe.ChevronLeft,{size:32})}),(0,F.jsx)("div",{className:"h-6 w-[1px] bg-white/10"}),(0,F.jsx)("button",{disabled:p===h.slides.length-1,onClick:S,className:"p-2 text-white/50 hover:text-white disabled:opacity-20 transition-colors",children:(0,F.jsx)(oe.ChevronRight,{size:32})})]})]})};var Ue=require("@google/generative-ai");var y=require("react/jsx-runtime"),mt=({initialPresentation:h,url:r,appName:s="SlideCanvas",onChange:p,geminiApiKey:x,width:m,height:z,appBgColor:S="#B7472A",showHomeOnEmpty:I=!1,initialSource:o,onSourceChange:A})=>{let[i,l]=(0,B.useState)(h||{slides:[{id:"slide-1",elements:[]}],layout:{width:12192e3,height:6858e3}}),[k,u]=(0,B.useState)([]),[f,c]=(0,B.useState)([]),[t,a]=(0,B.useState)(0),[g,C]=(0,B.useState)(null),[D,Z]=(0,B.useState)(!1),[V,H]=(0,B.useState)(null),[Y,ie]=(0,B.useState)(!1),[he,se]=(0,B.useState)(o||(r?"url":null)),[ee,E]=(0,B.useState)(I&&!h&&!r&&!o),[W,q]=(0,B.useState)("");(0,B.useEffect)(()=>{r&&ue(r)},[r]);let[te,ne]=(0,B.useState)(!1),[M,we]=(0,B.useState)(null),le=(0,B.useMemo)(()=>{let n=typeof m=="number"?m:parseInt(String(m));return isNaN(n)?1:Math.min(Math.max(n/1600,.7),1)},[m]),w=i.slides[t],J=(0,B.useMemo)(()=>w.elements.find(n=>n.id===g)||null,[w,g]),G=(0,B.useCallback)(n=>{u(d=>[...d.slice(-19),i]),c([]),l(n),p==null||p(n)},[p,i]),ze=()=>{if(k.length===0)return;let n=k[k.length-1];c(d=>[...d,i]),u(d=>d.slice(0,-1)),l(n)},xe=()=>{if(f.length===0)return;let n=f[f.length-1];u(d=>[...d,i]),c(d=>d.slice(0,-1)),l(n)},Q=(0,B.useCallback)(n=>{l(d=>{let v=[...d.slides];v[t]=N(N({},v[t]),n);let P=L(N({},d),{slides:v});return u(j=>[...j.slice(-19),d]),c([]),p==null||p(P),P})},[t,p]),ye=(0,B.useCallback)((n,d)=>{l(v=>{let P=v.slides[t],j=P.elements.map(ce=>ce.id===n?N(N({},ce),d):ce),K=[...v.slides];K[t]=L(N({},P),{elements:j});let ve=L(N({},v),{slides:K});return p==null||p(ve),ve})},[t,p]),Ee=n=>{if(!g)return;if(w.elements.find(v=>v.id===g)){ye(g,n);let v=i.slides[t],P=v.elements.map(K=>K.id===g?N(N({},K),n):K),j=[...i.slides];j[t]=L(N({},v),{elements:P}),G(L(N({},i),{slides:j}))}},ke=(0,B.useCallback)(()=>{if(!g)return;let d=i.slides[t].elements.filter(v=>v.id!==g);Q({elements:d}),C(null)},[g,t,i,Q]),Oe=()=>{let n={id:`text-${Date.now()}`,type:"text",content:"New Text",x:100,y:100,width:400,height:100,fontSize:48,fontFamily:"Arial",color:"#000000",zIndex:w.elements.length};Q({elements:[...w.elements,n]})},Ve=n=>{let d=URL.createObjectURL(n),v=`img-${Date.now()}`,P={id:v,type:"image",src:d,x:100,y:100,width:400,height:250,zIndex:w.elements.length};Q({elements:[...w.elements,P]}),C(v)},We=n=>{let d={id:`shape-${Date.now()}`,type:"shape",shapeType:n,fill:"#3b82f6",x:200,y:200,width:200,height:200,zIndex:w.elements.length};Q({elements:[...w.elements,d]})},Xe=()=>{let n={id:`slide-${Date.now()}`,elements:[]};G(L(N({},i),{slides:[...i.slides,n]})),a(i.slides.length)},Ye=n=>{if(i.slides.length<=1)return;let d=i.slides.filter((v,P)=>P!==n);G(L(N({},i),{slides:d})),n<=t&&a(Math.max(0,t-1))},Ge=n=>{let d=i.slides[n],v=L(N({},d),{id:`slide-${Date.now()}`,elements:d.elements.map(j=>L(N({},j),{id:`${j.type}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}))}),P=[...i.slides];P.splice(n+1,0,v),G(L(N({},i),{slides:P})),a(n+1)},Ke=(n,d)=>{if(n===d)return;let v=[...i.slides],[P]=v.splice(n,1);v.splice(d,0,P),G(L(N({},i),{slides:v})),t===n?a(d):t>n&&t<=d?a(t-1):t<n&&t>=d&&a(t+1)},_e=n=>{let d=[],v=Date.now();n==="title"?d=[{id:`text-title-${v}`,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-${v}`,type:"text",content:"Subtitle goes here",x:200,y:380,width:800,height:80,fontSize:36,fontFamily:"Inter",color:"#64748b",textAlign:"center",zIndex:1}]:n==="content"?d=[{id:`text-title-${v}`,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-${v}`,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}]:
|
|
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}]:n==="split"&&(d=[{id:`text-title-${v}`,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-${v}`,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-${v}`,type:"text",content:"Right column content goes here.",x:620,y:180,width:520,height:400,fontSize:24,fontFamily:"Inter",color:"#334155",zIndex:2}]),Q({elements:d})},Ce=async(n,d)=>{let P=i.slides[t].elements.find(j=>j.id===n);if(!(!P||P.type!=="text")){ne(!0),H(null),we({id:n,action:d});try{if(!x){H("Gemini API key is missing. Please provide it via the 'geminiApiKey' prop."),ne(!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.`}),
|
|
15
|
-
Text Role: ${
|
|
16
|
-
Original Text: "${
|
|
14
|
+
6. Maintain the professional tone of the original presentation.`}),ve=P.fontSize>32?"Title/Headline":"Body Text/List",ce=`Action: ${d.toUpperCase()}
|
|
15
|
+
Text Role: ${ve}
|
|
16
|
+
Original Text: "${P.content}"
|
|
17
17
|
|
|
18
|
-
Transformed Text:`,
|
|
18
|
+
Transformed Text:`,et=await(await K.generateContent(ce)).response;H(et.text().trim())}catch(j){console.error("Gemini AI Error:",j),H("Error generating response. Please check your API key or connection.")}finally{ne(!1)}}},Ze=n=>{if(!V||!M)return;if(n==="regenerate"){Ce(M.id,M.action);return}let d=i.slides[t],v=d.elements.find(P=>P.id===M.id);if(!(!v||v.type!=="text")){if(n==="replace")ye(M.id,{content:V});else if(n==="addBelow"){let P=L(N({},v),{id:`text-ai-${Date.now()}`,content:V,y:v.y+v.height+20,zIndex:d.elements.length});Q({elements:[...d.elements,P]})}H(null),we(null)}},qe=async()=>{await new pe().export(i)},Je=()=>{Z(!0);let n=document.documentElement;n.requestFullscreen&&n.requestFullscreen()},Qe=()=>{Z(!1),document.fullscreenElement&&document.exitFullscreen()};(0,B.useEffect)(()=>{let n=()=>{document.fullscreenElement||Z(!1)};return document.addEventListener("fullscreenchange",n),()=>document.removeEventListener("fullscreenchange",n)},[]),(0,B.useEffect)(()=>{let n=d=>{if(d.key==="Delete"||d.key==="Backspace"){let v=document.activeElement;if((v==null?void 0:v.tagName)==="INPUT"||(v==null?void 0:v.tagName)==="TEXTAREA"||v!=null&&v.isContentEditable)return;ke()}(d.ctrlKey||d.metaKey)&&(d.key==="z"&&(d.preventDefault(),d.shiftKey?xe():ze()),d.key==="y"&&(d.preventDefault(),xe()))};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[ke,ze,xe]);let Ne=(n,d)=>{se(n),A==null||A(n,d)},Ae=()=>{l({slides:[{id:`slide-${Date.now()}`,elements:[]}],layout:{width:12192e3,height:6858e3}}),a(0),C(null),Ne("scratch")},ue=async n=>{ie(!0);try{let d=new ge,v=n;typeof n=="string"?(v=`/api/proxy?url=${encodeURIComponent(n.trim())}`,Ne("url",n.trim())):Ne("uploaded");let P=await d.parse(v);l(P),u([]),c([]),a(0),C(null)}catch(d){console.error("Failed to load PPTX",d),alert("Failed to load presentation. Please ensure it is a valid .pptx.")}finally{ie(!1)}};return!m||!z?(0,y.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,y.jsxs)("div",{className:"flex flex-col bg-white relative",style:{width:typeof m=="number"?`${m}px`:m,height:typeof z=="number"?`${z}px`:z,fontSize:`${16*le}px`},children:[ee&&(0,y.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,y.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,y.jsxs)("div",{className:"space-y-2",children:[(0,y.jsx)("h2",{className:"text-4xl font-black tracking-tight text-slate-800",children:s}),(0,y.jsx)("p",{className:"text-slate-500 font-medium",children:"Create stunning presentations in seconds."})]}),(0,y.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,y.jsxs)("button",{onClick:()=>{Ae(),E(!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,y.jsx)("div",{className:"p-5 bg-slate-100 rounded-2xl group-hover:bg-blue-50 transition-colors",children:(0,y.jsx)("svg",{className:"w-10 h-10 text-blue-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,y.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M12 4v16m8-8H4"})})}),(0,y.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,y.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,y.jsx)("div",{className:"p-5 bg-slate-100 rounded-2xl group-hover:bg-emerald-50 transition-colors",children:(0,y.jsx)("svg",{className:"w-10 h-10 text-emerald-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,y.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,y.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,y.jsx)("input",{type:"file",accept:".pptx",className:"hidden",onChange:n=>{var v;let d=(v=n.target.files)==null?void 0:v[0];d&&(ue(d),E(!1))}})]})]}),(0,y.jsxs)("div",{className:"space-y-4 pt-8 border-t border-slate-100",children:[(0,y.jsxs)("div",{className:"flex gap-3 items-stretch",children:[(0,y.jsxs)("div",{className:"flex-1 relative group",children:[(0,y.jsx)("svg",{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400 group-focus-within:text-slate-600 transition-colors",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,y.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,y.jsx)("input",{type:"text",placeholder:"Paste presentation URL...",value:W,onChange:n=>q(n.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,y.jsx)("button",{onClick:()=>{W.trim()&&(ue(W.trim()),E(!1))},disabled:!W.trim()||Y,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:Y?(0,y.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,y.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,y.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,y.jsx)("p",{className:"text-[10px] text-slate-400 font-bold uppercase tracking-[0.2em]",children:"Supports S3, public links, and versioned assets"})]})]})}),D&&(0,y.jsx)(He,{presentation:i,initialSlideIndex:t,onClose:Qe}),(0,y.jsx)(De,{onAddText:Oe,onAddImage:Ve,onAddShape:We,onAddSlide:Xe,onExport:qe,onFormatText:Ee,onDeleteElement:ke,onApplyLayout:_e,onPlay:Je,onAiAction:Ce,onAiResponseAction:Ze,onNewPresentation:Ae,onLoadPresentation:ue,aiResponse:V,isAiLoading:te,selectedElement:J,appName:s,appBgColor:S,uiScale:le,source:he}),(0,y.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,y.jsx)(Re,{slides:i.slides,currentSlideIndex:t,onSelectSlide:a,onDeleteSlide:Ye,onDuplicateSlide:Ge,onReorderSlides:Ke,uiScale:le,appBgColor:S}),(0,y.jsx)("div",{className:"flex-1 flex items-center justify-center p-12 overflow-auto bg-white",children:(0,y.jsx)(be,{slide:w,onElementUpdate:ye,onSelect:C,uiScale:le})})]})]})};0&&(module.exports={PptEditor,PptxExporter,PptxParser});
|
|
19
19
|
//# sourceMappingURL=index.js.map
|