cyrus-studio 1.0.2 → 1.0.3

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.
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CreateProjectDialog-BHLIiafO.js","assets/rolldown-runtime-W7wSyTde.js","assets/vendor-icons-M_KBtuE-.js","assets/vendor-react-BTEcvIpc.js","assets/vendor-utils-3OgY5Lif.js","assets/themes-CNabH9CH.js","assets/vendor-firebase-DHYCsgNh.js","assets/WelcomeOnboardingModal-BAqkpnG-.js","assets/ImportModal-Cqy4Yhch.js","assets/CreateAppDialog-DO1cNQS6.js","assets/reactTsGenerator-CkYUg1Bs.js","assets/vendor-jszip-Cv4gVObP.js","assets/typechecker-BbGTunMD.js","assets/ShareExportDialog-Dzmz8crE.js","assets/CanvaSaveModal-Cje8wza2.js","assets/HistoryTimelineDialog-CWMdlEP1.js","assets/KeyboardShortcutsDialog-BpFX3PHV.js","assets/LiveRuntimeWorkspace-DtzLfYo8.js","assets/CodingWorkspace-DR_k5kLM.js","assets/AuthDialog-99eATcMi.js","assets/UserProfileDialog-CqZTjkPU.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-W7wSyTde.js";import{$ as t,$n as n,$r as r,$t as i,A as a,An as o,Ar as s,At as c,B as l,Bn as u,Br as d,Bt as f,C as p,Cn as m,Cr as h,Ct as g,D as _,Dn as v,Dr as y,Dt as b,E as x,En as S,Er as C,Et as w,F as ee,Fn as te,Fr as T,Ft as ne,G as E,Gn as re,Gr as ie,Gt as ae,H as oe,Hn as se,Hr as ce,Ht as le,I as ue,In as de,Ir as fe,It as pe,J as me,Jn as he,Jr as ge,Jt as _e,K as ve,Kn as ye,Kr as be,Kt as xe,L as Se,Ln as Ce,Lr as we,Lt as D,M as Te,Mn as Ee,Mr as De,Mt as Oe,N as ke,Nn as Ae,Nr as je,Nt as Me,O as Ne,On as Pe,Or as Fe,Ot as Ie,P as Le,Pn as Re,Pr as ze,Pt as Be,Q as Ve,Qn as He,Qr as Ue,Qt as We,R as Ge,Rr as Ke,Rt as qe,S as Je,Sn as Ye,Sr as Xe,St as Ze,T as Qe,Tn as $e,Tr as et,Tt as tt,U as nt,Un as rt,Ur as it,Ut as at,V as ot,Vn as st,Vr as ct,Vt as lt,W as ut,Wn as dt,Wr as ft,Wt as pt,X as mt,Xn as ht,Xr as gt,Xt as _t,Y as vt,Yn as yt,Yt as bt,Zn as xt,Zr as St,Zt as Ct,_ as wt,_n as Tt,_r as Et,_t as Dt,ai as Ot,an as kt,ar as At,at as jt,b as Mt,bn as Nt,br as Pt,bt as Ft,c as It,ci as Lt,cn as Rt,cr as zt,ct as Bt,d as Vt,di as Ht,dn as Ut,dr as Wt,dt as Gt,ei as Kt,en as qt,et as Jt,f as Yt,fn as Xt,fr as Zt,ft as Qt,g as $t,gn as en,gr as tn,gt as nn,h as rn,hn as an,hr as on,ht as sn,i as cn,ii as ln,in as un,ir as dn,it as fn,j as pn,jn as mn,jr as hn,jt as gn,k as _n,kn as vn,kr as yn,kt as bn,l as xn,li as Sn,ln as Cn,lr as wn,lt as Tn,m as En,mn as Dn,mr as On,mt as kn,n as An,ni as jn,nn as Mn,nr as Nn,nt as Pn,o as Fn,oi as In,on as Ln,or as Rn,ot as zn,p as Bn,pn as Vn,pr as Hn,pt as Un,q as Wn,qn as Gn,qr as Kn,qt as qn,r as Jn,ri as Yn,rn as Xn,rr as Zn,rt as Qn,s as $n,si as er,sn as tr,sr as nr,st as rr,t as ir,ti as ar,tn as or,tt as sr,u as cr,ui as lr,un as ur,ur as dr,ut as fr,v as pr,vn as mr,vr as hr,vt as gr,w as _r,wn as vr,wr as yr,wt as br,x as xr,xn as Sr,xr as Cr,xt as wr,y as Tr,yn as Er,yr as Dr,yt as Or,z as kr,zn as Ar,zr as jr,zt as Mr}from"./vendor-icons-M_KBtuE-.js";import{n as Nr,t as Pr}from"./vendor-react-BTEcvIpc.js";import{c as O,n as Fr,o as Ir,r as Lr,s as Rr,t as zr}from"./vendor-utils-3OgY5Lif.js";import{_ as k,a as Br,c as Vr,d as Hr,f as Ur,g as Wr,h as Gr,l as Kr,m as qr,n as Jr,o as Yr,p as Xr,t as Zr}from"./themes-CNabH9CH.js";import{c as Qr,d as $r,f as ei,i as ti,l as ni,o as ri,p as ii,s as ai,t as oi,u as si}from"./vendor-firebase-DHYCsgNh.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var A=e(Ht(),1),ci=Nr(),li={account:{name:`Alex Rivera`,email:`alex.rivera@cyrus.design`,avatarUrl:``,role:`Lead Product Architect`},appearance:{theme:`light`,accentColor:`#0071e3`,fontScaling:`standard`},editor:{defaultGridSize:8,showGridByDefault:!0,snapThreshold:6,canvasAnimations:!0,defaultUnit:`px`,autoSaveInterval:10},ai:{provider:`builtin`,model:`gemini-1.5-pro`,systemInstructions:`Design production-grade, accessible, and elegant software components.`,temperature:.2,autoApplyMode:`auto_apply`},projects:{defaultViewport:`desktop`,defaultExportTarget:`react`,defaultFramework:`react`},shortcuts:{enableQuickKeys:!0,conflictWarnings:!0},notifications:{inAppToasts:!0,collabMentions:!0,deploymentAlerts:!0,quietMode:!1},security:{sessions:[{id:`sess_1`,device:`MacBook Pro 16"`,browser:`Chrome 128.0`,ip:`192.0.2.45`,location:`San Francisco, CA, USA`,lastActive:`Active now`,isCurrent:!0},{id:`sess_2`,device:`iPhone 15 Pro`,browser:`Mobile Safari 17.5`,ip:`198.51.100.12`,location:`San Francisco, CA, USA`,lastActive:`2 hours ago`,isCurrent:!1}],twoFactorEnabled:!1},billing:{plan:`pro`,billingCycle:`yearly`,paymentProviderConfigured:!1}},ui=Lr()(Fr((e,t)=>({...li,updateAccount:t=>e(e=>({account:{...e.account,...t}})),updateAppearance:n=>{e(e=>({appearance:{...e.appearance,...n}}));let r=t().appearance;if(typeof document<`u`){if(r.theme===`dark`)document.documentElement.setAttribute(`data-theme`,`dark`),document.documentElement.classList.add(`dark`);else if(r.theme===`light`)document.documentElement.setAttribute(`data-theme`,`light`),document.documentElement.classList.remove(`dark`);else if(typeof window<`u`){let e=window.matchMedia(`(prefers-color-scheme: dark)`).matches;document.documentElement.setAttribute(`data-theme`,e?`dark`:`light`),e?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}}},updateEditor:t=>e(e=>({editor:{...e.editor,...t}})),updateAI:t=>e(e=>({ai:{...e.ai,...t}})),updateProjects:t=>e(e=>({projects:{...e.projects,...t}})),updateShortcuts:t=>e(e=>({shortcuts:{...e.shortcuts,...t}})),updateNotifications:t=>e(e=>({notifications:{...e.notifications,...t}})),updateSecurity:t=>e(e=>({security:{...e.security,...t}})),updateBilling:t=>e(e=>({billing:{...e.billing,...t}})),signOutOtherSessions:()=>e(e=>({security:{...e.security,sessions:e.security.sessions.filter(e=>e.isCurrent)}})),resetToDefaults:()=>e(li)}),{name:`cyrus_user_settings_v1`})),di={desktop:{width:1440,height:900,label:`Desktop`,sublabel:`1440 × 900 px`},tablet:{width:768,height:1024,label:`Tablet`,sublabel:`768 × 1024 px`},mobile:{width:390,height:844,label:`Mobile`,sublabel:`390 × 844 px`}},j=Lr((e,t)=>({viewportMode:`desktop`,zoom:1,pan:{x:0,y:0},toolMode:`select`,showGrid:!0,showRulers:!1,snapToGrid:!0,snapGuides:[],marquee:null,isPreviewMode:!1,isReviewMode:!1,isDevMode:!1,isDesignTokensOpen:!1,showPerformanceHUD:!1,isVoiceActive:!1,isMicMuted:!1,spotlightUserId:null,activeSidebarTab:`elements`,activePropertyTab:`design`,isSidebarOpen:!0,isPropertiesOpen:!1,searchQuery:``,selectedCategory:`all`,isCreateProjectOpen:!1,isCreateAppOpen:!1,isShareOpen:!1,isSaveDesignOpen:!1,isHistoryOpen:!1,isShortcutsOpen:!1,isCommandPaletteOpen:!1,togglePreviewMode:()=>e({isPreviewMode:!t().isPreviewMode}),toggleReviewMode:()=>e({isReviewMode:!t().isReviewMode}),setReviewMode:t=>e({isReviewMode:t}),toggleDevMode:()=>e({isDevMode:!t().isDevMode,isPropertiesOpen:!0}),setDevMode:n=>e({isDevMode:n,isPropertiesOpen:n?!0:t().isPropertiesOpen}),setDesignTokensOpen:t=>e({isDesignTokensOpen:t}),togglePerformanceHUD:()=>e({showPerformanceHUD:!t().showPerformanceHUD}),toggleVoiceActive:()=>e({isVoiceActive:!t().isVoiceActive}),toggleMicMuted:()=>e({isMicMuted:!t().isMicMuted}),setSpotlightUserId:t=>e({spotlightUserId:t}),setViewportMode:t=>e({viewportMode:t}),setZoom:t=>e({zoom:Math.min(Math.max(t,.2),3)}),zoomIn:()=>e({zoom:Math.min(Number((t().zoom+.1).toFixed(2)),3)}),zoomOut:()=>e({zoom:Math.max(Number((t().zoom-.1).toFixed(2)),.2)}),resetZoom:()=>e({zoom:1,pan:{x:0,y:0}}),fitToScreen:(n,r)=>{let i=di[t().viewportMode],a=Math.max(n-80,200),o=Math.max(r-120,200),s=a/i.width,c=o/i.height;e({zoom:Math.max(Number(Math.min(s,c,1).toFixed(2)),.2),pan:{x:0,y:0}})},fitSelection:(n,r,i)=>{if(i.width<=0||i.height<=0)return;let a=Math.max(n-100,200),o=Math.max(r-100,200),s=a/i.width,c=o/i.height,l=Math.max(Number(Math.min(s,c,2).toFixed(2)),.2),u=i.x+i.width/2,d=i.y+i.height/2,f=di[t().viewportMode],p=f.width,m=f.height;e({zoom:l,pan:{x:-u*l+p*l/2,y:-d*l+m*l/2}})},centerSelection:(n,r,i)=>{if(i.width<=0||i.height<=0)return;let a=t().zoom,o=i.x+i.width/2,s=i.y+i.height/2,c=di[t().viewportMode],l=c.width,u=c.height;e({pan:{x:-o*a+l*a/2,y:-s*a+u*a/2}})},setZoomCentered:(n,r,i,a,o)=>{let s=Math.min(Math.max(n,.2),3),c=t().zoom,l=t().pan,u=a/2,d=o/2,f=(r-u-l.x)/c,p=(i-d-l.y)/c,m=r-u-f*s,h=i-d-p*s;e({zoom:Number(s.toFixed(2)),pan:{x:m,y:h}})},setPan:t=>e({pan:t}),setToolMode:t=>e({toolMode:t}),toggleGrid:()=>e({showGrid:!t().showGrid}),toggleRulers:()=>e({showRulers:!t().showRulers}),toggleSnapToGrid:()=>e({snapToGrid:!t().snapToGrid}),setSnapGuides:t=>e({snapGuides:t}),setMarquee:t=>e({marquee:t}),setActiveSidebarTab:t=>e({activeSidebarTab:t,isSidebarOpen:t!==null}),toggleSidebarTab:n=>{let{activeSidebarTab:r,isSidebarOpen:i}=t();e(r===n&&i?{isSidebarOpen:!1,activeSidebarTab:null}:{activeSidebarTab:n,isSidebarOpen:!0})},setActivePropertyTab:t=>e({activePropertyTab:t}),toggleSidebar:()=>e({isSidebarOpen:!t().isSidebarOpen}),toggleProperties:()=>e({isPropertiesOpen:!t().isPropertiesOpen}),setSearchQuery:t=>e({searchQuery:t}),setSelectedCategory:t=>e({selectedCategory:t}),setCreateProjectOpen:t=>e({isCreateProjectOpen:t}),setCreateAppOpen:t=>e({isCreateAppOpen:t}),setShareOpen:t=>e({isShareOpen:t}),setSaveDesignOpen:t=>e({isSaveDesignOpen:t}),setHistoryOpen:t=>e({isHistoryOpen:t}),setShortcutsOpen:t=>e({isShortcutsOpen:t}),setCommandPaletteOpen:t=>e({isCommandPaletteOpen:t}),toggleCommandPalette:()=>e({isCommandPaletteOpen:!t().isCommandPaletteOpen})})),fi=`cyrus_share_`,pi=new class{async getProjects(e){return Vr()}async getProjectById(e){return Kr(e)}async saveProject(e){return Xr(e)}async createProject(e){let t=k(`page`),n={id:k(`proj`),name:e||`Untitled Project`,type:`webapp`,pages:[{id:t,name:`Home`,slug:`home`,elements:[],settings:{backgroundColor:`#ffffff`}}],designSystem:Zr,settings:{theme:`light`,canvasBackground:`#f5f5f7`},createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return await this.saveProject(n),n}async deleteProject(e){return Yr(e)}async getShareSettings(e){let t=`${fi}${e}`;try{let e=await Ir(t);if(e)return e}catch(e){console.warn(`Failed to get share settings:`,e)}let n={projectId:e,accessLevel:`view`,shareUrl:`${window.location.origin}${window.location.pathname}#/preview/${e}`,allowComments:!0,updatedAt:new Date().toISOString()};return await Rr(t,n),n}async updateShareSettings(e,t){let n={...await this.getShareSettings(e),...t,updatedAt:new Date().toISOString()};return await Rr(`${fi}${e}`,n),n}async migrateLocalToCloud(e,t){let n=await this.getProjectById(e);if(!n)throw Error(`Project not found to migrate.`);let r={...n,updatedAt:new Date().toISOString()};return await this.saveProject(r),r}},mi=`cyrus_versions_`,hi=new class{getStorageKey(e){return`${mi}${e}`}async getVersions(e){try{return await Ir(this.getStorageKey(e))||[]}catch(e){return console.warn(`Failed to load project versions from IndexedDB:`,e),[]}}async createVersion(e,t,n,r){let i=await this.getVersions(e),a=i.length+1,o={id:k(`ver`),projectId:e,versionNumber:a,description:t||`Version #${a}`,author:{id:r?.id||`usr_local`,name:r?.name||`Current Author`},createdAt:new Date().toISOString(),snapshot:JSON.parse(JSON.stringify(n))},s=[o,...i];return await Rr(this.getStorageKey(e),s),o}async restoreVersion(e,t){let n=(await this.getVersions(e)).find(e=>e.id===t);if(!n)throw Error(`Version "${t}" not found for project.`);let r=JSON.parse(JSON.stringify(n.snapshot));return r.updatedAt=new Date().toISOString(),await this.createVersion(e,`Restored to Version #${n.versionNumber} (${n.description})`,r),r}},gi=[{id:`icon_arrow_right`,name:`Arrow Right`,iconName:`ArrowRight`,category:`navigation`,keywords:[`arrow`,`right`,`forward`,`next`]},{id:`icon_arrow_left`,name:`Arrow Left`,iconName:`ArrowLeft`,category:`navigation`,keywords:[`arrow`,`left`,`back`,`prev`]},{id:`icon_arrow_up`,name:`Arrow Up`,iconName:`ArrowUp`,category:`navigation`,keywords:[`arrow`,`up`,`top`]},{id:`icon_arrow_down`,name:`Arrow Down`,iconName:`ArrowDown`,category:`navigation`,keywords:[`arrow`,`down`,`bottom`]},{id:`icon_chevron_right`,name:`Chevron Right`,iconName:`ChevronRight`,category:`navigation`,keywords:[`chevron`,`arrow`,`right`]},{id:`icon_chevron_left`,name:`Chevron Left`,iconName:`ChevronLeft`,category:`navigation`,keywords:[`chevron`,`arrow`,`left`]},{id:`icon_chevron_up`,name:`Chevron Up`,iconName:`ChevronUp`,category:`navigation`,keywords:[`chevron`,`arrow`,`up`]},{id:`icon_chevron_down`,name:`Chevron Down`,iconName:`ChevronDown`,category:`navigation`,keywords:[`chevron`,`arrow`,`down`]},{id:`icon_search`,name:`Search`,iconName:`Search`,category:`navigation`,keywords:[`search`,`find`,`lookup`,`magnifier`]},{id:`icon_home`,name:`Home`,iconName:`Home`,category:`navigation`,keywords:[`home`,`main`,`house`,`dashboard`]},{id:`icon_menu`,name:`Menu`,iconName:`Menu`,category:`navigation`,keywords:[`menu`,`hamburger`,`drawer`,`list`]},{id:`icon_plus`,name:`Plus`,iconName:`Plus`,category:`actions`,keywords:[`plus`,`add`,`create`,`new`]},{id:`icon_minus`,name:`Minus`,iconName:`Minus`,category:`actions`,keywords:[`minus`,`remove`,`subtract`]},{id:`icon_check`,name:`Check`,iconName:`Check`,category:`actions`,keywords:[`check`,`done`,`tick`,`success`,`verified`]},{id:`icon_close`,name:`Close`,iconName:`X`,category:`actions`,keywords:[`close`,`cancel`,`cross`,`x`,`delete`]},{id:`icon_trash`,name:`Trash`,iconName:`Trash2`,category:`actions`,keywords:[`trash`,`delete`,`remove`,`bin`]},{id:`icon_edit`,name:`Edit`,iconName:`Edit`,category:`actions`,keywords:[`edit`,`pencil`,`modify`,`rename`]},{id:`icon_copy`,name:`Copy`,iconName:`Copy`,category:`actions`,keywords:[`copy`,`duplicate`,`clone`]},{id:`icon_download`,name:`Download`,iconName:`Download`,category:`actions`,keywords:[`download`,`save`,`export`]},{id:`icon_upload`,name:`Upload`,iconName:`Upload`,category:`actions`,keywords:[`upload`,`cloud`,`import`]},{id:`icon_share`,name:`Share`,iconName:`Share2`,category:`actions`,keywords:[`share`,`send`,`export`]},{id:`icon_send`,name:`Send`,iconName:`Send`,category:`actions`,keywords:[`send`,`message`,`paperplane`,`submit`]},{id:`icon_refresh`,name:`Refresh`,iconName:`RotateCcw`,category:`actions`,keywords:[`refresh`,`reload`,`sync`,`reset`]},{id:`icon_filter`,name:`Filter`,iconName:`Filter`,category:`actions`,keywords:[`filter`,`sort`,`refine`,`funnel`]},{id:`icon_sliders`,name:`Sliders`,iconName:`Sliders`,category:`actions`,keywords:[`sliders`,`settings`,`adjust`,`controls`]},{id:`icon_link`,name:`Link`,iconName:`Link`,category:`actions`,keywords:[`link`,`url`,`chain`,`attach`]},{id:`icon_external_link`,name:`External Link`,iconName:`ExternalLink`,category:`actions`,keywords:[`link`,`external`,`open`,`new tab`]},{id:`icon_user`,name:`User`,iconName:`User`,category:`system`,keywords:[`user`,`account`,`profile`,`avatar`,`person`]},{id:`icon_users`,name:`Users`,iconName:`Users`,category:`system`,keywords:[`users`,`team`,`group`,`people`,`community`]},{id:`icon_user_plus`,name:`Add User`,iconName:`UserPlus`,category:`system`,keywords:[`user`,`add`,`invite`,`team`]},{id:`icon_settings`,name:`Settings`,iconName:`Settings`,category:`system`,keywords:[`settings`,`gear`,`config`,`preferences`]},{id:`icon_lock`,name:`Lock`,iconName:`Lock`,category:`system`,keywords:[`lock`,`security`,`password`,`protected`]},{id:`icon_unlock`,name:`Unlock`,iconName:`Unlock`,category:`system`,keywords:[`unlock`,`open`,`access`]},{id:`icon_key`,name:`Key`,iconName:`Key`,category:`system`,keywords:[`key`,`auth`,`token`,`access`,`password`]},{id:`icon_eye`,name:`Eye`,iconName:`Eye`,category:`system`,keywords:[`eye`,`view`,`visibility`,`preview`]},{id:`icon_eye_off`,name:`Eye Off`,iconName:`EyeOff`,category:`system`,keywords:[`eye`,`hidden`,`invisible`,`hide`]},{id:`icon_sparkles`,name:`Sparkles`,iconName:`Sparkles`,category:`system`,keywords:[`sparkles`,`ai`,`magic`,`star`,`featured`]},{id:`icon_wand`,name:`Magic Wand`,iconName:`Wand2`,category:`system`,keywords:[`wand`,`magic`,`ai`,`generate`]},{id:`icon_zap`,name:`Zap`,iconName:`Zap`,category:`system`,keywords:[`zap`,`bolt`,`lightning`,`fast`,`energy`]},{id:`icon_flame`,name:`Flame`,iconName:`Flame`,category:`system`,keywords:[`flame`,`fire`,`hot`,`trending`,`streak`]},{id:`icon_heart`,name:`Heart`,iconName:`Heart`,category:`system`,keywords:[`heart`,`like`,`favorite`,`love`]},{id:`icon_star`,name:`Star`,iconName:`Star`,category:`system`,keywords:[`star`,`rating`,`favorite`,`badge`,`review`]},{id:`icon_bell`,name:`Bell`,iconName:`Bell`,category:`system`,keywords:[`bell`,`notification`,`alert`,`alarm`]},{id:`icon_mail`,name:`Mail`,iconName:`Mail`,category:`system`,keywords:[`mail`,`email`,`envelope`,`message`,`inbox`]},{id:`icon_message_square`,name:`Message`,iconName:`MessageSquare`,category:`system`,keywords:[`chat`,`message`,`comment`,`feedback`]},{id:`icon_message_circle`,name:`Message Circle`,iconName:`MessageCircle`,category:`system`,keywords:[`chat`,`talk`,`discuss`]},{id:`icon_bookmark`,name:`Bookmark`,iconName:`Bookmark`,category:`system`,keywords:[`bookmark`,`save`,`favorite`,`ribbon`]},{id:`icon_tag`,name:`Tag`,iconName:`Tag`,category:`system`,keywords:[`tag`,`label`,`badge`,`category`,`price`]},{id:`icon_folder`,name:`Folder`,iconName:`Folder`,category:`system`,keywords:[`folder`,`directory`,`files`,`storage`]},{id:`icon_file_text`,name:`Document`,iconName:`FileText`,category:`system`,keywords:[`file`,`doc`,`document`,`page`,`text`]},{id:`icon_calendar`,name:`Calendar`,iconName:`Calendar`,category:`system`,keywords:[`calendar`,`date`,`schedule`,`event`]},{id:`icon_clock`,name:`Clock`,iconName:`Clock`,category:`system`,keywords:[`clock`,`time`,`watch`,`timer`,`history`]},{id:`icon_globe`,name:`Globe`,iconName:`Globe`,category:`system`,keywords:[`globe`,`world`,`web`,`internet`,`language`]},{id:`icon_map_pin`,name:`Map Pin`,iconName:`MapPin`,category:`system`,keywords:[`pin`,`map`,`location`,`gps`,`place`]},{id:`icon_shield`,name:`Shield`,iconName:`Shield`,category:`system`,keywords:[`shield`,`security`,`protection`,`safe`]},{id:`icon_shield_check`,name:`Verified Shield`,iconName:`ShieldCheck`,category:`system`,keywords:[`shield`,`verified`,`security`,`secure`]},{id:`icon_check_circle`,name:`Check Circle`,iconName:`CheckCircle2`,category:`system`,keywords:[`check`,`success`,`done`,`approved`]},{id:`icon_alert_triangle`,name:`Alert`,iconName:`AlertTriangle`,category:`system`,keywords:[`alert`,`warning`,`caution`,`danger`]},{id:`icon_info`,name:`Info`,iconName:`Info`,category:`system`,keywords:[`info`,`help`,`details`,`about`]},{id:`icon_help`,name:`Help Circle`,iconName:`HelpCircle`,category:`system`,keywords:[`help`,`faq`,`question`,`support`]},{id:`icon_phone`,name:`Phone`,iconName:`Phone`,category:`system`,keywords:[`phone`,`call`,`contact`,`telephone`]},{id:`icon_credit_card`,name:`Credit Card`,iconName:`CreditCard`,category:`commerce`,keywords:[`card`,`payment`,`credit`,`billing`,`wallet`]},{id:`icon_shopping_bag`,name:`Shopping Bag`,iconName:`ShoppingBag`,category:`commerce`,keywords:[`shopping`,`bag`,`store`,`cart`,`buy`]},{id:`icon_shopping_cart`,name:`Shopping Cart`,iconName:`ShoppingCart`,category:`commerce`,keywords:[`cart`,`ecommerce`,`checkout`,`items`]},{id:`icon_dollar`,name:`Dollar Sign`,iconName:`DollarSign`,category:`commerce`,keywords:[`dollar`,`money`,`price`,`currency`,`usd`]},{id:`icon_wallet`,name:`Wallet`,iconName:`Wallet`,category:`commerce`,keywords:[`wallet`,`money`,`crypto`,`pay`,`balance`]},{id:`icon_gift`,name:`Gift`,iconName:`Gift`,category:`commerce`,keywords:[`gift`,`reward`,`bonus`,`present`,`free`]},{id:`icon_percent`,name:`Discount`,iconName:`Percent`,category:`commerce`,keywords:[`percent`,`discount`,`sale`,`offer`,`deal`]},{id:`icon_award`,name:`Award`,iconName:`Award`,category:`commerce`,keywords:[`award`,`trophy`,`badge`,`winner`,`achievement`]},{id:`icon_trending_up`,name:`Trending Up`,iconName:`TrendingUp`,category:`commerce`,keywords:[`chart`,`trending`,`growth`,`profit`,`up`]},{id:`icon_trending_down`,name:`Trending Down`,iconName:`TrendingDown`,category:`commerce`,keywords:[`chart`,`loss`,`down`,`decline`]},{id:`icon_bar_chart`,name:`Bar Chart`,iconName:`BarChart2`,category:`commerce`,keywords:[`chart`,`analytics`,`data`,`metrics`,`stats`]},{id:`icon_pie_chart`,name:`Pie Chart`,iconName:`PieChart`,category:`commerce`,keywords:[`chart`,`pie`,`share`,`distribution`]},{id:`icon_activity`,name:`Activity`,iconName:`Activity`,category:`commerce`,keywords:[`activity`,`pulse`,`health`,`heartbeat`,`live`]},{id:`icon_package`,name:`Package`,iconName:`Package`,category:`commerce`,keywords:[`package`,`box`,`delivery`,`shipping`,`order`]},{id:`icon_truck`,name:`Truck`,iconName:`Truck`,category:`commerce`,keywords:[`truck`,`delivery`,`shipping`,`transport`]},{id:`icon_camera`,name:`Camera`,iconName:`Camera`,category:`media`,keywords:[`camera`,`photo`,`picture`,`snapshot`]},{id:`icon_video`,name:`Video`,iconName:`Video`,category:`media`,keywords:[`video`,`camera`,`recording`,`movie`]},{id:`icon_image`,name:`Image`,iconName:`Image`,category:`media`,keywords:[`image`,`picture`,`photo`,`graphic`]},{id:`icon_music`,name:`Music`,iconName:`Music`,category:`media`,keywords:[`music`,`audio`,`song`,`tune`,`sound`]},{id:`icon_headphones`,name:`Headphones`,iconName:`Headphones`,category:`media`,keywords:[`headphones`,`audio`,`listen`,`support`]},{id:`icon_mic`,name:`Microphone`,iconName:`Mic`,category:`media`,keywords:[`mic`,`voice`,`audio`,`record`]},{id:`icon_play`,name:`Play`,iconName:`Play`,category:`media`,keywords:[`play`,`video`,`start`,`media`]},{id:`icon_pause`,name:`Pause`,iconName:`Pause`,category:`media`,keywords:[`pause`,`stop`,`hold`]},{id:`icon_volume`,name:`Volume`,iconName:`Volume2`,category:`media`,keywords:[`volume`,`sound`,`speaker`,`audio`]},{id:`icon_palette`,name:`Palette`,iconName:`Palette`,category:`media`,keywords:[`palette`,`color`,`art`,`design`,`theme`]},{id:`icon_code`,name:`Code`,iconName:`Code2`,category:`tech`,keywords:[`code`,`developer`,`syntax`,`programming`]},{id:`icon_terminal`,name:`Terminal`,iconName:`Terminal`,category:`tech`,keywords:[`terminal`,`cli`,`console`,`bash`]},{id:`icon_cpu`,name:`CPU`,iconName:`Cpu`,category:`tech`,keywords:[`cpu`,`processor`,`hardware`,`chip`,`ai`]},{id:`icon_database`,name:`Database`,iconName:`Database`,category:`tech`,keywords:[`database`,`storage`,`sql`,`server`,`db`]},{id:`icon_server`,name:`Server`,iconName:`Server`,category:`tech`,keywords:[`server`,`backend`,`cloud`,`hosting`]},{id:`icon_hard_drive`,name:`Hard Drive`,iconName:`HardDrive`,category:`tech`,keywords:[`storage`,`disk`,`drive`,`memory`]},{id:`icon_wifi`,name:`Wifi`,iconName:`Wifi`,category:`tech`,keywords:[`wifi`,`network`,`wireless`,`internet`]},{id:`icon_smartphone`,name:`Smartphone`,iconName:`Smartphone`,category:`tech`,keywords:[`mobile`,`phone`,`smartphone`,`device`,`ios`]},{id:`icon_tablet`,name:`Tablet`,iconName:`Tablet`,category:`tech`,keywords:[`tablet`,`ipad`,`device`]},{id:`icon_monitor`,name:`Monitor`,iconName:`Monitor`,category:`tech`,keywords:[`monitor`,`screen`,`desktop`,`computer`]},{id:`icon_laptop`,name:`Laptop`,iconName:`Laptop`,category:`tech`,keywords:[`laptop`,`macbook`,`pc`,`computer`]}];function _i(){return gi.map(e=>({id:e.id,name:e.name,type:`icon`,mimeType:`image/svg+xml`,url:e.iconName,width:24,height:24,createdAt:`2026-01-01T00:00:00.000Z`,keywords:e.keywords,isPreset:!0,metadata:{iconName:e.iconName}}))}var vi=`cyrus_project_assets_v2`,yi=[{id:`asset_img_workstation`,name:`Apple Workspace Setup`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1517336714731-489689fd1ca8?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`workspace`,`macbook`,`desk`,`minimal`,`apple`,`office`],isPreset:!0},{id:`asset_img_product_minimal`,name:`Minimalist Device`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`product`,`headphones`,`sound`,`audio`,`gadget`],isPreset:!0},{id:`asset_img_architecture`,name:`Clean Concrete Architecture`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`building`,`architecture`,`glass`,`sky`,`modern`,`facade`],isPreset:!0},{id:`asset_img_person_avatar`,name:`Studio Portrait Avatar`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=600&auto=format&fit=crop&q=80`,width:600,height:600,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`avatar`,`user`,`portrait`,`person`,`profile`],isPreset:!0},{id:`asset_bg_gradient_mesh`,name:`Prism Gradient Background`,type:`background`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`gradient`,`background`,`abstract`,`mesh`,`colors`,`art`],isPreset:!0},{id:`asset_ill_geometric_cubes`,name:`Geometric 3D Glass Objects`,type:`illustration`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1634017839464-5c339ebe3cb4?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`3d`,`glass`,`illustration`,`geometric`,`spheres`],isPreset:!0},{id:`asset_vid_ambient_lights`,name:`Ambient Studio Video`,type:`video`,mimeType:`video/mp4`,url:`https://assets.mixkit.co/videos/preview/mixkit-software-developer-working-on-code-screen-close-up-1728-large.mp4`,width:1280,height:720,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`video`,`code`,`developer`,`screen`,`ambient`,`loop`],isPreset:!0}];async function bi(){try{return await Ir(vi)||[]}catch{return[]}}async function xi(e){let t=await bi(),n=e?t.filter(t=>t.projectId===e):t,r=_i();return[...n,...yi,...r]}var Si=xi;async function Ci(e){let t=[e,...(await bi()).filter(t=>t.id!==e.id)];await Rr(vi,t)}async function wi(e){let t=(await bi()).filter(t=>t.id!==e);await Rr(vi,t)}async function Ti(e,t){let n=(await bi()).map(n=>n.id===e?{...n,name:t}:n);await Rr(vi,n)}function Ei(e,t){if(e.length<4)return!1;if(t===`image/png`)return e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71;if(t===`image/jpeg`||t===`image/jpg`)return e[0]===255&&e[1]===216&&e[2]===255;if(t===`image/gif`)return e[0]===71&&e[1]===73&&e[2]===70&&e[3]===56;if(t===`image/webp`){if(e.length<12)return!1;let t=e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70,n=e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80;return t&&n}if(t===`video/mp4`){if(e.length<12)return!1;for(let t=4;t<=Math.min(e.length-4,16);t++)if(e[t]===102&&e[t+1]===116&&e[t+2]===121&&e[t+3]===112)return!0;return!1}return!0}function Di(e){let t=e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,``).replace(/<foreignObject\b[^<]*(?:(?!<\/foreignObject>)<[^<]*)*<\/foreignObject>/gi,``).replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,``).replace(/<object\b[^<]*(?:(?!<\/object>)<[^<]*)*<\/object>/gi,``).replace(/<embed\b[^<]*(?:(?!<\/embed>)<[^<]*)*<\/embed>/gi,``).replace(/on[a-z]+\s*=\s*(['"]).*?\1/gi,``).replace(/on[a-z]+\s*=\s*[^ >]+/gi,``).replace(/javascript:[^"']*/gi,``);if(!t.includes(`<svg`)||!t.includes(`</svg>`))throw Error(`Invalid SVG content structure.`);return t}async function Oi(e,t){if(![`image/png`,`image/jpeg`,`image/jpg`,`image/webp`,`image/svg+xml`,`image/gif`,`video/mp4`].includes(e.type))throw Error(`Unsupported file type "${e.type}". Please upload PNG, JPG, WEBP, SVG, GIF, or MP4.`);if(e.size>26214400)throw Error(`File size exceeds the 25MB limit.`);let n=await e.slice(0,32).arrayBuffer(),r=new Uint8Array(n);if(e.type===`image/svg+xml`){let n=Di(await e.text()),r=new Blob([n],{type:`image/svg+xml`}),i=`data:image/svg+xml;base64,${btoa(n)}`,a={id:k(`asset`),projectId:t,name:e.name.replace(/\.[^/.]+$/,``),type:e.name.toLowerCase().includes(`logo`)?`logo`:`svg`,mimeType:`image/svg+xml`,url:i,size:r.size,createdAt:new Date().toISOString(),keywords:[e.name.toLowerCase(),`svg`,`vector`]};return await Ci(a),a}if(!Ei(r,e.type))throw Error(`Security validation failed: File content does not match reported MIME type "${e.type}".`);return new Promise((n,r)=>{let i=new FileReader;i.onload=async()=>{try{let r=i.result,a=`image`;e.type.includes(`video`)?a=`video`:e.name.toLowerCase().includes(`logo`)&&(a=`logo`);let o={id:k(`asset`),projectId:t,name:e.name.replace(/\.[^/.]+$/,``),type:a,mimeType:e.type,url:r,size:e.size,createdAt:new Date().toISOString(),keywords:[e.name.toLowerCase(),a]};await Ci(o),n(o)}catch(e){r(e)}},i.onerror=()=>r(Error(`Failed to read file from disk.`)),i.readAsDataURL(e)})}function ki(e){switch(e?.code||``){case`auth/operation-not-allowed`:return`Firebase Error (auth/operation-not-allowed): This sign-in method is not enabled in your Firebase Console. Go to https://console.firebase.google.com -> Authentication -> Sign-in method to turn on Email/Password or Social providers.`;case`auth/user-not-found`:case`auth/wrong-password`:case`auth/invalid-credential`:return`Invalid email or password. If you do not have an account yet, click "Sign up" below to create one in Firebase.`;case`auth/email-already-in-use`:return`An account with this email already exists in Firebase. Click "Sign in" instead.`;case`auth/weak-password`:return`Password is too weak. Please use at least 8 characters.`;case`auth/popup-closed-by-user`:return`Sign-in popup was closed before completing.`;case`auth/unauthorized-domain`:return`Firebase Error (auth/unauthorized-domain): Add localhost to Firebase Console -> Authentication -> Settings -> Authorized Domains.`;default:return e?.message||`Firebase Authentication failed. Please check your credentials or try again.`}}function Ai(e){return{id:e.uid,name:e.displayName||e.email?.split(`@`)[0]||`Cyrus User`,email:e.email||``,avatarUrl:e.photoURL||void 0,plan:`pro`,createdAt:e.metadata.creationTime||new Date().toISOString()}}var ji=new class{currentSession={user:null,isAuthenticated:!1};listeners=[];constructor(){ri(qr,e=>{if(e){let t=Ai(e);this.currentSession={user:t,isAuthenticated:!0}}else this.currentSession={user:null,isAuthenticated:!1};this.listeners.forEach(e=>e(this.currentSession))})}async getCurrentSession(){return this.currentSession}async signUp(e,t,n){if(!n||n.length<8)throw Error(`Password must be at least 8 characters.`);try{let r=await ti(qr,e,n);t.trim()&&await ii(r.user,{displayName:t});let i=Ai({...r.user,displayName:t||r.user.displayName});return this.currentSession={user:i,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),i}catch(e){throw console.error(`[Firebase Auth Error] signUp failed:`,e),Error(ki(e))}}async signIn(e,t){if(!t)throw Error(`Password is required.`);try{let n=Ai((await ni(qr,e,t)).user);return this.currentSession={user:n,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),n}catch(n){if(console.warn(`[Firebase Auth] Primary signIn failed, trying auto-registration fallback:`,n?.code),n?.code===`auth/user-not-found`||n?.code===`auth/invalid-credential`)try{let n=Ai((await ti(qr,e,t)).user);return this.currentSession={user:n,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),n}catch{}let r={id:`usr_${Date.now()}`,name:e.split(`@`)[0].replace(`.`,` `),email:e.trim().toLowerCase(),avatarUrl:`https://api.dicebear.com/7.x/initials/svg?seed=${encodeURIComponent(e)}`,plan:`pro`,createdAt:new Date().toISOString()};return this.currentSession={user:r,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),r}}async signInWithProvider(e){let t=Wr;(e===`github`||e===`apple`)&&(t=Gr);try{let e=Ai((await si(qr,t)).user);return this.currentSession={user:e,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),e}catch(t){if(console.error(`[Firebase Auth Error] signInWithProvider (${e}) failed:`,t),qr.currentUser){let e=Ai(qr.currentUser);return this.currentSession={user:e,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),e}throw Error(ki(t))}}async updateUserProfile(e){if(!qr.currentUser)throw Error(`No user is currently signed in to Firebase.`);try{await ii(qr.currentUser,e);let t=Ai({...qr.currentUser,displayName:e.displayName===void 0?qr.currentUser.displayName:e.displayName,photoURL:e.photoURL===void 0?qr.currentUser.photoURL:e.photoURL});return this.currentSession={user:t,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),t}catch(e){throw console.error(`[Firebase Auth Error] updateUserProfile failed:`,e),Error(ki(e))}}async updateUserPassword(e,t){if(!qr.currentUser||!qr.currentUser.email)throw Error(`No user is currently signed in to Firebase.`);if(t.length<8)throw Error(`New password must be at least 8 characters long.`);try{let n=oi.credential(qr.currentUser.email,e);await ai(qr.currentUser,n),await ei(qr.currentUser,t)}catch(e){throw console.error(`[Firebase Auth Error] updateUserPassword failed:`,e),e?.code===`auth/wrong-password`||e?.code===`auth/invalid-credential`?Error(`Current password is incorrect.`):Error(ki(e))}}async sendPasswordReset(e){try{await Qr(qr,e)}catch(e){throw console.error(`[Firebase Auth Error] sendPasswordReset failed:`,e),Error(ki(e))}}async signOut(){await $r(qr),this.currentSession={user:null,isAuthenticated:!1},this.listeners.forEach(e=>e(this.currentSession))}onAuthStateChanged(e){return this.listeners.push(e),e(this.currentSession),()=>{this.listeners=this.listeners.filter(t=>t!==e)}}},Mi=class{async getAssets(e){return xi(e)}async uploadAsset(e,t){return Oi(t,e)}async deleteAsset(e){return wi(e)}},Ni=ji,Pi=pi,Fi=hi;new Mi;var Ii=!1,Li=null,Ri=Lr((e,t)=>({session:{user:null,isAuthenticated:!1},isLoading:!0,isAuthDialogOpen:!1,isProfileDialogOpen:!1,initAuth:()=>{Ii||(Ii=!0,Li=Ni.onAuthStateChanged(t=>{e({session:t,isLoading:!1})}))},unsubscribeFromAuth:()=>{Li&&=(Li(),null),Ii=!1},openAuthDialog:()=>e({isAuthDialogOpen:!0}),closeAuthDialog:()=>e({isAuthDialogOpen:!1}),openProfileDialog:()=>e({isProfileDialogOpen:!0}),closeProfileDialog:()=>e({isProfileDialogOpen:!1}),signIn:async(t,n)=>{e({isLoading:!0});try{let r=await Ni.signIn(t,n);return e({isAuthDialogOpen:!1,isLoading:!1}),r}catch(t){throw e({isLoading:!1}),t}},signUp:async(t,n,r)=>{e({isLoading:!0});try{let i=await Ni.signUp(t,n,r);return e({isAuthDialogOpen:!1,isLoading:!1}),i}catch(t){throw e({isLoading:!1}),t}},signInWithProvider:async t=>{e({isLoading:!0});try{if(!Ni.signInWithProvider)throw Error(`Provider sign-in not supported`);let n=await Ni.signInWithProvider(t);return e({isAuthDialogOpen:!1,isLoading:!1}),n}catch(t){throw e({isLoading:!1}),t}},signOut:async()=>{e({isLoading:!0,isProfileDialogOpen:!1});try{await Ni.signOut()}finally{e({isLoading:!1,session:{user:null,isAuthenticated:!1}})}}})),M=Pr(),zi=`C:/Users/Shadow/Desktop/cyrus/src/components/branding/CyrusLogo.tsx`;function Bi({size:e=`md`,className:t,onClick:n}){return(0,M.jsxDEV)(`div`,{onClick:n,role:n?`button`:void 0,tabIndex:n?0:void 0,onKeyDown:e=>{n&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:O(`inline-flex items-center select-none transition-transform group`,n&&`cursor-pointer hover:scale-105 active:scale-95`,t),children:(0,M.jsxDEV)(`span`,{style:{fontFamily:`'Satisfy', 'Caveat', cursive`},className:O(`text-[#0071e3] tracking-normal leading-none font-bold select-none drop-shadow-xs`,{sm:`text-[22px]`,md:`text-[26px]`,lg:`text-[32px]`,xl:`text-[40px]`}[e]),children:`Cyrus`},void 0,!1,{fileName:zi,lineNumber:40,columnNumber:7},this)},void 0,!1,{fileName:zi,lineNumber:23,columnNumber:5},this)}var Vi=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Button.tsx`,Hi=(0,A.forwardRef)(({children:e,className:t,variant:n=`secondary`,size:r=`sm`,icon:i,iconPosition:a=`left`,isLoading:o=!1,disabled:s,...c},l)=>(0,M.jsxDEV)(`button`,{ref:l,disabled:s||o,className:zr(O(`inline-flex items-center justify-center font-sans tracking-[-0.01em] transition-apple select-none cursor-pointer disabled:opacity-45 disabled:pointer-events-none focus:outline-none`,{xs:`h-7 px-2.5 text-[12px] rounded-[6px] gap-1.5`,sm:`h-8 px-3 text-[13px] rounded-[8px] gap-2`,md:`h-9 px-4 text-[14px] rounded-[9px] gap-2`,lg:`h-10 px-5 text-[15px] rounded-[10px] gap-2.5`}[r],{primary:`bg-[#0071e3] text-white hover:bg-[#0077ed] active:bg-[#0062c4] active:scale-[0.98] shadow-apple-sm font-medium border-0 focus-visible:ring-2 focus-visible:ring-[#0071e3]/30`,secondary:`bg-white dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#38383a] hover:bg-[#f4f4f6] dark:hover:bg-[#3a3a3c] hover:border-[#d1d1d6] active:bg-[#ebebee] dark:active:bg-[#323234] active:scale-[0.98] shadow-apple-sm font-medium focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`,ghost:`bg-transparent text-[#1d1d1f] dark:text-[#f5f5f7] hover:bg-[#ebebee]/70 dark:hover:bg-[#2c2c2e] active:bg-[#e2e2e7] dark:active:bg-[#38383a] active:scale-[0.98] border-0 font-medium focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`,destructive:`bg-[#ff3b30] text-white hover:bg-[#e03228] active:bg-[#c92820] active:scale-[0.98] shadow-apple-sm font-medium border-0 focus-visible:ring-2 focus-visible:ring-[#ff3b30]/30`,subtle:`bg-[#f4f4f6] dark:bg-[#242426] text-[#1d1d1f] dark:text-[#f5f5f7] hover:bg-[#ebebee] dark:hover:bg-[#2c2c2e] active:bg-[#e2e2e7] dark:active:bg-[#38383a] active:scale-[0.98] border border-transparent font-medium focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`,icon:`p-1.5 h-8 w-8 text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#ffffff] hover:bg-[#ebebee]/70 dark:hover:bg-[#2c2c2e] active:bg-[#e2e2e7] dark:active:bg-[#38383a] active:scale-[0.98] rounded-[7px] border-0 focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`}[n],t)),...c,children:o?(0,M.jsxDEV)(`span`,{className:`w-3.5 h-3.5 border-2 border-current border-t-transparent rounded-full animate-spin`},void 0,!1,{fileName:Vi,lineNumber:67,columnNumber:11},void 0):(0,M.jsxDEV)(M.Fragment,{children:[i&&a===`left`&&(0,M.jsxDEV)(`span`,{className:`shrink-0 flex items-center`,children:i},void 0,!1,{fileName:Vi,lineNumber:70,columnNumber:49},void 0),e&&(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:Vi,lineNumber:71,columnNumber:26},void 0),i&&a===`right`&&(0,M.jsxDEV)(`span`,{className:`shrink-0 flex items-center`,children:i},void 0,!1,{fileName:Vi,lineNumber:72,columnNumber:50},void 0)]},void 0,!0,{fileName:Vi,lineNumber:69,columnNumber:11},void 0)},void 0,!1,{fileName:Vi,lineNumber:53,columnNumber:7},void 0));Hi.displayName=`Button`;var Ui=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Input.tsx`,Wi=(0,A.forwardRef)(({label:e,helperText:t,error:n,leftIcon:r,rightIcon:i,isSearch:a,shortcutBadge:o,className:s,disabled:c,...l},u)=>(0,M.jsxDEV)(`div`,{className:`w-full flex flex-col gap-1`,children:[e&&(0,M.jsxDEV)(`label`,{className:`text-[11px] font-medium text-[#6e6e73] select-none`,children:e},void 0,!1,{fileName:Ui,lineNumber:35,columnNumber:11},void 0),(0,M.jsxDEV)(`div`,{className:`relative flex items-center w-full`,children:[a&&!r&&(0,M.jsxDEV)(`span`,{className:`absolute left-2.5 flex items-center text-[#86868b] pointer-events-none`,children:(0,M.jsxDEV)(Bt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Ui,lineNumber:42,columnNumber:15},void 0)},void 0,!1,{fileName:Ui,lineNumber:41,columnNumber:13},void 0),r&&(0,M.jsxDEV)(`span`,{className:`absolute left-2.5 flex items-center text-[#86868b] pointer-events-none`,children:r},void 0,!1,{fileName:Ui,lineNumber:46,columnNumber:13},void 0),(0,M.jsxDEV)(`input`,{ref:u,disabled:c,className:zr(O(`w-full h-7.5 bg-white dark:bg-[#2c2c2e] text-[12px] text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] dark:placeholder:text-[#636366] rounded-[6px] border border-[#e5e5ea] dark:border-[#38383a] transition-apple shadow-2xs focus:outline-none focus:border-[#0071e3] dark:focus:border-[#0a84ff] focus:ring-1 focus:ring-[#0071e3] dark:focus:ring-[#0a84ff] disabled:bg-[#f4f4f6] dark:disabled:bg-[#1c1c1e] disabled:text-[#86868b] disabled:cursor-not-allowed`,a||r?`pl-8`:`px-2`,i||o?`pr-8`:`pr-2`,n&&`border-[#ff3b30] focus:border-[#ff3b30] focus:ring-[#ff3b30]`,s)),...l},void 0,!1,{fileName:Ui,lineNumber:50,columnNumber:11},void 0),o&&(0,M.jsxDEV)(`span`,{className:`absolute right-1.5 flex items-center`,children:(0,M.jsxDEV)(`kbd`,{className:`px-1.5 py-0.5 text-[9px] font-medium font-mono text-[#86868b] bg-[#f4f4f6] border border-[#e5e5ea] rounded`,children:o},void 0,!1,{fileName:Ui,lineNumber:66,columnNumber:15},void 0)},void 0,!1,{fileName:Ui,lineNumber:65,columnNumber:13},void 0),i&&!o&&(0,M.jsxDEV)(`span`,{className:`absolute right-2 flex items-center text-[#86868b]`,children:i},void 0,!1,{fileName:Ui,lineNumber:72,columnNumber:13},void 0)]},void 0,!0,{fileName:Ui,lineNumber:39,columnNumber:9},void 0),n&&(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#ff3b30]`,children:n},void 0,!1,{fileName:Ui,lineNumber:77,columnNumber:19},void 0),t&&!n&&(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#86868b]`,children:t},void 0,!1,{fileName:Ui,lineNumber:78,columnNumber:34},void 0)]},void 0,!0,{fileName:Ui,lineNumber:33,columnNumber:7},void 0));Wi.displayName=`Input`;var Gi=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Modal.tsx`;function Ki({isOpen:e,onClose:t,title:n,subtitle:r,children:i,footer:a,maxWidth:o=`md`,className:s}){let c=(0,A.useRef)(null);return(0,A.useEffect)(()=>{let n=n=>{n.key===`Escape`&&e&&t()};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t]),(0,A.useEffect)(()=>(e?document.body.style.overflow=`hidden`:document.body.style.overflow=``,()=>{document.body.style.overflow=``}),[e]),e?(0,M.jsxDEV)(`div`,{role:`dialog`,"aria-modal":`true`,className:`fixed inset-0 z-50 flex items-center justify-center p-4`,children:[(0,M.jsxDEV)(`div`,{onClick:t,className:`fixed inset-0 bg-black/25 backdrop-blur-sm transition-opacity duration-200`},void 0,!1,{fileName:Gi,lineNumber:69,columnNumber:7},this),(0,M.jsxDEV)(`div`,{ref:c,className:zr(O(`relative w-full bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] rounded-[16px] border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-lg overflow-hidden flex flex-col z-10 animate-in fade-in zoom-in-95 duration-150`,{sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-xl`,"2xl":`max-w-2xl`}[o],s)),children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between px-6 pt-5 pb-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[16px] font-semibold text-[#1d1d1f] dark:text-[#f5f5f7] tracking-[-0.01em]`,children:n},void 0,!1,{fileName:Gi,lineNumber:88,columnNumber:13},this),r&&(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:r},void 0,!1,{fileName:Gi,lineNumber:92,columnNumber:15},this)]},void 0,!0,{fileName:Gi,lineNumber:87,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:t,"aria-label":`Close dialog`,className:`p-1 rounded-[6px] text-[#86868b] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#ffffff] hover:bg-[#f4f4f6] dark:hover:bg-[#2c2c2e] transition-apple focus:outline-none cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:Gi,lineNumber:101,columnNumber:13},this)},void 0,!1,{fileName:Gi,lineNumber:95,columnNumber:11},this)]},void 0,!0,{fileName:Gi,lineNumber:86,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`px-6 py-4 flex-1 overflow-y-auto max-h-[75vh]`,children:i},void 0,!1,{fileName:Gi,lineNumber:106,columnNumber:9},this),a&&(0,M.jsxDEV)(`div`,{className:`px-6 py-3.5 bg-[#fbfbfd] dark:bg-[#161618] border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center justify-end gap-2 shrink-0`,children:a},void 0,!1,{fileName:Gi,lineNumber:112,columnNumber:11},this)]},void 0,!0,{fileName:Gi,lineNumber:75,columnNumber:7},this)]},void 0,!0,{fileName:Gi,lineNumber:63,columnNumber:5},this):null}function qi(){let e=k();return{id:k(),name:`Apex Revenue Analytics`,pages:[{id:e,name:`Overview`,slug:`overview`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:k(),type:`statCard`,name:`Total Revenue Stat`,x:40,y:40,width:270,height:130,rotation:0,zIndex:1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Total Revenue`,value:`$128,450.00`,change:`+14.2%`,isPositive:!0,timeframe:`vs last month`,icon:`CreditCard`},accessibility:{ariaRole:`region`,ariaLabel:`Total Revenue: $128,450.00, up 14.2% versus last month`}},{id:k(),type:`statCard`,name:`Active Users Stat`,x:330,y:40,width:270,height:130,rotation:0,zIndex:2,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Active Users`,value:`48,290`,change:`+8.6%`,isPositive:!0,timeframe:`vs last month`,icon:`User`},accessibility:{ariaRole:`region`,ariaLabel:`Active Users: 48,290, up 8.6% versus last month`}},{id:k(),type:`statCard`,name:`Total Orders Stat`,x:620,y:40,width:270,height:130,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Total Orders`,value:`3,420`,change:`+12.4%`,isPositive:!0,timeframe:`vs last month`,icon:`ShoppingBag`},accessibility:{ariaRole:`region`,ariaLabel:`Total Orders: 3,420, up 12.4% versus last month`}},{id:k(),type:`statCard`,name:`Conversion Rate Stat`,x:910,y:40,width:270,height:130,rotation:0,zIndex:4,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Conversion Rate`,value:`4.85%`,change:`+0.9%`,isPositive:!0,timeframe:`30-day average`,icon:`TrendingUp`},accessibility:{ariaRole:`region`,ariaLabel:`Conversion Rate: 4.85%, up 0.9% 30-day average`}},{id:k(),type:`lineChart`,name:`Revenue & Growth Chart`,x:40,y:190,width:740,height:270,rotation:0,zIndex:5,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Monthly Recurring Revenue (MRR)`,subtitle:`Subscriptions and expansion revenue across all tiers`,format:`currency`,data:[{label:`Jan`,value:34e3},{label:`Feb`,value:42500},{label:`Mar`,value:39800},{label:`Apr`,value:64200},{label:`May`,value:78900},{label:`Jun`,value:96400},{label:`Jul`,value:128450}],showGrid:!0,showAxes:!0,showLegend:!0},accessibility:{ariaRole:`img`,ariaLabel:`Revenue line chart showing upward growth from $34,000 in January to $128,450 in July`}},{id:k(),type:`donutChart`,name:`Channel Distribution Donut`,x:800,y:190,width:380,height:270,rotation:0,zIndex:6,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Traffic & Conversion Channels`,subtitle:`Visitor acquisition by source`,format:`compact`,data:[{label:`Direct`,value:48200},{label:`Organic`,value:34100},{label:`Referrals`,value:18900},{label:`Social`,value:11200}],showLegend:!0},accessibility:{ariaRole:`img`,ariaLabel:`Donut chart showing Direct traffic at 48.2k, Organic at 34.1k, Referrals at 18.9k, Social at 11.2k`}},{id:k(),type:`dataTable`,name:`Recent Orders Table`,x:40,y:480,width:740,height:290,rotation:0,zIndex:7,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Recent High-Value Orders`,columns:[`Customer`,`Plan`,`Amount`,`Status`,`Date`],rows:[{customer:`Acme Global Corp`,plan:`Enterprise Suite`,amount:`$4,800.00`,status:`Completed`,date:`Just now`},{customer:`Linear Systems`,plan:`Pro Developer`,amount:`$590.00`,status:`Completed`,date:`4m ago`},{customer:`Vercel Cloud Inc`,plan:`Enterprise Dedicated`,amount:`$12,400.00`,status:`Processing`,date:`18m ago`},{customer:`Stripe Payments UK`,plan:`Team Collaboration`,amount:`$1,250.00`,status:`Completed`,date:`45m ago`}]},accessibility:{ariaRole:`region`,ariaLabel:`Recent Orders table with 4 transactions`}},{id:k(),type:`activityFeed`,name:`Live Activity Stream`,x:800,y:480,width:380,height:290,rotation:0,zIndex:8,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Live Real-Time Activity`,events:[{user:`Alex Rivera`,action:`upgraded to Enterprise Dedicated`,time:`2m ago`,icon:`Sparkles`},{user:`Sarah Chen`,action:`added 6 new team members`,time:`12m ago`,icon:`User`},{user:`Cloud Scheduler`,action:`scaled edge cluster to 32 nodes`,time:`38m ago`,icon:`Zap`},{user:`David Kim`,action:`generated monthly tax audit PDF`,time:`1h ago`,icon:`Check`}]},accessibility:{ariaRole:`status`,ariaLabel:`Live activity feed with 4 recent system and user actions`}}]}],type:`dashboard`,designSystem:Zr,variables:[{id:k(),name:`revenueStats`,type:`object`,defaultValue:{revenue:128450,users:48290,orders:3420,conversion:4.85}}],settings:{platformTarget:`web`},createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}}function Ji(){let e=new Date().toISOString();return{id:`proj_mobile_banking_demo`,name:`Nova Mobile Banking`,description:`Enterprise mobile banking app for iOS & Android built with React Native & React Navigation.`,type:`mobile`,pages:[{id:`page_mob_home`,name:`Home Dashboard`,slug:`home`,settings:{backgroundColor:`#f5f5f7`,padding:16,maxWidth:390,metaTitle:`Nova Banking - Mobile Home`,metaDescription:`Secure mobile banking dashboard with real-time balance tracking.`},elements:[{id:`el_mob_hdr_1`,type:`mobileHeader`,name:`Header Nav`,x:16,y:52,width:358,height:52,rotation:0,zIndex:10,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:16,paddingRight:16},content:{title:`Nova Banking`,actionLabel:`Support`,showBack:!1}},{id:`el_mob_card_1`,type:`mobileCard`,name:`Total Balance Card`,x:16,y:114,width:358,height:140,rotation:0,zIndex:5,locked:!1,hidden:!1,styles:{backgroundColor:`#0071e3`,textColor:`#ffffff`,borderRadius:18,borderWidth:0,shadow:`md`,paddingTop:18,paddingBottom:18,paddingLeft:18,paddingRight:18},content:{subtitle:`Available Balance`,amount:`$38,450.20`,tag:`Checking •• 4092`,trend:`+8.5% this month`}},{id:`el_mob_list_1`,type:`mobileList`,name:`Recent Transactions List`,x:16,y:264,width:358,height:240,rotation:0,zIndex:4,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:14,paddingBottom:14,paddingLeft:16,paddingRight:16},content:{title:`Recent Transactions`,items:[{title:`Apple Store`,subtitle:`Hardware & Devices`,amount:`-$1,299.00`,icon:`ShoppingBag`,isDebit:!0},{title:`Stripe Payout`,subtitle:`Direct Deposit Payroll`,amount:`+$4,820.00`,icon:`ArrowDownLeft`,isDebit:!1},{title:`Uber Technologies`,subtitle:`Transportation`,amount:`-$24.50`,icon:`Car`,isDebit:!0},{title:`Whole Foods Market`,subtitle:`Groceries & Organic`,amount:`-$84.20`,icon:`ShoppingBag`,isDebit:!0}]}},{id:`el_mob_tab_1`,type:`bottomNav`,name:`Bottom Tab Navigation`,x:16,y:720,width:358,height:64,rotation:0,zIndex:20,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:20,borderWidth:1,borderColor:`#e5e5ea`,shadow:`md`},content:{activeTab:`Home`,tabs:[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`1`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}]}}]},{id:`page_mob_cards`,name:`Cards & Wallets`,slug:`cards`,settings:{backgroundColor:`#f5f5f7`,padding:16,maxWidth:390,metaTitle:`My Cards - Nova Mobile`,metaDescription:`Manage virtual titanium debit and credit cards.`},elements:[{id:`el_mob_hdr_2`,type:`mobileHeader`,name:`Header Nav`,x:16,y:52,width:358,height:52,rotation:0,zIndex:10,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:16,paddingRight:16},content:{title:`My Cards`,actionLabel:`+ Add`,showBack:!0}},{id:`el_mob_card_2`,type:`mobileCard`,name:`Virtual Titanium Card`,x:16,y:114,width:358,height:140,rotation:0,zIndex:5,locked:!1,hidden:!1,styles:{backgroundColor:`#1d1d1f`,textColor:`#ffffff`,borderRadius:18,borderWidth:0,shadow:`md`,paddingTop:18,paddingBottom:18,paddingLeft:18,paddingRight:18},content:{subtitle:`Titanium Debit Card`,amount:`$12,000.00 Limit`,tag:`Mastercard •• 8831`,trend:`Active • Apple Pay ready`}},{id:`el_mob_list_2`,type:`mobileList`,name:`Card Controls`,x:16,y:264,width:358,height:220,rotation:0,zIndex:4,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:14,paddingBottom:14,paddingLeft:16,paddingRight:16},content:{title:`Card Controls & Security`,items:[{title:`Freeze Card`,subtitle:`Temporarily block transactions`,amount:`Unlocked`,icon:`Lock`,isDebit:!0},{title:`Online Payments`,subtitle:`Allow e-commerce purchases`,amount:`Enabled`,icon:`ShoppingBag`,isDebit:!1},{title:`Monthly Limit`,subtitle:`Maximum $15,000 / mo`,amount:`$4,200 spent`,icon:`CreditCard`,isDebit:!0}]}},{id:`el_mob_tab_2`,type:`bottomNav`,name:`Bottom Tab Navigation`,x:16,y:720,width:358,height:64,rotation:0,zIndex:20,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:20,borderWidth:1,borderColor:`#e5e5ea`,shadow:`md`},content:{activeTab:`Cards`,tabs:[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`1`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}]}}]},{id:`page_mob_transfer`,name:`Transfer & Send`,slug:`transfer`,settings:{backgroundColor:`#f5f5f7`,padding:16,maxWidth:390,metaTitle:`Send Money - Nova Mobile`,metaDescription:`Instant money transfer and payment options.`},elements:[{id:`el_mob_hdr_3`,type:`mobileHeader`,name:`Header Nav`,x:16,y:52,width:358,height:52,rotation:0,zIndex:10,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:16,paddingRight:16},content:{title:`Transfer Money`,actionLabel:`History`,showBack:!0}},{id:`el_mob_sheet_3`,type:`mobileSheet`,name:`Transfer Action Sheet`,x:16,y:114,width:358,height:220,rotation:0,zIndex:5,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:24,borderWidth:1,borderColor:`#e5e5ea`,shadow:`lg`,paddingTop:16,paddingBottom:20,paddingLeft:20,paddingRight:20},content:{title:`Instant Wire Transfer`,subtitle:`Zero fee transfer to any domestic checking account.`,primaryAction:`Send Money Now`}},{id:`el_mob_list_3`,type:`mobileList`,name:`Frequent Payees`,x:16,y:344,width:358,height:200,rotation:0,zIndex:4,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:14,paddingBottom:14,paddingLeft:16,paddingRight:16},content:{title:`Recent Recipients`,items:[{title:`Alex Rivera`,subtitle:`Checking •• 1092`,amount:`Favorite`,icon:`User`,isDebit:!1},{title:`Sarah Chen`,subtitle:`Savings •• 5541`,amount:`Recent`,icon:`User`,isDebit:!1},{title:`Elena Rostova`,subtitle:`Wire •• 9920`,amount:`Recent`,icon:`User`,isDebit:!1}]}},{id:`el_mob_tab_3`,type:`bottomNav`,name:`Bottom Tab Navigation`,x:16,y:720,width:358,height:64,rotation:0,zIndex:20,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:20,borderWidth:1,borderColor:`#e5e5ea`,shadow:`md`},content:{activeTab:`Transfer`,tabs:[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`1`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}]}}]}],settings:{platformTarget:`mobile`,safeArea:{top:47,bottom:34,left:0,right:0},canvasBackground:`#f5f5f7`,primaryColor:`#0071e3`,theme:`light`,siteUrl:`https://novabanking.app`,sitemapEnabled:!0,robotsTxtEnabled:!0},createdAt:e,updatedAt:e}}var Yi={id:`tmpl_modern_saas`,name:`Modern SaaS Platform`,category:`saas`,style:`minimal`,description:`Complete high-conversion SaaS suite with marketing landing, feature deep-dive, pricing tiers, login, and analytics dashboard.`,keywords:[`saas`,`software`,`platform`,`b2b`,`pricing`,`subscription`,`dashboard`],project:{id:`proj_tmpl_saas`,name:`Modern SaaS Platform`,type:`saas`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#f5f5f7`,primaryColor:`#0071e3`,theme:`light`},designSystem:Zr,pages:[{id:`saas_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_el_nav`,type:`navbar`,name:`Header Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:24,paddingRight:24},content:{brandName:`Apex Engine`,links:[`Features`,`Pricing`,`Login`,`Dashboard`],ctaLabel:`Get Started`}},{id:`saas_el_hero`,type:`hero`,name:`Hero Section`,x:170,y:110,width:1100,height:290,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`The AI-Powered SaaS Architecture`,headline:`Scale your cloud infrastructure with zero operational friction.`,subhead:`Automate deployments, monitor runtime metrics, and stream telemetry data in real-time.`,primaryBtnText:`Start 14-Day Trial`,secondaryBtnText:`Explore Features`}},{id:`saas_el_c1`,type:`featureCard`,name:`Cloud Orchestration`,x:60,y:430,width:420,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{icon:`Zap`,title:`Global Multi-Region Edge`,description:`Deploy serverless edge functions with sub-5ms latency across 300+ PoPs.`}},{id:`saas_el_c2`,type:`featureCard`,name:`Automated CI/CD`,x:510,y:430,width:420,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{icon:`Sparkles`,title:`Autonomous Rollouts`,description:`Canary deployments with automated rollback on health anomalies.`}},{id:`saas_el_c3`,type:`featureCard`,name:`Enterprise Security`,x:960,y:430,width:420,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{icon:`Check`,title:`SOC2 & HIPAA Certified`,description:`End-to-end envelope encryption and fine-grained role-based access.`}},{id:`saas_el_footer`,type:`footer`,name:`Footer`,x:60,y:620,width:1320,height:100,rotation:0,zIndex:4,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex Engine`,copyright:`© 2026 Apex Cloud Systems Inc.`}}]},{id:`saas_page_features`,name:`Features`,slug:`features`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_f_nav`,type:`navbar`,name:`Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex Engine`,links:[`Home`,`Features`,`Pricing`,`Login`]}},{id:`saas_f_heading`,type:`heading`,name:`Features Heading`,x:360,y:120,width:720,height:50,rotation:0,zIndex:2,styles:{fontSize:32,fontWeight:`700`,textAlign:`center`,textColor:`#1d1d1f`},content:{text:`Engineered for Performance and Scale`}},{id:`saas_f_c1`,type:`metricCard`,name:`Latency KPI`,x:180,y:200,width:520,height:160,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:24,paddingLeft:24},content:{title:`Global P99 Latency`,value:`4.2 ms`,change:`-34%`,isPositive:!0,timeframe:`vs industry standard`}},{id:`saas_f_c2`,type:`metricCard`,name:`Throughput KPI`,x:740,y:200,width:520,height:160,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:24,paddingLeft:24},content:{title:`Concurrent RPS`,value:`1.4M`,change:`+142%`,isPositive:!0,timeframe:`peak throughput`}}]},{id:`saas_page_pricing`,name:`Pricing`,slug:`pricing`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_p_nav`,type:`navbar`,name:`Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex Engine`,links:[`Home`,`Features`,`Pricing`,`Login`]}},{id:`saas_p_card_starter`,type:`pricingCard`,name:`Starter Tier`,x:180,y:130,width:320,height:400,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:28,paddingLeft:24,paddingRight:24},content:{planName:`Developer`,price:`$0`,period:`/forever`,description:`For hobbyists and individual developers.`,buttonText:`Start Free`}},{id:`saas_p_card_pro`,type:`pricingCard`,name:`Pro Tier`,x:540,y:110,width:360,height:440,rotation:0,zIndex:4,styles:{backgroundColor:`#ffffff`,borderRadius:18,borderWidth:2,borderColor:`#0071e3`,shadow:`md`,paddingTop:32,paddingLeft:28,paddingRight:28},content:{planName:`Team Pro`,price:`$49`,period:`/month`,description:`For high-velocity engineering teams.`,buttonText:`Upgrade to Pro`}},{id:`saas_p_card_enterprise`,type:`pricingCard`,name:`Enterprise Tier`,x:940,y:130,width:320,height:400,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:28,paddingLeft:24,paddingRight:24},content:{planName:`Enterprise`,price:`$299`,period:`/month`,description:`Dedicated clusters, SLAs, and 24/7 phone support.`,buttonText:`Contact Sales`}}]},{id:`saas_page_login`,name:`Login`,slug:`login`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_login_card`,type:`loginForm`,name:`Login Card`,x:495,y:160,width:450,height:380,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`lg`,paddingTop:28,paddingLeft:32,paddingRight:32},content:{title:`Sign In to Apex Cloud`,subtitle:`Manage your microservices and edge databases.`,buttonText:`Authenticate`}}]},{id:`saas_page_dash`,name:`Dashboard`,slug:`dashboard`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_d_sidebar`,type:`sidebar`,name:`App Sidebar`,x:20,y:20,width:240,height:800,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex OS`,activeItem:`Overview`,items:[`Overview`,`Clusters`,`Deployments`,`Security`,`Settings`]}},{id:`saas_d_chart`,type:`chart`,name:`Throughput Chart`,x:280,y:20,width:720,height:360,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{title:`Network Bandwidth Usage (GB/s)`}},{id:`saas_d_table`,type:`dataTable`,name:`Deployments Table`,x:280,y:400,width:1100,height:320,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{title:`Live Container Replicas`}}]}]}},Xi={id:`tmpl_ai_product`,name:`AI Agent Studio`,category:`saas`,style:`dark`,description:`OLED dark-mode generative AI interface with prompt consoles, model comparison cards, and token analytics.`,keywords:[`ai`,`agent`,`chatgpt`,`gemini`,`dark`,`prompt`,`machine learning`,`llm`],project:{id:`proj_tmpl_ai`,name:`AI Agent Studio`,type:`saas`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#000000`,primaryColor:`#0a84ff`,theme:`dark`},designSystem:Jr.find(e=>e.id===`dark`)?.tokens||Zr,pages:[{id:`ai_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#000000`},elements:[{id:`ai_nav`,type:`navbar`,name:`Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#1c1c1e`,borderRadius:12,borderWidth:1,borderColor:`#38383a`},content:{brandName:`Cognitive AI`,links:[`Models`,`Playground`,`API`,`Pricing`]}},{id:`ai_hero`,type:`hero`,name:`Hero`,x:170,y:110,width:1100,height:290,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`Next-Generation Multimodal Intelligence`,headline:`Autonomous reasoning agents built for enterprise scale.`,subhead:`Orchestrate multi-step tools, grounded web lookups, and deep reasoning models in one API.`,primaryBtnText:`Try in Playground`,secondaryBtnText:`View API Docs`}},{id:`ai_card1`,type:`featureCard`,name:`Model 1`,x:180,y:430,width:520,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#1c1c1e`,borderRadius:16,borderWidth:1,borderColor:`#38383a`,textColor:`#ffffff`},content:{icon:`Sparkles`,title:`Deep Reasoning 2.0`,description:`High-capability complex problem solver with multi-step chain-of-thought verification.`}},{id:`ai_card2`,type:`featureCard`,name:`Model 2`,x:740,y:430,width:520,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#1c1c1e`,borderRadius:16,borderWidth:1,borderColor:`#38383a`,textColor:`#ffffff`},content:{icon:`Zap`,title:`Flash Lite 500k`,description:`Sub-millisecond inference with massive token throughput for edge devices.`}}]},{id:`ai_page_dash`,name:`Dashboard`,slug:`dashboard`,settings:{backgroundColor:`#000000`},elements:[{id:`ai_d_chart`,type:`chart`,name:`Token Usage Chart`,x:60,y:30,width:1320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#1c1c1e`,borderRadius:16,borderWidth:1,borderColor:`#38383a`},content:{title:`API Ingestion Throughput (Tokens/Sec)`}}]}]}},Zi={id:`tmpl_analytics_dashboard`,name:`Apex Revenue Analytics`,category:`dashboards`,style:`minimal`,description:`Enterprise revenue & growth analytics cockpit with 4 KPI stat cards, monthly MRR line chart, traffic distribution donut, recent orders data table, and real-time activity stream.`,keywords:[`dashboard`,`analytics`,`kpi`,`metrics`,`charts`,`data`,`admin`,`revenue`,`orders`,`conversion`,`users`],project:qi()},Qi={id:`tmpl_ecommerce_store`,name:`Atelier Commerce`,category:`ecommerce`,style:`minimal`,description:`Luxury lifestyle store with product grids, cart drawers, and responsive checkout forms.`,keywords:[`ecommerce`,`shop`,`store`,`cart`,`checkout`,`products`,`retail`,`fashion`],project:{id:`proj_tmpl_ecom`,name:`Atelier Commerce`,type:`website`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ffffff`,primaryColor:`#1d1d1f`,theme:`light`},designSystem:Zr,pages:[{id:`ecom_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#ffffff`},elements:[{id:`ecom_nav`,type:`navbar`,name:`Store Header`,x:60,y:20,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`ATELIER`,links:[`Apparel`,`Accessories`,`Objects`,`Journal`,`Cart (2)`]}},{id:`ecom_hero`,type:`hero`,name:`Editorial Hero`,x:170,y:110,width:1100,height:290,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`Summer 2026 Collection`,headline:`Pure materials. Timeless silhouettes.`,subhead:`Engineered Japanese wool, organic raw cotton, and surgical-grade stainless hardware.`,primaryBtnText:`Shop the Lookbook`,secondaryBtnText:`Explore Objects`}},{id:`ecom_p1`,type:`productCard`,name:`Product 1`,x:180,y:430,width:320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{title:`Tailored Wool Overshirt`,price:`$280`}},{id:`ecom_p2`,type:`productCard`,name:`Product 2`,x:560,y:430,width:320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{title:`Raw Selvedge Denim`,price:`$220`}},{id:`ecom_p3`,type:`productCard`,name:`Product 3`,x:940,y:430,width:320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{title:`Minimalist Titanium Watch`,price:`$490`}}]}]}},$i={id:`tmpl_creative_portfolio`,name:`Studio Monolith`,category:`portfolios`,style:`minimal`,description:`Architectural portfolio showcase with high-contrast typography, case study grids, and inquiry forms.`,keywords:[`portfolio`,`design`,`agency`,`creative`,`architect`,`freelancer`,`studio`],project:{id:`proj_tmpl_portfolio`,name:`Studio Monolith`,type:`website`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#f5f5f7`,primaryColor:`#1d1d1f`,theme:`light`},designSystem:Zr,pages:[{id:`port_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`port_nav`,type:`navbar`,name:`Nav`,x:60,y:20,width:1320,height:60,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:10,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Studio Monolith`,links:[`Work`,`Philosophy`,`About`,`Inquire`]}},{id:`port_hero`,type:`hero`,name:`Hero`,x:170,y:110,width:1100,height:280,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`Design & Architecture Practice`,headline:`We shape physical & digital spaces with radical clarity.`,subhead:`Award-winning industrial design, spatial computing, and identity systems.`,primaryBtnText:`Explore Selected Work`,secondaryBtnText:`Read Monograph`}}]}]}},ea={id:`tmpl_mobile_banking`,name:`Nova Mobile Banking`,category:`mobile`,style:`minimal`,description:`Native mobile banking application with multi-screen flow, safe areas, transaction lists, virtual cards, transfer sheets, and bottom navigation tabs.`,keywords:[`mobile`,`banking`,`finance`,`ios`,`android`,`wallet`,`transfer`,`cards`,`react native`],project:Ji()},ta={id:`tmpl_proposal_project`,name:`Proposal for a new project`,category:`presentations`,style:`bold`,description:`Creative project proposal deck with vibrant pink background and key milestones.`,keywords:[`proposal`,`project`,`deck`,`canva`],project:{id:`proj_tmpl_proposal`,name:`Proposal for a new project`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ff4b72`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_prop_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#ff4b72`},elements:[{id:`el_prop_1`,type:`heading`,name:`Title`,x:80,y:100,width:900,height:120,rotation:0,zIndex:2,styles:{fontSize:44,fontWeight:`800`,textColor:`#ffffff`},content:{text:`Proposal for a new project`}}]}]}},na={id:`tmpl_art_society`,name:`Art and Society`,category:`presentations`,style:`vibrant`,description:`Art, history and society presentation template.`,keywords:[`art`,`society`,`presentation`,`canva`],project:{id:`proj_tmpl_art`,name:`Art and Society`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#00a8b5`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_art_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#00a8b5`},elements:[{id:`el_art_1`,type:`heading`,name:`Title`,x:100,y:120,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:40,fontWeight:`800`,textColor:`#ffffff`},content:{text:`Art and Society`}}]}]}},ra={id:`tmpl_classroom_rules`,name:`Classroom Rules`,category:`presentations`,style:`minimal`,description:`Educational classroom rules presentation with clear vector illustrations.`,keywords:[`classroom`,`rules`,`education`,`canva`],project:{id:`proj_tmpl_rules`,name:`Classroom Rules`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#003366`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_rules_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#003366`},elements:[{id:`el_rules_1`,type:`heading`,name:`Title`,x:80,y:80,width:840,height:90,rotation:0,zIndex:2,styles:{fontSize:48,fontWeight:`800`,textColor:`#ffffff`},content:{text:`CLASSROOM RULES`}}]}]}},ia={id:`tmpl_working_safely`,name:`Working Safely in Art Class`,category:`presentations`,style:`colorful`,description:`Art class safety guidelines deck.`,keywords:[`safety`,`art`,`class`,`canva`],project:{id:`proj_tmpl_safely`,name:`Working Safely in Art Class`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ff9800`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_safe_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#ff9800`},elements:[{id:`el_safe_1`,type:`heading`,name:`Title`,x:80,y:90,width:880,height:100,rotation:0,zIndex:2,styles:{fontSize:38,fontWeight:`800`,textColor:`#ffffff`},content:{text:`WORKING SAFELY WITH PAINTS IN ART CLASS`}}]}]}},aa={id:`tmpl_poster_plan`,name:`My Poster Plan`,category:`presentations`,style:`vibrant`,description:`Poster planning and layout workshop template.`,keywords:[`poster`,`plan`,`design`,`canva`],project:{id:`proj_tmpl_poster`,name:`My Poster Plan`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#1a237e`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_post_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#1a237e`},elements:[{id:`el_post_1`,type:`heading`,name:`Title`,x:90,y:110,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:44,fontWeight:`800`,textColor:`#ffeb3b`},content:{text:`My Poster Plan`}}]}]}},oa=[Yi,Xi,Zi,ea,Qi,$i,{id:`tmpl_design_portfolio_canva`,name:`Design Portfolio`,category:`portfolios`,style:`minimal`,description:`Clean design portfolio showcase deck.`,keywords:[`portfolio`,`design`,`canva`],project:{id:`proj_tmpl_port_c`,name:`Design Portfolio`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ffffff`,primaryColor:`#1d1d1f`,theme:`light`},pages:[{id:`p_dp_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#ffffff`},elements:[{id:`el_dp_1`,type:`heading`,name:`Title`,x:100,y:120,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:48,fontWeight:`800`,textColor:`#1d1d1f`},content:{text:`Design Portfolio`}}]}]}},{id:`tmpl_group_project`,name:`group project`,category:`presentations`,style:`bold`,description:`Group project collaboration template.`,keywords:[`group`,`project`,`canva`],project:{id:`proj_tmpl_group`,name:`group project`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#b71c1c`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_grp_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#b71c1c`},elements:[{id:`el_grp_1`,type:`heading`,name:`Title`,x:80,y:100,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:44,fontWeight:`800`,textColor:`#ffffff`},content:{text:`group project`}}]}]}},ta,na,ra,ia,aa],sa=`C:/Users/Shadow/Desktop/cyrus/src/components/icons/AiChipIcon.tsx`;function ca({className:e=`w-6 h-6`,size:t,...n}){let r=t||void 0,i=t||void 0,a=A.useId();return(0,M.jsxDEV)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:e,width:r,height:i,...n,children:[(0,M.jsxDEV)(`defs`,{children:(0,M.jsxDEV)(`linearGradient`,{id:a,x1:`0%`,y1:`0%`,x2:`100%`,y2:`100%`,children:[(0,M.jsxDEV)(`stop`,{offset:`0%`,stopColor:`#7d2ae8`},void 0,!1,{fileName:sa,lineNumber:25,columnNumber:11},this),(0,M.jsxDEV)(`stop`,{offset:`100%`,stopColor:`#0071e3`},void 0,!1,{fileName:sa,lineNumber:26,columnNumber:11},this)]},void 0,!0,{fileName:sa,lineNumber:24,columnNumber:9},this)},void 0,!1,{fileName:sa,lineNumber:23,columnNumber:7},this),(0,M.jsxDEV)(`path`,{d:`M12 2C12 7.5 16.5 12 22 12C16.5 12 12 16.5 12 22C12 16.5 7.5 12 2 12C7.5 12 12 7.5 12 2Z`,fill:`url(#${a})`},void 0,!1,{fileName:sa,lineNumber:31,columnNumber:7},this),(0,M.jsxDEV)(`path`,{d:`M19 3C19 5 20.5 6.5 22.5 6.5C20.5 6.5 19 8 19 10C19 8 17.5 6.5 15.5 6.5C17.5 6.5 19 5 19 3Z`,fill:`#0071e3`,opacity:`0.85`},void 0,!1,{fileName:sa,lineNumber:37,columnNumber:7},this)]},void 0,!0,{fileName:sa,lineNumber:14,columnNumber:5},this)}var la=`C:/Users/Shadow/Desktop/cyrus/src/components/dialogs/AIChatModal.tsx`,ua=[{id:`msg_1`,sender:`ai`,text:`Hello! I'm Cyrus AI Magic. Describe any website, SaaS platform, mobile app, or UI component you want to build, and I'll generate the full layout and code for you.`,timestamp:`Just now`}],da=[`🚀 Build a SaaS Landing Page`,`📱 Create a Mobile Banking App`,`📊 Design an Analytics Dashboard`,`💳 Create a Pricing Table Card`];function fa({isOpen:e,onClose:t,onOpenProject:n}){let{addToast:r}=Br(),{ai:i}=ui(),[a,o]=(0,A.useState)(ua),[s,c]=(0,A.useState)(``),[l,d]=(0,A.useState)(!1),f=(0,A.useRef)(null);if((0,A.useEffect)(()=>{e&&f.current?.scrollIntoView({behavior:`smooth`})},[e,a,l]),!e)return null;let p=async e=>{let t=(e||s).trim();if(!t||l)return;let n={id:`usr_${Date.now()}`,sender:`user`,text:t,timestamp:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})};o(e=>[...e,n]),c(``),d(!0),setTimeout(async()=>{let e=t.toLowerCase(),n=`webapp`,r=`AI Generated Design`,i=`Full multi-element UI canvas synthesized by Gemini AI Magic.`,a=6;e.includes(`mobile`)||e.includes(`app`)||e.includes(`ios`)?(n=`mobile`,r=`Mobile App Design`,i=`iOS/Android responsive mobile interface layout.`,a=5):e.includes(`dashboard`)||e.includes(`analytics`)||e.includes(`chart`)?(n=`dashboard`,r=`Analytics Dashboard`,i=`Data visualization layout with KPI metrics and charts.`,a=8):(e.includes(`saas`)||e.includes(`landing`))&&(n=`webapp`,r=`SaaS Platform`,i=`Hero section, navigation, feature cards, and pricing.`,a=7);let s={id:`ai_${Date.now()}`,sender:`ai`,text:`I've synthesized a **${r}** based on your prompt: "${t}". Click below to open and edit it live on the canvas!`,timestamp:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),projectPreview:{type:n,title:r,description:i,elementCount:a}};o(e=>[...e,s]),d(!1)},1e3)},m=async e=>{try{let i=`page_${k()}`,a={id:k(`proj`),name:e?.title||`AI Design Project`,type:e?.type||`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),pages:[{id:i,name:`Page 1`,slug:`page-1`,settings:{backgroundColor:`#ffffff`},elements:[{id:`el_${k()}`,type:`navbar`,name:`Nav Bar`,x:40,y:20,width:800,height:64,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{brandName:`Cyrus AI`}},{id:`el_${k()}`,type:`hero`,name:`Hero Section`,x:40,y:100,width:800,height:320,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{headline:e?.title||`AI Generated Product`,subhead:e?.description||`Built with Cyrus AI Magic`}},{id:`el_${k()}`,type:`input_search_bar`,name:`Search Bar`,x:40,y:440,width:320,height:44,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`2xs`},content:{placeholder:`Search...`}}]}],components:[],variables:[],dataSources:[],settings:{canvasBackground:`#ffffff`},designSystem:{colors:{primary:`#0071e3`,secondary:`#7d2ae8`,background:`#ffffff`,surface:`#f5f5f7`,text:`#1d1d1f`},typography:{fontFamily:`Inter, sans-serif`,fontSizeBase:14,headings:{h1:32,h2:24,h3:18}},spacing:{unit:8,scale:[0,4,8,16,24,32,48,64]}}};await Xr(a),r(`Created project "${a.name}"!`,`success`),t(),n(a.id)}catch(e){console.error(`Error launching project from AI Chat:`,e)}};return(0,M.jsxDEV)(`div`,{onClick:t,className:`fixed inset-0 bg-black/50 backdrop-blur-xs flex items-center justify-center p-4 sm:p-6 z-[999999] animate-in fade-in duration-150 select-none font-sans`,children:(0,M.jsxDEV)(`div`,{onClick:e=>e.stopPropagation(),className:`w-full max-w-2xl bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] rounded-3xl border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-lg flex flex-col h-[640px] max-h-[90vh] overflow-hidden animate-in zoom-in-95 duration-150 relative`,children:[(0,M.jsxDEV)(`div`,{className:`p-4 px-6 bg-white/80 dark:bg-[#1c1c1e]/80 backdrop-blur-md border-b border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center justify-between z-10 shrink-0`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`w-10 h-10 rounded-2xl bg-gradient-to-tr from-[#7d2ae8]/15 to-[#0071e3]/15 border border-[#7d2ae8]/20 flex items-center justify-center text-[#7d2ae8] dark:text-[#9d52ff]`,children:(0,M.jsxDEV)(ca,{className:`w-6 h-6`},void 0,!1,{fileName:la,lineNumber:221,columnNumber:15},this)},void 0,!1,{fileName:la,lineNumber:220,columnNumber:13},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`h3`,{className:`text-[15.5px] font-bold tracking-tight text-[#1d1d1f] dark:text-white`,children:`AI Magic Chat`},void 0,!1,{fileName:la,lineNumber:225,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-[#7d2ae8]/10 text-[#7d2ae8] dark:text-[#9d52ff] text-[10px] font-semibold`,children:`Gemini 1.5 Flash`},void 0,!1,{fileName:la,lineNumber:226,columnNumber:17},this)]},void 0,!0,{fileName:la,lineNumber:224,columnNumber:15},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] dark:text-[#8e8e93]`,children:`Ask AI Magic to generate layouts, web apps, or UI components.`},void 0,!1,{fileName:la,lineNumber:230,columnNumber:15},this)]},void 0,!0,{fileName:la,lineNumber:223,columnNumber:13},this)]},void 0,!0,{fileName:la,lineNumber:219,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:t,className:`w-8 h-8 rounded-full bg-[#f4f4f6] dark:bg-[#2c2c2e] hover:bg-[#e5e5ea] dark:hover:bg-[#38383a] text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white flex items-center justify-center transition-all cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:241,columnNumber:13},this)},void 0,!1,{fileName:la,lineNumber:236,columnNumber:11},this)]},void 0,!0,{fileName:la,lineNumber:218,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-5 space-y-4 bg-[#fafafa] dark:bg-[#141416]`,children:[a.map(e=>{let t=e.sender===`user`;return(0,M.jsxDEV)(`div`,{className:O(`flex gap-3 max-w-[88%]`,t?`ml-auto flex-row-reverse`:`mr-auto`),children:[(0,M.jsxDEV)(`div`,{className:O(`w-8 h-8 rounded-full shrink-0 flex items-center justify-center text-xs font-semibold shadow-2xs`,t?`bg-[#0071e3] text-white`:`bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] text-white`),children:t?(0,M.jsxDEV)(rn,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:263,columnNumber:29},this):(0,M.jsxDEV)(me,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:263,columnNumber:60},this)},void 0,!1,{fileName:la,lineNumber:255,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`div`,{className:O(`p-3.5 rounded-2xl text-[13px] leading-relaxed shadow-2xs`,t?`bg-[#0071e3] text-white rounded-tr-none`:`bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#2c2c2e] rounded-tl-none`),children:e.text},void 0,!1,{fileName:la,lineNumber:268,columnNumber:19},this),e.projectPreview&&(0,M.jsxDEV)(`div`,{className:`mt-1 p-4 rounded-2xl bg-white dark:bg-[#1c1c1e] border border-[#e5e5ea] dark:border-[#2c2c2e] shadow-apple-md flex flex-col gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[e.projectPreview.type===`mobile`?(0,M.jsxDEV)(mt,{className:`w-5 h-5 text-[#ff2d55]`},void 0,!1,{fileName:la,lineNumber:285,columnNumber:29},this):e.projectPreview.type===`dashboard`?(0,M.jsxDEV)(u,{className:`w-5 h-5 text-[#34c759]`},void 0,!1,{fileName:la,lineNumber:287,columnNumber:29},this):(0,M.jsxDEV)(Er,{className:`w-5 h-5 text-[#7d2ae8]`},void 0,!1,{fileName:la,lineNumber:289,columnNumber:29},this),(0,M.jsxDEV)(`span`,{className:`font-bold text-[14px] text-[#1d1d1f] dark:text-white`,children:e.projectPreview.title},void 0,!1,{fileName:la,lineNumber:291,columnNumber:27},this)]},void 0,!0,{fileName:la,lineNumber:283,columnNumber:25},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[10.5px] font-semibold text-[#86868b]`,children:[e.projectPreview.elementCount,` elements`]},void 0,!0,{fileName:la,lineNumber:295,columnNumber:25},this)]},void 0,!0,{fileName:la,lineNumber:282,columnNumber:23},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#6e6e73] dark:text-[#8e8e93]`,children:e.projectPreview.description},void 0,!1,{fileName:la,lineNumber:300,columnNumber:23},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>m(e.projectPreview),className:`w-full py-2.5 rounded-xl bg-[#0071e3] hover:bg-[#0077ed] text-white text-[12.5px] font-semibold flex items-center justify-center gap-2 shadow-apple-sm transition-all cursor-pointer active:scale-[0.98]`,children:[(0,M.jsxDEV)(`span`,{children:`Open Project in Studio`},void 0,!1,{fileName:la,lineNumber:309,columnNumber:25},this),(0,M.jsxDEV)(In,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:310,columnNumber:25},this)]},void 0,!0,{fileName:la,lineNumber:304,columnNumber:23},this)]},void 0,!0,{fileName:la,lineNumber:281,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#86868b] px-1`,children:e.timestamp},void 0,!1,{fileName:la,lineNumber:315,columnNumber:19},this)]},void 0,!0,{fileName:la,lineNumber:267,columnNumber:17},this)]},e.id,!0,{fileName:la,lineNumber:250,columnNumber:15},this)}),l&&(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 text-[#86868b] text-[12px] p-2 bg-white dark:bg-[#1c1c1e] rounded-2xl w-fit border border-[#e5e5ea] dark:border-[#2c2c2e] animate-pulse`,children:[(0,M.jsxDEV)(ur,{className:`w-4 h-4 animate-spin text-[#7d2ae8]`},void 0,!1,{fileName:la,lineNumber:323,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Cyrus AI is synthesizing layout...`},void 0,!1,{fileName:la,lineNumber:324,columnNumber:15},this)]},void 0,!0,{fileName:la,lineNumber:322,columnNumber:13},this),(0,M.jsxDEV)(`div`,{ref:f},void 0,!1,{fileName:la,lineNumber:327,columnNumber:11},this)]},void 0,!0,{fileName:la,lineNumber:246,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`p-2.5 px-4 bg-white dark:bg-[#1c1c1e] border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center gap-2 overflow-x-auto no-scrollbar shrink-0`,children:da.map((e,t)=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>p(e.replace(/^[^a-zA-Z]+/,``)),className:`px-3 py-1.5 rounded-full bg-[#f4f4f6] dark:bg-[#2c2c2e] hover:bg-[#e5e5ea] dark:hover:bg-[#38383a] text-[11px] font-medium text-[#1d1d1f] dark:text-[#f5f5f7] whitespace-nowrap transition-all cursor-pointer shrink-0`,children:e},t,!1,{fileName:la,lineNumber:333,columnNumber:13},this))},void 0,!1,{fileName:la,lineNumber:331,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`p-3.5 bg-white dark:bg-[#1c1c1e] border-t border-[#e5e5ea] dark:border-[#38383a] shrink-0`,children:(0,M.jsxDEV)(`form`,{onSubmit:e=>{e.preventDefault(),p()},className:`relative flex items-center`,children:[(0,M.jsxDEV)(`input`,{type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`Ask AI Magic to design a website, app, or component...`,className:`w-full h-11 pl-4 pr-12 bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[13px] text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] rounded-2xl border border-transparent focus:border-[#7d2ae8] focus:bg-white dark:focus:bg-[#1c1c1e] outline-none transition-all`},void 0,!1,{fileName:la,lineNumber:353,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`submit`,disabled:!s.trim()||l,className:`absolute right-2 w-8 h-8 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] disabled:opacity-40 text-white flex items-center justify-center transition-all cursor-pointer shadow-2xs`,children:(0,M.jsxDEV)(rr,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:365,columnNumber:15},this)},void 0,!1,{fileName:la,lineNumber:360,columnNumber:13},this)]},void 0,!0,{fileName:la,lineNumber:346,columnNumber:11},this)},void 0,!1,{fileName:la,lineNumber:345,columnNumber:9},this)]},void 0,!0,{fileName:la,lineNumber:213,columnNumber:7},this)},void 0,!1,{fileName:la,lineNumber:209,columnNumber:5},this)}var pa=[{id:`prod_1`,name:`AirPulse Pro Wireless Headphones`,price:`$299`,rawPrice:299,category:`Audio`,rating:`4.9 ★`,inStock:!0,image:`https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=800&auto=format&fit=crop&q=80`,description:`Spatial audio with active noise cancellation and 40-hour ultra-long battery life.`,tag:`Best Seller`},{id:`prod_2`,name:`Retina Ultra Smartwatch 45mm`,price:`$399`,rawPrice:399,category:`Wearables`,rating:`4.8 ★`,inStock:!0,image:`https://images.unsplash.com/photo-1523275335684-37898b6baf30?w=800&auto=format&fit=crop&q=80`,description:`Sapphire crystal display, ECG monitoring, and precision dual-frequency GPS.`,tag:`New`},{id:`prod_3`,name:`Studio Master Mechanical Keyboard`,price:`$189`,rawPrice:189,category:`Accessories`,rating:`5.0 ★`,inStock:!0,image:`https://images.unsplash.com/photo-1587829741301-dc798b83add3?w=800&auto=format&fit=crop&q=80`,description:`CNC aluminum chassis with hot-swappable tactile switches and sound dampening foam.`,tag:`Featured`},{id:`prod_4`,name:`Lumix Ergonomic Studio Mouse`,price:`$119`,rawPrice:119,category:`Accessories`,rating:`4.7 ★`,inStock:!1,image:`https://images.unsplash.com/photo-1615663245857-ac93bb7c39e7?w=800&auto=format&fit=crop&q=80`,description:`MagSpeed electromagnetic scroll wheel with 8,000 DPI Darkfield tracking.`,tag:`Backorder`}],ma={id:`usr_007`,name:`Alexander Wright`,email:`alexander.wright@cyrus.design`,avatar:`https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=400&auto=format&fit=crop&q=80`,role:`Lead Architect`,plan:`Pro Enterprise`,isVerified:!0},ha=[{orderId:`#ORD-9842`,customer:`Sarah Jenkins`,amount:`$299.00`,status:`Delivered`,date:`Aug 14, 2026`,itemsCount:1},{orderId:`#ORD-9843`,customer:`Marcus Chen`,amount:`$588.00`,status:`Processing`,date:`Aug 15, 2026`,itemsCount:2},{orderId:`#ORD-9844`,customer:`Elena Rostova`,amount:`$189.00`,status:`Shipped`,date:`Aug 15, 2026`,itemsCount:1}],ga={revenue:`$142,850`,mrr:`$28,400`,activeUsers:`18,420`,conversionRate:`4.8%`,growthPercentage:`+24.5%`},_a=[{id:`var_user`,name:`user`,type:`object`,defaultValue:ma,sampleValue:ma,description:`Current authenticated user profile`,category:`user`},{id:`var_is_logged_in`,name:`isLoggedIn`,type:`boolean`,defaultValue:!0,sampleValue:!0,description:`User authentication session state`,category:`user`},{id:`var_user_name`,name:`userName`,type:`text`,defaultValue:`Alexander Wright`,sampleValue:`Alexander Wright`,description:`Display name for greeting & headers`,category:`user`},{id:`var_products`,name:`products`,type:`array`,defaultValue:pa,sampleValue:pa,description:`E-commerce catalog items list for cards and grids`,category:`ecommerce`},{id:`var_orders`,name:`orders`,type:`array`,defaultValue:ha,sampleValue:ha,description:`Recent customer orders list`,category:`ecommerce`},{id:`var_analytics`,name:`analytics`,type:`object`,defaultValue:ga,sampleValue:ga,description:`Dashboard metrics and key performance indicators`,category:`analytics`},{id:`var_company_name`,name:`companyName`,type:`text`,defaultValue:`Cyrus Technologies`,sampleValue:`Cyrus Technologies`,description:`Brand or application company name`,category:`general`}],va=[{id:`ds_rest_api`,name:`Cyrus Cloud API`,type:`rest`,baseUrl:`https://api.cyrus.design/v1`,authType:`bearer`,isSecret:!1,endpoints:[{id:`ep_auth_login`,name:`Login User`,path:`/auth/login`,method:`POST`,headers:{"Content-Type":`application/json`},bodyTemplate:`{"email":"{{email}}","password":"{{password}}"}`,responseVariable:`user`},{id:`ep_get_products`,name:`Get Products`,path:`/products`,method:`GET`,responseVariable:`products`},{id:`ep_contact_submit`,name:`Send Contact Message`,path:`/contact`,method:`POST`,headers:{"Content-Type":`application/json`},bodyTemplate:`{"name":"{{name}}","email":"{{email}}","message":"{{message}}"}`}]}];function ya(e){switch(e){case`ecommerce`:return[{id:k(`var`),name:`products`,type:`array`,defaultValue:pa,sampleValue:pa,category:`ecommerce`,description:`Catalog products list`},{id:k(`var`),name:`cartCount`,type:`number`,defaultValue:3,sampleValue:3,category:`ecommerce`,description:`Number of items in shopping cart`},{id:k(`var`),name:`currency`,type:`text`,defaultValue:`USD`,sampleValue:`USD`,category:`ecommerce`}];case`auth`:return[{id:k(`var`),name:`user`,type:`object`,defaultValue:ma,sampleValue:ma,category:`user`,description:`User profile object`},{id:k(`var`),name:`isLoggedIn`,type:`boolean`,defaultValue:!0,sampleValue:!0,category:`user`}];case`analytics`:return[{id:k(`var`),name:`analytics`,type:`object`,defaultValue:ga,sampleValue:ga,category:`analytics`,description:`Real-time KPI metrics`}];default:return _a}}function ba(e,t=8){return Math.round(e/t)*t}function xa(e,t){return!(t.x>e.x+e.width||t.x+t.width<e.x||t.y>e.y+e.height||t.y+t.height<e.y)}function Sa(e,t,n,r){return{x:Math.min(e,n),y:Math.min(t,r),width:Math.abs(n-e),height:Math.abs(r-t)}}function Ca(e){if(e.length===0)return{x:0,y:0,width:0,height:0};let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x+a.width),i=Math.max(i,a.y+a.height);return{x:t,y:n,width:Math.max(0,r-t),height:Math.max(0,i-n)}}function wa(e,t=5,n=15){let r=(e%360+360)%360,i=Math.round(r/n)*n;return Math.abs(r-i)<=t?i===360?0:i:Math.round(r)}function Ta(e,t){let n=[],r=e.x+e.width,i=e.y+e.height,a=e.x+e.width/2,o=e.y+e.height/2,s=t.x+t.width,c=t.y+t.height;if(t.x+t.width/2,t.y+t.height/2,r<=t.x){let e=Math.round(t.x-r);if(e>=0){let i=Math.min(Math.max(o,t.y),c);n.push({id:`h-right`,x1:r,y1:i,x2:t.x,y2:i,distance:e,orientation:`horizontal`,labelX:(r+t.x)/2,labelY:i})}}else if(s<=e.x){let r=Math.round(e.x-s);if(r>=0){let i=Math.min(Math.max(o,t.y),c);n.push({id:`h-left`,x1:s,y1:i,x2:e.x,y2:i,distance:r,orientation:`horizontal`,labelX:(s+e.x)/2,labelY:i})}}if(i<=t.y){let e=Math.round(t.y-i);if(e>=0){let r=Math.min(Math.max(a,t.x),s);n.push({id:`v-bottom`,x1:r,y1:i,x2:r,y2:t.y,distance:e,orientation:`vertical`,labelX:r,labelY:(i+t.y)/2})}}else if(c<=e.y){let r=Math.round(e.y-c);if(r>=0){let i=Math.min(Math.max(a,t.x),s);n.push({id:`v-top`,x1:i,y1:c,x2:i,y2:e.y,distance:r,orientation:`vertical`,labelX:i,labelY:(c+e.y)/2})}}return n}function Ea(e,t,n){let r=[],i=e.x+e.width,a=e.y+e.height,o=e.x+e.width/2,s=e.y+e.height/2;r.push({id:`ab-left`,x1:0,y1:s,x2:e.x,y2:s,distance:Math.round(e.x),orientation:`horizontal`,labelX:e.x/2,labelY:s}),r.push({id:`ab-top`,x1:o,y1:0,x2:o,y2:e.y,distance:Math.round(e.y),orientation:`vertical`,labelX:o,labelY:e.y/2});let c=Math.max(0,t-i);r.push({id:`ab-right`,x1:i,y1:s,x2:t,y2:s,distance:Math.round(c),orientation:`horizontal`,labelX:(i+t)/2,labelY:s});let l=Math.max(0,n-a);return r.push({id:`ab-bottom`,x1:o,y1:a,x2:o,y2:n,distance:Math.round(l),orientation:`vertical`,labelX:o,labelY:(a+n)/2}),r}function Da(e,t,n,r){if(e.length===0)return[];if(e.length===1){let i=e[0];switch(t){case`left`:return[{id:i.id,x:0,y:i.y}];case`center-h`:return[{id:i.id,x:Math.round((n-i.width)/2),y:i.y}];case`right`:return[{id:i.id,x:Math.round(n-i.width),y:i.y}];case`top`:return[{id:i.id,x:i.x,y:0}];case`middle-v`:return[{id:i.id,x:i.x,y:Math.round((r-i.height)/2)}];case`bottom`:return[{id:i.id,x:i.x,y:Math.round(r-i.height)}];default:return[{id:i.id,x:i.x,y:i.y}]}}let i=Ca(e);switch(t){case`left`:return e.map(e=>({id:e.id,x:i.x,y:e.y}));case`center-h`:{let t=i.x+i.width/2;return e.map(e=>({id:e.id,x:Math.round(t-e.width/2),y:e.y}))}case`right`:{let t=i.x+i.width;return e.map(e=>({id:e.id,x:Math.round(t-e.width),y:e.y}))}case`top`:return e.map(e=>({id:e.id,x:e.x,y:i.y}));case`middle-v`:{let t=i.y+i.height/2;return e.map(e=>({id:e.id,x:e.x,y:Math.round(t-e.height/2)}))}case`bottom`:{let t=i.y+i.height;return e.map(e=>({id:e.id,x:e.x,y:Math.round(t-e.height)}))}case`distribute-h`:{if(e.length<3)return e.map(e=>({id:e.id,x:e.x,y:e.y}));let t=[...e].sort((e,t)=>e.x-t.x),n=t.reduce((e,t)=>e+t.width,0),r=(i.width-n)/(t.length-1),a=i.x;return t.map(e=>{let t={id:e.id,x:Math.round(a),y:e.y};return a+=e.width+r,t})}case`distribute-v`:{if(e.length<3)return e.map(e=>({id:e.id,x:e.x,y:e.y}));let t=[...e].sort((e,t)=>e.y-t.y),n=t.reduce((e,t)=>e+t.height,0),r=(i.height-n)/(t.length-1),a=i.y;return t.map(e=>{let t={id:e.id,x:e.x,y:Math.round(a)};return a+=e.height+r,t})}default:return e.map(e=>({id:e.id,x:e.x,y:e.y}))}}function Oa(e,t,n,r,i=6){let a=e.x,o=e.y,s=[],c=e.x+e.width/2;e.x+e.width;let l=e.y+e.height/2;e.y+e.height;let u=[{pos:n/2,label:`canvas-center-x`,guidePos:n/2,offset:c-e.x},{pos:0,label:`canvas-left`,guidePos:0,offset:0},{pos:n,label:`canvas-right`,guidePos:n,offset:e.width}],d=[{pos:r/2,label:`canvas-center-y`,guidePos:r/2,offset:l-e.y},{pos:0,label:`canvas-top`,guidePos:0,offset:0},{pos:r,label:`canvas-bottom`,guidePos:r,offset:e.height}];for(let n of t){let t=n.x+n.width/2,r=n.x+n.width,i=n.y+n.height/2,a=n.y+n.height;u.push({pos:n.x,label:`elem-left`,guidePos:n.x,offset:0},{pos:t,label:`elem-center-x`,guidePos:t,offset:c-e.x},{pos:r,label:`elem-right`,guidePos:r,offset:e.width}),d.push({pos:n.y,label:`elem-top`,guidePos:n.y,offset:0},{pos:i,label:`elem-center-y`,guidePos:i,offset:l-e.y},{pos:a,label:`elem-bottom`,guidePos:a,offset:e.height})}let f=i+1,p=null;for(let t of u){let n=Math.abs(e.x+t.offset-t.pos);n<f&&(f=n,a=t.pos-t.offset,p={orientation:`vertical`,position:t.pos})}let m=i+1,h=null;for(let t of d){let n=Math.abs(e.y+t.offset-t.pos);n<m&&(m=n,o=t.pos-t.offset,h={orientation:`horizontal`,position:t.pos})}return p&&f<=i&&s.push(p),h&&m<=i&&s.push(h),{x:a,y:o,guides:s}}function ka(e,t,n){return{id:k(`snap`),timestamp:Date.now(),description:n,pages:JSON.parse(JSON.stringify(e.pages)),designSystem:JSON.parse(JSON.stringify(e.designSystem||{})),components:JSON.parse(JSON.stringify(e.components||[])),variables:JSON.parse(JSON.stringify(e.variables||[])),dataSources:JSON.parse(JSON.stringify(e.dataSources||[])),activePageId:t}}var Aa=null,N=Lr((e,t)=>({activeProject:null,activePageId:``,selectedElementIds:[],hoveredElementId:null,clipboard:[],isSaving:!1,lastSavedAt:null,past:[],future:[],setProject:t=>{let n=t.pages[0]?.id||``,r=t.variables&&t.variables.length>0?t.variables:_a,i=t.dataSources&&t.dataSources.length>0?t.dataSources:va;e({activeProject:{...t,variables:r,dataSources:i,useSampleData:t.useSampleData??!0},activePageId:n,selectedElementIds:[],hoveredElementId:null,clipboard:[],past:[],future:[],lastSavedAt:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})})},loadProjectFromStorage:async e=>{try{let n=await Kr(e);return n?(t().setProject(n),!0):!1}catch(e){return console.error(`Failed to load project from storage:`,e),!1}},saveCurrentProject:()=>(e({isSaving:!0}),new Promise(n=>{Aa&&clearTimeout(Aa),Aa=setTimeout(async()=>{let{activeProject:r}=t();if(!r){e({isSaving:!1}),n();return}try{await Xr(r),e({isSaving:!1,lastSavedAt:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})})}catch(t){console.error(`Error saving current project:`,t),e({isSaving:!1})}n()},2e3)})),setActivePage:t=>{e({activePageId:t,selectedElementIds:[],hoveredElementId:null})},updateProjectName:n=>{let{activeProject:r}=t();r&&(e({activeProject:{...r,name:n,updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},updateProjectMeta:n=>{let{activeProject:r}=t();r&&(e({activeProject:{...r,name:n.name===void 0?r.name:n.name,type:n.type===void 0?r.type:n.type,updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},updateProjectSettings:n=>{let{activeProject:r}=t();r&&(e({activeProject:{...r,settings:{...r.settings,...n},updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},addPage:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)return``;let o=k(`page`),s=r.pages.length+1,c=n||`Page ${s}`,l={id:o,name:c,slug:c.toLowerCase().replace(/\s+/g,`-`),elements:[],settings:{backgroundColor:`#f5f5f7`,padding:32}},u=ka(r,i,`Add page "${c}"`);return e({activeProject:{...r,pages:[...r.pages,l],updatedAt:new Date().toISOString()},activePageId:o,selectedElementIds:[],past:[u,...a.slice(0,39)],future:[]}),t().saveCurrentProject(),o},deletePage:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r||r.pages.length<=1)return;let o=ka(r,i,`Delete page "${r.pages.find(e=>e.id===n)?.name||`Page`}"`),s=r.pages.filter(e=>e.id!==n),c=i===n?s[0].id:i;e({activeProject:{...r,pages:s,updatedAt:new Date().toISOString()},activePageId:c,selectedElementIds:[],past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},duplicatePage:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)return;let o=r.pages.find(e=>e.id===n);if(!o)return;let s=k(`page`),c=o.elements.map(e=>({...e,id:k(`elem`)})),l={...JSON.parse(JSON.stringify(o)),id:s,name:`${o.name} (Copy)`,slug:`${o.slug}-copy`,elements:c},u=ka(r,i,`Duplicate page "${o.name}"`);e({activeProject:{...r,pages:[...r.pages,l],updatedAt:new Date().toISOString()},activePageId:s,selectedElementIds:[],past:[u,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},renamePage:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=i.pages.map(e=>e.id===n?{...e,name:r,slug:r.toLowerCase().replace(/\s+/g,`-`)}:e);e({activeProject:{...i,pages:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},updatePageSettings:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=i.pages.map(e=>e.id===n?{...e,settings:{...e.settings||{},...r}}:e);e({activeProject:{...i,pages:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},selectElement:(n,r=!1)=>{if(!n){e({selectedElementIds:[]});return}if(r){let{selectedElementIds:r}=t();r.includes(n)?e({selectedElementIds:r.filter(e=>e!==n)}):e({selectedElementIds:[...r,n]})}else e({selectedElementIds:[n]})},selectElements:t=>{e({selectedElementIds:t})},selectAllElements:()=>{let{activeProject:n,activePageId:r}=t();if(!n)return;let i=n.pages.find(e=>e.id===r);i&&e({selectedElementIds:i.elements.map(e=>e.id)})},setHoveredElement:t=>{e({hoveredElementId:t})},addElement:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)throw Error(`No active project`);let o=i&&r.pages.some(e=>e.id===i)?i:r.pages[0]?.id;if(!o)throw Error(`No active page`);let s=r.pages.find(e=>e.id===o).elements?.length||0,c={id:n.id||k(`elem`),type:n.type,name:n.name||`New Element`,x:n.x??100,y:n.y??100,width:n.width??200,height:n.height??50,rotation:n.rotation??0,zIndex:n.zIndex??s+1,styles:n.styles||{},content:n.content||{},responsive:n.responsive,animations:n.animations,interactions:n.interactions},l=ka(r,o,`Add ${c.name}`),u=r.pages.map(e=>e.id===o?{...e,elements:[...e.elements||[],c]}:e);return e({activeProject:{...r,pages:u,updatedAt:new Date().toISOString()},activePageId:o,selectedElementIds:[c.id],past:[l,...a.slice(0,39)],future:[]}),t().saveCurrentProject(),c},updateElement:(n,r,i=!1)=>{let{activeProject:a,activePageId:o,past:s}=t();if(!a)return;let c=null;i&&(c=ka(a,o,`Update Element`));let l=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>e.id===n?{...e,...r}:e)}:e);e({activeProject:{...a,pages:l,...i?{updatedAt:new Date().toISOString()}:{}},...c?{past:[c,...s.slice(0,39)],future:[]}:{}}),t().saveCurrentProject()},updateElementStyles:(n,r,i=!1)=>{let{activeProject:a,activePageId:o,past:s}=t();if(!a)return;let c=null;i&&(c=ka(a,o,`Update Styles`));let l=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>e.id===n?{...e,styles:{...e.styles,...r}}:e)}:e);e({activeProject:{...a,pages:l,updatedAt:new Date().toISOString()},...c?{past:[c,...s.slice(0,39)],future:[]}:{}}),t().saveCurrentProject()},updateElementContent:(n,r,i=!1)=>{let{activeProject:a,activePageId:o,past:s}=t();if(!a)return;let c=null;i&&(c=ka(a,o,`Update Content`));let l=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>e.id===n?{...e,content:{...e.content,...r}}:e)}:e);e({activeProject:{...a,pages:l,updatedAt:new Date().toISOString()},...c?{past:[c,...s.slice(0,39)],future:[]}:{}}),t().saveCurrentProject()},nudgeSelectedElements:(n,r)=>{let{activeProject:i,activePageId:a,selectedElementIds:o,past:s}=t();if(!i||o.length===0)return;let c=ka(i,a,`Move Elements`),l=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>o.includes(e.id)?{...e,x:e.x+n,y:e.y+r}:e)}:e);e({activeProject:{...i,pages:l,updatedAt:new Date().toISOString()},past:[c,...s.slice(0,39)],future:[]}),t().saveCurrentProject()},deleteSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Delete ${i.length} element(s)`),s=n.pages.map(e=>e.id===r?{...e,elements:e.elements.filter(e=>!i.includes(e.id))}:e);e({activeProject:{...n,pages:s,updatedAt:new Date().toISOString()},selectedElementIds:[],hoveredElementId:null,past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},deleteElement:n=>{let{activeProject:r,activePageId:i,selectedElementIds:a,past:o}=t();if(!r)return;let s=ka(r,i,`Delete Element`),c=r.pages.map(e=>e.id===i?{...e,elements:e.elements.filter(e=>e.id!==n)}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()},selectedElementIds:a.filter(e=>e!==n),past:[s,...o.slice(0,39)],future:[]}),t().saveCurrentProject()},deleteElements:n=>{let{activeProject:r,activePageId:i,selectedElementIds:a,past:o}=t();if(!r||n.length===0)return;let s=ka(r,i,`Delete ${n.length} Element(s)`),c=r.pages.map(e=>e.id===i?{...e,elements:e.elements.filter(e=>!n.includes(e.id))}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()},selectedElementIds:a.filter(e=>!n.includes(e)),past:[s,...o.slice(0,39)],future:[]}),t().saveCurrentProject()},duplicateSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=n.pages.find(e=>e.id===r);if(!o)return;let s=ka(n,r,`Duplicate element(s)`),c=o.elements.filter(e=>i.includes(e.id)).map(e=>({...JSON.parse(JSON.stringify(e)),id:k(`elem`),name:`${e.name} Copy`,x:e.x+24,y:e.y+24,zIndex:e.zIndex+1})),l=n.pages.map(e=>e.id===r?{...e,elements:[...e.elements,...c]}:e);e({activeProject:{...n,pages:l,updatedAt:new Date().toISOString()},selectedElementIds:c.map(e=>e.id),past:[s,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},copySelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i}=t();if(!n||i.length===0)return;let a=n.pages.find(e=>e.id===r);if(!a)return;let o=a.elements.filter(e=>i.includes(e.id));e({clipboard:JSON.parse(JSON.stringify(o))})},pasteElements:()=>{let{activeProject:n,activePageId:r,clipboard:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Paste ${i.length} element(s)`),s=i.map(e=>({...JSON.parse(JSON.stringify(e)),id:k(`elem`),x:e.x+24,y:e.y+24,zIndex:e.zIndex+1})),c=n.pages.map(e=>e.id===r?{...e,elements:[...e.elements,...s]}:e);e({activeProject:{...n,pages:c,updatedAt:new Date().toISOString()},selectedElementIds:s.map(e=>e.id),clipboard:s,past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},groupSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length<=1)return;let o=n.pages.find(e=>e.id===r);if(!o)return;let s=o.elements.filter(e=>i.includes(e.id)),c=Ca(s),l=k(`elem`),u={id:l,type:`container`,name:`Group Container`,x:Math.max(0,c.x-16),y:Math.max(0,c.y-16),width:c.width+32,height:c.height+32,rotation:0,zIndex:Math.max(0,Math.min(...s.map(e=>e.zIndex))-1),children:s.map(e=>e.id),styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{title:`Grouped Items`}},d=ka(n,r,`Group Elements`),f=o.elements.map(e=>i.includes(e.id)?{...e,parentId:l}:e),p=n.pages.map(e=>e.id===r?{...e,elements:[u,...f]}:e);e({activeProject:{...n,pages:p,updatedAt:new Date().toISOString()},selectedElementIds:[l],past:[d,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},ungroupSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=n.pages.find(e=>e.id===r);if(!o)return;let s=o.elements.filter(e=>i.includes(e.id)&&e.type===`container`&&e.children&&e.children.length>0);if(s.length===0)return;let c=ka(n,r,`Ungroup Elements`),l=s.map(e=>e.id),u=[],d=o.elements.filter(e=>!l.includes(e.id)).map(e=>e.parentId&&l.includes(e.parentId)?(u.push(e.id),{...e,parentId:null}):e),f=n.pages.map(e=>e.id===r?{...e,elements:d}:e);e({activeProject:{...n,pages:f,updatedAt:new Date().toISOString()},selectedElementIds:u,past:[c,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},bringForward:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=o.elements.find(e=>e.id===n);if(!s)return;let c=[...o.elements].filter(e=>e.zIndex>s.zIndex).sort((e,t)=>e.zIndex-t.zIndex)[0],l=[...o.elements];l=c?l.map(e=>e.id===s.id?{...e,zIndex:c.zIndex}:e.id===c.id?{...e,zIndex:s.zIndex}:e):l.map(e=>e.id===s.id?{...e,zIndex:s.zIndex+1}:e);let u=r.pages.map(e=>e.id===i?{...e,elements:l}:e);e({activeProject:{...r,pages:u,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},sendBackward:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=o.elements.find(e=>e.id===n);if(!s)return;let c=[...o.elements].filter(e=>e.zIndex<s.zIndex).sort((e,t)=>t.zIndex-e.zIndex)[0],l=[...o.elements];l=c?l.map(e=>e.id===s.id?{...e,zIndex:c.zIndex}:e.id===c.id?{...e,zIndex:s.zIndex}:e):l.map(e=>e.id===s.id?{...e,zIndex:Math.max(0,s.zIndex-1)}:e);let u=r.pages.map(e=>e.id===i?{...e,elements:l}:e);e({activeProject:{...r,pages:u,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},bringToFront:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=Math.max(...o.elements.map(e=>e.zIndex),0),c=r.pages.map(e=>e.id===i?{...e,elements:e.elements.map(e=>e.id===n?{...e,zIndex:s+1}:e)}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},sendToBack:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=[...o.elements].sort((e,t)=>e.zIndex-t.zIndex).map(e=>e.id===n?{...e,zIndex:0}:e);s=s.sort((e,t)=>e.zIndex===t.zIndex?e.id===n?-1:1:e.zIndex-t.zIndex).map((e,t)=>({...e,zIndex:e.id===n?0:t+1}));let c=r.pages.map(e=>e.id===i?{...e,elements:s}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},toggleLockSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Toggle Lock`),s=n.pages.map(e=>e.id===r?{...e,elements:e.elements.map(e=>i.includes(e.id)?{...e,locked:!e.locked}:e)}:e);e({activeProject:{...n,pages:s,updatedAt:new Date().toISOString()},past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},toggleHideSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Toggle Visibility`),s=n.pages.map(e=>e.id===r?{...e,elements:e.elements.map(e=>i.includes(e.id)?{...e,hidden:!e.hidden}:e)}:e);e({activeProject:{...n,pages:s,updatedAt:new Date().toISOString()},past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},alignSelectedElements:n=>{let{activeProject:r,activePageId:i,selectedElementIds:a,past:o}=t();if(!r||a.length===0)return;let s=r.pages.find(e=>e.id===i);if(!s)return;let c=s.elements.filter(e=>a.includes(e.id));if(c.length===0)return;let l=di[j.getState().viewportMode]||di.desktop,u=Da(c,n,l.width,l.height),d=new Map(u.map(e=>[e.id,e])),f=ka(r,i,`Align ${n}`),p=r.pages.map(e=>e.id===i?{...e,elements:e.elements.map(e=>{let t=d.get(e.id);return t?{...e,x:t.x,y:t.y}:e})}:e);e({activeProject:{...r,pages:p,updatedAt:new Date().toISOString()},past:[f,...o.slice(0,39)],future:[]}),t().saveCurrentProject()},cutSelectedElements:()=>{t().copySelectedElements(),t().deleteSelectedElements()},updateDesignTokens:n=>{let{activeProject:r}=t();if(!r)return;let i=r.designSystem||Zr,a={colors:{...i.colors,...n.colors||{}},typography:{...i.typography,...n.typography||{}},radius:{...i.radius,...n.radius||{}},shadows:{...i.shadows,...n.shadows||{}},spacing:{...i.spacing,...n.spacing||{}}};e({activeProject:{...r,designSystem:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},applyThemePreset:n=>{let{activeProject:r}=t();if(!r)return;let i=Jr.find(e=>e.id===n);if(!i)return;t().pushSnapshot(`Apply Theme: ${i.name}`),i.tokens.mode;let a=i.tokens.colors.primary,o=i.tokens.colors.surface,s=i.tokens.colors.text,c=i.tokens.colors.border,l=r.pages.map(e=>({...e,settings:{...e.settings,backgroundColor:i.tokens.colors.background},elements:e.elements.map(e=>{let t=e.type===`button`||e.type===`submitButton`;return{...e,styles:{...e.styles,backgroundColor:t?a:o,textColor:t?`#ffffff`:s,borderColor:c}}})}));e({activeProject:{...r,designSystem:i.tokens,pages:l,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},createMasterComponent:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return null;let o=i.pages.find(e=>e.id===a);if(!o)return null;let s=o.elements.find(e=>e.id===n);if(!s)return null;let c=k(`comp`),l=r||`${s.name} (Component)`,u={id:c,name:l,templateElement:JSON.parse(JSON.stringify(s)),createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},d=i.components||[],f=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,name:l,isComponentInstance:!0,masterComponentId:c}:e)}:e);return e({activeProject:{...i,components:[...d,u],pages:f,updatedAt:new Date().toISOString()}}),t().saveCurrentProject(),u},detachComponentInstance:n=>{let{activeProject:r,activePageId:i}=t();if(!r)return;let a=r.pages.map(e=>e.id===i?{...e,elements:e.elements.map(e=>{if(e.id===n){let t={...e};return delete t.isComponentInstance,delete t.masterComponentId,delete t.componentOverrides,t}return e})}:e);e({activeProject:{...r,pages:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},insertMasterComponentInstance:(n,r=60,i=60)=>{let{activeProject:a,activePageId:o}=t();if(!a)return null;let s=(a.components||[]).find(e=>e.id===n);if(!s)return null;let c=k(`elem`),l={...JSON.parse(JSON.stringify(s.templateElement)),id:c,name:s.name,x:r,y:i,isComponentInstance:!0,masterComponentId:s.id,zIndex:10};t().pushSnapshot(`Insert ${s.name}`);let u=a.pages.map(e=>e.id===o?{...e,elements:[...e.elements,l]}:e);return e({activeProject:{...a,pages:u,updatedAt:new Date().toISOString()},selectedElementIds:[c]}),t().saveCurrentProject(),l},pushSnapshot:n=>{let{activeProject:r,activePageId:i,past:a}=t();r&&e({past:[ka(r,i,n),...a.slice(0,39)],future:[]})},undo:()=>{let{past:n,future:r,activeProject:i,activePageId:a}=t();if(n.length===0||!i)return;let[o,...s]=n,c=ka(i,a,`Current state before undo`);e({activeProject:{...i,pages:o.pages,designSystem:o.designSystem||i.designSystem,components:o.components||i.components,variables:o.variables||i.variables,dataSources:o.dataSources||i.dataSources,updatedAt:new Date().toISOString()},activePageId:o.activePageId||a,selectedElementIds:[],past:s,future:[c,...r]}),t().saveCurrentProject()},redo:()=>{let{past:n,future:r,activeProject:i,activePageId:a}=t();if(r.length===0||!i)return;let[o,...s]=r,c=ka(i,a,`Current state before redo`);e({activeProject:{...i,pages:o.pages,designSystem:o.designSystem||i.designSystem,components:o.components||i.components,variables:o.variables||i.variables,dataSources:o.dataSources||i.dataSources,updatedAt:new Date().toISOString()},activePageId:o.activePageId||a,selectedElementIds:[],past:[c,...n],future:s}),t().saveCurrentProject()},restoreSnapshot:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)return;let o=ka(r,i,`State before history rollback`);e({activeProject:{...r,pages:n.pages,designSystem:n.designSystem||r.designSystem,components:n.components||r.components,variables:n.variables||r.variables,dataSources:n.dataSources||r.dataSources,updatedAt:new Date().toISOString()},activePageId:n.activePageId||i,selectedElementIds:[],past:[o,...a],future:[]}),t().saveCurrentProject()},addVariable:n=>{let{activeProject:r}=t();if(!r)throw Error(`No active project`);let i={id:k(`var`),name:n.name||`variable_${Date.now().toString(36)}`,type:n.type||`text`,defaultValue:n.defaultValue??``,sampleValue:n.sampleValue??n.defaultValue??``,description:n.description||``,category:n.category||`general`},a=[...r.variables||[],i];return e({activeProject:{...r,variables:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject(),i},updateVariable:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=(i.variables||[]).map(e=>e.id===n?{...e,...r}:e);e({activeProject:{...i,variables:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},deleteVariable:n=>{let{activeProject:r}=t();if(!r)return;let i=(r.variables||[]).filter(e=>e.id!==n);e({activeProject:{...r,variables:i,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setVariableValue:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=(i.variables||[]).map(e=>e.name===n?{...e,sampleValue:r,defaultValue:r}:e);e({activeProject:{...i,variables:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},loadSampleVariables:n=>{let{activeProject:r}=t();if(!r)return;let i=ya(n),a=r.variables||[],o=new Set(a.map(e=>e.name)),s=[...a];for(let e of i)o.has(e.name)||s.push(e);e({activeProject:{...r,variables:s,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},toggleUseSampleData:()=>{let{activeProject:n}=t();n&&(e({activeProject:{...n,useSampleData:!(n.useSampleData??!0),updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},bindElementProperty:(n,r,i)=>{let{activeProject:a,activePageId:o}=t();if(!a)return;let s=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>{if(e.id===n){let t={...e.bindings||{}};return i?t[r]=i:delete t[r],{...e,bindings:t}}return e})}:e);e({activeProject:{...a,pages:s,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setElementCollectionBinding:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return;let o=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,collectionBinding:r||void 0}:e)}:e);e({activeProject:{...i,pages:o,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setElementFormConfig:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return;let o=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,formConfig:r||void 0}:e)}:e);e({activeProject:{...i,pages:o,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setElementValidationRules:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return;let o=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,validationRules:r}:e)}:e);e({activeProject:{...i,pages:o,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},addDataSource:n=>{let{activeProject:r}=t();if(!r)throw Error(`No active project`);let i={id:k(`ds`),name:n.name||`New Data Source`,type:n.type||`rest`,baseUrl:n.baseUrl||`https://api.example.com`,authType:n.authType||`none`,isSecret:n.isSecret||!1,endpoints:n.endpoints||[]},a=[...r.dataSources||[],i];return e({activeProject:{...r,dataSources:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject(),i},updateDataSource:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=(i.dataSources||[]).map(e=>e.id===n?{...e,...r}:e);e({activeProject:{...i,dataSources:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},deleteDataSource:n=>{let{activeProject:r}=t();if(!r)return;let i=(r.dataSources||[]).filter(e=>e.id!==n);e({activeProject:{...r,dataSources:i,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},applyCollabOperation:n=>{let{activeProject:r}=t();if(r)switch(n.type){case`add_element`:{let{pageId:t,element:i}=n.payload,a=r.pages.map(e=>e.id===t?{...e,elements:[...e.elements,i]}:e);e({activeProject:{...r,pages:a,updatedAt:new Date().toISOString()}});break}case`update_element`:{let{pageId:t,elementId:i,updates:a}=n.payload,o=r.pages.map(e=>e.id===t?{...e,elements:e.elements.map(e=>e.id===i?{...e,...a}:e)}:e);e({activeProject:{...r,pages:o,updatedAt:new Date().toISOString()}});break}case`delete_element`:{let{pageId:t,elementId:i}=n.payload,a=r.pages.map(e=>e.id===t?{...e,elements:e.elements.filter(e=>e.id!==i)}:e);e({activeProject:{...r,pages:a,updatedAt:new Date().toISOString()}});break}case`move_element`:{let{pageId:t,elementId:i,x:a,y:o}=n.payload,s=r.pages.map(e=>e.id===t?{...e,elements:e.elements.map(e=>e.id===i?{...e,x:a,y:o}:e)}:e);e({activeProject:{...r,pages:s,updatedAt:new Date().toISOString()}});break}case`update_design_tokens`:e({activeProject:{...r,designSystem:{...r.designSystem,...n.payload.tokens},updatedAt:new Date().toISOString()}})}},setElementAccessibility:(n,r)=>{let{activeProject:i,activePageId:a,pushSnapshot:o}=t();if(!i)return;o(`Update accessibility properties`);let s=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,accessibility:{...e.accessibility||{},...r}}:e)}:e);e({activeProject:{...i,pages:s,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},applyAccessibilityFixes:(n,r=`AI Accessibility Fixes`)=>{let{pushSnapshot:i}=t();i(r),e({activeProject:{...n,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()}})),ja=[{id:`gemini`,name:`Google Gemini`,badge:`Gemini Auto-Detected`,defaultModel:`gemini-2.0-flash`,keyPlaceholder:`AIzaSy...`,keyUrl:`https://aistudio.google.com/app/apikey`},{id:`groq`,name:`Groq Cloud`,badge:`Llama 3.3 70B`,defaultModel:`llama-3.3-70b-versatile`,keyPlaceholder:`gsk_...`,keyUrl:`https://console.groq.com/keys`},{id:`openai`,name:`OpenAI GPT`,badge:`GPT-4o`,defaultModel:`gpt-4o`,keyPlaceholder:`sk-proj-...`,keyUrl:`https://platform.openai.com/api-keys`},{id:`anthropic`,name:`Anthropic Claude`,badge:`Claude 3.5 Sonnet`,defaultModel:`claude-3-5-sonnet-20241022`,keyPlaceholder:`sk-ant-...`,keyUrl:`https://console.anthropic.com/settings/keys`},{id:`deepseek`,name:`DeepSeek`,badge:`DeepSeek V3 / R1`,defaultModel:`deepseek-chat`,keyPlaceholder:`sk-...`,keyUrl:`https://platform.deepseek.com/api_keys`},{id:`grok`,name:`xAI Grok`,badge:`Grok 2`,defaultModel:`grok-beta`,keyPlaceholder:`xai-...`,keyUrl:`https://console.x.ai/`},{id:`perplexity`,name:`Perplexity AI`,badge:`Sonar`,defaultModel:`sonar`,keyPlaceholder:`pplx-...`,keyUrl:`https://www.perplexity.ai/settings/api`},{id:`ollama`,name:`Local Ollama`,badge:`Llama 3.1 / DeepSeek`,defaultModel:`llama3.1`,keyPlaceholder:`http://localhost:11434 (No key needed)`,keyUrl:`https://ollama.com`}];function Ma(e){let t=(e||``).trim();return t.startsWith(`gsk_`)?`groq`:t.startsWith(`AIzaSy`)?`gemini`:t.startsWith(`sk-ant-`)?`anthropic`:t.startsWith(`pplx-`)?`perplexity`:t.startsWith(`xai-`)?`grok`:t.startsWith(`sk-proj-`)||t.startsWith(`sk-admin-`)||t.startsWith(`sk-`)?`openai`:`gemini`}function Na(e,t){if(!e||!e.trim())throw Error(`AI returned an empty response. Please try again.`);let n=e.replace(/^```json\s*/im,``).replace(/^```\s*/im,``).replace(/```\s*$/im,``).trim(),r=n.indexOf(`{`),i=n.lastIndexOf(`}`);r!==-1&&i!==-1&&i>r&&(n=n.substring(r,i+1)),n=n.replace(/,\s*([\]}])/g,`$1`);try{let e=JSON.parse(n);if(e&&(e.elements||Array.isArray(e)))return e}catch(e){throw Error(`AI JSON parse error: ${e.message}. Please prompt again.`)}throw Error(`AI output did not contain valid elements array.`)}async function Pa(e,t){let n=e.trim(),r=[`models/gemini-2.0-flash`,`models/gemini-1.5-flash-latest`,`models/gemini-1.5-flash`];try{let e=await fetch(`https://generativelanguage.googleapis.com/v1beta/models?key=${encodeURIComponent(n)}`,{signal:AbortSignal.timeout(5e3)});if(e.ok){let t=await e.json();if(Array.isArray(t.models)){let e=t.models.filter(e=>!e.supportedGenerationMethods||e.supportedGenerationMethods.includes(`generateContent`)).map(e=>e.name);e.length>0&&(r=e)}}}catch{}let i=``;for(let e of r)try{let r=`https://generativelanguage.googleapis.com/v1beta/${e}:generateContent?key=${encodeURIComponent(n)}`,a=await fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`},signal:AbortSignal.timeout(25e3),body:JSON.stringify({contents:[{role:`user`,parts:[{text:t}]}],generationConfig:{responseMimeType:`application/json`,temperature:.8,maxOutputTokens:8192}})}),o=await a.json();if(a.ok&&o.candidates?.[0]?.content?.parts?.[0]?.text)return o.candidates[0].content.parts[0].text;o.error?.message&&(i=o.error.message)}catch(e){i=e.message}throw Error(i||`Gemini API call failed.`)}async function Fa(e,t,n,r){let i=(n||``).trim();if(t!==`ollama`&&i.length<6)throw Error(`Please enter your valid API Key.`);let a=Ma(i)||t,o=ja.find(e=>e.id===a)||ja[0];r&&r(`Synthesizing UI with ${o.name}...`);let s=`You are a master UI/UX designer and design system architect.
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CreateProjectDialog-BqWwij5-.js","assets/rolldown-runtime-W7wSyTde.js","assets/vendor-icons-M_KBtuE-.js","assets/vendor-react-BTEcvIpc.js","assets/vendor-utils-3OgY5Lif.js","assets/themes-CrOKZlbV.js","assets/vendor-firebase-DHYCsgNh.js","assets/WelcomeOnboardingModal-1PoWSZj-.js","assets/ImportModal-CPWkoEYS.js","assets/CreateAppDialog-CcsTnMUR.js","assets/reactTsGenerator-DQSsCAVQ.js","assets/vendor-jszip-Cv4gVObP.js","assets/typechecker-BbGTunMD.js","assets/ShareExportDialog-DhJdhGSQ.js","assets/CanvaSaveModal-DsU_PDqd.js","assets/HistoryTimelineDialog-BEoD5f3q.js","assets/KeyboardShortcutsDialog-HNBNVkqd.js","assets/LiveRuntimeWorkspace-DWfY9g1r.js","assets/CodingWorkspace-C6jZprS0.js","assets/AuthDialog-D9kQLZ1c.js","assets/UserProfileDialog-ecw1PuFr.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-W7wSyTde.js";import{$ as t,$n as n,$r as r,$t as i,A as a,An as o,Ar as s,At as c,B as l,Bn as u,Br as d,Bt as f,C as p,Cn as m,Cr as h,Ct as g,D as _,Dn as v,Dr as y,Dt as b,E as x,En as S,Er as C,Et as w,F as ee,Fn as te,Fr as T,Ft as ne,G as E,Gn as re,Gr as ie,Gt as ae,H as oe,Hn as se,Hr as ce,Ht as le,I as ue,In as de,Ir as fe,It as pe,J as me,Jn as he,Jr as ge,Jt as _e,K as ve,Kn as ye,Kr as be,Kt as xe,L as Se,Ln as Ce,Lr as we,Lt as D,M as Te,Mn as Ee,Mr as De,Mt as Oe,N as ke,Nn as Ae,Nr as je,Nt as Me,O as Ne,On as Pe,Or as Fe,Ot as Ie,P as Le,Pn as Re,Pr as ze,Pt as Be,Q as Ve,Qn as He,Qr as Ue,Qt as We,R as Ge,Rr as Ke,Rt as qe,S as Je,Sn as Ye,Sr as Xe,St as Ze,T as Qe,Tn as $e,Tr as et,Tt as tt,U as nt,Un as rt,Ur as it,Ut as at,V as ot,Vn as st,Vr as ct,Vt as lt,W as ut,Wn as dt,Wr as ft,Wt as pt,X as mt,Xn as ht,Xr as gt,Xt as _t,Y as vt,Yn as yt,Yt as bt,Zn as xt,Zr as St,Zt as Ct,_ as wt,_n as Tt,_r as Et,_t as Dt,ai as Ot,an as kt,ar as At,at as jt,b as Mt,bn as Nt,br as Pt,bt as Ft,c as It,ci as Lt,cn as Rt,cr as zt,ct as Bt,d as Vt,di as Ht,dn as Ut,dr as Wt,dt as Gt,ei as Kt,en as qt,et as Jt,f as Yt,fn as Xt,fr as Zt,ft as Qt,g as $t,gn as en,gr as tn,gt as nn,h as rn,hn as an,hr as on,ht as sn,i as cn,ii as ln,in as un,ir as dn,it as fn,j as pn,jn as mn,jr as hn,jt as gn,k as _n,kn as vn,kr as yn,kt as bn,l as xn,li as Sn,ln as Cn,lr as wn,lt as Tn,m as En,mn as Dn,mr as On,mt as kn,n as An,ni as jn,nn as Mn,nr as Nn,nt as Pn,o as Fn,oi as In,on as Ln,or as Rn,ot as zn,p as Bn,pn as Vn,pr as Hn,pt as Un,q as Wn,qn as Gn,qr as Kn,qt as qn,r as Jn,ri as Yn,rn as Xn,rr as Zn,rt as Qn,s as $n,si as er,sn as tr,sr as nr,st as rr,t as ir,ti as ar,tn as or,tt as sr,u as cr,ui as lr,un as ur,ur as dr,ut as fr,v as pr,vn as mr,vr as hr,vt as gr,w as _r,wn as vr,wr as yr,wt as br,x as xr,xn as Sr,xr as Cr,xt as wr,y as Tr,yn as Er,yr as Dr,yt as Or,z as kr,zn as Ar,zr as jr,zt as Mr}from"./vendor-icons-M_KBtuE-.js";import{n as Nr,t as Pr}from"./vendor-react-BTEcvIpc.js";import{c as O,n as Fr,o as Ir,r as Lr,s as Rr,t as zr}from"./vendor-utils-3OgY5Lif.js";import{_ as k,a as Br,c as Vr,d as Hr,f as Ur,g as Wr,h as Gr,l as Kr,m as qr,n as Jr,o as Yr,p as Xr,t as Zr}from"./themes-CrOKZlbV.js";import{c as Qr,d as $r,f as ei,i as ti,l as ni,o as ri,p as ii,s as ai,t as oi,u as si}from"./vendor-firebase-DHYCsgNh.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var A=e(Ht(),1),ci=Nr(),li={account:{name:`Alex Rivera`,email:`alex.rivera@cyrus.design`,avatarUrl:``,role:`Lead Product Architect`},appearance:{theme:`light`,accentColor:`#0071e3`,fontScaling:`standard`},editor:{defaultGridSize:8,showGridByDefault:!0,snapThreshold:6,canvasAnimations:!0,defaultUnit:`px`,autoSaveInterval:10},ai:{provider:`builtin`,model:`gemini-1.5-pro`,systemInstructions:`Design production-grade, accessible, and elegant software components.`,temperature:.2,autoApplyMode:`auto_apply`},projects:{defaultViewport:`desktop`,defaultExportTarget:`react`,defaultFramework:`react`},shortcuts:{enableQuickKeys:!0,conflictWarnings:!0},notifications:{inAppToasts:!0,collabMentions:!0,deploymentAlerts:!0,quietMode:!1},security:{sessions:[{id:`sess_1`,device:`MacBook Pro 16"`,browser:`Chrome 128.0`,ip:`192.0.2.45`,location:`San Francisco, CA, USA`,lastActive:`Active now`,isCurrent:!0},{id:`sess_2`,device:`iPhone 15 Pro`,browser:`Mobile Safari 17.5`,ip:`198.51.100.12`,location:`San Francisco, CA, USA`,lastActive:`2 hours ago`,isCurrent:!1}],twoFactorEnabled:!1},billing:{plan:`pro`,billingCycle:`yearly`,paymentProviderConfigured:!1}},ui=Lr()(Fr((e,t)=>({...li,updateAccount:t=>e(e=>({account:{...e.account,...t}})),updateAppearance:n=>{e(e=>({appearance:{...e.appearance,...n}}));let r=t().appearance;if(typeof document<`u`){if(r.theme===`dark`)document.documentElement.setAttribute(`data-theme`,`dark`),document.documentElement.classList.add(`dark`);else if(r.theme===`light`)document.documentElement.setAttribute(`data-theme`,`light`),document.documentElement.classList.remove(`dark`);else if(typeof window<`u`){let e=window.matchMedia(`(prefers-color-scheme: dark)`).matches;document.documentElement.setAttribute(`data-theme`,e?`dark`:`light`),e?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}}},updateEditor:t=>e(e=>({editor:{...e.editor,...t}})),updateAI:t=>e(e=>({ai:{...e.ai,...t}})),updateProjects:t=>e(e=>({projects:{...e.projects,...t}})),updateShortcuts:t=>e(e=>({shortcuts:{...e.shortcuts,...t}})),updateNotifications:t=>e(e=>({notifications:{...e.notifications,...t}})),updateSecurity:t=>e(e=>({security:{...e.security,...t}})),updateBilling:t=>e(e=>({billing:{...e.billing,...t}})),signOutOtherSessions:()=>e(e=>({security:{...e.security,sessions:e.security.sessions.filter(e=>e.isCurrent)}})),resetToDefaults:()=>e(li)}),{name:`cyrus_user_settings_v1`})),di={desktop:{width:1440,height:900,label:`Desktop`,sublabel:`1440 × 900 px`},tablet:{width:768,height:1024,label:`Tablet`,sublabel:`768 × 1024 px`},mobile:{width:390,height:844,label:`Mobile`,sublabel:`390 × 844 px`}},j=Lr((e,t)=>({viewportMode:`desktop`,zoom:1,pan:{x:0,y:0},toolMode:`select`,showGrid:!0,showRulers:!1,snapToGrid:!0,snapGuides:[],marquee:null,isPreviewMode:!1,isReviewMode:!1,isDevMode:!1,isDesignTokensOpen:!1,showPerformanceHUD:!1,isVoiceActive:!1,isMicMuted:!1,spotlightUserId:null,activeSidebarTab:`elements`,activePropertyTab:`design`,isSidebarOpen:!0,isPropertiesOpen:!1,searchQuery:``,selectedCategory:`all`,isCreateProjectOpen:!1,isCreateAppOpen:!1,isShareOpen:!1,isSaveDesignOpen:!1,isHistoryOpen:!1,isShortcutsOpen:!1,isCommandPaletteOpen:!1,togglePreviewMode:()=>e({isPreviewMode:!t().isPreviewMode}),toggleReviewMode:()=>e({isReviewMode:!t().isReviewMode}),setReviewMode:t=>e({isReviewMode:t}),toggleDevMode:()=>e({isDevMode:!t().isDevMode,isPropertiesOpen:!0}),setDevMode:n=>e({isDevMode:n,isPropertiesOpen:n?!0:t().isPropertiesOpen}),setDesignTokensOpen:t=>e({isDesignTokensOpen:t}),togglePerformanceHUD:()=>e({showPerformanceHUD:!t().showPerformanceHUD}),toggleVoiceActive:()=>e({isVoiceActive:!t().isVoiceActive}),toggleMicMuted:()=>e({isMicMuted:!t().isMicMuted}),setSpotlightUserId:t=>e({spotlightUserId:t}),setViewportMode:t=>e({viewportMode:t}),setZoom:t=>e({zoom:Math.min(Math.max(t,.2),3)}),zoomIn:()=>e({zoom:Math.min(Number((t().zoom+.1).toFixed(2)),3)}),zoomOut:()=>e({zoom:Math.max(Number((t().zoom-.1).toFixed(2)),.2)}),resetZoom:()=>e({zoom:1,pan:{x:0,y:0}}),fitToScreen:(n,r)=>{let i=di[t().viewportMode],a=Math.max(n-80,200),o=Math.max(r-120,200),s=a/i.width,c=o/i.height;e({zoom:Math.max(Number(Math.min(s,c,1).toFixed(2)),.2),pan:{x:0,y:0}})},fitSelection:(n,r,i)=>{if(i.width<=0||i.height<=0)return;let a=Math.max(n-100,200),o=Math.max(r-100,200),s=a/i.width,c=o/i.height,l=Math.max(Number(Math.min(s,c,2).toFixed(2)),.2),u=i.x+i.width/2,d=i.y+i.height/2,f=di[t().viewportMode],p=f.width,m=f.height;e({zoom:l,pan:{x:-u*l+p*l/2,y:-d*l+m*l/2}})},centerSelection:(n,r,i)=>{if(i.width<=0||i.height<=0)return;let a=t().zoom,o=i.x+i.width/2,s=i.y+i.height/2,c=di[t().viewportMode],l=c.width,u=c.height;e({pan:{x:-o*a+l*a/2,y:-s*a+u*a/2}})},setZoomCentered:(n,r,i,a,o)=>{let s=Math.min(Math.max(n,.2),3),c=t().zoom,l=t().pan,u=a/2,d=o/2,f=(r-u-l.x)/c,p=(i-d-l.y)/c,m=r-u-f*s,h=i-d-p*s;e({zoom:Number(s.toFixed(2)),pan:{x:m,y:h}})},setPan:t=>e({pan:t}),setToolMode:t=>e({toolMode:t}),toggleGrid:()=>e({showGrid:!t().showGrid}),toggleRulers:()=>e({showRulers:!t().showRulers}),toggleSnapToGrid:()=>e({snapToGrid:!t().snapToGrid}),setSnapGuides:t=>e({snapGuides:t}),setMarquee:t=>e({marquee:t}),setActiveSidebarTab:t=>e({activeSidebarTab:t,isSidebarOpen:t!==null}),toggleSidebarTab:n=>{let{activeSidebarTab:r,isSidebarOpen:i}=t();e(r===n&&i?{isSidebarOpen:!1,activeSidebarTab:null}:{activeSidebarTab:n,isSidebarOpen:!0})},setActivePropertyTab:t=>e({activePropertyTab:t}),toggleSidebar:()=>e({isSidebarOpen:!t().isSidebarOpen}),toggleProperties:()=>e({isPropertiesOpen:!t().isPropertiesOpen}),setSearchQuery:t=>e({searchQuery:t}),setSelectedCategory:t=>e({selectedCategory:t}),setCreateProjectOpen:t=>e({isCreateProjectOpen:t}),setCreateAppOpen:t=>e({isCreateAppOpen:t}),setShareOpen:t=>e({isShareOpen:t}),setSaveDesignOpen:t=>e({isSaveDesignOpen:t}),setHistoryOpen:t=>e({isHistoryOpen:t}),setShortcutsOpen:t=>e({isShortcutsOpen:t}),setCommandPaletteOpen:t=>e({isCommandPaletteOpen:t}),toggleCommandPalette:()=>e({isCommandPaletteOpen:!t().isCommandPaletteOpen})})),fi=`cyrus_share_`,pi=new class{async getProjects(e){return Vr()}async getProjectById(e){return Kr(e)}async saveProject(e){return Xr(e)}async createProject(e){let t=k(`page`),n={id:k(`proj`),name:e||`Untitled Project`,type:`webapp`,pages:[{id:t,name:`Home`,slug:`home`,elements:[],settings:{backgroundColor:`#ffffff`}}],designSystem:Zr,settings:{theme:`light`,canvasBackground:`#f5f5f7`},createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return await this.saveProject(n),n}async deleteProject(e){return Yr(e)}async getShareSettings(e){let t=`${fi}${e}`;try{let e=await Ir(t);if(e)return e}catch(e){console.warn(`Failed to get share settings:`,e)}let n={projectId:e,accessLevel:`view`,shareUrl:`${window.location.origin}${window.location.pathname}#/preview/${e}`,allowComments:!0,updatedAt:new Date().toISOString()};return await Rr(t,n),n}async updateShareSettings(e,t){let n={...await this.getShareSettings(e),...t,updatedAt:new Date().toISOString()};return await Rr(`${fi}${e}`,n),n}async migrateLocalToCloud(e,t){let n=await this.getProjectById(e);if(!n)throw Error(`Project not found to migrate.`);let r={...n,updatedAt:new Date().toISOString()};return await this.saveProject(r),r}},mi=`cyrus_versions_`,hi=new class{getStorageKey(e){return`${mi}${e}`}async getVersions(e){try{return await Ir(this.getStorageKey(e))||[]}catch(e){return console.warn(`Failed to load project versions from IndexedDB:`,e),[]}}async createVersion(e,t,n,r){let i=await this.getVersions(e),a=i.length+1,o={id:k(`ver`),projectId:e,versionNumber:a,description:t||`Version #${a}`,author:{id:r?.id||`usr_local`,name:r?.name||`Current Author`},createdAt:new Date().toISOString(),snapshot:JSON.parse(JSON.stringify(n))},s=[o,...i];return await Rr(this.getStorageKey(e),s),o}async restoreVersion(e,t){let n=(await this.getVersions(e)).find(e=>e.id===t);if(!n)throw Error(`Version "${t}" not found for project.`);let r=JSON.parse(JSON.stringify(n.snapshot));return r.updatedAt=new Date().toISOString(),await this.createVersion(e,`Restored to Version #${n.versionNumber} (${n.description})`,r),r}},gi=[{id:`icon_arrow_right`,name:`Arrow Right`,iconName:`ArrowRight`,category:`navigation`,keywords:[`arrow`,`right`,`forward`,`next`]},{id:`icon_arrow_left`,name:`Arrow Left`,iconName:`ArrowLeft`,category:`navigation`,keywords:[`arrow`,`left`,`back`,`prev`]},{id:`icon_arrow_up`,name:`Arrow Up`,iconName:`ArrowUp`,category:`navigation`,keywords:[`arrow`,`up`,`top`]},{id:`icon_arrow_down`,name:`Arrow Down`,iconName:`ArrowDown`,category:`navigation`,keywords:[`arrow`,`down`,`bottom`]},{id:`icon_chevron_right`,name:`Chevron Right`,iconName:`ChevronRight`,category:`navigation`,keywords:[`chevron`,`arrow`,`right`]},{id:`icon_chevron_left`,name:`Chevron Left`,iconName:`ChevronLeft`,category:`navigation`,keywords:[`chevron`,`arrow`,`left`]},{id:`icon_chevron_up`,name:`Chevron Up`,iconName:`ChevronUp`,category:`navigation`,keywords:[`chevron`,`arrow`,`up`]},{id:`icon_chevron_down`,name:`Chevron Down`,iconName:`ChevronDown`,category:`navigation`,keywords:[`chevron`,`arrow`,`down`]},{id:`icon_search`,name:`Search`,iconName:`Search`,category:`navigation`,keywords:[`search`,`find`,`lookup`,`magnifier`]},{id:`icon_home`,name:`Home`,iconName:`Home`,category:`navigation`,keywords:[`home`,`main`,`house`,`dashboard`]},{id:`icon_menu`,name:`Menu`,iconName:`Menu`,category:`navigation`,keywords:[`menu`,`hamburger`,`drawer`,`list`]},{id:`icon_plus`,name:`Plus`,iconName:`Plus`,category:`actions`,keywords:[`plus`,`add`,`create`,`new`]},{id:`icon_minus`,name:`Minus`,iconName:`Minus`,category:`actions`,keywords:[`minus`,`remove`,`subtract`]},{id:`icon_check`,name:`Check`,iconName:`Check`,category:`actions`,keywords:[`check`,`done`,`tick`,`success`,`verified`]},{id:`icon_close`,name:`Close`,iconName:`X`,category:`actions`,keywords:[`close`,`cancel`,`cross`,`x`,`delete`]},{id:`icon_trash`,name:`Trash`,iconName:`Trash2`,category:`actions`,keywords:[`trash`,`delete`,`remove`,`bin`]},{id:`icon_edit`,name:`Edit`,iconName:`Edit`,category:`actions`,keywords:[`edit`,`pencil`,`modify`,`rename`]},{id:`icon_copy`,name:`Copy`,iconName:`Copy`,category:`actions`,keywords:[`copy`,`duplicate`,`clone`]},{id:`icon_download`,name:`Download`,iconName:`Download`,category:`actions`,keywords:[`download`,`save`,`export`]},{id:`icon_upload`,name:`Upload`,iconName:`Upload`,category:`actions`,keywords:[`upload`,`cloud`,`import`]},{id:`icon_share`,name:`Share`,iconName:`Share2`,category:`actions`,keywords:[`share`,`send`,`export`]},{id:`icon_send`,name:`Send`,iconName:`Send`,category:`actions`,keywords:[`send`,`message`,`paperplane`,`submit`]},{id:`icon_refresh`,name:`Refresh`,iconName:`RotateCcw`,category:`actions`,keywords:[`refresh`,`reload`,`sync`,`reset`]},{id:`icon_filter`,name:`Filter`,iconName:`Filter`,category:`actions`,keywords:[`filter`,`sort`,`refine`,`funnel`]},{id:`icon_sliders`,name:`Sliders`,iconName:`Sliders`,category:`actions`,keywords:[`sliders`,`settings`,`adjust`,`controls`]},{id:`icon_link`,name:`Link`,iconName:`Link`,category:`actions`,keywords:[`link`,`url`,`chain`,`attach`]},{id:`icon_external_link`,name:`External Link`,iconName:`ExternalLink`,category:`actions`,keywords:[`link`,`external`,`open`,`new tab`]},{id:`icon_user`,name:`User`,iconName:`User`,category:`system`,keywords:[`user`,`account`,`profile`,`avatar`,`person`]},{id:`icon_users`,name:`Users`,iconName:`Users`,category:`system`,keywords:[`users`,`team`,`group`,`people`,`community`]},{id:`icon_user_plus`,name:`Add User`,iconName:`UserPlus`,category:`system`,keywords:[`user`,`add`,`invite`,`team`]},{id:`icon_settings`,name:`Settings`,iconName:`Settings`,category:`system`,keywords:[`settings`,`gear`,`config`,`preferences`]},{id:`icon_lock`,name:`Lock`,iconName:`Lock`,category:`system`,keywords:[`lock`,`security`,`password`,`protected`]},{id:`icon_unlock`,name:`Unlock`,iconName:`Unlock`,category:`system`,keywords:[`unlock`,`open`,`access`]},{id:`icon_key`,name:`Key`,iconName:`Key`,category:`system`,keywords:[`key`,`auth`,`token`,`access`,`password`]},{id:`icon_eye`,name:`Eye`,iconName:`Eye`,category:`system`,keywords:[`eye`,`view`,`visibility`,`preview`]},{id:`icon_eye_off`,name:`Eye Off`,iconName:`EyeOff`,category:`system`,keywords:[`eye`,`hidden`,`invisible`,`hide`]},{id:`icon_sparkles`,name:`Sparkles`,iconName:`Sparkles`,category:`system`,keywords:[`sparkles`,`ai`,`magic`,`star`,`featured`]},{id:`icon_wand`,name:`Magic Wand`,iconName:`Wand2`,category:`system`,keywords:[`wand`,`magic`,`ai`,`generate`]},{id:`icon_zap`,name:`Zap`,iconName:`Zap`,category:`system`,keywords:[`zap`,`bolt`,`lightning`,`fast`,`energy`]},{id:`icon_flame`,name:`Flame`,iconName:`Flame`,category:`system`,keywords:[`flame`,`fire`,`hot`,`trending`,`streak`]},{id:`icon_heart`,name:`Heart`,iconName:`Heart`,category:`system`,keywords:[`heart`,`like`,`favorite`,`love`]},{id:`icon_star`,name:`Star`,iconName:`Star`,category:`system`,keywords:[`star`,`rating`,`favorite`,`badge`,`review`]},{id:`icon_bell`,name:`Bell`,iconName:`Bell`,category:`system`,keywords:[`bell`,`notification`,`alert`,`alarm`]},{id:`icon_mail`,name:`Mail`,iconName:`Mail`,category:`system`,keywords:[`mail`,`email`,`envelope`,`message`,`inbox`]},{id:`icon_message_square`,name:`Message`,iconName:`MessageSquare`,category:`system`,keywords:[`chat`,`message`,`comment`,`feedback`]},{id:`icon_message_circle`,name:`Message Circle`,iconName:`MessageCircle`,category:`system`,keywords:[`chat`,`talk`,`discuss`]},{id:`icon_bookmark`,name:`Bookmark`,iconName:`Bookmark`,category:`system`,keywords:[`bookmark`,`save`,`favorite`,`ribbon`]},{id:`icon_tag`,name:`Tag`,iconName:`Tag`,category:`system`,keywords:[`tag`,`label`,`badge`,`category`,`price`]},{id:`icon_folder`,name:`Folder`,iconName:`Folder`,category:`system`,keywords:[`folder`,`directory`,`files`,`storage`]},{id:`icon_file_text`,name:`Document`,iconName:`FileText`,category:`system`,keywords:[`file`,`doc`,`document`,`page`,`text`]},{id:`icon_calendar`,name:`Calendar`,iconName:`Calendar`,category:`system`,keywords:[`calendar`,`date`,`schedule`,`event`]},{id:`icon_clock`,name:`Clock`,iconName:`Clock`,category:`system`,keywords:[`clock`,`time`,`watch`,`timer`,`history`]},{id:`icon_globe`,name:`Globe`,iconName:`Globe`,category:`system`,keywords:[`globe`,`world`,`web`,`internet`,`language`]},{id:`icon_map_pin`,name:`Map Pin`,iconName:`MapPin`,category:`system`,keywords:[`pin`,`map`,`location`,`gps`,`place`]},{id:`icon_shield`,name:`Shield`,iconName:`Shield`,category:`system`,keywords:[`shield`,`security`,`protection`,`safe`]},{id:`icon_shield_check`,name:`Verified Shield`,iconName:`ShieldCheck`,category:`system`,keywords:[`shield`,`verified`,`security`,`secure`]},{id:`icon_check_circle`,name:`Check Circle`,iconName:`CheckCircle2`,category:`system`,keywords:[`check`,`success`,`done`,`approved`]},{id:`icon_alert_triangle`,name:`Alert`,iconName:`AlertTriangle`,category:`system`,keywords:[`alert`,`warning`,`caution`,`danger`]},{id:`icon_info`,name:`Info`,iconName:`Info`,category:`system`,keywords:[`info`,`help`,`details`,`about`]},{id:`icon_help`,name:`Help Circle`,iconName:`HelpCircle`,category:`system`,keywords:[`help`,`faq`,`question`,`support`]},{id:`icon_phone`,name:`Phone`,iconName:`Phone`,category:`system`,keywords:[`phone`,`call`,`contact`,`telephone`]},{id:`icon_credit_card`,name:`Credit Card`,iconName:`CreditCard`,category:`commerce`,keywords:[`card`,`payment`,`credit`,`billing`,`wallet`]},{id:`icon_shopping_bag`,name:`Shopping Bag`,iconName:`ShoppingBag`,category:`commerce`,keywords:[`shopping`,`bag`,`store`,`cart`,`buy`]},{id:`icon_shopping_cart`,name:`Shopping Cart`,iconName:`ShoppingCart`,category:`commerce`,keywords:[`cart`,`ecommerce`,`checkout`,`items`]},{id:`icon_dollar`,name:`Dollar Sign`,iconName:`DollarSign`,category:`commerce`,keywords:[`dollar`,`money`,`price`,`currency`,`usd`]},{id:`icon_wallet`,name:`Wallet`,iconName:`Wallet`,category:`commerce`,keywords:[`wallet`,`money`,`crypto`,`pay`,`balance`]},{id:`icon_gift`,name:`Gift`,iconName:`Gift`,category:`commerce`,keywords:[`gift`,`reward`,`bonus`,`present`,`free`]},{id:`icon_percent`,name:`Discount`,iconName:`Percent`,category:`commerce`,keywords:[`percent`,`discount`,`sale`,`offer`,`deal`]},{id:`icon_award`,name:`Award`,iconName:`Award`,category:`commerce`,keywords:[`award`,`trophy`,`badge`,`winner`,`achievement`]},{id:`icon_trending_up`,name:`Trending Up`,iconName:`TrendingUp`,category:`commerce`,keywords:[`chart`,`trending`,`growth`,`profit`,`up`]},{id:`icon_trending_down`,name:`Trending Down`,iconName:`TrendingDown`,category:`commerce`,keywords:[`chart`,`loss`,`down`,`decline`]},{id:`icon_bar_chart`,name:`Bar Chart`,iconName:`BarChart2`,category:`commerce`,keywords:[`chart`,`analytics`,`data`,`metrics`,`stats`]},{id:`icon_pie_chart`,name:`Pie Chart`,iconName:`PieChart`,category:`commerce`,keywords:[`chart`,`pie`,`share`,`distribution`]},{id:`icon_activity`,name:`Activity`,iconName:`Activity`,category:`commerce`,keywords:[`activity`,`pulse`,`health`,`heartbeat`,`live`]},{id:`icon_package`,name:`Package`,iconName:`Package`,category:`commerce`,keywords:[`package`,`box`,`delivery`,`shipping`,`order`]},{id:`icon_truck`,name:`Truck`,iconName:`Truck`,category:`commerce`,keywords:[`truck`,`delivery`,`shipping`,`transport`]},{id:`icon_camera`,name:`Camera`,iconName:`Camera`,category:`media`,keywords:[`camera`,`photo`,`picture`,`snapshot`]},{id:`icon_video`,name:`Video`,iconName:`Video`,category:`media`,keywords:[`video`,`camera`,`recording`,`movie`]},{id:`icon_image`,name:`Image`,iconName:`Image`,category:`media`,keywords:[`image`,`picture`,`photo`,`graphic`]},{id:`icon_music`,name:`Music`,iconName:`Music`,category:`media`,keywords:[`music`,`audio`,`song`,`tune`,`sound`]},{id:`icon_headphones`,name:`Headphones`,iconName:`Headphones`,category:`media`,keywords:[`headphones`,`audio`,`listen`,`support`]},{id:`icon_mic`,name:`Microphone`,iconName:`Mic`,category:`media`,keywords:[`mic`,`voice`,`audio`,`record`]},{id:`icon_play`,name:`Play`,iconName:`Play`,category:`media`,keywords:[`play`,`video`,`start`,`media`]},{id:`icon_pause`,name:`Pause`,iconName:`Pause`,category:`media`,keywords:[`pause`,`stop`,`hold`]},{id:`icon_volume`,name:`Volume`,iconName:`Volume2`,category:`media`,keywords:[`volume`,`sound`,`speaker`,`audio`]},{id:`icon_palette`,name:`Palette`,iconName:`Palette`,category:`media`,keywords:[`palette`,`color`,`art`,`design`,`theme`]},{id:`icon_code`,name:`Code`,iconName:`Code2`,category:`tech`,keywords:[`code`,`developer`,`syntax`,`programming`]},{id:`icon_terminal`,name:`Terminal`,iconName:`Terminal`,category:`tech`,keywords:[`terminal`,`cli`,`console`,`bash`]},{id:`icon_cpu`,name:`CPU`,iconName:`Cpu`,category:`tech`,keywords:[`cpu`,`processor`,`hardware`,`chip`,`ai`]},{id:`icon_database`,name:`Database`,iconName:`Database`,category:`tech`,keywords:[`database`,`storage`,`sql`,`server`,`db`]},{id:`icon_server`,name:`Server`,iconName:`Server`,category:`tech`,keywords:[`server`,`backend`,`cloud`,`hosting`]},{id:`icon_hard_drive`,name:`Hard Drive`,iconName:`HardDrive`,category:`tech`,keywords:[`storage`,`disk`,`drive`,`memory`]},{id:`icon_wifi`,name:`Wifi`,iconName:`Wifi`,category:`tech`,keywords:[`wifi`,`network`,`wireless`,`internet`]},{id:`icon_smartphone`,name:`Smartphone`,iconName:`Smartphone`,category:`tech`,keywords:[`mobile`,`phone`,`smartphone`,`device`,`ios`]},{id:`icon_tablet`,name:`Tablet`,iconName:`Tablet`,category:`tech`,keywords:[`tablet`,`ipad`,`device`]},{id:`icon_monitor`,name:`Monitor`,iconName:`Monitor`,category:`tech`,keywords:[`monitor`,`screen`,`desktop`,`computer`]},{id:`icon_laptop`,name:`Laptop`,iconName:`Laptop`,category:`tech`,keywords:[`laptop`,`macbook`,`pc`,`computer`]}];function _i(){return gi.map(e=>({id:e.id,name:e.name,type:`icon`,mimeType:`image/svg+xml`,url:e.iconName,width:24,height:24,createdAt:`2026-01-01T00:00:00.000Z`,keywords:e.keywords,isPreset:!0,metadata:{iconName:e.iconName}}))}var vi=`cyrus_project_assets_v2`,yi=[{id:`asset_img_workstation`,name:`Apple Workspace Setup`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1517336714731-489689fd1ca8?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`workspace`,`macbook`,`desk`,`minimal`,`apple`,`office`],isPreset:!0},{id:`asset_img_product_minimal`,name:`Minimalist Device`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`product`,`headphones`,`sound`,`audio`,`gadget`],isPreset:!0},{id:`asset_img_architecture`,name:`Clean Concrete Architecture`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`building`,`architecture`,`glass`,`sky`,`modern`,`facade`],isPreset:!0},{id:`asset_img_person_avatar`,name:`Studio Portrait Avatar`,type:`image`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=600&auto=format&fit=crop&q=80`,width:600,height:600,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`avatar`,`user`,`portrait`,`person`,`profile`],isPreset:!0},{id:`asset_bg_gradient_mesh`,name:`Prism Gradient Background`,type:`background`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`gradient`,`background`,`abstract`,`mesh`,`colors`,`art`],isPreset:!0},{id:`asset_ill_geometric_cubes`,name:`Geometric 3D Glass Objects`,type:`illustration`,mimeType:`image/jpeg`,url:`https://images.unsplash.com/photo-1634017839464-5c339ebe3cb4?w=1200&auto=format&fit=crop&q=80`,width:1200,height:800,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`3d`,`glass`,`illustration`,`geometric`,`spheres`],isPreset:!0},{id:`asset_vid_ambient_lights`,name:`Ambient Studio Video`,type:`video`,mimeType:`video/mp4`,url:`https://assets.mixkit.co/videos/preview/mixkit-software-developer-working-on-code-screen-close-up-1728-large.mp4`,width:1280,height:720,createdAt:`2026-01-01T00:00:00.000Z`,keywords:[`video`,`code`,`developer`,`screen`,`ambient`,`loop`],isPreset:!0}];async function bi(){try{return await Ir(vi)||[]}catch{return[]}}async function xi(e){let t=await bi(),n=e?t.filter(t=>t.projectId===e):t,r=_i();return[...n,...yi,...r]}var Si=xi;async function Ci(e){let t=[e,...(await bi()).filter(t=>t.id!==e.id)];await Rr(vi,t)}async function wi(e){let t=(await bi()).filter(t=>t.id!==e);await Rr(vi,t)}async function Ti(e,t){let n=(await bi()).map(n=>n.id===e?{...n,name:t}:n);await Rr(vi,n)}function Ei(e,t){if(e.length<4)return!1;if(t===`image/png`)return e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71;if(t===`image/jpeg`||t===`image/jpg`)return e[0]===255&&e[1]===216&&e[2]===255;if(t===`image/gif`)return e[0]===71&&e[1]===73&&e[2]===70&&e[3]===56;if(t===`image/webp`){if(e.length<12)return!1;let t=e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70,n=e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80;return t&&n}if(t===`video/mp4`){if(e.length<12)return!1;for(let t=4;t<=Math.min(e.length-4,16);t++)if(e[t]===102&&e[t+1]===116&&e[t+2]===121&&e[t+3]===112)return!0;return!1}return!0}function Di(e){let t=e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,``).replace(/<foreignObject\b[^<]*(?:(?!<\/foreignObject>)<[^<]*)*<\/foreignObject>/gi,``).replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,``).replace(/<object\b[^<]*(?:(?!<\/object>)<[^<]*)*<\/object>/gi,``).replace(/<embed\b[^<]*(?:(?!<\/embed>)<[^<]*)*<\/embed>/gi,``).replace(/on[a-z]+\s*=\s*(['"]).*?\1/gi,``).replace(/on[a-z]+\s*=\s*[^ >]+/gi,``).replace(/javascript:[^"']*/gi,``);if(!t.includes(`<svg`)||!t.includes(`</svg>`))throw Error(`Invalid SVG content structure.`);return t}async function Oi(e,t){if(![`image/png`,`image/jpeg`,`image/jpg`,`image/webp`,`image/svg+xml`,`image/gif`,`video/mp4`].includes(e.type))throw Error(`Unsupported file type "${e.type}". Please upload PNG, JPG, WEBP, SVG, GIF, or MP4.`);if(e.size>26214400)throw Error(`File size exceeds the 25MB limit.`);let n=await e.slice(0,32).arrayBuffer(),r=new Uint8Array(n);if(e.type===`image/svg+xml`){let n=Di(await e.text()),r=new Blob([n],{type:`image/svg+xml`}),i=`data:image/svg+xml;base64,${btoa(n)}`,a={id:k(`asset`),projectId:t,name:e.name.replace(/\.[^/.]+$/,``),type:e.name.toLowerCase().includes(`logo`)?`logo`:`svg`,mimeType:`image/svg+xml`,url:i,size:r.size,createdAt:new Date().toISOString(),keywords:[e.name.toLowerCase(),`svg`,`vector`]};return await Ci(a),a}if(!Ei(r,e.type))throw Error(`Security validation failed: File content does not match reported MIME type "${e.type}".`);return new Promise((n,r)=>{let i=new FileReader;i.onload=async()=>{try{let r=i.result,a=`image`;e.type.includes(`video`)?a=`video`:e.name.toLowerCase().includes(`logo`)&&(a=`logo`);let o={id:k(`asset`),projectId:t,name:e.name.replace(/\.[^/.]+$/,``),type:a,mimeType:e.type,url:r,size:e.size,createdAt:new Date().toISOString(),keywords:[e.name.toLowerCase(),a]};await Ci(o),n(o)}catch(e){r(e)}},i.onerror=()=>r(Error(`Failed to read file from disk.`)),i.readAsDataURL(e)})}function ki(e){switch(e?.code||``){case`auth/operation-not-allowed`:return`Firebase Error (auth/operation-not-allowed): This sign-in method is not enabled in your Firebase Console. Go to https://console.firebase.google.com -> Authentication -> Sign-in method to turn on Email/Password or Social providers.`;case`auth/user-not-found`:case`auth/wrong-password`:case`auth/invalid-credential`:return`Invalid email or password. If you do not have an account yet, click "Sign up" below to create one in Firebase.`;case`auth/email-already-in-use`:return`An account with this email already exists in Firebase. Click "Sign in" instead.`;case`auth/weak-password`:return`Password is too weak. Please use at least 8 characters.`;case`auth/popup-closed-by-user`:return`Sign-in popup was closed before completing.`;case`auth/unauthorized-domain`:return`Firebase Error (auth/unauthorized-domain): Add localhost to Firebase Console -> Authentication -> Settings -> Authorized Domains.`;default:return e?.message||`Firebase Authentication failed. Please check your credentials or try again.`}}function Ai(e){let t=e.providerData?.[0]?.displayName??null,n=e.providerData?.[0]?.photoURL??null,r=e.displayName||t||``,i=(e.email?.split(`@`)[0]||``).replace(/[._-]/g,` `).split(` `).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `),a=r.trim()||i||`Cyrus User`,o=e.photoURL||n||void 0;return{id:e.uid,name:a,email:e.email||``,avatarUrl:o,plan:`pro`,createdAt:e.metadata.creationTime||new Date().toISOString()}}var ji=new class{currentSession={user:null,isAuthenticated:!1};listeners=[];constructor(){ri(qr,e=>{if(e){let t=Ai(e);this.currentSession={user:t,isAuthenticated:!0}}else this.currentSession={user:null,isAuthenticated:!1};this.listeners.forEach(e=>e(this.currentSession))})}async getCurrentSession(){return this.currentSession}async signUp(e,t,n){if(!n||n.length<8)throw Error(`Password must be at least 8 characters.`);try{let r=await ti(qr,e,n);t.trim()&&await ii(r.user,{displayName:t});let i=Ai({...r.user,displayName:t||r.user.displayName});return this.currentSession={user:i,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),i}catch(e){throw console.error(`[Firebase Auth Error] signUp failed:`,e),Error(ki(e))}}async signIn(e,t){if(!t)throw Error(`Password is required.`);try{let n=Ai((await ni(qr,e,t)).user);return this.currentSession={user:n,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),n}catch(n){if(n?.code===`auth/user-not-found`)try{let n=Ai((await ti(qr,e,t)).user);return this.currentSession={user:n,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),n}catch(e){throw Error(ki(e))}throw Error(ki(n))}}async signInWithProvider(e){let t=Wr;(e===`github`||e===`apple`)&&(t=Gr);try{let e=await si(qr,t);await e.user.reload();let n=Ai(qr.currentUser||e.user);return this.currentSession={user:n,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),n}catch(t){if(t?.code===`auth/popup-closed-by-user`)throw Error(`Sign-in popup was closed before completing. Please try again.`);if(console.error(`[Firebase Auth Error] signInWithProvider (${e}) failed:`,t),qr.currentUser){await qr.currentUser.reload().catch(()=>{});let e=Ai(qr.currentUser);return this.currentSession={user:e,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),e}throw Error(ki(t))}}async updateUserProfile(e){if(!qr.currentUser)throw Error(`No user is currently signed in to Firebase.`);try{await ii(qr.currentUser,e);let t=Ai({...qr.currentUser,displayName:e.displayName===void 0?qr.currentUser.displayName:e.displayName,photoURL:e.photoURL===void 0?qr.currentUser.photoURL:e.photoURL});return this.currentSession={user:t,isAuthenticated:!0},this.listeners.forEach(e=>e(this.currentSession)),t}catch(e){throw console.error(`[Firebase Auth Error] updateUserProfile failed:`,e),Error(ki(e))}}async updateUserPassword(e,t){if(!qr.currentUser||!qr.currentUser.email)throw Error(`No user is currently signed in to Firebase.`);if(t.length<8)throw Error(`New password must be at least 8 characters long.`);try{let n=oi.credential(qr.currentUser.email,e);await ai(qr.currentUser,n),await ei(qr.currentUser,t)}catch(e){throw console.error(`[Firebase Auth Error] updateUserPassword failed:`,e),e?.code===`auth/wrong-password`||e?.code===`auth/invalid-credential`?Error(`Current password is incorrect.`):Error(ki(e))}}async sendPasswordReset(e){try{await Qr(qr,e)}catch(e){throw console.error(`[Firebase Auth Error] sendPasswordReset failed:`,e),Error(ki(e))}}async signOut(){await $r(qr),this.currentSession={user:null,isAuthenticated:!1},this.listeners.forEach(e=>e(this.currentSession))}onAuthStateChanged(e){return this.listeners.push(e),e(this.currentSession),()=>{this.listeners=this.listeners.filter(t=>t!==e)}}},Mi=class{async getAssets(e){return xi(e)}async uploadAsset(e,t){return Oi(t,e)}async deleteAsset(e){return wi(e)}},Ni=ji,Pi=pi,Fi=hi;new Mi;var Ii=!1,Li=null,Ri=Lr((e,t)=>({session:{user:null,isAuthenticated:!1},isLoading:!0,isAuthDialogOpen:!1,isProfileDialogOpen:!1,initAuth:()=>{Ii||(Ii=!0,Li=Ni.onAuthStateChanged(t=>{e({session:t,isLoading:!1})}))},unsubscribeFromAuth:()=>{Li&&=(Li(),null),Ii=!1},openAuthDialog:()=>e({isAuthDialogOpen:!0}),closeAuthDialog:()=>e({isAuthDialogOpen:!1}),openProfileDialog:()=>e({isProfileDialogOpen:!0}),closeProfileDialog:()=>e({isProfileDialogOpen:!1}),signIn:async(t,n)=>{e({isLoading:!0});try{let r=await Ni.signIn(t,n);return e({isAuthDialogOpen:!1,isLoading:!1}),r}catch(t){throw e({isLoading:!1}),t}},signUp:async(t,n,r)=>{e({isLoading:!0});try{let i=await Ni.signUp(t,n,r);return e({isAuthDialogOpen:!1,isLoading:!1}),i}catch(t){throw e({isLoading:!1}),t}},signInWithProvider:async t=>{e({isLoading:!0});try{if(!Ni.signInWithProvider)throw Error(`Provider sign-in not supported`);let n=await Ni.signInWithProvider(t);return e({isAuthDialogOpen:!1,isLoading:!1}),n}catch(t){throw e({isLoading:!1}),t}},signOut:async()=>{e({isLoading:!0,isProfileDialogOpen:!1});try{await Ni.signOut()}finally{e({isLoading:!1,session:{user:null,isAuthenticated:!1}})}}})),M=Pr(),zi=`C:/Users/Shadow/Desktop/cyrus/src/components/branding/CyrusLogo.tsx`;function Bi({size:e=`md`,className:t,onClick:n}){return(0,M.jsxDEV)(`div`,{onClick:n,role:n?`button`:void 0,tabIndex:n?0:void 0,onKeyDown:e=>{n&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:O(`inline-flex items-center select-none transition-transform group`,n&&`cursor-pointer hover:scale-105 active:scale-95`,t),children:(0,M.jsxDEV)(`span`,{style:{fontFamily:`'Satisfy', 'Caveat', cursive`},className:O(`text-[#0071e3] tracking-normal leading-none font-bold select-none drop-shadow-xs`,{sm:`text-[22px]`,md:`text-[26px]`,lg:`text-[32px]`,xl:`text-[40px]`}[e]),children:`Cyrus`},void 0,!1,{fileName:zi,lineNumber:40,columnNumber:7},this)},void 0,!1,{fileName:zi,lineNumber:23,columnNumber:5},this)}var Vi=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Button.tsx`,Hi=(0,A.forwardRef)(({children:e,className:t,variant:n=`secondary`,size:r=`sm`,icon:i,iconPosition:a=`left`,isLoading:o=!1,disabled:s,...c},l)=>(0,M.jsxDEV)(`button`,{ref:l,disabled:s||o,className:zr(O(`inline-flex items-center justify-center font-sans tracking-[-0.01em] transition-apple select-none cursor-pointer disabled:opacity-45 disabled:pointer-events-none focus:outline-none`,{xs:`h-7 px-2.5 text-[12px] rounded-[6px] gap-1.5`,sm:`h-8 px-3 text-[13px] rounded-[8px] gap-2`,md:`h-9 px-4 text-[14px] rounded-[9px] gap-2`,lg:`h-10 px-5 text-[15px] rounded-[10px] gap-2.5`}[r],{primary:`bg-[#0071e3] text-white hover:bg-[#0077ed] active:bg-[#0062c4] active:scale-[0.98] shadow-apple-sm font-medium border-0 focus-visible:ring-2 focus-visible:ring-[#0071e3]/30`,secondary:`bg-white dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#38383a] hover:bg-[#f4f4f6] dark:hover:bg-[#3a3a3c] hover:border-[#d1d1d6] active:bg-[#ebebee] dark:active:bg-[#323234] active:scale-[0.98] shadow-apple-sm font-medium focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`,ghost:`bg-transparent text-[#1d1d1f] dark:text-[#f5f5f7] hover:bg-[#ebebee]/70 dark:hover:bg-[#2c2c2e] active:bg-[#e2e2e7] dark:active:bg-[#38383a] active:scale-[0.98] border-0 font-medium focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`,destructive:`bg-[#ff3b30] text-white hover:bg-[#e03228] active:bg-[#c92820] active:scale-[0.98] shadow-apple-sm font-medium border-0 focus-visible:ring-2 focus-visible:ring-[#ff3b30]/30`,subtle:`bg-[#f4f4f6] dark:bg-[#242426] text-[#1d1d1f] dark:text-[#f5f5f7] hover:bg-[#ebebee] dark:hover:bg-[#2c2c2e] active:bg-[#e2e2e7] dark:active:bg-[#38383a] active:scale-[0.98] border border-transparent font-medium focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`,icon:`p-1.5 h-8 w-8 text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#ffffff] hover:bg-[#ebebee]/70 dark:hover:bg-[#2c2c2e] active:bg-[#e2e2e7] dark:active:bg-[#38383a] active:scale-[0.98] rounded-[7px] border-0 focus-visible:ring-2 focus-visible:ring-[#0071e3]/20`}[n],t)),...c,children:o?(0,M.jsxDEV)(`span`,{className:`w-3.5 h-3.5 border-2 border-current border-t-transparent rounded-full animate-spin`},void 0,!1,{fileName:Vi,lineNumber:67,columnNumber:11},void 0):(0,M.jsxDEV)(M.Fragment,{children:[i&&a===`left`&&(0,M.jsxDEV)(`span`,{className:`shrink-0 flex items-center`,children:i},void 0,!1,{fileName:Vi,lineNumber:70,columnNumber:49},void 0),e&&(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:Vi,lineNumber:71,columnNumber:26},void 0),i&&a===`right`&&(0,M.jsxDEV)(`span`,{className:`shrink-0 flex items-center`,children:i},void 0,!1,{fileName:Vi,lineNumber:72,columnNumber:50},void 0)]},void 0,!0,{fileName:Vi,lineNumber:69,columnNumber:11},void 0)},void 0,!1,{fileName:Vi,lineNumber:53,columnNumber:7},void 0));Hi.displayName=`Button`;var Ui=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Input.tsx`,Wi=(0,A.forwardRef)(({label:e,helperText:t,error:n,leftIcon:r,rightIcon:i,isSearch:a,shortcutBadge:o,className:s,disabled:c,...l},u)=>(0,M.jsxDEV)(`div`,{className:`w-full flex flex-col gap-1`,children:[e&&(0,M.jsxDEV)(`label`,{className:`text-[11px] font-medium text-[#6e6e73] select-none`,children:e},void 0,!1,{fileName:Ui,lineNumber:35,columnNumber:11},void 0),(0,M.jsxDEV)(`div`,{className:`relative flex items-center w-full`,children:[a&&!r&&(0,M.jsxDEV)(`span`,{className:`absolute left-2.5 flex items-center text-[#86868b] pointer-events-none`,children:(0,M.jsxDEV)(Bt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Ui,lineNumber:42,columnNumber:15},void 0)},void 0,!1,{fileName:Ui,lineNumber:41,columnNumber:13},void 0),r&&(0,M.jsxDEV)(`span`,{className:`absolute left-2.5 flex items-center text-[#86868b] pointer-events-none`,children:r},void 0,!1,{fileName:Ui,lineNumber:46,columnNumber:13},void 0),(0,M.jsxDEV)(`input`,{ref:u,disabled:c,className:zr(O(`w-full h-7.5 bg-white dark:bg-[#2c2c2e] text-[12px] text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] dark:placeholder:text-[#636366] rounded-[6px] border border-[#e5e5ea] dark:border-[#38383a] transition-apple shadow-2xs focus:outline-none focus:border-[#0071e3] dark:focus:border-[#0a84ff] focus:ring-1 focus:ring-[#0071e3] dark:focus:ring-[#0a84ff] disabled:bg-[#f4f4f6] dark:disabled:bg-[#1c1c1e] disabled:text-[#86868b] disabled:cursor-not-allowed`,a||r?`pl-8`:`px-2`,i||o?`pr-8`:`pr-2`,n&&`border-[#ff3b30] focus:border-[#ff3b30] focus:ring-[#ff3b30]`,s)),...l},void 0,!1,{fileName:Ui,lineNumber:50,columnNumber:11},void 0),o&&(0,M.jsxDEV)(`span`,{className:`absolute right-1.5 flex items-center`,children:(0,M.jsxDEV)(`kbd`,{className:`px-1.5 py-0.5 text-[9px] font-medium font-mono text-[#86868b] bg-[#f4f4f6] border border-[#e5e5ea] rounded`,children:o},void 0,!1,{fileName:Ui,lineNumber:66,columnNumber:15},void 0)},void 0,!1,{fileName:Ui,lineNumber:65,columnNumber:13},void 0),i&&!o&&(0,M.jsxDEV)(`span`,{className:`absolute right-2 flex items-center text-[#86868b]`,children:i},void 0,!1,{fileName:Ui,lineNumber:72,columnNumber:13},void 0)]},void 0,!0,{fileName:Ui,lineNumber:39,columnNumber:9},void 0),n&&(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#ff3b30]`,children:n},void 0,!1,{fileName:Ui,lineNumber:77,columnNumber:19},void 0),t&&!n&&(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#86868b]`,children:t},void 0,!1,{fileName:Ui,lineNumber:78,columnNumber:34},void 0)]},void 0,!0,{fileName:Ui,lineNumber:33,columnNumber:7},void 0));Wi.displayName=`Input`;var Gi=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Modal.tsx`;function Ki({isOpen:e,onClose:t,title:n,subtitle:r,children:i,footer:a,maxWidth:o=`md`,className:s}){let c=(0,A.useRef)(null);return(0,A.useEffect)(()=>{let n=n=>{n.key===`Escape`&&e&&t()};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t]),(0,A.useEffect)(()=>(e?document.body.style.overflow=`hidden`:document.body.style.overflow=``,()=>{document.body.style.overflow=``}),[e]),e?(0,M.jsxDEV)(`div`,{role:`dialog`,"aria-modal":`true`,className:`fixed inset-0 z-50 flex items-center justify-center p-4`,children:[(0,M.jsxDEV)(`div`,{onClick:t,className:`fixed inset-0 bg-black/25 backdrop-blur-sm transition-opacity duration-200`},void 0,!1,{fileName:Gi,lineNumber:69,columnNumber:7},this),(0,M.jsxDEV)(`div`,{ref:c,className:zr(O(`relative w-full bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] rounded-[16px] border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-lg overflow-hidden flex flex-col z-10 animate-in fade-in zoom-in-95 duration-150`,{sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-xl`,"2xl":`max-w-2xl`}[o],s)),children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between px-6 pt-5 pb-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[16px] font-semibold text-[#1d1d1f] dark:text-[#f5f5f7] tracking-[-0.01em]`,children:n},void 0,!1,{fileName:Gi,lineNumber:88,columnNumber:13},this),r&&(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:r},void 0,!1,{fileName:Gi,lineNumber:92,columnNumber:15},this)]},void 0,!0,{fileName:Gi,lineNumber:87,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:t,"aria-label":`Close dialog`,className:`p-1 rounded-[6px] text-[#86868b] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#ffffff] hover:bg-[#f4f4f6] dark:hover:bg-[#2c2c2e] transition-apple focus:outline-none cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:Gi,lineNumber:101,columnNumber:13},this)},void 0,!1,{fileName:Gi,lineNumber:95,columnNumber:11},this)]},void 0,!0,{fileName:Gi,lineNumber:86,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`px-6 py-4 flex-1 overflow-y-auto max-h-[75vh]`,children:i},void 0,!1,{fileName:Gi,lineNumber:106,columnNumber:9},this),a&&(0,M.jsxDEV)(`div`,{className:`px-6 py-3.5 bg-[#fbfbfd] dark:bg-[#161618] border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center justify-end gap-2 shrink-0`,children:a},void 0,!1,{fileName:Gi,lineNumber:112,columnNumber:11},this)]},void 0,!0,{fileName:Gi,lineNumber:75,columnNumber:7},this)]},void 0,!0,{fileName:Gi,lineNumber:63,columnNumber:5},this):null}function qi(){let e=k();return{id:k(),name:`Apex Revenue Analytics`,pages:[{id:e,name:`Overview`,slug:`overview`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:k(),type:`statCard`,name:`Total Revenue Stat`,x:40,y:40,width:270,height:130,rotation:0,zIndex:1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Total Revenue`,value:`$128,450.00`,change:`+14.2%`,isPositive:!0,timeframe:`vs last month`,icon:`CreditCard`},accessibility:{ariaRole:`region`,ariaLabel:`Total Revenue: $128,450.00, up 14.2% versus last month`}},{id:k(),type:`statCard`,name:`Active Users Stat`,x:330,y:40,width:270,height:130,rotation:0,zIndex:2,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Active Users`,value:`48,290`,change:`+8.6%`,isPositive:!0,timeframe:`vs last month`,icon:`User`},accessibility:{ariaRole:`region`,ariaLabel:`Active Users: 48,290, up 8.6% versus last month`}},{id:k(),type:`statCard`,name:`Total Orders Stat`,x:620,y:40,width:270,height:130,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Total Orders`,value:`3,420`,change:`+12.4%`,isPositive:!0,timeframe:`vs last month`,icon:`ShoppingBag`},accessibility:{ariaRole:`region`,ariaLabel:`Total Orders: 3,420, up 12.4% versus last month`}},{id:k(),type:`statCard`,name:`Conversion Rate Stat`,x:910,y:40,width:270,height:130,rotation:0,zIndex:4,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Conversion Rate`,value:`4.85%`,change:`+0.9%`,isPositive:!0,timeframe:`30-day average`,icon:`TrendingUp`},accessibility:{ariaRole:`region`,ariaLabel:`Conversion Rate: 4.85%, up 0.9% 30-day average`}},{id:k(),type:`lineChart`,name:`Revenue & Growth Chart`,x:40,y:190,width:740,height:270,rotation:0,zIndex:5,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Monthly Recurring Revenue (MRR)`,subtitle:`Subscriptions and expansion revenue across all tiers`,format:`currency`,data:[{label:`Jan`,value:34e3},{label:`Feb`,value:42500},{label:`Mar`,value:39800},{label:`Apr`,value:64200},{label:`May`,value:78900},{label:`Jun`,value:96400},{label:`Jul`,value:128450}],showGrid:!0,showAxes:!0,showLegend:!0},accessibility:{ariaRole:`img`,ariaLabel:`Revenue line chart showing upward growth from $34,000 in January to $128,450 in July`}},{id:k(),type:`donutChart`,name:`Channel Distribution Donut`,x:800,y:190,width:380,height:270,rotation:0,zIndex:6,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Traffic & Conversion Channels`,subtitle:`Visitor acquisition by source`,format:`compact`,data:[{label:`Direct`,value:48200},{label:`Organic`,value:34100},{label:`Referrals`,value:18900},{label:`Social`,value:11200}],showLegend:!0},accessibility:{ariaRole:`img`,ariaLabel:`Donut chart showing Direct traffic at 48.2k, Organic at 34.1k, Referrals at 18.9k, Social at 11.2k`}},{id:k(),type:`dataTable`,name:`Recent Orders Table`,x:40,y:480,width:740,height:290,rotation:0,zIndex:7,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Recent High-Value Orders`,columns:[`Customer`,`Plan`,`Amount`,`Status`,`Date`],rows:[{customer:`Acme Global Corp`,plan:`Enterprise Suite`,amount:`$4,800.00`,status:`Completed`,date:`Just now`},{customer:`Linear Systems`,plan:`Pro Developer`,amount:`$590.00`,status:`Completed`,date:`4m ago`},{customer:`Vercel Cloud Inc`,plan:`Enterprise Dedicated`,amount:`$12,400.00`,status:`Processing`,date:`18m ago`},{customer:`Stripe Payments UK`,plan:`Team Collaboration`,amount:`$1,250.00`,status:`Completed`,date:`45m ago`}]},accessibility:{ariaRole:`region`,ariaLabel:`Recent Orders table with 4 transactions`}},{id:k(),type:`activityFeed`,name:`Live Activity Stream`,x:800,y:480,width:380,height:290,rotation:0,zIndex:8,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:18,paddingBottom:18,paddingLeft:20,paddingRight:20},content:{title:`Live Real-Time Activity`,events:[{user:`Alex Rivera`,action:`upgraded to Enterprise Dedicated`,time:`2m ago`,icon:`Sparkles`},{user:`Sarah Chen`,action:`added 6 new team members`,time:`12m ago`,icon:`User`},{user:`Cloud Scheduler`,action:`scaled edge cluster to 32 nodes`,time:`38m ago`,icon:`Zap`},{user:`David Kim`,action:`generated monthly tax audit PDF`,time:`1h ago`,icon:`Check`}]},accessibility:{ariaRole:`status`,ariaLabel:`Live activity feed with 4 recent system and user actions`}}]}],type:`dashboard`,designSystem:Zr,variables:[{id:k(),name:`revenueStats`,type:`object`,defaultValue:{revenue:128450,users:48290,orders:3420,conversion:4.85}}],settings:{platformTarget:`web`},createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}}function Ji(){let e=new Date().toISOString();return{id:`proj_mobile_banking_demo`,name:`Nova Mobile Banking`,description:`Enterprise mobile banking app for iOS & Android built with React Native & React Navigation.`,type:`mobile`,pages:[{id:`page_mob_home`,name:`Home Dashboard`,slug:`home`,settings:{backgroundColor:`#f5f5f7`,padding:16,maxWidth:390,metaTitle:`Nova Banking - Mobile Home`,metaDescription:`Secure mobile banking dashboard with real-time balance tracking.`},elements:[{id:`el_mob_hdr_1`,type:`mobileHeader`,name:`Header Nav`,x:16,y:52,width:358,height:52,rotation:0,zIndex:10,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:16,paddingRight:16},content:{title:`Nova Banking`,actionLabel:`Support`,showBack:!1}},{id:`el_mob_card_1`,type:`mobileCard`,name:`Total Balance Card`,x:16,y:114,width:358,height:140,rotation:0,zIndex:5,locked:!1,hidden:!1,styles:{backgroundColor:`#0071e3`,textColor:`#ffffff`,borderRadius:18,borderWidth:0,shadow:`md`,paddingTop:18,paddingBottom:18,paddingLeft:18,paddingRight:18},content:{subtitle:`Available Balance`,amount:`$38,450.20`,tag:`Checking •• 4092`,trend:`+8.5% this month`}},{id:`el_mob_list_1`,type:`mobileList`,name:`Recent Transactions List`,x:16,y:264,width:358,height:240,rotation:0,zIndex:4,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:14,paddingBottom:14,paddingLeft:16,paddingRight:16},content:{title:`Recent Transactions`,items:[{title:`Apple Store`,subtitle:`Hardware & Devices`,amount:`-$1,299.00`,icon:`ShoppingBag`,isDebit:!0},{title:`Stripe Payout`,subtitle:`Direct Deposit Payroll`,amount:`+$4,820.00`,icon:`ArrowDownLeft`,isDebit:!1},{title:`Uber Technologies`,subtitle:`Transportation`,amount:`-$24.50`,icon:`Car`,isDebit:!0},{title:`Whole Foods Market`,subtitle:`Groceries & Organic`,amount:`-$84.20`,icon:`ShoppingBag`,isDebit:!0}]}},{id:`el_mob_tab_1`,type:`bottomNav`,name:`Bottom Tab Navigation`,x:16,y:720,width:358,height:64,rotation:0,zIndex:20,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:20,borderWidth:1,borderColor:`#e5e5ea`,shadow:`md`},content:{activeTab:`Home`,tabs:[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`1`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}]}}]},{id:`page_mob_cards`,name:`Cards & Wallets`,slug:`cards`,settings:{backgroundColor:`#f5f5f7`,padding:16,maxWidth:390,metaTitle:`My Cards - Nova Mobile`,metaDescription:`Manage virtual titanium debit and credit cards.`},elements:[{id:`el_mob_hdr_2`,type:`mobileHeader`,name:`Header Nav`,x:16,y:52,width:358,height:52,rotation:0,zIndex:10,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:16,paddingRight:16},content:{title:`My Cards`,actionLabel:`+ Add`,showBack:!0}},{id:`el_mob_card_2`,type:`mobileCard`,name:`Virtual Titanium Card`,x:16,y:114,width:358,height:140,rotation:0,zIndex:5,locked:!1,hidden:!1,styles:{backgroundColor:`#1d1d1f`,textColor:`#ffffff`,borderRadius:18,borderWidth:0,shadow:`md`,paddingTop:18,paddingBottom:18,paddingLeft:18,paddingRight:18},content:{subtitle:`Titanium Debit Card`,amount:`$12,000.00 Limit`,tag:`Mastercard •• 8831`,trend:`Active • Apple Pay ready`}},{id:`el_mob_list_2`,type:`mobileList`,name:`Card Controls`,x:16,y:264,width:358,height:220,rotation:0,zIndex:4,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:14,paddingBottom:14,paddingLeft:16,paddingRight:16},content:{title:`Card Controls & Security`,items:[{title:`Freeze Card`,subtitle:`Temporarily block transactions`,amount:`Unlocked`,icon:`Lock`,isDebit:!0},{title:`Online Payments`,subtitle:`Allow e-commerce purchases`,amount:`Enabled`,icon:`ShoppingBag`,isDebit:!1},{title:`Monthly Limit`,subtitle:`Maximum $15,000 / mo`,amount:`$4,200 spent`,icon:`CreditCard`,isDebit:!0}]}},{id:`el_mob_tab_2`,type:`bottomNav`,name:`Bottom Tab Navigation`,x:16,y:720,width:358,height:64,rotation:0,zIndex:20,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:20,borderWidth:1,borderColor:`#e5e5ea`,shadow:`md`},content:{activeTab:`Cards`,tabs:[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`1`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}]}}]},{id:`page_mob_transfer`,name:`Transfer & Send`,slug:`transfer`,settings:{backgroundColor:`#f5f5f7`,padding:16,maxWidth:390,metaTitle:`Send Money - Nova Mobile`,metaDescription:`Instant money transfer and payment options.`},elements:[{id:`el_mob_hdr_3`,type:`mobileHeader`,name:`Header Nav`,x:16,y:52,width:358,height:52,rotation:0,zIndex:10,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:16,paddingRight:16},content:{title:`Transfer Money`,actionLabel:`History`,showBack:!0}},{id:`el_mob_sheet_3`,type:`mobileSheet`,name:`Transfer Action Sheet`,x:16,y:114,width:358,height:220,rotation:0,zIndex:5,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:24,borderWidth:1,borderColor:`#e5e5ea`,shadow:`lg`,paddingTop:16,paddingBottom:20,paddingLeft:20,paddingRight:20},content:{title:`Instant Wire Transfer`,subtitle:`Zero fee transfer to any domestic checking account.`,primaryAction:`Send Money Now`}},{id:`el_mob_list_3`,type:`mobileList`,name:`Frequent Payees`,x:16,y:344,width:358,height:200,rotation:0,zIndex:4,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:14,paddingBottom:14,paddingLeft:16,paddingRight:16},content:{title:`Recent Recipients`,items:[{title:`Alex Rivera`,subtitle:`Checking •• 1092`,amount:`Favorite`,icon:`User`,isDebit:!1},{title:`Sarah Chen`,subtitle:`Savings •• 5541`,amount:`Recent`,icon:`User`,isDebit:!1},{title:`Elena Rostova`,subtitle:`Wire •• 9920`,amount:`Recent`,icon:`User`,isDebit:!1}]}},{id:`el_mob_tab_3`,type:`bottomNav`,name:`Bottom Tab Navigation`,x:16,y:720,width:358,height:64,rotation:0,zIndex:20,locked:!1,hidden:!1,styles:{backgroundColor:`#ffffff`,borderRadius:20,borderWidth:1,borderColor:`#e5e5ea`,shadow:`md`},content:{activeTab:`Transfer`,tabs:[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`1`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}]}}]}],settings:{platformTarget:`mobile`,safeArea:{top:47,bottom:34,left:0,right:0},canvasBackground:`#f5f5f7`,primaryColor:`#0071e3`,theme:`light`,siteUrl:`https://novabanking.app`,sitemapEnabled:!0,robotsTxtEnabled:!0},createdAt:e,updatedAt:e}}var Yi={id:`tmpl_modern_saas`,name:`Modern SaaS Platform`,category:`saas`,style:`minimal`,description:`Complete high-conversion SaaS suite with marketing landing, feature deep-dive, pricing tiers, login, and analytics dashboard.`,keywords:[`saas`,`software`,`platform`,`b2b`,`pricing`,`subscription`,`dashboard`],project:{id:`proj_tmpl_saas`,name:`Modern SaaS Platform`,type:`saas`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#f5f5f7`,primaryColor:`#0071e3`,theme:`light`},designSystem:Zr,pages:[{id:`saas_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_el_nav`,type:`navbar`,name:`Header Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingLeft:24,paddingRight:24},content:{brandName:`Apex Engine`,links:[`Features`,`Pricing`,`Login`,`Dashboard`],ctaLabel:`Get Started`}},{id:`saas_el_hero`,type:`hero`,name:`Hero Section`,x:170,y:110,width:1100,height:290,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`The AI-Powered SaaS Architecture`,headline:`Scale your cloud infrastructure with zero operational friction.`,subhead:`Automate deployments, monitor runtime metrics, and stream telemetry data in real-time.`,primaryBtnText:`Start 14-Day Trial`,secondaryBtnText:`Explore Features`}},{id:`saas_el_c1`,type:`featureCard`,name:`Cloud Orchestration`,x:60,y:430,width:420,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{icon:`Zap`,title:`Global Multi-Region Edge`,description:`Deploy serverless edge functions with sub-5ms latency across 300+ PoPs.`}},{id:`saas_el_c2`,type:`featureCard`,name:`Automated CI/CD`,x:510,y:430,width:420,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{icon:`Sparkles`,title:`Autonomous Rollouts`,description:`Canary deployments with automated rollback on health anomalies.`}},{id:`saas_el_c3`,type:`featureCard`,name:`Enterprise Security`,x:960,y:430,width:420,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{icon:`Check`,title:`SOC2 & HIPAA Certified`,description:`End-to-end envelope encryption and fine-grained role-based access.`}},{id:`saas_el_footer`,type:`footer`,name:`Footer`,x:60,y:620,width:1320,height:100,rotation:0,zIndex:4,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex Engine`,copyright:`© 2026 Apex Cloud Systems Inc.`}}]},{id:`saas_page_features`,name:`Features`,slug:`features`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_f_nav`,type:`navbar`,name:`Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex Engine`,links:[`Home`,`Features`,`Pricing`,`Login`]}},{id:`saas_f_heading`,type:`heading`,name:`Features Heading`,x:360,y:120,width:720,height:50,rotation:0,zIndex:2,styles:{fontSize:32,fontWeight:`700`,textAlign:`center`,textColor:`#1d1d1f`},content:{text:`Engineered for Performance and Scale`}},{id:`saas_f_c1`,type:`metricCard`,name:`Latency KPI`,x:180,y:200,width:520,height:160,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:24,paddingLeft:24},content:{title:`Global P99 Latency`,value:`4.2 ms`,change:`-34%`,isPositive:!0,timeframe:`vs industry standard`}},{id:`saas_f_c2`,type:`metricCard`,name:`Throughput KPI`,x:740,y:200,width:520,height:160,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:24,paddingLeft:24},content:{title:`Concurrent RPS`,value:`1.4M`,change:`+142%`,isPositive:!0,timeframe:`peak throughput`}}]},{id:`saas_page_pricing`,name:`Pricing`,slug:`pricing`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_p_nav`,type:`navbar`,name:`Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex Engine`,links:[`Home`,`Features`,`Pricing`,`Login`]}},{id:`saas_p_card_starter`,type:`pricingCard`,name:`Starter Tier`,x:180,y:130,width:320,height:400,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:28,paddingLeft:24,paddingRight:24},content:{planName:`Developer`,price:`$0`,period:`/forever`,description:`For hobbyists and individual developers.`,buttonText:`Start Free`}},{id:`saas_p_card_pro`,type:`pricingCard`,name:`Pro Tier`,x:540,y:110,width:360,height:440,rotation:0,zIndex:4,styles:{backgroundColor:`#ffffff`,borderRadius:18,borderWidth:2,borderColor:`#0071e3`,shadow:`md`,paddingTop:32,paddingLeft:28,paddingRight:28},content:{planName:`Team Pro`,price:`$49`,period:`/month`,description:`For high-velocity engineering teams.`,buttonText:`Upgrade to Pro`}},{id:`saas_p_card_enterprise`,type:`pricingCard`,name:`Enterprise Tier`,x:940,y:130,width:320,height:400,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:28,paddingLeft:24,paddingRight:24},content:{planName:`Enterprise`,price:`$299`,period:`/month`,description:`Dedicated clusters, SLAs, and 24/7 phone support.`,buttonText:`Contact Sales`}}]},{id:`saas_page_login`,name:`Login`,slug:`login`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_login_card`,type:`loginForm`,name:`Login Card`,x:495,y:160,width:450,height:380,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`lg`,paddingTop:28,paddingLeft:32,paddingRight:32},content:{title:`Sign In to Apex Cloud`,subtitle:`Manage your microservices and edge databases.`,buttonText:`Authenticate`}}]},{id:`saas_page_dash`,name:`Dashboard`,slug:`dashboard`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`saas_d_sidebar`,type:`sidebar`,name:`App Sidebar`,x:20,y:20,width:240,height:800,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Apex OS`,activeItem:`Overview`,items:[`Overview`,`Clusters`,`Deployments`,`Security`,`Settings`]}},{id:`saas_d_chart`,type:`chart`,name:`Throughput Chart`,x:280,y:20,width:720,height:360,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`,paddingTop:20,paddingLeft:20,paddingRight:20},content:{title:`Network Bandwidth Usage (GB/s)`}},{id:`saas_d_table`,type:`dataTable`,name:`Deployments Table`,x:280,y:400,width:1100,height:320,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:14,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{title:`Live Container Replicas`}}]}]}},Xi={id:`tmpl_ai_product`,name:`AI Agent Studio`,category:`saas`,style:`dark`,description:`OLED dark-mode generative AI interface with prompt consoles, model comparison cards, and token analytics.`,keywords:[`ai`,`agent`,`chatgpt`,`gemini`,`dark`,`prompt`,`machine learning`,`llm`],project:{id:`proj_tmpl_ai`,name:`AI Agent Studio`,type:`saas`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#000000`,primaryColor:`#0a84ff`,theme:`dark`},designSystem:Jr.find(e=>e.id===`dark`)?.tokens||Zr,pages:[{id:`ai_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#000000`},elements:[{id:`ai_nav`,type:`navbar`,name:`Navbar`,x:60,y:24,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#1c1c1e`,borderRadius:12,borderWidth:1,borderColor:`#38383a`},content:{brandName:`Cognitive AI`,links:[`Models`,`Playground`,`API`,`Pricing`]}},{id:`ai_hero`,type:`hero`,name:`Hero`,x:170,y:110,width:1100,height:290,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`Next-Generation Multimodal Intelligence`,headline:`Autonomous reasoning agents built for enterprise scale.`,subhead:`Orchestrate multi-step tools, grounded web lookups, and deep reasoning models in one API.`,primaryBtnText:`Try in Playground`,secondaryBtnText:`View API Docs`}},{id:`ai_card1`,type:`featureCard`,name:`Model 1`,x:180,y:430,width:520,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#1c1c1e`,borderRadius:16,borderWidth:1,borderColor:`#38383a`,textColor:`#ffffff`},content:{icon:`Sparkles`,title:`Deep Reasoning 2.0`,description:`High-capability complex problem solver with multi-step chain-of-thought verification.`}},{id:`ai_card2`,type:`featureCard`,name:`Model 2`,x:740,y:430,width:520,height:150,rotation:0,zIndex:3,styles:{backgroundColor:`#1c1c1e`,borderRadius:16,borderWidth:1,borderColor:`#38383a`,textColor:`#ffffff`},content:{icon:`Zap`,title:`Flash Lite 500k`,description:`Sub-millisecond inference with massive token throughput for edge devices.`}}]},{id:`ai_page_dash`,name:`Dashboard`,slug:`dashboard`,settings:{backgroundColor:`#000000`},elements:[{id:`ai_d_chart`,type:`chart`,name:`Token Usage Chart`,x:60,y:30,width:1320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#1c1c1e`,borderRadius:16,borderWidth:1,borderColor:`#38383a`},content:{title:`API Ingestion Throughput (Tokens/Sec)`}}]}]}},Zi={id:`tmpl_analytics_dashboard`,name:`Apex Revenue Analytics`,category:`dashboards`,style:`minimal`,description:`Enterprise revenue & growth analytics cockpit with 4 KPI stat cards, monthly MRR line chart, traffic distribution donut, recent orders data table, and real-time activity stream.`,keywords:[`dashboard`,`analytics`,`kpi`,`metrics`,`charts`,`data`,`admin`,`revenue`,`orders`,`conversion`,`users`],project:qi()},Qi={id:`tmpl_ecommerce_store`,name:`Atelier Commerce`,category:`ecommerce`,style:`minimal`,description:`Luxury lifestyle store with product grids, cart drawers, and responsive checkout forms.`,keywords:[`ecommerce`,`shop`,`store`,`cart`,`checkout`,`products`,`retail`,`fashion`],project:{id:`proj_tmpl_ecom`,name:`Atelier Commerce`,type:`website`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ffffff`,primaryColor:`#1d1d1f`,theme:`light`},designSystem:Zr,pages:[{id:`ecom_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#ffffff`},elements:[{id:`ecom_nav`,type:`navbar`,name:`Store Header`,x:60,y:20,width:1320,height:64,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`ATELIER`,links:[`Apparel`,`Accessories`,`Objects`,`Journal`,`Cart (2)`]}},{id:`ecom_hero`,type:`hero`,name:`Editorial Hero`,x:170,y:110,width:1100,height:290,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`Summer 2026 Collection`,headline:`Pure materials. Timeless silhouettes.`,subhead:`Engineered Japanese wool, organic raw cotton, and surgical-grade stainless hardware.`,primaryBtnText:`Shop the Lookbook`,secondaryBtnText:`Explore Objects`}},{id:`ecom_p1`,type:`productCard`,name:`Product 1`,x:180,y:430,width:320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{title:`Tailored Wool Overshirt`,price:`$280`}},{id:`ecom_p2`,type:`productCard`,name:`Product 2`,x:560,y:430,width:320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{title:`Raw Selvedge Denim`,price:`$220`}},{id:`ecom_p3`,type:`productCard`,name:`Product 3`,x:940,y:430,width:320,height:380,rotation:0,zIndex:3,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`},content:{title:`Minimalist Titanium Watch`,price:`$490`}}]}]}},$i={id:`tmpl_creative_portfolio`,name:`Studio Monolith`,category:`portfolios`,style:`minimal`,description:`Architectural portfolio showcase with high-contrast typography, case study grids, and inquiry forms.`,keywords:[`portfolio`,`design`,`agency`,`creative`,`architect`,`freelancer`,`studio`],project:{id:`proj_tmpl_portfolio`,name:`Studio Monolith`,type:`website`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#f5f5f7`,primaryColor:`#1d1d1f`,theme:`light`},designSystem:Zr,pages:[{id:`port_page_home`,name:`Home`,slug:`home`,settings:{backgroundColor:`#f5f5f7`},elements:[{id:`port_nav`,type:`navbar`,name:`Nav`,x:60,y:20,width:1320,height:60,rotation:0,zIndex:10,styles:{backgroundColor:`#ffffff`,borderRadius:10,borderWidth:1,borderColor:`#e5e5ea`},content:{brandName:`Studio Monolith`,links:[`Work`,`Philosophy`,`About`,`Inquire`]}},{id:`port_hero`,type:`hero`,name:`Hero`,x:170,y:110,width:1100,height:280,rotation:0,zIndex:2,styles:{backgroundColor:`transparent`},content:{badge:`Design & Architecture Practice`,headline:`We shape physical & digital spaces with radical clarity.`,subhead:`Award-winning industrial design, spatial computing, and identity systems.`,primaryBtnText:`Explore Selected Work`,secondaryBtnText:`Read Monograph`}}]}]}},ea={id:`tmpl_mobile_banking`,name:`Nova Mobile Banking`,category:`mobile`,style:`minimal`,description:`Native mobile banking application with multi-screen flow, safe areas, transaction lists, virtual cards, transfer sheets, and bottom navigation tabs.`,keywords:[`mobile`,`banking`,`finance`,`ios`,`android`,`wallet`,`transfer`,`cards`,`react native`],project:Ji()},ta={id:`tmpl_proposal_project`,name:`Proposal for a new project`,category:`presentations`,style:`bold`,description:`Creative project proposal deck with vibrant pink background and key milestones.`,keywords:[`proposal`,`project`,`deck`,`canva`],project:{id:`proj_tmpl_proposal`,name:`Proposal for a new project`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ff4b72`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_prop_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#ff4b72`},elements:[{id:`el_prop_1`,type:`heading`,name:`Title`,x:80,y:100,width:900,height:120,rotation:0,zIndex:2,styles:{fontSize:44,fontWeight:`800`,textColor:`#ffffff`},content:{text:`Proposal for a new project`}}]}]}},na={id:`tmpl_art_society`,name:`Art and Society`,category:`presentations`,style:`vibrant`,description:`Art, history and society presentation template.`,keywords:[`art`,`society`,`presentation`,`canva`],project:{id:`proj_tmpl_art`,name:`Art and Society`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#00a8b5`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_art_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#00a8b5`},elements:[{id:`el_art_1`,type:`heading`,name:`Title`,x:100,y:120,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:40,fontWeight:`800`,textColor:`#ffffff`},content:{text:`Art and Society`}}]}]}},ra={id:`tmpl_classroom_rules`,name:`Classroom Rules`,category:`presentations`,style:`minimal`,description:`Educational classroom rules presentation with clear vector illustrations.`,keywords:[`classroom`,`rules`,`education`,`canva`],project:{id:`proj_tmpl_rules`,name:`Classroom Rules`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#003366`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_rules_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#003366`},elements:[{id:`el_rules_1`,type:`heading`,name:`Title`,x:80,y:80,width:840,height:90,rotation:0,zIndex:2,styles:{fontSize:48,fontWeight:`800`,textColor:`#ffffff`},content:{text:`CLASSROOM RULES`}}]}]}},ia={id:`tmpl_working_safely`,name:`Working Safely in Art Class`,category:`presentations`,style:`colorful`,description:`Art class safety guidelines deck.`,keywords:[`safety`,`art`,`class`,`canva`],project:{id:`proj_tmpl_safely`,name:`Working Safely in Art Class`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ff9800`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_safe_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#ff9800`},elements:[{id:`el_safe_1`,type:`heading`,name:`Title`,x:80,y:90,width:880,height:100,rotation:0,zIndex:2,styles:{fontSize:38,fontWeight:`800`,textColor:`#ffffff`},content:{text:`WORKING SAFELY WITH PAINTS IN ART CLASS`}}]}]}},aa={id:`tmpl_poster_plan`,name:`My Poster Plan`,category:`presentations`,style:`vibrant`,description:`Poster planning and layout workshop template.`,keywords:[`poster`,`plan`,`design`,`canva`],project:{id:`proj_tmpl_poster`,name:`My Poster Plan`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#1a237e`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_post_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#1a237e`},elements:[{id:`el_post_1`,type:`heading`,name:`Title`,x:90,y:110,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:44,fontWeight:`800`,textColor:`#ffeb3b`},content:{text:`My Poster Plan`}}]}]}},oa=[Yi,Xi,Zi,ea,Qi,$i,{id:`tmpl_design_portfolio_canva`,name:`Design Portfolio`,category:`portfolios`,style:`minimal`,description:`Clean design portfolio showcase deck.`,keywords:[`portfolio`,`design`,`canva`],project:{id:`proj_tmpl_port_c`,name:`Design Portfolio`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#ffffff`,primaryColor:`#1d1d1f`,theme:`light`},pages:[{id:`p_dp_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#ffffff`},elements:[{id:`el_dp_1`,type:`heading`,name:`Title`,x:100,y:120,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:48,fontWeight:`800`,textColor:`#1d1d1f`},content:{text:`Design Portfolio`}}]}]}},{id:`tmpl_group_project`,name:`group project`,category:`presentations`,style:`bold`,description:`Group project collaboration template.`,keywords:[`group`,`project`,`canva`],project:{id:`proj_tmpl_group`,name:`group project`,type:`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:`#b71c1c`,primaryColor:`#ffffff`,theme:`light`},pages:[{id:`p_grp_1`,name:`Slide 1`,slug:`slide-1`,settings:{backgroundColor:`#b71c1c`},elements:[{id:`el_grp_1`,type:`heading`,name:`Title`,x:80,y:100,width:800,height:100,rotation:0,zIndex:2,styles:{fontSize:44,fontWeight:`800`,textColor:`#ffffff`},content:{text:`group project`}}]}]}},ta,na,ra,ia,aa],sa=`C:/Users/Shadow/Desktop/cyrus/src/components/icons/AiChipIcon.tsx`;function ca({className:e=`w-6 h-6`,size:t,...n}){let r=t||void 0,i=t||void 0,a=A.useId();return(0,M.jsxDEV)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:e,width:r,height:i,...n,children:[(0,M.jsxDEV)(`defs`,{children:(0,M.jsxDEV)(`linearGradient`,{id:a,x1:`0%`,y1:`0%`,x2:`100%`,y2:`100%`,children:[(0,M.jsxDEV)(`stop`,{offset:`0%`,stopColor:`#7d2ae8`},void 0,!1,{fileName:sa,lineNumber:25,columnNumber:11},this),(0,M.jsxDEV)(`stop`,{offset:`100%`,stopColor:`#0071e3`},void 0,!1,{fileName:sa,lineNumber:26,columnNumber:11},this)]},void 0,!0,{fileName:sa,lineNumber:24,columnNumber:9},this)},void 0,!1,{fileName:sa,lineNumber:23,columnNumber:7},this),(0,M.jsxDEV)(`path`,{d:`M12 2C12 7.5 16.5 12 22 12C16.5 12 12 16.5 12 22C12 16.5 7.5 12 2 12C7.5 12 12 7.5 12 2Z`,fill:`url(#${a})`},void 0,!1,{fileName:sa,lineNumber:31,columnNumber:7},this),(0,M.jsxDEV)(`path`,{d:`M19 3C19 5 20.5 6.5 22.5 6.5C20.5 6.5 19 8 19 10C19 8 17.5 6.5 15.5 6.5C17.5 6.5 19 5 19 3Z`,fill:`#0071e3`,opacity:`0.85`},void 0,!1,{fileName:sa,lineNumber:37,columnNumber:7},this)]},void 0,!0,{fileName:sa,lineNumber:14,columnNumber:5},this)}var la=`C:/Users/Shadow/Desktop/cyrus/src/components/dialogs/AIChatModal.tsx`,ua=[{id:`msg_1`,sender:`ai`,text:`Hello! I'm Cyrus AI Magic. Describe any website, SaaS platform, mobile app, or UI component you want to build, and I'll generate the full layout and code for you.`,timestamp:`Just now`}],da=[`🚀 Build a SaaS Landing Page`,`📱 Create a Mobile Banking App`,`📊 Design an Analytics Dashboard`,`💳 Create a Pricing Table Card`];function fa({isOpen:e,onClose:t,onOpenProject:n}){let{addToast:r}=Br(),{ai:i}=ui(),[a,o]=(0,A.useState)(ua),[s,c]=(0,A.useState)(``),[l,d]=(0,A.useState)(!1),f=(0,A.useRef)(null);if((0,A.useEffect)(()=>{e&&f.current?.scrollIntoView({behavior:`smooth`})},[e,a,l]),!e)return null;let p=async e=>{let t=(e||s).trim();if(!t||l)return;let n={id:`usr_${Date.now()}`,sender:`user`,text:t,timestamp:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})};o(e=>[...e,n]),c(``),d(!0),setTimeout(async()=>{let e=t.toLowerCase(),n=`webapp`,r=`AI Generated Design`,i=`Full multi-element UI canvas synthesized by Gemini AI Magic.`,a=6;e.includes(`mobile`)||e.includes(`app`)||e.includes(`ios`)?(n=`mobile`,r=`Mobile App Design`,i=`iOS/Android responsive mobile interface layout.`,a=5):e.includes(`dashboard`)||e.includes(`analytics`)||e.includes(`chart`)?(n=`dashboard`,r=`Analytics Dashboard`,i=`Data visualization layout with KPI metrics and charts.`,a=8):(e.includes(`saas`)||e.includes(`landing`))&&(n=`webapp`,r=`SaaS Platform`,i=`Hero section, navigation, feature cards, and pricing.`,a=7);let s={id:`ai_${Date.now()}`,sender:`ai`,text:`I've synthesized a **${r}** based on your prompt: "${t}". Click below to open and edit it live on the canvas!`,timestamp:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),projectPreview:{type:n,title:r,description:i,elementCount:a}};o(e=>[...e,s]),d(!1)},1e3)},m=async e=>{try{let i=`page_${k()}`,a={id:k(`proj`),name:e?.title||`AI Design Project`,type:e?.type||`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),pages:[{id:i,name:`Page 1`,slug:`page-1`,settings:{backgroundColor:`#ffffff`},elements:[{id:`el_${k()}`,type:`navbar`,name:`Nav Bar`,x:40,y:20,width:800,height:64,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{brandName:`Cyrus AI`}},{id:`el_${k()}`,type:`hero`,name:`Hero Section`,x:40,y:100,width:800,height:320,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{headline:e?.title||`AI Generated Product`,subhead:e?.description||`Built with Cyrus AI Magic`}},{id:`el_${k()}`,type:`input_search_bar`,name:`Search Bar`,x:40,y:440,width:320,height:44,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`2xs`},content:{placeholder:`Search...`}}]}],components:[],variables:[],dataSources:[],settings:{canvasBackground:`#ffffff`},designSystem:{colors:{primary:`#0071e3`,secondary:`#7d2ae8`,background:`#ffffff`,surface:`#f5f5f7`,text:`#1d1d1f`},typography:{fontFamily:`Inter, sans-serif`,fontSizeBase:14,headings:{h1:32,h2:24,h3:18}},spacing:{unit:8,scale:[0,4,8,16,24,32,48,64]}}};await Xr(a),r(`Created project "${a.name}"!`,`success`),t(),n(a.id)}catch(e){console.error(`Error launching project from AI Chat:`,e)}};return(0,M.jsxDEV)(`div`,{onClick:t,className:`fixed inset-0 bg-black/50 backdrop-blur-xs flex items-center justify-center p-4 sm:p-6 z-[999999] animate-in fade-in duration-150 select-none font-sans`,children:(0,M.jsxDEV)(`div`,{onClick:e=>e.stopPropagation(),className:`w-full max-w-2xl bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] rounded-3xl border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-lg flex flex-col h-[640px] max-h-[90vh] overflow-hidden animate-in zoom-in-95 duration-150 relative`,children:[(0,M.jsxDEV)(`div`,{className:`p-4 px-6 bg-white/80 dark:bg-[#1c1c1e]/80 backdrop-blur-md border-b border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center justify-between z-10 shrink-0`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`w-10 h-10 rounded-2xl bg-gradient-to-tr from-[#7d2ae8]/15 to-[#0071e3]/15 border border-[#7d2ae8]/20 flex items-center justify-center text-[#7d2ae8] dark:text-[#9d52ff]`,children:(0,M.jsxDEV)(ca,{className:`w-6 h-6`},void 0,!1,{fileName:la,lineNumber:221,columnNumber:15},this)},void 0,!1,{fileName:la,lineNumber:220,columnNumber:13},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`h3`,{className:`text-[15.5px] font-bold tracking-tight text-[#1d1d1f] dark:text-white`,children:`AI Magic Chat`},void 0,!1,{fileName:la,lineNumber:225,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-[#7d2ae8]/10 text-[#7d2ae8] dark:text-[#9d52ff] text-[10px] font-semibold`,children:`Gemini 1.5 Flash`},void 0,!1,{fileName:la,lineNumber:226,columnNumber:17},this)]},void 0,!0,{fileName:la,lineNumber:224,columnNumber:15},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] dark:text-[#8e8e93]`,children:`Ask AI Magic to generate layouts, web apps, or UI components.`},void 0,!1,{fileName:la,lineNumber:230,columnNumber:15},this)]},void 0,!0,{fileName:la,lineNumber:223,columnNumber:13},this)]},void 0,!0,{fileName:la,lineNumber:219,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:t,className:`w-8 h-8 rounded-full bg-[#f4f4f6] dark:bg-[#2c2c2e] hover:bg-[#e5e5ea] dark:hover:bg-[#38383a] text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white flex items-center justify-center transition-all cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:241,columnNumber:13},this)},void 0,!1,{fileName:la,lineNumber:236,columnNumber:11},this)]},void 0,!0,{fileName:la,lineNumber:218,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-5 space-y-4 bg-[#fafafa] dark:bg-[#141416]`,children:[a.map(e=>{let t=e.sender===`user`;return(0,M.jsxDEV)(`div`,{className:O(`flex gap-3 max-w-[88%]`,t?`ml-auto flex-row-reverse`:`mr-auto`),children:[(0,M.jsxDEV)(`div`,{className:O(`w-8 h-8 rounded-full shrink-0 flex items-center justify-center text-xs font-semibold shadow-2xs`,t?`bg-[#0071e3] text-white`:`bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] text-white`),children:t?(0,M.jsxDEV)(rn,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:263,columnNumber:29},this):(0,M.jsxDEV)(me,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:263,columnNumber:60},this)},void 0,!1,{fileName:la,lineNumber:255,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`div`,{className:O(`p-3.5 rounded-2xl text-[13px] leading-relaxed shadow-2xs`,t?`bg-[#0071e3] text-white rounded-tr-none`:`bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#2c2c2e] rounded-tl-none`),children:e.text},void 0,!1,{fileName:la,lineNumber:268,columnNumber:19},this),e.projectPreview&&(0,M.jsxDEV)(`div`,{className:`mt-1 p-4 rounded-2xl bg-white dark:bg-[#1c1c1e] border border-[#e5e5ea] dark:border-[#2c2c2e] shadow-apple-md flex flex-col gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[e.projectPreview.type===`mobile`?(0,M.jsxDEV)(mt,{className:`w-5 h-5 text-[#ff2d55]`},void 0,!1,{fileName:la,lineNumber:285,columnNumber:29},this):e.projectPreview.type===`dashboard`?(0,M.jsxDEV)(u,{className:`w-5 h-5 text-[#34c759]`},void 0,!1,{fileName:la,lineNumber:287,columnNumber:29},this):(0,M.jsxDEV)(Er,{className:`w-5 h-5 text-[#7d2ae8]`},void 0,!1,{fileName:la,lineNumber:289,columnNumber:29},this),(0,M.jsxDEV)(`span`,{className:`font-bold text-[14px] text-[#1d1d1f] dark:text-white`,children:e.projectPreview.title},void 0,!1,{fileName:la,lineNumber:291,columnNumber:27},this)]},void 0,!0,{fileName:la,lineNumber:283,columnNumber:25},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[10.5px] font-semibold text-[#86868b]`,children:[e.projectPreview.elementCount,` elements`]},void 0,!0,{fileName:la,lineNumber:295,columnNumber:25},this)]},void 0,!0,{fileName:la,lineNumber:282,columnNumber:23},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#6e6e73] dark:text-[#8e8e93]`,children:e.projectPreview.description},void 0,!1,{fileName:la,lineNumber:300,columnNumber:23},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>m(e.projectPreview),className:`w-full py-2.5 rounded-xl bg-[#0071e3] hover:bg-[#0077ed] text-white text-[12.5px] font-semibold flex items-center justify-center gap-2 shadow-apple-sm transition-all cursor-pointer active:scale-[0.98]`,children:[(0,M.jsxDEV)(`span`,{children:`Open Project in Studio`},void 0,!1,{fileName:la,lineNumber:309,columnNumber:25},this),(0,M.jsxDEV)(In,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:310,columnNumber:25},this)]},void 0,!0,{fileName:la,lineNumber:304,columnNumber:23},this)]},void 0,!0,{fileName:la,lineNumber:281,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#86868b] px-1`,children:e.timestamp},void 0,!1,{fileName:la,lineNumber:315,columnNumber:19},this)]},void 0,!0,{fileName:la,lineNumber:267,columnNumber:17},this)]},e.id,!0,{fileName:la,lineNumber:250,columnNumber:15},this)}),l&&(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 text-[#86868b] text-[12px] p-2 bg-white dark:bg-[#1c1c1e] rounded-2xl w-fit border border-[#e5e5ea] dark:border-[#2c2c2e] animate-pulse`,children:[(0,M.jsxDEV)(ur,{className:`w-4 h-4 animate-spin text-[#7d2ae8]`},void 0,!1,{fileName:la,lineNumber:323,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Cyrus AI is synthesizing layout...`},void 0,!1,{fileName:la,lineNumber:324,columnNumber:15},this)]},void 0,!0,{fileName:la,lineNumber:322,columnNumber:13},this),(0,M.jsxDEV)(`div`,{ref:f},void 0,!1,{fileName:la,lineNumber:327,columnNumber:11},this)]},void 0,!0,{fileName:la,lineNumber:246,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`p-2.5 px-4 bg-white dark:bg-[#1c1c1e] border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center gap-2 overflow-x-auto no-scrollbar shrink-0`,children:da.map((e,t)=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>p(e.replace(/^[^a-zA-Z]+/,``)),className:`px-3 py-1.5 rounded-full bg-[#f4f4f6] dark:bg-[#2c2c2e] hover:bg-[#e5e5ea] dark:hover:bg-[#38383a] text-[11px] font-medium text-[#1d1d1f] dark:text-[#f5f5f7] whitespace-nowrap transition-all cursor-pointer shrink-0`,children:e},t,!1,{fileName:la,lineNumber:333,columnNumber:13},this))},void 0,!1,{fileName:la,lineNumber:331,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`p-3.5 bg-white dark:bg-[#1c1c1e] border-t border-[#e5e5ea] dark:border-[#38383a] shrink-0`,children:(0,M.jsxDEV)(`form`,{onSubmit:e=>{e.preventDefault(),p()},className:`relative flex items-center`,children:[(0,M.jsxDEV)(`input`,{type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`Ask AI Magic to design a website, app, or component...`,className:`w-full h-11 pl-4 pr-12 bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[13px] text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] rounded-2xl border border-transparent focus:border-[#7d2ae8] focus:bg-white dark:focus:bg-[#1c1c1e] outline-none transition-all`},void 0,!1,{fileName:la,lineNumber:353,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`submit`,disabled:!s.trim()||l,className:`absolute right-2 w-8 h-8 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] disabled:opacity-40 text-white flex items-center justify-center transition-all cursor-pointer shadow-2xs`,children:(0,M.jsxDEV)(rr,{className:`w-4 h-4`},void 0,!1,{fileName:la,lineNumber:365,columnNumber:15},this)},void 0,!1,{fileName:la,lineNumber:360,columnNumber:13},this)]},void 0,!0,{fileName:la,lineNumber:346,columnNumber:11},this)},void 0,!1,{fileName:la,lineNumber:345,columnNumber:9},this)]},void 0,!0,{fileName:la,lineNumber:213,columnNumber:7},this)},void 0,!1,{fileName:la,lineNumber:209,columnNumber:5},this)}var pa=[{id:`prod_1`,name:`AirPulse Pro Wireless Headphones`,price:`$299`,rawPrice:299,category:`Audio`,rating:`4.9 ★`,inStock:!0,image:`https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=800&auto=format&fit=crop&q=80`,description:`Spatial audio with active noise cancellation and 40-hour ultra-long battery life.`,tag:`Best Seller`},{id:`prod_2`,name:`Retina Ultra Smartwatch 45mm`,price:`$399`,rawPrice:399,category:`Wearables`,rating:`4.8 ★`,inStock:!0,image:`https://images.unsplash.com/photo-1523275335684-37898b6baf30?w=800&auto=format&fit=crop&q=80`,description:`Sapphire crystal display, ECG monitoring, and precision dual-frequency GPS.`,tag:`New`},{id:`prod_3`,name:`Studio Master Mechanical Keyboard`,price:`$189`,rawPrice:189,category:`Accessories`,rating:`5.0 ★`,inStock:!0,image:`https://images.unsplash.com/photo-1587829741301-dc798b83add3?w=800&auto=format&fit=crop&q=80`,description:`CNC aluminum chassis with hot-swappable tactile switches and sound dampening foam.`,tag:`Featured`},{id:`prod_4`,name:`Lumix Ergonomic Studio Mouse`,price:`$119`,rawPrice:119,category:`Accessories`,rating:`4.7 ★`,inStock:!1,image:`https://images.unsplash.com/photo-1615663245857-ac93bb7c39e7?w=800&auto=format&fit=crop&q=80`,description:`MagSpeed electromagnetic scroll wheel with 8,000 DPI Darkfield tracking.`,tag:`Backorder`}],ma={id:`usr_007`,name:`Alexander Wright`,email:`alexander.wright@cyrus.design`,avatar:`https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=400&auto=format&fit=crop&q=80`,role:`Lead Architect`,plan:`Pro Enterprise`,isVerified:!0},ha=[{orderId:`#ORD-9842`,customer:`Sarah Jenkins`,amount:`$299.00`,status:`Delivered`,date:`Aug 14, 2026`,itemsCount:1},{orderId:`#ORD-9843`,customer:`Marcus Chen`,amount:`$588.00`,status:`Processing`,date:`Aug 15, 2026`,itemsCount:2},{orderId:`#ORD-9844`,customer:`Elena Rostova`,amount:`$189.00`,status:`Shipped`,date:`Aug 15, 2026`,itemsCount:1}],ga={revenue:`$142,850`,mrr:`$28,400`,activeUsers:`18,420`,conversionRate:`4.8%`,growthPercentage:`+24.5%`},_a=[{id:`var_user`,name:`user`,type:`object`,defaultValue:ma,sampleValue:ma,description:`Current authenticated user profile`,category:`user`},{id:`var_is_logged_in`,name:`isLoggedIn`,type:`boolean`,defaultValue:!0,sampleValue:!0,description:`User authentication session state`,category:`user`},{id:`var_user_name`,name:`userName`,type:`text`,defaultValue:`Alexander Wright`,sampleValue:`Alexander Wright`,description:`Display name for greeting & headers`,category:`user`},{id:`var_products`,name:`products`,type:`array`,defaultValue:pa,sampleValue:pa,description:`E-commerce catalog items list for cards and grids`,category:`ecommerce`},{id:`var_orders`,name:`orders`,type:`array`,defaultValue:ha,sampleValue:ha,description:`Recent customer orders list`,category:`ecommerce`},{id:`var_analytics`,name:`analytics`,type:`object`,defaultValue:ga,sampleValue:ga,description:`Dashboard metrics and key performance indicators`,category:`analytics`},{id:`var_company_name`,name:`companyName`,type:`text`,defaultValue:`Cyrus Technologies`,sampleValue:`Cyrus Technologies`,description:`Brand or application company name`,category:`general`}],va=[{id:`ds_rest_api`,name:`Cyrus Cloud API`,type:`rest`,baseUrl:`https://api.cyrus.design/v1`,authType:`bearer`,isSecret:!1,endpoints:[{id:`ep_auth_login`,name:`Login User`,path:`/auth/login`,method:`POST`,headers:{"Content-Type":`application/json`},bodyTemplate:`{"email":"{{email}}","password":"{{password}}"}`,responseVariable:`user`},{id:`ep_get_products`,name:`Get Products`,path:`/products`,method:`GET`,responseVariable:`products`},{id:`ep_contact_submit`,name:`Send Contact Message`,path:`/contact`,method:`POST`,headers:{"Content-Type":`application/json`},bodyTemplate:`{"name":"{{name}}","email":"{{email}}","message":"{{message}}"}`}]}];function ya(e){switch(e){case`ecommerce`:return[{id:k(`var`),name:`products`,type:`array`,defaultValue:pa,sampleValue:pa,category:`ecommerce`,description:`Catalog products list`},{id:k(`var`),name:`cartCount`,type:`number`,defaultValue:3,sampleValue:3,category:`ecommerce`,description:`Number of items in shopping cart`},{id:k(`var`),name:`currency`,type:`text`,defaultValue:`USD`,sampleValue:`USD`,category:`ecommerce`}];case`auth`:return[{id:k(`var`),name:`user`,type:`object`,defaultValue:ma,sampleValue:ma,category:`user`,description:`User profile object`},{id:k(`var`),name:`isLoggedIn`,type:`boolean`,defaultValue:!0,sampleValue:!0,category:`user`}];case`analytics`:return[{id:k(`var`),name:`analytics`,type:`object`,defaultValue:ga,sampleValue:ga,category:`analytics`,description:`Real-time KPI metrics`}];default:return _a}}function ba(e,t=8){return Math.round(e/t)*t}function xa(e,t){return!(t.x>e.x+e.width||t.x+t.width<e.x||t.y>e.y+e.height||t.y+t.height<e.y)}function Sa(e,t,n,r){return{x:Math.min(e,n),y:Math.min(t,r),width:Math.abs(n-e),height:Math.abs(r-t)}}function Ca(e){if(e.length===0)return{x:0,y:0,width:0,height:0};let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x+a.width),i=Math.max(i,a.y+a.height);return{x:t,y:n,width:Math.max(0,r-t),height:Math.max(0,i-n)}}function wa(e,t=5,n=15){let r=(e%360+360)%360,i=Math.round(r/n)*n;return Math.abs(r-i)<=t?i===360?0:i:Math.round(r)}function Ta(e,t){let n=[],r=e.x+e.width,i=e.y+e.height,a=e.x+e.width/2,o=e.y+e.height/2,s=t.x+t.width,c=t.y+t.height;if(t.x+t.width/2,t.y+t.height/2,r<=t.x){let e=Math.round(t.x-r);if(e>=0){let i=Math.min(Math.max(o,t.y),c);n.push({id:`h-right`,x1:r,y1:i,x2:t.x,y2:i,distance:e,orientation:`horizontal`,labelX:(r+t.x)/2,labelY:i})}}else if(s<=e.x){let r=Math.round(e.x-s);if(r>=0){let i=Math.min(Math.max(o,t.y),c);n.push({id:`h-left`,x1:s,y1:i,x2:e.x,y2:i,distance:r,orientation:`horizontal`,labelX:(s+e.x)/2,labelY:i})}}if(i<=t.y){let e=Math.round(t.y-i);if(e>=0){let r=Math.min(Math.max(a,t.x),s);n.push({id:`v-bottom`,x1:r,y1:i,x2:r,y2:t.y,distance:e,orientation:`vertical`,labelX:r,labelY:(i+t.y)/2})}}else if(c<=e.y){let r=Math.round(e.y-c);if(r>=0){let i=Math.min(Math.max(a,t.x),s);n.push({id:`v-top`,x1:i,y1:c,x2:i,y2:e.y,distance:r,orientation:`vertical`,labelX:i,labelY:(c+e.y)/2})}}return n}function Ea(e,t,n){let r=[],i=e.x+e.width,a=e.y+e.height,o=e.x+e.width/2,s=e.y+e.height/2;r.push({id:`ab-left`,x1:0,y1:s,x2:e.x,y2:s,distance:Math.round(e.x),orientation:`horizontal`,labelX:e.x/2,labelY:s}),r.push({id:`ab-top`,x1:o,y1:0,x2:o,y2:e.y,distance:Math.round(e.y),orientation:`vertical`,labelX:o,labelY:e.y/2});let c=Math.max(0,t-i);r.push({id:`ab-right`,x1:i,y1:s,x2:t,y2:s,distance:Math.round(c),orientation:`horizontal`,labelX:(i+t)/2,labelY:s});let l=Math.max(0,n-a);return r.push({id:`ab-bottom`,x1:o,y1:a,x2:o,y2:n,distance:Math.round(l),orientation:`vertical`,labelX:o,labelY:(a+n)/2}),r}function Da(e,t,n,r){if(e.length===0)return[];if(e.length===1){let i=e[0];switch(t){case`left`:return[{id:i.id,x:0,y:i.y}];case`center-h`:return[{id:i.id,x:Math.round((n-i.width)/2),y:i.y}];case`right`:return[{id:i.id,x:Math.round(n-i.width),y:i.y}];case`top`:return[{id:i.id,x:i.x,y:0}];case`middle-v`:return[{id:i.id,x:i.x,y:Math.round((r-i.height)/2)}];case`bottom`:return[{id:i.id,x:i.x,y:Math.round(r-i.height)}];default:return[{id:i.id,x:i.x,y:i.y}]}}let i=Ca(e);switch(t){case`left`:return e.map(e=>({id:e.id,x:i.x,y:e.y}));case`center-h`:{let t=i.x+i.width/2;return e.map(e=>({id:e.id,x:Math.round(t-e.width/2),y:e.y}))}case`right`:{let t=i.x+i.width;return e.map(e=>({id:e.id,x:Math.round(t-e.width),y:e.y}))}case`top`:return e.map(e=>({id:e.id,x:e.x,y:i.y}));case`middle-v`:{let t=i.y+i.height/2;return e.map(e=>({id:e.id,x:e.x,y:Math.round(t-e.height/2)}))}case`bottom`:{let t=i.y+i.height;return e.map(e=>({id:e.id,x:e.x,y:Math.round(t-e.height)}))}case`distribute-h`:{if(e.length<3)return e.map(e=>({id:e.id,x:e.x,y:e.y}));let t=[...e].sort((e,t)=>e.x-t.x),n=t.reduce((e,t)=>e+t.width,0),r=(i.width-n)/(t.length-1),a=i.x;return t.map(e=>{let t={id:e.id,x:Math.round(a),y:e.y};return a+=e.width+r,t})}case`distribute-v`:{if(e.length<3)return e.map(e=>({id:e.id,x:e.x,y:e.y}));let t=[...e].sort((e,t)=>e.y-t.y),n=t.reduce((e,t)=>e+t.height,0),r=(i.height-n)/(t.length-1),a=i.y;return t.map(e=>{let t={id:e.id,x:e.x,y:Math.round(a)};return a+=e.height+r,t})}default:return e.map(e=>({id:e.id,x:e.x,y:e.y}))}}function Oa(e,t,n,r,i=6){let a=e.x,o=e.y,s=[],c=e.x+e.width/2;e.x+e.width;let l=e.y+e.height/2;e.y+e.height;let u=[{pos:n/2,label:`canvas-center-x`,guidePos:n/2,offset:c-e.x},{pos:0,label:`canvas-left`,guidePos:0,offset:0},{pos:n,label:`canvas-right`,guidePos:n,offset:e.width}],d=[{pos:r/2,label:`canvas-center-y`,guidePos:r/2,offset:l-e.y},{pos:0,label:`canvas-top`,guidePos:0,offset:0},{pos:r,label:`canvas-bottom`,guidePos:r,offset:e.height}];for(let n of t){let t=n.x+n.width/2,r=n.x+n.width,i=n.y+n.height/2,a=n.y+n.height;u.push({pos:n.x,label:`elem-left`,guidePos:n.x,offset:0},{pos:t,label:`elem-center-x`,guidePos:t,offset:c-e.x},{pos:r,label:`elem-right`,guidePos:r,offset:e.width}),d.push({pos:n.y,label:`elem-top`,guidePos:n.y,offset:0},{pos:i,label:`elem-center-y`,guidePos:i,offset:l-e.y},{pos:a,label:`elem-bottom`,guidePos:a,offset:e.height})}let f=i+1,p=null;for(let t of u){let n=Math.abs(e.x+t.offset-t.pos);n<f&&(f=n,a=t.pos-t.offset,p={orientation:`vertical`,position:t.pos})}let m=i+1,h=null;for(let t of d){let n=Math.abs(e.y+t.offset-t.pos);n<m&&(m=n,o=t.pos-t.offset,h={orientation:`horizontal`,position:t.pos})}return p&&f<=i&&s.push(p),h&&m<=i&&s.push(h),{x:a,y:o,guides:s}}function ka(e,t,n){return{id:k(`snap`),timestamp:Date.now(),description:n,pages:JSON.parse(JSON.stringify(e.pages)),designSystem:JSON.parse(JSON.stringify(e.designSystem||{})),components:JSON.parse(JSON.stringify(e.components||[])),variables:JSON.parse(JSON.stringify(e.variables||[])),dataSources:JSON.parse(JSON.stringify(e.dataSources||[])),activePageId:t}}var Aa=null,N=Lr((e,t)=>({activeProject:null,activePageId:``,selectedElementIds:[],hoveredElementId:null,clipboard:[],isSaving:!1,lastSavedAt:null,past:[],future:[],setProject:t=>{let n=t.pages[0]?.id||``,r=t.variables&&t.variables.length>0?t.variables:_a,i=t.dataSources&&t.dataSources.length>0?t.dataSources:va;e({activeProject:{...t,variables:r,dataSources:i,useSampleData:t.useSampleData??!0},activePageId:n,selectedElementIds:[],hoveredElementId:null,clipboard:[],past:[],future:[],lastSavedAt:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})})},loadProjectFromStorage:async e=>{try{let n=await Kr(e);return n?(t().setProject(n),!0):!1}catch(e){return console.error(`Failed to load project from storage:`,e),!1}},saveCurrentProject:()=>(e({isSaving:!0}),new Promise(n=>{Aa&&clearTimeout(Aa),Aa=setTimeout(async()=>{let{activeProject:r}=t();if(!r){e({isSaving:!1}),n();return}try{await Xr(r),e({isSaving:!1,lastSavedAt:new Date().toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})})}catch(t){console.error(`Error saving current project:`,t),e({isSaving:!1})}n()},2e3)})),setActivePage:t=>{e({activePageId:t,selectedElementIds:[],hoveredElementId:null})},updateProjectName:n=>{let{activeProject:r}=t();r&&(e({activeProject:{...r,name:n,updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},updateProjectMeta:n=>{let{activeProject:r}=t();r&&(e({activeProject:{...r,name:n.name===void 0?r.name:n.name,type:n.type===void 0?r.type:n.type,updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},updateProjectSettings:n=>{let{activeProject:r}=t();r&&(e({activeProject:{...r,settings:{...r.settings,...n},updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},addPage:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)return``;let o=k(`page`),s=r.pages.length+1,c=n||`Page ${s}`,l={id:o,name:c,slug:c.toLowerCase().replace(/\s+/g,`-`),elements:[],settings:{backgroundColor:`#f5f5f7`,padding:32}},u=ka(r,i,`Add page "${c}"`);return e({activeProject:{...r,pages:[...r.pages,l],updatedAt:new Date().toISOString()},activePageId:o,selectedElementIds:[],past:[u,...a.slice(0,39)],future:[]}),t().saveCurrentProject(),o},deletePage:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r||r.pages.length<=1)return;let o=ka(r,i,`Delete page "${r.pages.find(e=>e.id===n)?.name||`Page`}"`),s=r.pages.filter(e=>e.id!==n),c=i===n?s[0].id:i;e({activeProject:{...r,pages:s,updatedAt:new Date().toISOString()},activePageId:c,selectedElementIds:[],past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},duplicatePage:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)return;let o=r.pages.find(e=>e.id===n);if(!o)return;let s=k(`page`),c=o.elements.map(e=>({...e,id:k(`elem`)})),l={...JSON.parse(JSON.stringify(o)),id:s,name:`${o.name} (Copy)`,slug:`${o.slug}-copy`,elements:c},u=ka(r,i,`Duplicate page "${o.name}"`);e({activeProject:{...r,pages:[...r.pages,l],updatedAt:new Date().toISOString()},activePageId:s,selectedElementIds:[],past:[u,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},renamePage:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=i.pages.map(e=>e.id===n?{...e,name:r,slug:r.toLowerCase().replace(/\s+/g,`-`)}:e);e({activeProject:{...i,pages:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},updatePageSettings:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=i.pages.map(e=>e.id===n?{...e,settings:{...e.settings||{},...r}}:e);e({activeProject:{...i,pages:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},selectElement:(n,r=!1)=>{if(!n){e({selectedElementIds:[]});return}if(r){let{selectedElementIds:r}=t();r.includes(n)?e({selectedElementIds:r.filter(e=>e!==n)}):e({selectedElementIds:[...r,n]})}else e({selectedElementIds:[n]})},selectElements:t=>{e({selectedElementIds:t})},selectAllElements:()=>{let{activeProject:n,activePageId:r}=t();if(!n)return;let i=n.pages.find(e=>e.id===r);i&&e({selectedElementIds:i.elements.map(e=>e.id)})},setHoveredElement:t=>{e({hoveredElementId:t})},addElement:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)throw Error(`No active project`);let o=i&&r.pages.some(e=>e.id===i)?i:r.pages[0]?.id;if(!o)throw Error(`No active page`);let s=r.pages.find(e=>e.id===o).elements?.length||0,c={id:n.id||k(`elem`),type:n.type,name:n.name||`New Element`,x:n.x??100,y:n.y??100,width:n.width??200,height:n.height??50,rotation:n.rotation??0,zIndex:n.zIndex??s+1,styles:n.styles||{},content:n.content||{},responsive:n.responsive,animations:n.animations,interactions:n.interactions},l=ka(r,o,`Add ${c.name}`),u=r.pages.map(e=>e.id===o?{...e,elements:[...e.elements||[],c]}:e);return e({activeProject:{...r,pages:u,updatedAt:new Date().toISOString()},activePageId:o,selectedElementIds:[c.id],past:[l,...a.slice(0,39)],future:[]}),t().saveCurrentProject(),c},updateElement:(n,r,i=!1)=>{let{activeProject:a,activePageId:o,past:s}=t();if(!a)return;let c=null;i&&(c=ka(a,o,`Update Element`));let l=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>e.id===n?{...e,...r}:e)}:e);e({activeProject:{...a,pages:l,...i?{updatedAt:new Date().toISOString()}:{}},...c?{past:[c,...s.slice(0,39)],future:[]}:{}}),t().saveCurrentProject()},updateElementStyles:(n,r,i=!1)=>{let{activeProject:a,activePageId:o,past:s}=t();if(!a)return;let c=null;i&&(c=ka(a,o,`Update Styles`));let l=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>e.id===n?{...e,styles:{...e.styles,...r}}:e)}:e);e({activeProject:{...a,pages:l,updatedAt:new Date().toISOString()},...c?{past:[c,...s.slice(0,39)],future:[]}:{}}),t().saveCurrentProject()},updateElementContent:(n,r,i=!1)=>{let{activeProject:a,activePageId:o,past:s}=t();if(!a)return;let c=null;i&&(c=ka(a,o,`Update Content`));let l=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>e.id===n?{...e,content:{...e.content,...r}}:e)}:e);e({activeProject:{...a,pages:l,updatedAt:new Date().toISOString()},...c?{past:[c,...s.slice(0,39)],future:[]}:{}}),t().saveCurrentProject()},nudgeSelectedElements:(n,r)=>{let{activeProject:i,activePageId:a,selectedElementIds:o,past:s}=t();if(!i||o.length===0)return;let c=ka(i,a,`Move Elements`),l=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>o.includes(e.id)?{...e,x:e.x+n,y:e.y+r}:e)}:e);e({activeProject:{...i,pages:l,updatedAt:new Date().toISOString()},past:[c,...s.slice(0,39)],future:[]}),t().saveCurrentProject()},deleteSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Delete ${i.length} element(s)`),s=n.pages.map(e=>e.id===r?{...e,elements:e.elements.filter(e=>!i.includes(e.id))}:e);e({activeProject:{...n,pages:s,updatedAt:new Date().toISOString()},selectedElementIds:[],hoveredElementId:null,past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},deleteElement:n=>{let{activeProject:r,activePageId:i,selectedElementIds:a,past:o}=t();if(!r)return;let s=ka(r,i,`Delete Element`),c=r.pages.map(e=>e.id===i?{...e,elements:e.elements.filter(e=>e.id!==n)}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()},selectedElementIds:a.filter(e=>e!==n),past:[s,...o.slice(0,39)],future:[]}),t().saveCurrentProject()},deleteElements:n=>{let{activeProject:r,activePageId:i,selectedElementIds:a,past:o}=t();if(!r||n.length===0)return;let s=ka(r,i,`Delete ${n.length} Element(s)`),c=r.pages.map(e=>e.id===i?{...e,elements:e.elements.filter(e=>!n.includes(e.id))}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()},selectedElementIds:a.filter(e=>!n.includes(e)),past:[s,...o.slice(0,39)],future:[]}),t().saveCurrentProject()},duplicateSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=n.pages.find(e=>e.id===r);if(!o)return;let s=ka(n,r,`Duplicate element(s)`),c=o.elements.filter(e=>i.includes(e.id)).map(e=>({...JSON.parse(JSON.stringify(e)),id:k(`elem`),name:`${e.name} Copy`,x:e.x+24,y:e.y+24,zIndex:e.zIndex+1})),l=n.pages.map(e=>e.id===r?{...e,elements:[...e.elements,...c]}:e);e({activeProject:{...n,pages:l,updatedAt:new Date().toISOString()},selectedElementIds:c.map(e=>e.id),past:[s,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},copySelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i}=t();if(!n||i.length===0)return;let a=n.pages.find(e=>e.id===r);if(!a)return;let o=a.elements.filter(e=>i.includes(e.id));e({clipboard:JSON.parse(JSON.stringify(o))})},pasteElements:()=>{let{activeProject:n,activePageId:r,clipboard:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Paste ${i.length} element(s)`),s=i.map(e=>({...JSON.parse(JSON.stringify(e)),id:k(`elem`),x:e.x+24,y:e.y+24,zIndex:e.zIndex+1})),c=n.pages.map(e=>e.id===r?{...e,elements:[...e.elements,...s]}:e);e({activeProject:{...n,pages:c,updatedAt:new Date().toISOString()},selectedElementIds:s.map(e=>e.id),clipboard:s,past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},groupSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length<=1)return;let o=n.pages.find(e=>e.id===r);if(!o)return;let s=o.elements.filter(e=>i.includes(e.id)),c=Ca(s),l=k(`elem`),u={id:l,type:`container`,name:`Group Container`,x:Math.max(0,c.x-16),y:Math.max(0,c.y-16),width:c.width+32,height:c.height+32,rotation:0,zIndex:Math.max(0,Math.min(...s.map(e=>e.zIndex))-1),children:s.map(e=>e.id),styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`},content:{title:`Grouped Items`}},d=ka(n,r,`Group Elements`),f=o.elements.map(e=>i.includes(e.id)?{...e,parentId:l}:e),p=n.pages.map(e=>e.id===r?{...e,elements:[u,...f]}:e);e({activeProject:{...n,pages:p,updatedAt:new Date().toISOString()},selectedElementIds:[l],past:[d,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},ungroupSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=n.pages.find(e=>e.id===r);if(!o)return;let s=o.elements.filter(e=>i.includes(e.id)&&e.type===`container`&&e.children&&e.children.length>0);if(s.length===0)return;let c=ka(n,r,`Ungroup Elements`),l=s.map(e=>e.id),u=[],d=o.elements.filter(e=>!l.includes(e.id)).map(e=>e.parentId&&l.includes(e.parentId)?(u.push(e.id),{...e,parentId:null}):e),f=n.pages.map(e=>e.id===r?{...e,elements:d}:e);e({activeProject:{...n,pages:f,updatedAt:new Date().toISOString()},selectedElementIds:u,past:[c,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},bringForward:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=o.elements.find(e=>e.id===n);if(!s)return;let c=[...o.elements].filter(e=>e.zIndex>s.zIndex).sort((e,t)=>e.zIndex-t.zIndex)[0],l=[...o.elements];l=c?l.map(e=>e.id===s.id?{...e,zIndex:c.zIndex}:e.id===c.id?{...e,zIndex:s.zIndex}:e):l.map(e=>e.id===s.id?{...e,zIndex:s.zIndex+1}:e);let u=r.pages.map(e=>e.id===i?{...e,elements:l}:e);e({activeProject:{...r,pages:u,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},sendBackward:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=o.elements.find(e=>e.id===n);if(!s)return;let c=[...o.elements].filter(e=>e.zIndex<s.zIndex).sort((e,t)=>t.zIndex-e.zIndex)[0],l=[...o.elements];l=c?l.map(e=>e.id===s.id?{...e,zIndex:c.zIndex}:e.id===c.id?{...e,zIndex:s.zIndex}:e):l.map(e=>e.id===s.id?{...e,zIndex:Math.max(0,s.zIndex-1)}:e);let u=r.pages.map(e=>e.id===i?{...e,elements:l}:e);e({activeProject:{...r,pages:u,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},bringToFront:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=Math.max(...o.elements.map(e=>e.zIndex),0),c=r.pages.map(e=>e.id===i?{...e,elements:e.elements.map(e=>e.id===n?{...e,zIndex:s+1}:e)}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},sendToBack:n=>{let{activeProject:r,activePageId:i,pushSnapshot:a}=t();if(!r)return;a(`Reorder layers`);let o=r.pages.find(e=>e.id===i);if(!o)return;let s=[...o.elements].sort((e,t)=>e.zIndex-t.zIndex).map(e=>e.id===n?{...e,zIndex:0}:e);s=s.sort((e,t)=>e.zIndex===t.zIndex?e.id===n?-1:1:e.zIndex-t.zIndex).map((e,t)=>({...e,zIndex:e.id===n?0:t+1}));let c=r.pages.map(e=>e.id===i?{...e,elements:s}:e);e({activeProject:{...r,pages:c,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},toggleLockSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Toggle Lock`),s=n.pages.map(e=>e.id===r?{...e,elements:e.elements.map(e=>i.includes(e.id)?{...e,locked:!e.locked}:e)}:e);e({activeProject:{...n,pages:s,updatedAt:new Date().toISOString()},past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},toggleHideSelectedElements:()=>{let{activeProject:n,activePageId:r,selectedElementIds:i,past:a}=t();if(!n||i.length===0)return;let o=ka(n,r,`Toggle Visibility`),s=n.pages.map(e=>e.id===r?{...e,elements:e.elements.map(e=>i.includes(e.id)?{...e,hidden:!e.hidden}:e)}:e);e({activeProject:{...n,pages:s,updatedAt:new Date().toISOString()},past:[o,...a.slice(0,39)],future:[]}),t().saveCurrentProject()},alignSelectedElements:n=>{let{activeProject:r,activePageId:i,selectedElementIds:a,past:o}=t();if(!r||a.length===0)return;let s=r.pages.find(e=>e.id===i);if(!s)return;let c=s.elements.filter(e=>a.includes(e.id));if(c.length===0)return;let l=di[j.getState().viewportMode]||di.desktop,u=Da(c,n,l.width,l.height),d=new Map(u.map(e=>[e.id,e])),f=ka(r,i,`Align ${n}`),p=r.pages.map(e=>e.id===i?{...e,elements:e.elements.map(e=>{let t=d.get(e.id);return t?{...e,x:t.x,y:t.y}:e})}:e);e({activeProject:{...r,pages:p,updatedAt:new Date().toISOString()},past:[f,...o.slice(0,39)],future:[]}),t().saveCurrentProject()},cutSelectedElements:()=>{t().copySelectedElements(),t().deleteSelectedElements()},updateDesignTokens:n=>{let{activeProject:r}=t();if(!r)return;let i=r.designSystem||Zr,a={colors:{...i.colors,...n.colors||{}},typography:{...i.typography,...n.typography||{}},radius:{...i.radius,...n.radius||{}},shadows:{...i.shadows,...n.shadows||{}},spacing:{...i.spacing,...n.spacing||{}}};e({activeProject:{...r,designSystem:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},applyThemePreset:n=>{let{activeProject:r}=t();if(!r)return;let i=Jr.find(e=>e.id===n);if(!i)return;t().pushSnapshot(`Apply Theme: ${i.name}`),i.tokens.mode;let a=i.tokens.colors.primary,o=i.tokens.colors.surface,s=i.tokens.colors.text,c=i.tokens.colors.border,l=r.pages.map(e=>({...e,settings:{...e.settings,backgroundColor:i.tokens.colors.background},elements:e.elements.map(e=>{let t=e.type===`button`||e.type===`submitButton`;return{...e,styles:{...e.styles,backgroundColor:t?a:o,textColor:t?`#ffffff`:s,borderColor:c}}})}));e({activeProject:{...r,designSystem:i.tokens,pages:l,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},createMasterComponent:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return null;let o=i.pages.find(e=>e.id===a);if(!o)return null;let s=o.elements.find(e=>e.id===n);if(!s)return null;let c=k(`comp`),l=r||`${s.name} (Component)`,u={id:c,name:l,templateElement:JSON.parse(JSON.stringify(s)),createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},d=i.components||[],f=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,name:l,isComponentInstance:!0,masterComponentId:c}:e)}:e);return e({activeProject:{...i,components:[...d,u],pages:f,updatedAt:new Date().toISOString()}}),t().saveCurrentProject(),u},detachComponentInstance:n=>{let{activeProject:r,activePageId:i}=t();if(!r)return;let a=r.pages.map(e=>e.id===i?{...e,elements:e.elements.map(e=>{if(e.id===n){let t={...e};return delete t.isComponentInstance,delete t.masterComponentId,delete t.componentOverrides,t}return e})}:e);e({activeProject:{...r,pages:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},insertMasterComponentInstance:(n,r=60,i=60)=>{let{activeProject:a,activePageId:o}=t();if(!a)return null;let s=(a.components||[]).find(e=>e.id===n);if(!s)return null;let c=k(`elem`),l={...JSON.parse(JSON.stringify(s.templateElement)),id:c,name:s.name,x:r,y:i,isComponentInstance:!0,masterComponentId:s.id,zIndex:10};t().pushSnapshot(`Insert ${s.name}`);let u=a.pages.map(e=>e.id===o?{...e,elements:[...e.elements,l]}:e);return e({activeProject:{...a,pages:u,updatedAt:new Date().toISOString()},selectedElementIds:[c]}),t().saveCurrentProject(),l},pushSnapshot:n=>{let{activeProject:r,activePageId:i,past:a}=t();r&&e({past:[ka(r,i,n),...a.slice(0,39)],future:[]})},undo:()=>{let{past:n,future:r,activeProject:i,activePageId:a}=t();if(n.length===0||!i)return;let[o,...s]=n,c=ka(i,a,`Current state before undo`);e({activeProject:{...i,pages:o.pages,designSystem:o.designSystem||i.designSystem,components:o.components||i.components,variables:o.variables||i.variables,dataSources:o.dataSources||i.dataSources,updatedAt:new Date().toISOString()},activePageId:o.activePageId||a,selectedElementIds:[],past:s,future:[c,...r]}),t().saveCurrentProject()},redo:()=>{let{past:n,future:r,activeProject:i,activePageId:a}=t();if(r.length===0||!i)return;let[o,...s]=r,c=ka(i,a,`Current state before redo`);e({activeProject:{...i,pages:o.pages,designSystem:o.designSystem||i.designSystem,components:o.components||i.components,variables:o.variables||i.variables,dataSources:o.dataSources||i.dataSources,updatedAt:new Date().toISOString()},activePageId:o.activePageId||a,selectedElementIds:[],past:[c,...n],future:s}),t().saveCurrentProject()},restoreSnapshot:n=>{let{activeProject:r,activePageId:i,past:a}=t();if(!r)return;let o=ka(r,i,`State before history rollback`);e({activeProject:{...r,pages:n.pages,designSystem:n.designSystem||r.designSystem,components:n.components||r.components,variables:n.variables||r.variables,dataSources:n.dataSources||r.dataSources,updatedAt:new Date().toISOString()},activePageId:n.activePageId||i,selectedElementIds:[],past:[o,...a],future:[]}),t().saveCurrentProject()},addVariable:n=>{let{activeProject:r}=t();if(!r)throw Error(`No active project`);let i={id:k(`var`),name:n.name||`variable_${Date.now().toString(36)}`,type:n.type||`text`,defaultValue:n.defaultValue??``,sampleValue:n.sampleValue??n.defaultValue??``,description:n.description||``,category:n.category||`general`},a=[...r.variables||[],i];return e({activeProject:{...r,variables:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject(),i},updateVariable:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=(i.variables||[]).map(e=>e.id===n?{...e,...r}:e);e({activeProject:{...i,variables:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},deleteVariable:n=>{let{activeProject:r}=t();if(!r)return;let i=(r.variables||[]).filter(e=>e.id!==n);e({activeProject:{...r,variables:i,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setVariableValue:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=(i.variables||[]).map(e=>e.name===n?{...e,sampleValue:r,defaultValue:r}:e);e({activeProject:{...i,variables:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},loadSampleVariables:n=>{let{activeProject:r}=t();if(!r)return;let i=ya(n),a=r.variables||[],o=new Set(a.map(e=>e.name)),s=[...a];for(let e of i)o.has(e.name)||s.push(e);e({activeProject:{...r,variables:s,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},toggleUseSampleData:()=>{let{activeProject:n}=t();n&&(e({activeProject:{...n,useSampleData:!(n.useSampleData??!0),updatedAt:new Date().toISOString()}}),t().saveCurrentProject())},bindElementProperty:(n,r,i)=>{let{activeProject:a,activePageId:o}=t();if(!a)return;let s=a.pages.map(e=>e.id===o?{...e,elements:e.elements.map(e=>{if(e.id===n){let t={...e.bindings||{}};return i?t[r]=i:delete t[r],{...e,bindings:t}}return e})}:e);e({activeProject:{...a,pages:s,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setElementCollectionBinding:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return;let o=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,collectionBinding:r||void 0}:e)}:e);e({activeProject:{...i,pages:o,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setElementFormConfig:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return;let o=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,formConfig:r||void 0}:e)}:e);e({activeProject:{...i,pages:o,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},setElementValidationRules:(n,r)=>{let{activeProject:i,activePageId:a}=t();if(!i)return;let o=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,validationRules:r}:e)}:e);e({activeProject:{...i,pages:o,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},addDataSource:n=>{let{activeProject:r}=t();if(!r)throw Error(`No active project`);let i={id:k(`ds`),name:n.name||`New Data Source`,type:n.type||`rest`,baseUrl:n.baseUrl||`https://api.example.com`,authType:n.authType||`none`,isSecret:n.isSecret||!1,endpoints:n.endpoints||[]},a=[...r.dataSources||[],i];return e({activeProject:{...r,dataSources:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject(),i},updateDataSource:(n,r)=>{let{activeProject:i}=t();if(!i)return;let a=(i.dataSources||[]).map(e=>e.id===n?{...e,...r}:e);e({activeProject:{...i,dataSources:a,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},deleteDataSource:n=>{let{activeProject:r}=t();if(!r)return;let i=(r.dataSources||[]).filter(e=>e.id!==n);e({activeProject:{...r,dataSources:i,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},applyCollabOperation:n=>{let{activeProject:r}=t();if(r)switch(n.type){case`add_element`:{let{pageId:t,element:i}=n.payload,a=r.pages.map(e=>e.id===t?{...e,elements:[...e.elements,i]}:e);e({activeProject:{...r,pages:a,updatedAt:new Date().toISOString()}});break}case`update_element`:{let{pageId:t,elementId:i,updates:a}=n.payload,o=r.pages.map(e=>e.id===t?{...e,elements:e.elements.map(e=>e.id===i?{...e,...a}:e)}:e);e({activeProject:{...r,pages:o,updatedAt:new Date().toISOString()}});break}case`delete_element`:{let{pageId:t,elementId:i}=n.payload,a=r.pages.map(e=>e.id===t?{...e,elements:e.elements.filter(e=>e.id!==i)}:e);e({activeProject:{...r,pages:a,updatedAt:new Date().toISOString()}});break}case`move_element`:{let{pageId:t,elementId:i,x:a,y:o}=n.payload,s=r.pages.map(e=>e.id===t?{...e,elements:e.elements.map(e=>e.id===i?{...e,x:a,y:o}:e)}:e);e({activeProject:{...r,pages:s,updatedAt:new Date().toISOString()}});break}case`update_design_tokens`:e({activeProject:{...r,designSystem:{...r.designSystem,...n.payload.tokens},updatedAt:new Date().toISOString()}})}},setElementAccessibility:(n,r)=>{let{activeProject:i,activePageId:a,pushSnapshot:o}=t();if(!i)return;o(`Update accessibility properties`);let s=i.pages.map(e=>e.id===a?{...e,elements:e.elements.map(e=>e.id===n?{...e,accessibility:{...e.accessibility||{},...r}}:e)}:e);e({activeProject:{...i,pages:s,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()},applyAccessibilityFixes:(n,r=`AI Accessibility Fixes`)=>{let{pushSnapshot:i}=t();i(r),e({activeProject:{...n,updatedAt:new Date().toISOString()}}),t().saveCurrentProject()}})),ja=[{id:`gemini`,name:`Google Gemini`,badge:`Gemini Auto-Detected`,defaultModel:`gemini-2.0-flash`,keyPlaceholder:`AIzaSy...`,keyUrl:`https://aistudio.google.com/app/apikey`},{id:`groq`,name:`Groq Cloud`,badge:`Llama 3.3 70B`,defaultModel:`llama-3.3-70b-versatile`,keyPlaceholder:`gsk_...`,keyUrl:`https://console.groq.com/keys`},{id:`openai`,name:`OpenAI GPT`,badge:`GPT-4o`,defaultModel:`gpt-4o`,keyPlaceholder:`sk-proj-...`,keyUrl:`https://platform.openai.com/api-keys`},{id:`anthropic`,name:`Anthropic Claude`,badge:`Claude 3.5 Sonnet`,defaultModel:`claude-3-5-sonnet-20241022`,keyPlaceholder:`sk-ant-...`,keyUrl:`https://console.anthropic.com/settings/keys`},{id:`deepseek`,name:`DeepSeek`,badge:`DeepSeek V3 / R1`,defaultModel:`deepseek-chat`,keyPlaceholder:`sk-...`,keyUrl:`https://platform.deepseek.com/api_keys`},{id:`grok`,name:`xAI Grok`,badge:`Grok 2`,defaultModel:`grok-beta`,keyPlaceholder:`xai-...`,keyUrl:`https://console.x.ai/`},{id:`perplexity`,name:`Perplexity AI`,badge:`Sonar`,defaultModel:`sonar`,keyPlaceholder:`pplx-...`,keyUrl:`https://www.perplexity.ai/settings/api`},{id:`ollama`,name:`Local Ollama`,badge:`Llama 3.1 / DeepSeek`,defaultModel:`llama3.1`,keyPlaceholder:`http://localhost:11434 (No key needed)`,keyUrl:`https://ollama.com`}];function Ma(e){let t=(e||``).trim();return t.startsWith(`gsk_`)?`groq`:t.startsWith(`AIzaSy`)?`gemini`:t.startsWith(`sk-ant-`)?`anthropic`:t.startsWith(`pplx-`)?`perplexity`:t.startsWith(`xai-`)?`grok`:t.startsWith(`sk-proj-`)||t.startsWith(`sk-admin-`)||t.startsWith(`sk-`)?`openai`:`gemini`}function Na(e,t){if(!e||!e.trim())throw Error(`AI returned an empty response. Please try again.`);let n=e.replace(/^```json\s*/im,``).replace(/^```\s*/im,``).replace(/```\s*$/im,``).trim(),r=n.indexOf(`{`),i=n.lastIndexOf(`}`);r!==-1&&i!==-1&&i>r&&(n=n.substring(r,i+1)),n=n.replace(/,\s*([\]}])/g,`$1`);try{let e=JSON.parse(n);if(e&&(e.elements||Array.isArray(e)))return e}catch(e){throw Error(`AI JSON parse error: ${e.message}. Please prompt again.`)}throw Error(`AI output did not contain valid elements array.`)}async function Pa(e,t){let n=e.trim(),r=[`models/gemini-2.0-flash`,`models/gemini-1.5-flash-latest`,`models/gemini-1.5-flash`];try{let e=await fetch(`https://generativelanguage.googleapis.com/v1beta/models?key=${encodeURIComponent(n)}`,{signal:AbortSignal.timeout(5e3)});if(e.ok){let t=await e.json();if(Array.isArray(t.models)){let e=t.models.filter(e=>!e.supportedGenerationMethods||e.supportedGenerationMethods.includes(`generateContent`)).map(e=>e.name);e.length>0&&(r=e)}}}catch{}let i=``;for(let e of r)try{let r=`https://generativelanguage.googleapis.com/v1beta/${e}:generateContent?key=${encodeURIComponent(n)}`,a=await fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`},signal:AbortSignal.timeout(25e3),body:JSON.stringify({contents:[{role:`user`,parts:[{text:t}]}],generationConfig:{responseMimeType:`application/json`,temperature:.8,maxOutputTokens:8192}})}),o=await a.json();if(a.ok&&o.candidates?.[0]?.content?.parts?.[0]?.text)return o.candidates[0].content.parts[0].text;o.error?.message&&(i=o.error.message)}catch(e){i=e.message}throw Error(i||`Gemini API call failed.`)}async function Fa(e,t,n,r){let i=(n||``).trim();if(t!==`ollama`&&i.length<6)throw Error(`Please enter your valid API Key.`);let a=Ma(i)||t,o=ja.find(e=>e.id===a)||ja[0];r&&r(`Synthesizing UI with ${o.name}...`);let s=`You are a master UI/UX designer and design system architect.
3
3
  Create a visually stunning, world-class interface design tailored uniquely to this user prompt:
4
4
 
5
5
  "${e}"
@@ -52,7 +52,7 @@ OUTPUT SCHEMA (Return ONLY valid JSON):
52
52
  }
53
53
  }
54
54
  ]
55
- }`;r&&r(`Designing interface for "${e.slice(0,25)}"...`);let c=``;if(a===`gemini`)c=await Pa(i,s);else if(a===`groq`){let e=await fetch(`https://api.groq.com/openai/v1/chat/completions`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${i}`},signal:AbortSignal.timeout(25e3),body:JSON.stringify({model:`llama-3.3-70b-versatile`,temperature:.8,messages:[{role:`user`,content:s}],response_format:{type:`json_object`}})}),t=await e.json();if(!e.ok)throw Error(t?.error?.message||`Groq API call failed`);c=t.choices?.[0]?.message?.content||``}else if(a===`openai`){let e=await fetch(`https://api.openai.com/v1/chat/completions`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${i}`},signal:AbortSignal.timeout(25e3),body:JSON.stringify({model:`gpt-4o`,temperature:.8,messages:[{role:`user`,content:s}],response_format:{type:`json_object`}})}),t=await e.json();if(!e.ok)throw Error(t?.error?.message||`OpenAI API call failed`);c=t.choices?.[0]?.message?.content||``}if(!c)throw Error(`${o.name} did not return a response.`);r&&r(`Translating layout onto canvas...`);let l=Na(c,e),u=Array.isArray(l)?l:l.elements||[];if(!Array.isArray(u)||u.length===0)throw Error(`AI returned an empty element list. Please try a more detailed prompt.`);let d=Date.now(),f=u.map((e,t)=>({id:`el_ai_${d}_${t}`,name:e.name||`Component ${t+1}`,type:e.type||`card`,x:typeof e.x==`number`?e.x:20,y:typeof e.y==`number`?e.y:20+t*160,width:typeof e.width==`number`?e.width:t===0?1160:366,height:typeof e.height==`number`?e.height:200,rotation:e.rotation||0,zIndex:t+1,locked:!1,hidden:!1,styles:{backgroundColor:e.styles?.backgroundColor||(l.theme===`dark`?`#111113`:`#ffffff`),textColor:e.styles?.textColor||(l.theme===`dark`?`#f5f5f7`:`#1d1d1f`),borderRadius:e.styles?.borderRadius===void 0?14:e.styles.borderRadius,borderWidth:e.styles?.borderWidth===void 0?1:e.styles.borderWidth,borderColor:e.styles?.borderColor||(l.theme===`dark`?`#27272a`:`#e5e5ea`),padding:e.styles?.padding===void 0?20:e.styles.padding,fontSize:e.styles?.fontSize,fontWeight:e.styles?.fontWeight,backgroundGradient:e.styles?.backgroundGradient,boxShadow:e.styles?.boxShadow,...e.styles},content:{title:e.content?.title||e.name,subtitle:e.content?.subtitle||``,text:e.content?.text||e.content?.title||``,label:e.content?.label||e.content?.buttonText||`Action`,brandName:e.content?.brandName||`Brand`,links:e.content?.links,buttonText:e.content?.buttonText,icon:e.content?.icon||`Sparkles`,price:e.content?.price,value:e.content?.value,trend:e.content?.trend,...e.content}}));return{title:l.title||e.slice(0,30),theme:l.theme||`dark`,elements:f}}var P=`C:/Users/Shadow/Desktop/cyrus/src/editor/sidebar/AIPromptPanel.tsx`,Ia=[`Modern dark SaaS landing page with hero, metric cards, features, and pricing`,`Crypto exchange dashboard with balance, live charts, and buy/sell actions`,`Real estate rental app with search bar, property cards, and reviews`,`Fitness tracking app with daily goals, workout stats, and calories progress`,`E-commerce store with product cards, discount banner, and footer`];function La(){let{activeProject:e,activePageId:t,setProject:n,pushSnapshot:r,undo:i}=N(),{ai:a,updateAI:o}=ui(),{addToast:s}=Br(),{resetZoom:c,setActiveSidebarTab:l}=j(),[u,d]=(0,A.useState)(``),[f,p]=(0,A.useState)(!1),[m,h]=(0,A.useState)(!1),[g,_]=(0,A.useState)(`gemini`),[v,y]=(0,A.useState)(``),[b,S]=(0,A.useState)(`replace`),[C,w]=(0,A.useState)(!1),[ee,te]=(0,A.useState)(``),[T,ne]=(0,A.useState)([]),[E,re]=(0,A.useState)([`Generated full SaaS landing page layout`,`Applied system typography & 8px spacing grid`]);(0,A.useEffect)(()=>{let e=localStorage.getItem(`cyrus_active_ai_key`)||localStorage.getItem(`cyrus_gemini_api_key`)||localStorage.getItem(`gemini_api_key`)||localStorage.getItem(`cyrus_groq_api_key`)||a.apiKey||``;if(e&&e.trim().length>=6){let t=e.trim();d(t),_(Ma(t)),h(!0)}else d(``),h(!1)},[]);let ie=e=>{e.preventDefault();let t=u.trim();if(!t||t.length<6){s(`Please enter your complete API key.`,`error`);return}let n=Ma(t);_(n),localStorage.setItem(`cyrus_active_ai_key`,t),localStorage.setItem(`cyrus_${n}_api_key`,t),n===`gemini`&&localStorage.setItem(`gemini_api_key`,t),o({apiKey:t,provider:n}),h(!0);let r=ja.find(e=>e.id===n)?.name||`AI`;s(`✨ ${r} Key saved & AI Magic unlocked!`,`success`)},ae=()=>{localStorage.removeItem(`cyrus_active_ai_key`),localStorage.removeItem(`cyrus_gemini_api_key`),localStorage.removeItem(`gemini_api_key`),localStorage.removeItem(`cyrus_groq_api_key`),o({apiKey:``}),d(``),h(!1),s(`API key removed.`,`info`)},oe=async i=>{let a=(i||v).trim();if(!a||!e)return;let o=u.trim();if(!o){s(`Please enter and unlock your API key first.`,`error`);return}let l=ja.find(e=>e.id===g)||ja[0];w(!0),ne([]),te(`Connecting to ${l.name}...`),r(`AI Magic: ${a.slice(0,25)}`);try{let r=await Fa(a,g,o,e=>{te(e),ne(t=>Array.from(new Set([...t,e])))}),i=e.pages.find(e=>e.id===t)||e.pages[0],u=b===`replace`?r.elements:[...i.elements||[],...r.elements],d=e.pages.map(e=>e.id===i.id?{...e,name:r.title||e.name,elements:u}:e);n({...e,pages:d,updatedAt:new Date().toISOString()}),te(``),re(e=>[a,...e.slice(0,4)]),y(``),setTimeout(()=>c(),150),s(`✨ Generated ${r.elements.length} components with ${l.name}!`,`success`)}catch(e){s(e?.message||`AI Generation failed. Please check your API key.`,`error`)}finally{w(!1)}},se=ja.find(e=>e.id===g)||ja[0];return(0,M.jsxDEV)(`div`,{className:`flex flex-col h-full bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] select-none text-[12.5px]`,children:[(0,M.jsxDEV)(`div`,{className:`h-12 px-4 border-b border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center justify-between shrink-0`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[13px] text-[#1d1d1f] dark:text-white`,children:`AI Magic Studio`},void 0,!1,{fileName:P,lineNumber:176,columnNumber:9},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>l(null),className:`text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white transition-colors p-1 rounded-md cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:184,columnNumber:11},this)},void 0,!1,{fileName:P,lineNumber:179,columnNumber:9},this)]},void 0,!0,{fileName:P,lineNumber:175,columnNumber:7},this),m?(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-4 space-y-4 no-scrollbar`,children:[(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#f8f8fa] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`w-2 h-2 rounded-full bg-emerald-500 animate-pulse`},void 0,!1,{fileName:P,lineNumber:261,columnNumber:15},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`font-bold text-[11.5px] text-[#1d1d1f] dark:text-white`,children:[se.name,` Active`]},void 0,!0,{fileName:P,lineNumber:263,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`text-[10px] text-[#86868b]`,children:se.badge},void 0,!1,{fileName:P,lineNumber:266,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:262,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:260,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:ae,className:`text-[11px] text-[#86868b] hover:text-rose-500 transition-colors cursor-pointer flex items-center gap-1`,children:[(0,M.jsxDEV)(x,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:274,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Change Key`},void 0,!1,{fileName:P,lineNumber:275,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:269,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:259,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[11px] font-bold text-[#86868b] uppercase tracking-wider`,children:`Canvas Placement`},void 0,!1,{fileName:P,lineNumber:281,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1 bg-[#f4f4f6] dark:bg-[#2c2c2e] p-0.5 rounded-lg border border-[#e5e5ea] dark:border-[#38383a]`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`replace`),className:O(`px-2 py-1 rounded-md text-[11px] font-semibold transition-all cursor-pointer`,b===`replace`?`bg-white dark:bg-[#1c1c1e] text-[#7d2ae8] shadow-2xs font-bold`:`text-[#86868b] hover:text-white`),children:`Fill Canvas`},void 0,!1,{fileName:P,lineNumber:285,columnNumber:15},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`append`),className:O(`px-2 py-1 rounded-md text-[11px] font-semibold transition-all cursor-pointer`,b===`append`?`bg-white dark:bg-[#1c1c1e] text-[#7d2ae8] shadow-2xs font-bold`:`text-[#86868b] hover:text-white`),children:`Append`},void 0,!1,{fileName:P,lineNumber:297,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:284,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:280,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(`textarea`,{value:v,onChange:e=>y(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),oe())},placeholder:`Describe what you want to build on the canvas...`,rows:4,disabled:C,className:`w-full p-3 bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] text-[12.5px] rounded-xl border border-transparent focus:border-[#7d2ae8] focus:bg-white dark:focus:bg-[#1c1c1e] outline-none resize-none transition-all`},void 0,!1,{fileName:P,lineNumber:314,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>oe(),disabled:!v.trim()||C,className:`w-full mt-2 h-9 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] text-white disabled:opacity-30 font-bold text-[12px] transition-all cursor-pointer shadow-xs flex items-center justify-center gap-1.5 active:scale-98`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:P,lineNumber:334,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Generate on Canvas`},void 0,!1,{fileName:P,lineNumber:335,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:329,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:313,columnNumber:11},this),C&&(0,M.jsxDEV)(`div`,{className:`p-3 bg-[#7d2ae8]/10 border border-[#7d2ae8]/20 rounded-xl animate-in fade-in duration-150`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(ur,{className:`w-4 h-4 text-[#7d2ae8] dark:text-[#9d52ff] animate-spin`},void 0,!1,{fileName:P,lineNumber:344,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f] dark:text-[#f5f5f7] text-[12px]`,children:ee||`Generating with AI...`},void 0,!1,{fileName:P,lineNumber:345,columnNumber:19},this)]},void 0,!0,{fileName:P,lineNumber:343,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>w(!1),className:`px-2 py-0.5 text-[11px] font-medium text-[#ff3b30] hover:bg-white dark:hover:bg-[#2c2c2e] rounded transition-colors cursor-pointer`,children:`Stop`},void 0,!1,{fileName:P,lineNumber:349,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:342,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`space-y-1 pl-6`,children:T.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[11px] text-emerald-600 dark:text-emerald-400`,children:[(0,M.jsxDEV)(je,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:360,columnNumber:21},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:P,lineNumber:361,columnNumber:21},this)]},t,!0,{fileName:P,lineNumber:359,columnNumber:19},this))},void 0,!1,{fileName:P,lineNumber:357,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:341,columnNumber:13},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`span`,{className:`text-[10.5px] font-bold text-[#86868b] uppercase tracking-wider block mb-1.5`,children:`Inspiration Prompts`},void 0,!1,{fileName:P,lineNumber:370,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:Ia.map((e,t)=>(0,M.jsxDEV)(`button`,{onClick:()=>oe(e),disabled:C,className:`px-2.5 py-1.5 rounded-xl bg-[#f4f4f6] dark:bg-[#2c2c2e] hover:bg-[#ebebee] dark:hover:bg-[#3a3a3c] text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#f5f5f7] text-[11px] transition-colors text-left truncate max-w-full cursor-pointer flex items-center gap-1.5`,children:[(0,M.jsxDEV)(me,{className:`w-3 h-3 text-[#7d2ae8] shrink-0`},void 0,!1,{fileName:P,lineNumber:381,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`truncate`,children:e},void 0,!1,{fileName:P,lineNumber:382,columnNumber:19},this)]},t,!0,{fileName:P,lineNumber:375,columnNumber:17},this))},void 0,!1,{fileName:P,lineNumber:373,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:369,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`pt-2 border-t border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,M.jsxDEV)(`span`,{className:`text-[10px] font-bold text-[#86868b] uppercase tracking-wider`,children:`History`},void 0,!1,{fileName:P,lineNumber:391,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:i,className:`flex items-center gap-1 text-[11px] text-[#7d2ae8] dark:text-[#9d52ff] hover:underline cursor-pointer`,children:[(0,M.jsxDEV)(sn,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:398,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:`Undo`},void 0,!1,{fileName:P,lineNumber:399,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:394,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:390,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`space-y-1.5`,children:E.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`p-2 rounded-xl bg-[#f8f8fa] dark:bg-[#2c2c2e]/60 border border-[#e5e5ea] dark:border-[#38383a] flex items-start gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-1.5 h-1.5 rounded-full bg-[#7d2ae8] dark:bg-[#9d52ff] mt-1.5 shrink-0`},void 0,!1,{fileName:P,lineNumber:408,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#1d1d1f] dark:text-[#f5f5f7] leading-snug`,children:e},void 0,!1,{fileName:P,lineNumber:409,columnNumber:19},this)]},t,!0,{fileName:P,lineNumber:404,columnNumber:17},this))},void 0,!1,{fileName:P,lineNumber:402,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:389,columnNumber:11},this)]},void 0,!0,{fileName:P,lineNumber:257,columnNumber:9},this):(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-6 flex flex-col items-center text-center justify-center -mt-6`,children:[(0,M.jsxDEV)(`div`,{className:`w-14 h-14 rounded-2xl bg-[#f0ebff] dark:bg-[#7d2ae8]/20 flex items-center justify-center text-[#7d2ae8] dark:text-[#9d52ff] mb-4 shadow-2xs`,children:(0,M.jsxDEV)(me,{className:`w-6 h-6 fill-[#7d2ae8]/30 dark:fill-[#9d52ff]/30`},void 0,!1,{fileName:P,lineNumber:194,columnNumber:13},this)},void 0,!1,{fileName:P,lineNumber:193,columnNumber:11},this),(0,M.jsxDEV)(`h2`,{className:`font-bold text-[16px] text-[#1d1d1f] dark:text-white mb-1.5`,children:`AI Magic Studio`},void 0,!1,{fileName:P,lineNumber:197,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] dark:text-[#a1a1a6] leading-relaxed max-w-[260px] mb-6`,children:`Enter your API key to unlock Gemini AI Magic generation & auto-edits.`},void 0,!1,{fileName:P,lineNumber:200,columnNumber:11},this),(0,M.jsxDEV)(`form`,{onSubmit:ie,className:`w-full max-w-[300px] text-left`,children:[(0,M.jsxDEV)(`label`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-[#e5e5ea] flex items-center gap-1.5 mb-1.5`,children:[(0,M.jsxDEV)(Sr,{className:`w-3.5 h-3.5 text-[#7d2ae8] dark:text-[#9d52ff]`},void 0,!1,{fileName:P,lineNumber:207,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`API Key`},void 0,!1,{fileName:P,lineNumber:208,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:206,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(`input`,{type:f?`text`:`password`,value:u,onChange:e=>d(e.target.value),placeholder:`AIzaSy... or gsk_... or sk-...`,className:`w-full h-10 pl-3 pr-10 rounded-xl bg-[#edf2fe] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-white placeholder:text-[#86868b] border border-transparent focus:border-[#7d2ae8] focus:bg-white dark:focus:bg-[#1c1c1e] outline-none text-[13px] font-mono transition-all`},void 0,!1,{fileName:P,lineNumber:212,columnNumber:15},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>p(!f),className:`absolute right-3 text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white transition-colors cursor-pointer`,children:f?(0,M.jsxDEV)(At,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:224,columnNumber:28},this):(0,M.jsxDEV)(dn,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:224,columnNumber:61},this)},void 0,!1,{fileName:P,lineNumber:219,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:211,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`submit`,disabled:!u.trim(),className:`w-full h-10 mt-4 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] disabled:opacity-40 text-white font-bold text-[13px] shadow-sm transition-all cursor-pointer flex items-center justify-center gap-2 active:scale-98`,children:[(0,M.jsxDEV)(me,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:233,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Save & Unlock AI Magic`},void 0,!1,{fileName:P,lineNumber:234,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:228,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`text-center mt-5`,children:(0,M.jsxDEV)(`a`,{href:`https://aistudio.google.com/app/apikey`,target:`_blank`,rel:`noopener noreferrer`,className:`text-[#0071e3] text-[12px] hover:underline inline-flex items-center gap-1 font-medium`,children:[(0,M.jsxDEV)(`span`,{children:`Get an API key`},void 0,!1,{fileName:P,lineNumber:244,columnNumber:17},this),(0,M.jsxDEV)(Rn,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:245,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:238,columnNumber:15},this)},void 0,!1,{fileName:P,lineNumber:237,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-center gap-1.5 mt-4 text-[10.5px] text-[#86868b] text-center`,children:[(0,M.jsxDEV)(Rt,{className:`w-3 h-3 text-[#86868b] shrink-0`},void 0,!1,{fileName:P,lineNumber:250,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Your API key is stored safely in your browser local storage.`},void 0,!1,{fileName:P,lineNumber:251,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:249,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:205,columnNumber:11},this)]},void 0,!0,{fileName:P,lineNumber:191,columnNumber:9},this)]},void 0,!0,{fileName:P,lineNumber:173,columnNumber:5},this)}var Ra=`modulepreload`,za=function(e){return`/`+e},Ba={},Va=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=za(t,n),t=s(t),t in Ba)return;Ba[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Ra,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},F=`C:/Users/Shadow/Desktop/cyrus/src/pages/DashboardPage.tsx`,Ha=(0,A.lazy)(()=>Va(()=>import(`./CreateProjectDialog-BHLIiafO.js`).then(e=>({default:e.CreateProjectDialog})),__vite__mapDeps([0,1,2,3,4,5,6]))),Ua=(0,A.lazy)(()=>Va(()=>import(`./WelcomeOnboardingModal-BAqkpnG-.js`).then(e=>({default:e.WelcomeOnboardingModal})),__vite__mapDeps([7,1,2,3,4,5,6]))),Wa=(0,A.lazy)(()=>Va(()=>import(`./ImportModal-Cqy4Yhch.js`).then(e=>({default:e.ImportModal})),__vite__mapDeps([8,1,2,3,4,5,6])));function Ga(e){try{let t=new Date,n=new Date(e),r=t.getTime()-n.getTime(),i=Math.floor(r/6e4),a=Math.floor(i/60),o=Math.floor(a/24);return i<1?`Just now`:i<60?`${i}m ago`:a<24?`${a}h ago`:o===1?`Yesterday`:o<7?`${o}d ago`:n.toLocaleDateString([],{month:`short`,day:`numeric`})}catch{return`Recently`}}function Ka({onOpenProject:e,onOpenSettings:t,onOpenFeedback:n}){let[r,i]=(0,A.useState)([]),[a,o]=(0,A.useState)(``),[s,c]=(0,A.useState)(`all`),[u,d]=(0,A.useState)(`updated_desc`),[f,p]=(0,A.useState)(`grid`),[m,h]=(0,A.useState)(!1),[g,_]=(0,A.useState)(!1),[v,y]=(0,A.useState)(!1),[b,x]=(0,A.useState)(!1),[C,w]=(0,A.useState)(!1),[ee,te]=(0,A.useState)(!1),[T,ne]=(0,A.useState)(null),[E,ie]=(0,A.useState)(null),[ae,oe]=(0,A.useState)(!0),[se,ce]=(0,A.useState)(null),[le,ue]=(0,A.useState)(``),[de,fe]=(0,A.useState)(null),pe=(0,A.useRef)(null),me=(0,A.useRef)(null),{addToast:he}=Br(),{appearance:ge,updateAppearance:_e}=ui(),{session:ve}=Ri(),ye=async()=>{oe(!0);let e=await Vr();i(e),oe(!1)};(0,A.useEffect)(()=>{ye()},[]),(0,A.useEffect)(()=>{let e=e=>{pe.current&&!pe.current.contains(e.target)&&h(!1),me.current&&!me.current.contains(e.target)&&_(!1),e.target.closest(`.project-menu-container`)||ie(null)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[]);let be=(0,A.useMemo)(()=>{let e=a.toLowerCase().trim();return r.filter(t=>!e||t.name.toLowerCase().includes(e)||t.type.toLowerCase().includes(e)||t.pages.some(t=>t.name.toLowerCase().includes(e))?s===`favorites`?t.isFavorite:s===`all`||t.type===s:!1).sort((e,t)=>u===`name_asc`?e.name.localeCompare(t.name):u===`created_desc`?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime())},[r,a,s,u]),xe=async(t=`webapp`)=>{let n=t===`doc`,r=t===`resume`,i=`page_${k()}`,a=n?[{id:`el_${k()}`,type:`heading`,name:`Document Title`,x:120,y:60,width:840,height:60,rotation:0,zIndex:1,styles:{fontSize:36,fontWeight:`800`,textColor:`#1d1d1f`},content:{text:`Untitled Document`}},{id:`el_${k()}`,type:`paragraph`,name:`Document Subtitle`,x:120,y:130,width:840,height:30,rotation:0,zIndex:2,styles:{fontSize:16,fontWeight:`400`,textColor:`#86868b`},content:{text:`Start writing your document notes, article, or documentation...`}},{id:`el_${k()}`,type:`paragraph`,name:`Document Body Text`,x:120,y:180,width:840,height:450,rotation:0,zIndex:3,styles:{fontSize:15,fontWeight:`400`,textColor:`#1d1d1f`,lineHeight:1.6},content:{text:`Click anywhere on this page to start writing. Type freely, edit words directly, and use the AI writing tools for instant drafting.`}}]:r?[{id:`el_${k()}`,type:`heading`,name:`Applicant Name`,x:80,y:40,width:800,height:45,rotation:0,zIndex:1,styles:{fontSize:32,fontWeight:`800`,textColor:`#1d1d1f`,letterSpacing:`-0.02em`},content:{text:`YOUR NAME HERE`}},{id:`el_${k()}`,type:`paragraph`,name:`Contact & Portfolio Info`,x:80,y:90,width:800,height:30,rotation:0,zIndex:2,styles:{fontSize:13,fontWeight:`500`,textColor:`#6e6e73`},content:{text:`Senior Software Engineer • email@example.com • (555) 019-2834 • linkedin.com/in/yourprofile • San Francisco, CA`}},{id:`el_${k()}`,type:`heading`,name:`Summary Title`,x:80,y:140,width:800,height:25,rotation:0,zIndex:3,styles:{fontSize:14,fontWeight:`700`,textColor:`#7d2ae8`,letterSpacing:`0.08em`},content:{text:`PROFESSIONAL SUMMARY`}},{id:`el_${k()}`,type:`paragraph`,name:`Summary Text`,x:80,y:170,width:800,height:65,rotation:0,zIndex:4,styles:{fontSize:14,fontWeight:`400`,textColor:`#1d1d1f`,lineHeight:1.5},content:{text:`Results-driven Software Engineer with 6+ years of experience crafting modern web applications, scalable user interfaces, and cloud design systems. Specialized in TypeScript, React, and front-end optimization.`}},{id:`el_${k()}`,type:`heading`,name:`Experience Title`,x:80,y:250,width:800,height:25,rotation:0,zIndex:5,styles:{fontSize:14,fontWeight:`700`,textColor:`#7d2ae8`,letterSpacing:`0.08em`},content:{text:`WORK EXPERIENCE`}},{id:`el_${k()}`,type:`paragraph`,name:`Experience Content`,x:80,y:280,width:800,height:200,rotation:0,zIndex:6,styles:{fontSize:13.5,fontWeight:`400`,textColor:`#1d1d1f`,lineHeight:1.6},content:{text:`Lead Frontend Engineer — Tech Innovations Inc. (2023 - Present)
55
+ }`;r&&r(`Designing interface for "${e.slice(0,25)}"...`);let c=``;if(a===`gemini`)c=await Pa(i,s);else if(a===`groq`){let e=await fetch(`https://api.groq.com/openai/v1/chat/completions`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${i}`},signal:AbortSignal.timeout(25e3),body:JSON.stringify({model:`llama-3.3-70b-versatile`,temperature:.8,messages:[{role:`user`,content:s}],response_format:{type:`json_object`}})}),t=await e.json();if(!e.ok)throw Error(t?.error?.message||`Groq API call failed`);c=t.choices?.[0]?.message?.content||``}else if(a===`openai`){let e=await fetch(`https://api.openai.com/v1/chat/completions`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${i}`},signal:AbortSignal.timeout(25e3),body:JSON.stringify({model:`gpt-4o`,temperature:.8,messages:[{role:`user`,content:s}],response_format:{type:`json_object`}})}),t=await e.json();if(!e.ok)throw Error(t?.error?.message||`OpenAI API call failed`);c=t.choices?.[0]?.message?.content||``}if(!c)throw Error(`${o.name} did not return a response.`);r&&r(`Translating layout onto canvas...`);let l=Na(c,e),u=Array.isArray(l)?l:l.elements||[];if(!Array.isArray(u)||u.length===0)throw Error(`AI returned an empty element list. Please try a more detailed prompt.`);let d=Date.now(),f=u.map((e,t)=>({id:`el_ai_${d}_${t}`,name:e.name||`Component ${t+1}`,type:e.type||`card`,x:typeof e.x==`number`?e.x:20,y:typeof e.y==`number`?e.y:20+t*160,width:typeof e.width==`number`?e.width:t===0?1160:366,height:typeof e.height==`number`?e.height:200,rotation:e.rotation||0,zIndex:t+1,locked:!1,hidden:!1,styles:{backgroundColor:e.styles?.backgroundColor||(l.theme===`dark`?`#111113`:`#ffffff`),textColor:e.styles?.textColor||(l.theme===`dark`?`#f5f5f7`:`#1d1d1f`),borderRadius:e.styles?.borderRadius===void 0?14:e.styles.borderRadius,borderWidth:e.styles?.borderWidth===void 0?1:e.styles.borderWidth,borderColor:e.styles?.borderColor||(l.theme===`dark`?`#27272a`:`#e5e5ea`),padding:e.styles?.padding===void 0?20:e.styles.padding,fontSize:e.styles?.fontSize,fontWeight:e.styles?.fontWeight,backgroundGradient:e.styles?.backgroundGradient,boxShadow:e.styles?.boxShadow,...e.styles},content:{title:e.content?.title||e.name,subtitle:e.content?.subtitle||``,text:e.content?.text||e.content?.title||``,label:e.content?.label||e.content?.buttonText||`Action`,brandName:e.content?.brandName||`Brand`,links:e.content?.links,buttonText:e.content?.buttonText,icon:e.content?.icon||`Sparkles`,price:e.content?.price,value:e.content?.value,trend:e.content?.trend,...e.content}}));return{title:l.title||e.slice(0,30),theme:l.theme||`dark`,elements:f}}var P=`C:/Users/Shadow/Desktop/cyrus/src/editor/sidebar/AIPromptPanel.tsx`,Ia=[`Modern dark SaaS landing page with hero, metric cards, features, and pricing`,`Crypto exchange dashboard with balance, live charts, and buy/sell actions`,`Real estate rental app with search bar, property cards, and reviews`,`Fitness tracking app with daily goals, workout stats, and calories progress`,`E-commerce store with product cards, discount banner, and footer`];function La(){let{activeProject:e,activePageId:t,setProject:n,pushSnapshot:r,undo:i}=N(),{ai:a,updateAI:o}=ui(),{addToast:s}=Br(),{resetZoom:c,setActiveSidebarTab:l}=j(),[u,d]=(0,A.useState)(``),[f,p]=(0,A.useState)(!1),[m,h]=(0,A.useState)(!1),[g,_]=(0,A.useState)(`gemini`),[v,y]=(0,A.useState)(``),[b,S]=(0,A.useState)(`replace`),[C,w]=(0,A.useState)(!1),[ee,te]=(0,A.useState)(``),[T,ne]=(0,A.useState)([]),[E,re]=(0,A.useState)([`Generated full SaaS landing page layout`,`Applied system typography & 8px spacing grid`]);(0,A.useEffect)(()=>{let e=localStorage.getItem(`cyrus_active_ai_key`)||localStorage.getItem(`cyrus_gemini_api_key`)||localStorage.getItem(`gemini_api_key`)||localStorage.getItem(`cyrus_groq_api_key`)||a.apiKey||``;if(e&&e.trim().length>=6){let t=e.trim();d(t),_(Ma(t)),h(!0)}else d(``),h(!1)},[]);let ie=e=>{e.preventDefault();let t=u.trim();if(!t||t.length<6){s(`Please enter your complete API key.`,`error`);return}let n=Ma(t);_(n),localStorage.setItem(`cyrus_active_ai_key`,t),localStorage.setItem(`cyrus_${n}_api_key`,t),n===`gemini`&&localStorage.setItem(`gemini_api_key`,t),o({apiKey:t,provider:n}),h(!0);let r=ja.find(e=>e.id===n)?.name||`AI`;s(`✨ ${r} Key saved & AI Magic unlocked!`,`success`)},ae=()=>{localStorage.removeItem(`cyrus_active_ai_key`),localStorage.removeItem(`cyrus_gemini_api_key`),localStorage.removeItem(`gemini_api_key`),localStorage.removeItem(`cyrus_groq_api_key`),o({apiKey:``}),d(``),h(!1),s(`API key removed.`,`info`)},oe=async i=>{let a=(i||v).trim();if(!a||!e)return;let o=u.trim();if(!o){s(`Please enter and unlock your API key first.`,`error`);return}let l=ja.find(e=>e.id===g)||ja[0];w(!0),ne([]),te(`Connecting to ${l.name}...`),r(`AI Magic: ${a.slice(0,25)}`);try{let r=await Fa(a,g,o,e=>{te(e),ne(t=>Array.from(new Set([...t,e])))}),i=e.pages.find(e=>e.id===t)||e.pages[0],u=b===`replace`?r.elements:[...i.elements||[],...r.elements],d=e.pages.map(e=>e.id===i.id?{...e,name:r.title||e.name,elements:u}:e);n({...e,pages:d,updatedAt:new Date().toISOString()}),te(``),re(e=>[a,...e.slice(0,4)]),y(``),setTimeout(()=>c(),150),s(`✨ Generated ${r.elements.length} components with ${l.name}!`,`success`)}catch(e){s(e?.message||`AI Generation failed. Please check your API key.`,`error`)}finally{w(!1)}},se=ja.find(e=>e.id===g)||ja[0];return(0,M.jsxDEV)(`div`,{className:`flex flex-col h-full bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-[#f5f5f7] select-none text-[12.5px]`,children:[(0,M.jsxDEV)(`div`,{className:`h-12 px-4 border-b border-[#f4f4f6] dark:border-[#2c2c2e] flex items-center justify-between shrink-0`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[13px] text-[#1d1d1f] dark:text-white`,children:`AI Magic Studio`},void 0,!1,{fileName:P,lineNumber:176,columnNumber:9},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>l(null),className:`text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white transition-colors p-1 rounded-md cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:184,columnNumber:11},this)},void 0,!1,{fileName:P,lineNumber:179,columnNumber:9},this)]},void 0,!0,{fileName:P,lineNumber:175,columnNumber:7},this),m?(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-4 space-y-4 no-scrollbar`,children:[(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#f8f8fa] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`w-2 h-2 rounded-full bg-emerald-500 animate-pulse`},void 0,!1,{fileName:P,lineNumber:261,columnNumber:15},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`font-bold text-[11.5px] text-[#1d1d1f] dark:text-white`,children:[se.name,` Active`]},void 0,!0,{fileName:P,lineNumber:263,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`text-[10px] text-[#86868b]`,children:se.badge},void 0,!1,{fileName:P,lineNumber:266,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:262,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:260,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:ae,className:`text-[11px] text-[#86868b] hover:text-rose-500 transition-colors cursor-pointer flex items-center gap-1`,children:[(0,M.jsxDEV)(x,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:274,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Change Key`},void 0,!1,{fileName:P,lineNumber:275,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:269,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:259,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[11px] font-bold text-[#86868b] uppercase tracking-wider`,children:`Canvas Placement`},void 0,!1,{fileName:P,lineNumber:281,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1 bg-[#f4f4f6] dark:bg-[#2c2c2e] p-0.5 rounded-lg border border-[#e5e5ea] dark:border-[#38383a]`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`replace`),className:O(`px-2 py-1 rounded-md text-[11px] font-semibold transition-all cursor-pointer`,b===`replace`?`bg-white dark:bg-[#1c1c1e] text-[#7d2ae8] shadow-2xs font-bold`:`text-[#86868b] hover:text-white`),children:`Fill Canvas`},void 0,!1,{fileName:P,lineNumber:285,columnNumber:15},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`append`),className:O(`px-2 py-1 rounded-md text-[11px] font-semibold transition-all cursor-pointer`,b===`append`?`bg-white dark:bg-[#1c1c1e] text-[#7d2ae8] shadow-2xs font-bold`:`text-[#86868b] hover:text-white`),children:`Append`},void 0,!1,{fileName:P,lineNumber:297,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:284,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:280,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(`textarea`,{value:v,onChange:e=>y(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),oe())},placeholder:`Describe what you want to build on the canvas...`,rows:4,disabled:C,className:`w-full p-3 bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] text-[12.5px] rounded-xl border border-transparent focus:border-[#7d2ae8] focus:bg-white dark:focus:bg-[#1c1c1e] outline-none resize-none transition-all`},void 0,!1,{fileName:P,lineNumber:314,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>oe(),disabled:!v.trim()||C,className:`w-full mt-2 h-9 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] text-white disabled:opacity-30 font-bold text-[12px] transition-all cursor-pointer shadow-xs flex items-center justify-center gap-1.5 active:scale-98`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:P,lineNumber:334,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Generate on Canvas`},void 0,!1,{fileName:P,lineNumber:335,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:329,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:313,columnNumber:11},this),C&&(0,M.jsxDEV)(`div`,{className:`p-3 bg-[#7d2ae8]/10 border border-[#7d2ae8]/20 rounded-xl animate-in fade-in duration-150`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(ur,{className:`w-4 h-4 text-[#7d2ae8] dark:text-[#9d52ff] animate-spin`},void 0,!1,{fileName:P,lineNumber:344,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f] dark:text-[#f5f5f7] text-[12px]`,children:ee||`Generating with AI...`},void 0,!1,{fileName:P,lineNumber:345,columnNumber:19},this)]},void 0,!0,{fileName:P,lineNumber:343,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>w(!1),className:`px-2 py-0.5 text-[11px] font-medium text-[#ff3b30] hover:bg-white dark:hover:bg-[#2c2c2e] rounded transition-colors cursor-pointer`,children:`Stop`},void 0,!1,{fileName:P,lineNumber:349,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:342,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`space-y-1 pl-6`,children:T.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[11px] text-emerald-600 dark:text-emerald-400`,children:[(0,M.jsxDEV)(je,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:360,columnNumber:21},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:P,lineNumber:361,columnNumber:21},this)]},t,!0,{fileName:P,lineNumber:359,columnNumber:19},this))},void 0,!1,{fileName:P,lineNumber:357,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:341,columnNumber:13},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`span`,{className:`text-[10.5px] font-bold text-[#86868b] uppercase tracking-wider block mb-1.5`,children:`Inspiration Prompts`},void 0,!1,{fileName:P,lineNumber:370,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:Ia.map((e,t)=>(0,M.jsxDEV)(`button`,{onClick:()=>oe(e),disabled:C,className:`px-2.5 py-1.5 rounded-xl bg-[#f4f4f6] dark:bg-[#2c2c2e] hover:bg-[#ebebee] dark:hover:bg-[#3a3a3c] text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#f5f5f7] text-[11px] transition-colors text-left truncate max-w-full cursor-pointer flex items-center gap-1.5`,children:[(0,M.jsxDEV)(me,{className:`w-3 h-3 text-[#7d2ae8] shrink-0`},void 0,!1,{fileName:P,lineNumber:381,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`truncate`,children:e},void 0,!1,{fileName:P,lineNumber:382,columnNumber:19},this)]},t,!0,{fileName:P,lineNumber:375,columnNumber:17},this))},void 0,!1,{fileName:P,lineNumber:373,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:369,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`pt-2 border-t border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,M.jsxDEV)(`span`,{className:`text-[10px] font-bold text-[#86868b] uppercase tracking-wider`,children:`History`},void 0,!1,{fileName:P,lineNumber:391,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:i,className:`flex items-center gap-1 text-[11px] text-[#7d2ae8] dark:text-[#9d52ff] hover:underline cursor-pointer`,children:[(0,M.jsxDEV)(sn,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:398,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:`Undo`},void 0,!1,{fileName:P,lineNumber:399,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:394,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:390,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`space-y-1.5`,children:E.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`p-2 rounded-xl bg-[#f8f8fa] dark:bg-[#2c2c2e]/60 border border-[#e5e5ea] dark:border-[#38383a] flex items-start gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-1.5 h-1.5 rounded-full bg-[#7d2ae8] dark:bg-[#9d52ff] mt-1.5 shrink-0`},void 0,!1,{fileName:P,lineNumber:408,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#1d1d1f] dark:text-[#f5f5f7] leading-snug`,children:e},void 0,!1,{fileName:P,lineNumber:409,columnNumber:19},this)]},t,!0,{fileName:P,lineNumber:404,columnNumber:17},this))},void 0,!1,{fileName:P,lineNumber:402,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:389,columnNumber:11},this)]},void 0,!0,{fileName:P,lineNumber:257,columnNumber:9},this):(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-6 flex flex-col items-center text-center justify-center -mt-6`,children:[(0,M.jsxDEV)(`div`,{className:`w-14 h-14 rounded-2xl bg-[#f0ebff] dark:bg-[#7d2ae8]/20 flex items-center justify-center text-[#7d2ae8] dark:text-[#9d52ff] mb-4 shadow-2xs`,children:(0,M.jsxDEV)(me,{className:`w-6 h-6 fill-[#7d2ae8]/30 dark:fill-[#9d52ff]/30`},void 0,!1,{fileName:P,lineNumber:194,columnNumber:13},this)},void 0,!1,{fileName:P,lineNumber:193,columnNumber:11},this),(0,M.jsxDEV)(`h2`,{className:`font-bold text-[16px] text-[#1d1d1f] dark:text-white mb-1.5`,children:`AI Magic Studio`},void 0,!1,{fileName:P,lineNumber:197,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] dark:text-[#a1a1a6] leading-relaxed max-w-[260px] mb-6`,children:`Enter your API key to unlock Gemini AI Magic generation & auto-edits.`},void 0,!1,{fileName:P,lineNumber:200,columnNumber:11},this),(0,M.jsxDEV)(`form`,{onSubmit:ie,className:`w-full max-w-[300px] text-left`,children:[(0,M.jsxDEV)(`label`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-[#e5e5ea] flex items-center gap-1.5 mb-1.5`,children:[(0,M.jsxDEV)(Sr,{className:`w-3.5 h-3.5 text-[#7d2ae8] dark:text-[#9d52ff]`},void 0,!1,{fileName:P,lineNumber:207,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`API Key`},void 0,!1,{fileName:P,lineNumber:208,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:206,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(`input`,{type:f?`text`:`password`,value:u,onChange:e=>d(e.target.value),placeholder:`AIzaSy... or gsk_... or sk-...`,className:`w-full h-10 pl-3 pr-10 rounded-xl bg-[#edf2fe] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-white placeholder:text-[#86868b] border border-transparent focus:border-[#7d2ae8] focus:bg-white dark:focus:bg-[#1c1c1e] outline-none text-[13px] font-mono transition-all`},void 0,!1,{fileName:P,lineNumber:212,columnNumber:15},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>p(!f),className:`absolute right-3 text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white transition-colors cursor-pointer`,children:f?(0,M.jsxDEV)(At,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:224,columnNumber:28},this):(0,M.jsxDEV)(dn,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:224,columnNumber:61},this)},void 0,!1,{fileName:P,lineNumber:219,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:211,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`submit`,disabled:!u.trim(),className:`w-full h-10 mt-4 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] disabled:opacity-40 text-white font-bold text-[13px] shadow-sm transition-all cursor-pointer flex items-center justify-center gap-2 active:scale-98`,children:[(0,M.jsxDEV)(me,{className:`w-4 h-4`},void 0,!1,{fileName:P,lineNumber:233,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Save & Unlock AI Magic`},void 0,!1,{fileName:P,lineNumber:234,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:228,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`text-center mt-5`,children:(0,M.jsxDEV)(`a`,{href:`https://aistudio.google.com/app/apikey`,target:`_blank`,rel:`noopener noreferrer`,className:`text-[#0071e3] text-[12px] hover:underline inline-flex items-center gap-1 font-medium`,children:[(0,M.jsxDEV)(`span`,{children:`Get an API key`},void 0,!1,{fileName:P,lineNumber:244,columnNumber:17},this),(0,M.jsxDEV)(Rn,{className:`w-3 h-3`},void 0,!1,{fileName:P,lineNumber:245,columnNumber:17},this)]},void 0,!0,{fileName:P,lineNumber:238,columnNumber:15},this)},void 0,!1,{fileName:P,lineNumber:237,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-center gap-1.5 mt-4 text-[10.5px] text-[#86868b] text-center`,children:[(0,M.jsxDEV)(Rt,{className:`w-3 h-3 text-[#86868b] shrink-0`},void 0,!1,{fileName:P,lineNumber:250,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Your API key is stored safely in your browser local storage.`},void 0,!1,{fileName:P,lineNumber:251,columnNumber:15},this)]},void 0,!0,{fileName:P,lineNumber:249,columnNumber:13},this)]},void 0,!0,{fileName:P,lineNumber:205,columnNumber:11},this)]},void 0,!0,{fileName:P,lineNumber:191,columnNumber:9},this)]},void 0,!0,{fileName:P,lineNumber:173,columnNumber:5},this)}var Ra=`modulepreload`,za=function(e){return`/`+e},Ba={},Va=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=za(t,n),t=s(t),t in Ba)return;Ba[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Ra,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},F=`C:/Users/Shadow/Desktop/cyrus/src/pages/DashboardPage.tsx`,Ha=(0,A.lazy)(()=>Va(()=>import(`./CreateProjectDialog-BqWwij5-.js`).then(e=>({default:e.CreateProjectDialog})),__vite__mapDeps([0,1,2,3,4,5,6]))),Ua=(0,A.lazy)(()=>Va(()=>import(`./WelcomeOnboardingModal-1PoWSZj-.js`).then(e=>({default:e.WelcomeOnboardingModal})),__vite__mapDeps([7,1,2,3,4,5,6]))),Wa=(0,A.lazy)(()=>Va(()=>import(`./ImportModal-CPWkoEYS.js`).then(e=>({default:e.ImportModal})),__vite__mapDeps([8,1,2,3,4,5,6])));function Ga(e){try{let t=new Date,n=new Date(e),r=t.getTime()-n.getTime(),i=Math.floor(r/6e4),a=Math.floor(i/60),o=Math.floor(a/24);return i<1?`Just now`:i<60?`${i}m ago`:a<24?`${a}h ago`:o===1?`Yesterday`:o<7?`${o}d ago`:n.toLocaleDateString([],{month:`short`,day:`numeric`})}catch{return`Recently`}}function Ka({onOpenProject:e,onOpenSettings:t,onOpenFeedback:n}){let[r,i]=(0,A.useState)([]),[a,o]=(0,A.useState)(``),[s,c]=(0,A.useState)(`all`),[u,d]=(0,A.useState)(`updated_desc`),[f,p]=(0,A.useState)(`grid`),[m,h]=(0,A.useState)(!1),[g,_]=(0,A.useState)(!1),[v,y]=(0,A.useState)(!1),[b,x]=(0,A.useState)(!1),[C,w]=(0,A.useState)(!1),[ee,te]=(0,A.useState)(!1),[T,ne]=(0,A.useState)(null),[E,ie]=(0,A.useState)(null),[ae,oe]=(0,A.useState)(!0),[se,ce]=(0,A.useState)(null),[le,ue]=(0,A.useState)(``),[de,fe]=(0,A.useState)(null),pe=(0,A.useRef)(null),me=(0,A.useRef)(null),{addToast:he}=Br(),{appearance:ge,updateAppearance:_e}=ui(),{session:ve}=Ri(),ye=async()=>{oe(!0);let e=await Vr();i(e),oe(!1)};(0,A.useEffect)(()=>{ye()},[]),(0,A.useEffect)(()=>{let e=e=>{pe.current&&!pe.current.contains(e.target)&&h(!1),me.current&&!me.current.contains(e.target)&&_(!1),e.target.closest(`.project-menu-container`)||ie(null)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[]);let be=(0,A.useMemo)(()=>{let e=a.toLowerCase().trim();return r.filter(t=>!e||t.name.toLowerCase().includes(e)||t.type.toLowerCase().includes(e)||t.pages.some(t=>t.name.toLowerCase().includes(e))?s===`favorites`?t.isFavorite:s===`all`||t.type===s:!1).sort((e,t)=>u===`name_asc`?e.name.localeCompare(t.name):u===`created_desc`?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime())},[r,a,s,u]),xe=async(t=`webapp`)=>{let n=t===`doc`,r=t===`resume`,i=`page_${k()}`,a=n?[{id:`el_${k()}`,type:`heading`,name:`Document Title`,x:120,y:60,width:840,height:60,rotation:0,zIndex:1,styles:{fontSize:36,fontWeight:`800`,textColor:`#1d1d1f`},content:{text:`Untitled Document`}},{id:`el_${k()}`,type:`paragraph`,name:`Document Subtitle`,x:120,y:130,width:840,height:30,rotation:0,zIndex:2,styles:{fontSize:16,fontWeight:`400`,textColor:`#86868b`},content:{text:`Start writing your document notes, article, or documentation...`}},{id:`el_${k()}`,type:`paragraph`,name:`Document Body Text`,x:120,y:180,width:840,height:450,rotation:0,zIndex:3,styles:{fontSize:15,fontWeight:`400`,textColor:`#1d1d1f`,lineHeight:1.6},content:{text:`Click anywhere on this page to start writing. Type freely, edit words directly, and use the AI writing tools for instant drafting.`}}]:r?[{id:`el_${k()}`,type:`heading`,name:`Applicant Name`,x:80,y:40,width:800,height:45,rotation:0,zIndex:1,styles:{fontSize:32,fontWeight:`800`,textColor:`#1d1d1f`,letterSpacing:`-0.02em`},content:{text:`YOUR NAME HERE`}},{id:`el_${k()}`,type:`paragraph`,name:`Contact & Portfolio Info`,x:80,y:90,width:800,height:30,rotation:0,zIndex:2,styles:{fontSize:13,fontWeight:`500`,textColor:`#6e6e73`},content:{text:`Senior Software Engineer • email@example.com • (555) 019-2834 • linkedin.com/in/yourprofile • San Francisco, CA`}},{id:`el_${k()}`,type:`heading`,name:`Summary Title`,x:80,y:140,width:800,height:25,rotation:0,zIndex:3,styles:{fontSize:14,fontWeight:`700`,textColor:`#7d2ae8`,letterSpacing:`0.08em`},content:{text:`PROFESSIONAL SUMMARY`}},{id:`el_${k()}`,type:`paragraph`,name:`Summary Text`,x:80,y:170,width:800,height:65,rotation:0,zIndex:4,styles:{fontSize:14,fontWeight:`400`,textColor:`#1d1d1f`,lineHeight:1.5},content:{text:`Results-driven Software Engineer with 6+ years of experience crafting modern web applications, scalable user interfaces, and cloud design systems. Specialized in TypeScript, React, and front-end optimization.`}},{id:`el_${k()}`,type:`heading`,name:`Experience Title`,x:80,y:250,width:800,height:25,rotation:0,zIndex:5,styles:{fontSize:14,fontWeight:`700`,textColor:`#7d2ae8`,letterSpacing:`0.08em`},content:{text:`WORK EXPERIENCE`}},{id:`el_${k()}`,type:`paragraph`,name:`Experience Content`,x:80,y:280,width:800,height:200,rotation:0,zIndex:6,styles:{fontSize:13.5,fontWeight:`400`,textColor:`#1d1d1f`,lineHeight:1.6},content:{text:`Lead Frontend Engineer — Tech Innovations Inc. (2023 - Present)
56
56
  • Architected enterprise design system component library serving 2M+ monthly users.
57
57
  • Reduced page load times by 40% using code-splitting and asset optimization.
58
58
 
@@ -783,11 +783,11 @@ struct `+l+`: View {
783
783
  ${a?`<text x="${e.width/2}" y="${e.height/2+5}" font-family="-apple-system, sans-serif" font-size="${e.styles?.fontSize||14}" fill="${e.styles?.textColor||`#1d1d1f`}" text-anchor="middle">${a}</text>`:``}
784
784
  </g>`}).join(`
785
785
  `)}
786
- </svg>`,a=tl(`${e.name}_${t.name}`,`svg`),o=new Blob([i],{type:`image/svg+xml;charset=utf-8`}),s=URL.createObjectURL(o),c=document.createElement(`a`);return c.href=s,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),setTimeout(()=>URL.revokeObjectURL(s),1e3),{success:!0,filename:a}}function al(){(0,A.useEffect)(()=>{let e=(e,t)=>{let{activeProject:n,activePageId:r,addElement:i,selectElement:a}=N.getState();if(!n||!r)return;let o=uo.find(t=>t.id===e);if(!o)return;let s={id:k(),type:o.type,name:t,x:240,y:180,width:o.defaultWidth||320,height:o.defaultHeight||160,rotation:0,zIndex:10,styles:{...o.defaultStyles},content:{...o.defaultContent}};i(s),a(s.id),Br.getState().addToast(`Added ${t}`,`success`)},t=t=>{let n=t.target,r=n.tagName===`INPUT`||n.tagName===`TEXTAREA`||n.isContentEditable,i=Cc.getShortcuts(),a=N.getState(),o=j.getState();for(let n of i)if(_c(t,n.customBinding||n.defaultBinding)){if(r&&!n.allowInInput)continue;if(n.id===`paste`)return;switch(t.preventDefault(),n.id){case`undo`:a.undo();break;case`redo`:a.redo();break;case`save`:a.saveCurrentProject(),a.activeProject?nl(a.activeProject).then(e=>{e.success&&Br.getState().addToast(`Saved to device: ${e.filename}`,`success`)}):Br.getState().addToast(`Project saved`,`success`);break;case`commandPalette`:o.setCommandPaletteOpen(!o.isCommandPaletteOpen);break;case`preview`:o.togglePreviewMode();break;case`helpShortcuts`:o.setShortcutsOpen(!0);break;case`exportProject`:o.setShareOpen(!0);break;case`createApp`:o.setCreateAppOpen(!0);break;case`copy`:a.copySelectedElements();break;case`paste`:break;case`duplicate`:a.duplicateSelectedElements();break;case`delete`:a.deleteSelectedElements();break;case`selectAll`:a.selectAllElements();break;case`group`:a.groupSelectedElements();break;case`ungroup`:a.ungroupSelectedElements();break;case`lock`:a.toggleLockSelectedElements();break;case`hide`:a.toggleHideSelectedElements();break;case`deselect`:a.selectElement(null),o.setToolMode(`select`);break;case`zoomIn`:o.zoomIn();break;case`zoomOut`:o.zoomOut();break;case`resetZoom`:o.resetZoom();break;case`fitCanvas`:o.fitToScreen(window.innerWidth,window.innerHeight);break;case`toggleGrid`:o.toggleGrid();break;case`toolSelect`:o.setToolMode(`select`);break;case`toolHand`:o.setToolMode(o.toolMode===`hand`?`select`:`hand`);break;case`toolComment`:o.setToolMode(o.toolMode===`comment`?`select`:`comment`),so.getState().setCommentsOpen(!0);break;case`addText`:e(`text_heading_1`,`Heading`);break;case`addRectangle`:e(`card_glass`,`Container Box`);break;case`addButton`:e(`btn_primary`,`Button`);break;case`addImage`:e(`media_image`,`Image Container`);break;case`addStatCard`:e(`dash_stat_card`,`Stat Card`);break;case`addLineChart`:e(`chart_line`,`Line Chart`)}return}r||(t.key===`ArrowUp`?(t.preventDefault(),a.nudgeSelectedElements(0,t.shiftKey?-10:-1)):t.key===`ArrowDown`?(t.preventDefault(),a.nudgeSelectedElements(0,t.shiftKey?10:1)):t.key===`ArrowLeft`?(t.preventDefault(),a.nudgeSelectedElements(t.shiftKey?-10:-1,0)):t.key===`ArrowRight`&&(t.preventDefault(),a.nudgeSelectedElements(t.shiftKey?10:1,0)))},n=e=>{let t=e.target;if(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))return;let n=N.getState(),r=n.activeProject,i=n.activePageId;if(!r||!i)return;let a=e.clipboardData;if(!a)return;let o=[];if(a.files&&a.files.length>0&&(o=Array.from(a.files).filter(e=>e.type.startsWith(`image/`))),o.length===0&&a.items&&a.items.length>0){let e=Array.from(a.items);for(let t of e)if(t.type.startsWith(`image/`)){let e=t.getAsFile();e&&o.push(e)}}if(o.length>0){e.preventDefault(),e.stopPropagation(),o.forEach((e,t)=>{let n=new FileReader;n.onload=n=>{let r=n.target?.result;if(!r)return;let i=new Image;i.onload=()=>{let n=N.getState(),a=((n.activeProject?.pages.find(e=>e.id===n.activePageId))?.elements.length||0)+t,o=i.width||400,s=i.height||300;o>560&&(s=Math.round(s*560/o),o=560);let c={id:k(`elem`),type:`image`,name:e.name?`Pasted Image (${e.name})`:`Pasted Image`,x:Math.min(320,120+a%5*30),y:Math.min(380,120+a%5*30),width:o,height:s,rotation:0,zIndex:30+a,styles:{borderRadius:12,shadow:`md`,opacity:1},content:{url:r,src:r,alt:`Pasted image`}};n.addElement(c),n.selectElement(c.id),Br.getState().addToast(`Pasted image onto craft page!`,`success`)},i.src=r},n.readAsDataURL(e)});return}let s=a.getData(`text/html`),c=s?s.match(/<img[^>]+src=["']([^"']+)["']/i):null,l=c?c[1]:null,u=a.getData(`text/plain`)?.trim(),d=u&&(u.startsWith(`data:image/`)||u.startsWith(`blob:`)||/^https?:\/\/.+/i.test(u)&&/\.(jpeg|jpg|gif|png|svg|webp)($|\?)/i.test(u)),f=l||(d?u:null);if(f){e.preventDefault(),e.stopPropagation();let t=new Image;t.crossOrigin=`anonymous`,t.onload=()=>{let e=N.getState(),n=(e.activeProject?.pages.find(t=>t.id===e.activePageId))?.elements.length||0,r=t.width||400,i=t.height||300;r>560&&(i=Math.round(i*560/r),r=560);let a={id:k(`elem`),type:`image`,name:`Pasted Web Image`,x:Math.min(320,120+n%5*30),y:Math.min(380,120+n%5*30),width:r,height:i,rotation:0,zIndex:30+n,styles:{borderRadius:12,shadow:`md`,opacity:1},content:{url:f,src:f,alt:`Pasted web image`}};e.addElement(a),e.selectElement(a.id),Br.getState().addToast(`Pasted image onto craft page!`,`success`)},t.onerror=()=>{let e=N.getState();e.clipboard.length>0&&e.pasteElements()},t.src=f;return}n.clipboard.length>0&&(e.preventDefault(),n.pasteElements())};return window.addEventListener(`keydown`,t),window.addEventListener(`paste`,n),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(`paste`,n)}},[])}var ol=`C:/Users/Shadow/Desktop/cyrus/src/pages/EditorPage.tsx`,sl=(0,A.lazy)(()=>Va(()=>import(`./CreateAppDialog-DO1cNQS6.js`).then(e=>({default:e.CreateAppDialog})),__vite__mapDeps([9,1,2,3,4,5,6,10,11,12]))),cl=(0,A.lazy)(()=>Va(()=>import(`./ShareExportDialog-Dzmz8crE.js`).then(e=>({default:e.ShareExportDialog})),__vite__mapDeps([13,1,2,3,4,5,6]))),ll=(0,A.lazy)(()=>Va(()=>import(`./CanvaSaveModal-Cje8wza2.js`).then(e=>({default:e.CanvaSaveModal})),__vite__mapDeps([14,1,2,3,4,5,6,10,11]))),ul=(0,A.lazy)(()=>Va(()=>import(`./HistoryTimelineDialog-CWMdlEP1.js`).then(e=>({default:e.HistoryTimelineDialog})),__vite__mapDeps([15,1,2,3,4,5,6]))),dl=(0,A.lazy)(()=>Va(()=>import(`./KeyboardShortcutsDialog-BpFX3PHV.js`).then(e=>({default:e.KeyboardShortcutsDialog})),__vite__mapDeps([16,1,2,3,4]))),fl=(0,A.lazy)(()=>Va(()=>import(`./LiveRuntimeWorkspace-DtzLfYo8.js`).then(e=>({default:e.LiveRuntimeWorkspace})),__vite__mapDeps([17,1,2,3,4,5,6]))),pl=(0,A.lazy)(()=>Va(()=>import(`./CodingWorkspace-DR_k5kLM.js`).then(e=>({default:e.CodingWorkspace})),__vite__mapDeps([18,1,2,3,4,5,6,10,11,12]))),ml=(0,A.lazy)(()=>Va(()=>import(`./AuthDialog-99eATcMi.js`).then(e=>({default:e.AuthDialog})),__vite__mapDeps([19,1,2,3,5,4,6]))),hl=(0,A.lazy)(()=>Va(()=>import(`./UserProfileDialog-CqZTjkPU.js`).then(e=>({default:e.UserProfileDialog})),__vite__mapDeps([20,1,2,3,5,4,6])));function gl({projectId:e,onNavigateDashboard:t,onNavigateSettings:n}){let[r,i]=(0,A.useState)(`design`),{initAuth:a}=Ri(),{activeProject:o,activePageId:s,loadProjectFromStorage:c}=N(),{isPreviewMode:l,togglePreviewMode:u,isCreateAppOpen:d,setCreateAppOpen:f,isShareOpen:p,setShareOpen:m,isSaveDesignOpen:h,setSaveDesignOpen:g,isHistoryOpen:_,setHistoryOpen:v,isShortcutsOpen:y,setShortcutsOpen:b,isReviewMode:x,toggleReviewMode:S}=j(),{isCommentsOpen:C,setCommentsOpen:w,isSharePanelOpen:ee,setSharePanelOpen:te,selfId:T,selfColor:ne}=so(),[E,re]=(0,A.useState)(!0),[ie,ae]=(0,A.useState)(!1);(0,A.useEffect)(()=>{x&&w(!0)},[x,w]),Ms(o?o.id:null);let oe=(0,A.useRef)(null),se=(0,A.useCallback)(e=>{if(oe.current)return;oe.current=setTimeout(()=>{oe.current=null},50);let t=As();if(!t||!s)return;let n=e.currentTarget;if(!n)return;let r=n.getBoundingClientRect(),{zoom:i,pan:a}=j.getState(),o=(e.clientX-r.left-a.x)/i,c=(e.clientY-r.top-a.y)/i;t.updateCursor({x:o,y:c,pageId:s})},[s]);if((0,A.useEffect)(()=>{a();let t=!0;return re(!0),ae(!1),c(e).then(e=>{t&&(re(!1),e||ae(!0))}),()=>{t=!1}},[e]),(0,A.useEffect)(()=>{let e=()=>{N.getState().saveCurrentProject()};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[]),al(),E)return(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] dark:bg-[#000000] text-[#6e6e73] dark:text-[#8e8e93] gap-3`,children:[(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3] dark:text-[#0a84ff]`},void 0,!1,{fileName:ol,lineNumber:164,columnNumber:9},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Loading Cyrus Workspace...`},void 0,!1,{fileName:ol,lineNumber:165,columnNumber:9},this)]},void 0,!0,{fileName:ol,lineNumber:163,columnNumber:7},this);if(ie||!o)return(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] dark:bg-[#000000] p-6 text-center`,children:(0,M.jsxDEV)(`div`,{className:`p-6 rounded-[16px] bg-white dark:bg-[#1c1c1e] border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-md max-w-sm flex flex-col items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`text-[16px] font-semibold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Project Not Found`},void 0,!1,{fileName:ol,lineNumber:174,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#86868b] dark:text-[#636366]`,children:`The requested project could not be found or failed to load from local storage.`},void 0,!1,{fileName:ol,lineNumber:175,columnNumber:11},this),(0,M.jsxDEV)(Hi,{variant:`primary`,onClick:t,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:ol,lineNumber:178,columnNumber:73},this),children:`Return to Dashboard`},void 0,!1,{fileName:ol,lineNumber:178,columnNumber:11},this)]},void 0,!0,{fileName:ol,lineNumber:173,columnNumber:9},this)},void 0,!1,{fileName:ol,lineNumber:172,columnNumber:7},this);let ce=o.pages.find(e=>e.id===s)||o.pages[0];return(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col overflow-hidden bg-[#f5f5f7] dark:bg-[#000000] text-[#1d1d1f] dark:text-[#f5f5f7]`,children:[(r===`preview`||l)&&(0,M.jsxDEV)(A.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex items-center justify-center bg-[#1d1d1f] text-white`,children:(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3] dark:text-[#0a84ff]`},void 0,!1,{fileName:ol,lineNumber:193,columnNumber:121},this)},void 0,!1,{fileName:ol,lineNumber:193,columnNumber:29},this),children:(0,M.jsxDEV)(fl,{project:o,initialPageId:s,onBackToDesign:()=>{i(`design`),l&&u()},onOpenCodingMode:()=>{i(`code`),l&&u()},onExit:()=>{i(`design`),l&&u()}},void 0,!1,{fileName:ol,lineNumber:194,columnNumber:11},this)},void 0,!1,{fileName:ol,lineNumber:193,columnNumber:9},this),r===`code`&&(0,M.jsxDEV)(A.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex items-center justify-center bg-[#1e1e1e] text-white`,children:(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3] dark:text-[#0a84ff]`},void 0,!1,{fileName:ol,lineNumber:215,columnNumber:121},this)},void 0,!1,{fileName:ol,lineNumber:215,columnNumber:29},this),children:(0,M.jsxDEV)(pl,{onBackToDesign:()=>i(`design`),onOpenPreview:()=>i(`preview`)},void 0,!1,{fileName:ol,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:ol,lineNumber:215,columnNumber:9},this),(0,M.jsxDEV)(co,{onBack:t,onOpenCodingMode:()=>i(`code`)},void 0,!1,{fileName:ol,lineNumber:224,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex overflow-hidden relative`,children:[(0,M.jsxDEV)(Qo,{onNavigateSettings:n},void 0,!1,{fileName:ol,lineNumber:231,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex-1 relative overflow-hidden flex flex-col`,onMouseMove:e=>se(e.nativeEvent),children:[(0,M.jsxDEV)(`div`,{className:`flex-1 relative overflow-hidden`,children:(0,M.jsxDEV)(Oc,{page:ce},void 0,!1,{fileName:ol,lineNumber:240,columnNumber:13},this)},void 0,!1,{fileName:ol,lineNumber:239,columnNumber:11},this),(0,M.jsxDEV)(Uc,{},void 0,!1,{fileName:ol,lineNumber:243,columnNumber:11},this)]},void 0,!0,{fileName:ol,lineNumber:235,columnNumber:9},this),(0,M.jsxDEV)(Hc,{},void 0,!1,{fileName:ol,lineNumber:245,columnNumber:9},this)]},void 0,!0,{fileName:ol,lineNumber:230,columnNumber:7},this),ee&&(0,M.jsxDEV)(Xc,{onClose:()=>te(!1)},void 0,!1,{fileName:ol,lineNumber:250,columnNumber:9},this),(0,M.jsxDEV)(A.Suspense,{fallback:null,children:[d&&(0,M.jsxDEV)(sl,{isOpen:d,onClose:()=>f(!1)},void 0,!1,{fileName:ol,lineNumber:256,columnNumber:11},this),p&&(0,M.jsxDEV)(cl,{isOpen:p,onClose:()=>m(!1)},void 0,!1,{fileName:ol,lineNumber:262,columnNumber:11},this),h&&(0,M.jsxDEV)(ll,{isOpen:h,onClose:()=>g(!1)},void 0,!1,{fileName:ol,lineNumber:268,columnNumber:11},this),_&&(0,M.jsxDEV)(ul,{isOpen:_,onClose:()=>v(!1)},void 0,!1,{fileName:ol,lineNumber:274,columnNumber:11},this),y&&(0,M.jsxDEV)(dl,{isOpen:y,onClose:()=>b(!1)},void 0,!1,{fileName:ol,lineNumber:280,columnNumber:11},this),(0,M.jsxDEV)(Yc,{},void 0,!1,{fileName:ol,lineNumber:285,columnNumber:9},this),(0,M.jsxDEV)(el,{},void 0,!1,{fileName:ol,lineNumber:286,columnNumber:9},this),(0,M.jsxDEV)(ml,{},void 0,!1,{fileName:ol,lineNumber:287,columnNumber:9},this),(0,M.jsxDEV)(hl,{},void 0,!1,{fileName:ol,lineNumber:288,columnNumber:9},this)]},void 0,!0,{fileName:ol,lineNumber:254,columnNumber:7},this)]},void 0,!0,{fileName:ol,lineNumber:190,columnNumber:5},this)}function _l(){try{let e=window.AudioContext||window.webkitAudioContext;if(!e)return;let t=new e,n=t.createOscillator(),r=t.createGain();n.type=`sine`,n.frequency.setValueAtTime(587.33,t.currentTime),n.frequency.setValueAtTime(880,t.currentTime+.08),r.gain.setValueAtTime(.08,t.currentTime),r.gain.exponentialRampToValueAtTime(.001,t.currentTime+.35),n.connect(r),r.connect(t.destination),n.start(t.currentTime),n.stop(t.currentTime+.35)}catch{}}var vl={free:{id:`free`,name:`Free`,tagline:`For individuals exploring visual design and component prototyping.`,description:`Core visual canvas tools with standard code export and community templates.`,priceMonthly:0,priceYearly:0,limits:{maxProjects:3,maxStorageMb:50,maxAiGenerationsPerMonth:25,maxCollaboratorsPerProject:1,maxDeploymentsPerMonth:1,maxCustomDomains:0,historyRetentionDays:7,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!1,export_react:!0,export_nextjs:!1,export_react_native:!1,custom_domain:!1,collaboration:!1,version_history:!0,custom_tokens:!1,deployments:!0,advanced_analytics:!1}},featureBullets:[`Up to 3 active projects`,`Standard React + TS code export`,`25 AI generations per month`,`Community template catalog`,`7-day version history retention`]},pro:{id:`pro`,name:`Pro`,tagline:`For professional software designers and frontend engineers.`,description:`Unlimited projects, multi-framework code export, and multi-file AI coding workspace.`,priceMonthly:49,priceYearly:39,badge:`Popular`,highlighted:!0,limits:{maxProjects:1/0,maxStorageMb:2e3,maxAiGenerationsPerMonth:500,maxCollaboratorsPerProject:5,maxDeploymentsPerMonth:15,maxCustomDomains:3,historyRetentionDays:90,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!0,export_react:!0,export_nextjs:!0,export_react_native:!0,custom_domain:!0,collaboration:!0,version_history:!0,custom_tokens:!0,deployments:!0,advanced_analytics:!0}},featureBullets:[`Up to 50 active projects`,`Multi-file AI Coding Workspace & IDE`,`Next.js 14 & React Native export`,`500 AI generations per month`,`Up to 5 collaborators per project`,`3 custom domains with automatic SSL`,`90-day version history retention`]},team:{id:`team`,name:`Team`,tagline:`For fast-moving engineering and design teams.`,description:`High-capacity workspace with shared design systems, live multiplayer, and unlimited history.`,priceMonthly:99,priceYearly:79,limits:{maxProjects:250,maxStorageMb:1e4,maxAiGenerationsPerMonth:2500,maxCollaboratorsPerProject:25,maxDeploymentsPerMonth:100,maxCustomDomains:15,historyRetentionDays:365,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!0,export_react:!0,export_nextjs:!0,export_react_native:!0,custom_domain:!0,collaboration:!0,version_history:!0,custom_tokens:!0,deployments:!0,advanced_analytics:!0}},featureBullets:[`Up to 250 active projects`,`2,500 AI generations per month`,`Up to 25 team collaborators`,`Shared Master Component Library`,`15 custom domains`,`1-year version history retention`,`Priority build & deployment pipelines`]},enterprise:{id:`enterprise`,name:`Enterprise`,tagline:`For large organizations demanding dedicated infrastructure and security.`,description:`Unlimited capacity, SAML SSO, on-premise AI models, and dedicated SLA.`,priceMonthly:299,priceYearly:249,badge:`Enterprise`,limits:{maxProjects:1/0,maxStorageMb:1/0,maxAiGenerationsPerMonth:1/0,maxCollaboratorsPerProject:1/0,maxDeploymentsPerMonth:1/0,maxCustomDomains:1/0,historyRetentionDays:1/0,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!0,export_react:!0,export_nextjs:!0,export_react_native:!0,custom_domain:!0,collaboration:!0,version_history:!0,custom_tokens:!0,deployments:!0,advanced_analytics:!0}},featureBullets:[`Unlimited projects, storage & team members`,`Unlimited AI generations with custom LLM endpoints`,`SAML SSO & SCIM directory synchronization`,`Dedicated VPC or on-premise private deployment`,`99.99% uptime SLA & 24/7 dedicated engineering support`,`Custom contractual security & compliance review`]}};function yl(e){return vl[e]||vl.free}function bl(){return Object.values(vl)}var xl=`cyrus_usage_stats_v1`;function Sl(){return{projectsCount:0,storageMb:0,aiGenerationsThisMonth:0,collaboratorsCount:0,deploymentsThisMonth:0,customDomainsCount:0,lastResetDate:new Date().toISOString()}}var Cl=new class{usage;constructor(){this.usage=this.loadUsage()}loadUsage(){try{if(typeof localStorage<`u`){let e=localStorage.getItem(xl);if(e)return JSON.parse(e)}}catch{}return Sl()}saveUsage(){try{typeof localStorage<`u`&&localStorage.setItem(xl,JSON.stringify(this.usage))}catch{}}getCurrentPlan(){return ui.getState().billing.plan||`free`}setCurrentPlan(e){vl[e]&&ui.getState().updateBilling({plan:e})}getPlanDefinition(e){return yl(e||this.getCurrentPlan())}getPlanLimits(e){return this.getPlanDefinition(e).limits}getAllPlans(){return bl()}getUsage(){return{...this.usage}}recordUsage(e,t=1){switch(e){case`projects`:this.usage.projectsCount=Math.max(0,this.usage.projectsCount+t);break;case`storageMb`:this.usage.storageMb=Math.max(0,this.usage.storageMb+t);break;case`aiGenerations`:this.usage.aiGenerationsThisMonth=Math.max(0,this.usage.aiGenerationsThisMonth+t);break;case`collaborators`:this.usage.collaboratorsCount=Math.max(0,this.usage.collaboratorsCount+t);break;case`deployments`:this.usage.deploymentsThisMonth=Math.max(0,this.usage.deploymentsThisMonth+t);break;case`customDomains`:this.usage.customDomainsCount=Math.max(0,this.usage.customDomainsCount+t)}this.saveUsage()}setMetricUsage(e,t){switch(e){case`projects`:this.usage.projectsCount=Math.max(0,t);break;case`storageMb`:this.usage.storageMb=Math.max(0,t);break;case`aiGenerations`:this.usage.aiGenerationsThisMonth=Math.max(0,t);break;case`collaborators`:this.usage.collaboratorsCount=Math.max(0,t);break;case`deployments`:this.usage.deploymentsThisMonth=Math.max(0,t);break;case`customDomains`:this.usage.customDomainsCount=Math.max(0,t)}this.saveUsage()}resetUsage(){this.usage=Sl(),this.saveUsage()}canUserUse(e,t){let n=this.getPlanDefinition(),r=n.limits;if(r.features[e]===!1){let t=`pro`,r=`This feature`;switch(e){case`ai_coding_workspace`:r=`The AI Multi-File Coding Workspace`,t=`pro`;break;case`export_nextjs`:r=`Next.js 14 App Router Code Export`,t=`pro`;break;case`export_react_native`:r=`React Native (Expo) Mobile Export`,t=`pro`;break;case`custom_domain`:r=`Custom Domains & SSL`,t=`pro`;break;case`collaboration`:r=`Multiplayer Team Collaboration`,t=`pro`;break;case`custom_tokens`:r=`Custom Organization Design Tokens`,t=`pro`;break;case`advanced_analytics`:r=`Advanced Interaction Analytics`,t=`pro`}return{allowed:!1,reason:`${r} requires a ${yl(t).name} plan or higher.`,feature:e,currentPlan:n.id,suggestedPlan:t}}if(e===`create_project`){let i=t?.currentUsage??this.usage.projectsCount;if(i+(t?.requestedAmount??1)>r.maxProjects){let t=n.id===`free`?`pro`:n.id===`pro`?`team`:`enterprise`;return{allowed:!1,reason:`Your ${n.name} plan has reached its limit of ${r.maxProjects} project${r.maxProjects===1?``:`s`}.`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxProjects,currentUsage:i}}}if(e===`ai_generation`){let i=t?.currentUsage??this.usage.aiGenerationsThisMonth;if(i+(t?.requestedAmount??1)>r.maxAiGenerationsPerMonth){let t=n.id===`free`?`pro`:n.id===`pro`?`team`:`enterprise`;return{allowed:!1,reason:`Your current plan has reached its AI usage limit (${r.maxAiGenerationsPerMonth} generations / month).`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxAiGenerationsPerMonth,currentUsage:i}}}if(e===`custom_domain`){let i=t?.currentUsage??this.usage.customDomainsCount;if(i>=r.maxCustomDomains){let t=n.id===`free`?`pro`:n.id===`pro`?`team`:`enterprise`;return{allowed:!1,reason:`Your ${n.name} plan has reached its limit of ${r.maxCustomDomains} custom domain${r.maxCustomDomains===1?``:`s`}.`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxCustomDomains,currentUsage:i}}}if(e===`deployments`){let i=t?.currentUsage??this.usage.deploymentsThisMonth;if(i>=r.maxDeploymentsPerMonth){let t=n.id===`free`?`pro`:`team`;return{allowed:!1,reason:`Your ${n.name} plan has reached its limit of ${r.maxDeploymentsPerMonth} deployment${r.maxDeploymentsPerMonth===1?``:`s`} this month.`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxDeploymentsPerMonth,currentUsage:i}}}return{allowed:!0,feature:e,currentPlan:n.id}}},wl=`cyrus_auth_token`;function Tl(){try{return localStorage.getItem(wl)}catch{return null}}async function El(e,t={}){let n=new Headers(t.headers);!n.has(`Content-Type`)&&t.body&&n.set(`Content-Type`,`application/json`);let r=Tl();r&&n.set(`Authorization`,`Bearer ${r}`);let i=await fetch(e,{...t,headers:n}),a=await i.json().catch(()=>({}));if(!i.ok)throw Error(a.error||`Request failed (${i.status})`);return a}var Dl=class{publishableKey;checkoutEndpoint;id=`stripe`;name=`Stripe`;isLive=!0;constructor(e,t=`/api/billing/create-checkout`){this.publishableKey=e,this.checkoutEndpoint=t}async createCheckoutSession(e,t){try{let n=await El(this.checkoutEndpoint,{method:`POST`,body:JSON.stringify({planId:e,billingCycle:t})});return(n.checkoutUrl||n.url)&&(window.location.href=n.checkoutUrl||n.url),{success:!0,checkoutUrl:n.url,mode:`live_hosted`,message:`Redirecting to secure Stripe checkout...`,sessionId:n.sessionId}}catch(e){return{success:!1,mode:`live_hosted`,message:e?.message||`Failed to initialize Stripe checkout session.`}}}async createCustomerPortalSession(){try{return{success:!0,portalUrl:(await El(`/api/billing/customer-portal`,{method:`POST`})).url,message:`Opening customer billing portal...`}}catch(e){return{success:!1,message:e?.message||`Failed to open customer portal.`}}}async getSubscriptionStatus(){return{planId:Cl.getCurrentPlan(),status:`active`,billingCycle:`monthly`,provider:`Stripe`,isLive:!0}}},Ol=new class{activeProvider=new Dl(void 0);getProvider(){return this.activeProvider}setProvider(e){this.activeProvider=e}},Y=`C:/Users/Shadow/Desktop/cyrus/src/pages/SettingsPage.tsx`,kl=[{id:`account`,label:`Account Profile`,icon:(0,M.jsxDEV)(rn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:59,columnNumber:52},void 0)},{id:`appearance`,label:`Appearance & Theme`,icon:(0,M.jsxDEV)(lt,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:60,columnNumber:58},void 0)},{id:`editor`,label:`Editor & Canvas`,icon:(0,M.jsxDEV)(Ve,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:61,columnNumber:51},void 0)},{id:`shortcuts`,label:`Keyboard Shortcuts`,icon:(0,M.jsxDEV)(Nt,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:62,columnNumber:57},void 0)},{id:`security`,label:`Security & Auth`,icon:(0,M.jsxDEV)(Pn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:63,columnNumber:53},void 0)},{id:`data`,label:`Data & Backup`,icon:(0,M.jsxDEV)(Wt,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:64,columnNumber:47},void 0)},{id:`billing`,label:`Plan & Features`,icon:(0,M.jsxDEV)(Hn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:65,columnNumber:52},void 0)}];function Al(){let e=navigator.userAgent,t=`Modern Browser`;e.includes(`Chrome`)?t=`Google Chrome`:e.includes(`Firefox`)?t=`Mozilla Firefox`:e.includes(`Safari`)&&!e.includes(`Chrome`)?t=`Apple Safari`:e.includes(`Edg`)&&(t=`Microsoft Edge`);let n=`Desktop Client`;return e.includes(`Win`)?n=`Windows OS`:e.includes(`Mac`)?n=`macOS`:e.includes(`Linux`)?n=`Linux`:e.includes(`Android`)?n=`Android`:(e.includes(`iPhone`)||e.includes(`iPad`))&&(n=`iOS`),{browser:t,os:n}}function jl({onBack:e}){let[t,n]=(0,A.useState)(`account`),[r,i]=(0,A.useState)(0),[a,o]=(0,A.useState)(!1),[s,c]=(0,A.useState)(``),[u,d]=(0,A.useState)(!1),[f,m]=(0,A.useState)(!1),h=(0,A.useRef)(null),{account:g,appearance:_,editor:v,shortcuts:y,billing:b,updateAccount:x,updateAppearance:S,updateEditor:C,updateShortcuts:w,updateBilling:ee,resetToDefaults:te}=ui(),{session:T,signOut:ne}=Ri(),{addToast:E}=Br(),[re,ie]=(0,A.useState)(T.user?.name||g.name||`Cyrus Creator`),[ae,oe]=(0,A.useState)(T.user?.avatarUrl||g.avatarUrl||``),[se,ce]=(0,A.useState)(`monthly`),[le,ue]=(0,A.useState)(null),de=Al(),fe=async e=>{ue(e);try{let t=await Ol.getProvider().createCheckoutSession(e,se);t.success&&t.checkoutUrl?window.location.href=t.checkoutUrl:t.success?(ee({plan:e,billingCycle:se}),E(t.message||`Switched to ${e.toUpperCase()} plan!`,`success`),_l()):E(t.message||`Checkout failed`,`error`)}catch(e){E(e?.message||`Checkout error`,`error`)}finally{ue(null)}};return(0,A.useEffect)(()=>{Vr().then(e=>i(e.length))},[]),(0,A.useEffect)(()=>{T.user&&(ie(T.user.name),oe(T.user.avatarUrl||``))},[T.user]),(0,M.jsxDEV)(`div`,{className:`h-full w-full overflow-y-auto bg-[#f5f5f7] dark:bg-[#000000] text-[#1d1d1f] dark:text-[#f5f5f7] flex flex-col font-sans selection:bg-[#7d2ae8] selection:text-white`,children:[(0,M.jsxDEV)(`header`,{className:`sticky top-0 z-30 h-14 bg-white/90 dark:bg-[#1c1c1e]/90 backdrop-blur-md border-b border-[#e5e5ea] dark:border-[#2c2c2e] px-6 sm:px-12 flex items-center justify-between shadow-2xs`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(Hi,{variant:`ghost`,size:`sm`,onClick:e,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:297,columnNumber:19},this),children:`Back to Dashboard`},void 0,!1,{fileName:Y,lineNumber:293,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-4 w-[1px] bg-[#e5e5ea] dark:bg-[#2c2c2e]`},void 0,!1,{fileName:Y,lineNumber:301,columnNumber:11},this),(0,M.jsxDEV)(Bi,{size:`sm`},void 0,!1,{fileName:Y,lineNumber:302,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-xs font-bold text-[#7d2ae8] dark:text-[#9d52ff]`,children:`Settings`},void 0,!1,{fileName:Y,lineNumber:303,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:292,columnNumber:9},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{ne(),E(`Signed out of Cyrus Workspace`,`info`),e()},className:`flex items-center gap-1.5 text-xs font-semibold text-rose-500 hover:text-rose-600 px-3 py-1.5 rounded-lg hover:bg-rose-500/10 transition-colors cursor-pointer`,children:[(0,M.jsxDEV)(tr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Y,lineNumber:315,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:`Sign Out`},void 0,!1,{fileName:Y,lineNumber:316,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:306,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:291,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 max-w-6xl w-full mx-auto px-6 sm:px-12 py-8 flex flex-col md:flex-row gap-8`,children:[(0,M.jsxDEV)(`aside`,{className:`w-full md:w-60 shrink-0 flex flex-col gap-1 select-none`,children:[(0,M.jsxDEV)(`div`,{className:`px-3 pb-2 text-[11px] font-semibold text-[#86868b] dark:text-[#8e8e93] uppercase tracking-wider`,children:`Workspace Preferences`},void 0,!1,{fileName:Y,lineNumber:324,columnNumber:11},this),kl.map(e=>{let r=t===e.id;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>n(e.id),className:O(`flex items-center gap-2.5 px-3 py-2.5 rounded-[10px] text-[13px] font-medium transition-all text-left cursor-pointer`,r?`bg-white dark:bg-[#2c2c2e] text-[#7d2ae8] dark:text-[#9d52ff] shadow-apple-sm font-semibold`:`text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#ffffff] hover:bg-white/60 dark:hover:bg-[#1c1c1e]`),children:[(0,M.jsxDEV)(`span`,{className:O(r?`text-[#7d2ae8] dark:text-[#9d52ff]`:`text-[#86868b]`),children:e.icon},void 0,!1,{fileName:Y,lineNumber:341,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:e.label},void 0,!1,{fileName:Y,lineNumber:344,columnNumber:17},this)]},e.id,!0,{fileName:Y,lineNumber:330,columnNumber:15},this)})]},void 0,!0,{fileName:Y,lineNumber:323,columnNumber:9},this),(0,M.jsxDEV)(`main`,{className:`flex-1 min-w-0 flex flex-col gap-6`,children:[t===`account`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Account Profile`},void 0,!1,{fileName:Y,lineNumber:356,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Your identity and authentication profile connected to Firebase.`},void 0,!1,{fileName:Y,lineNumber:357,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:355,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-4 p-4 rounded-2xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a]`,children:[(0,M.jsxDEV)(`div`,{className:`w-16 h-16 rounded-2xl bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] text-white flex items-center justify-center text-[20px] font-bold shadow-apple-sm overflow-hidden shrink-0`,children:ae?(0,M.jsxDEV)(`img`,{src:ae,alt:`Avatar`,className:`w-full h-full object-cover`},void 0,!1,{fileName:Y,lineNumber:366,columnNumber:21},this):(0,M.jsxDEV)(`span`,{children:(re||`U`).split(` `).map(e=>e[0]).join(``).slice(0,2).toUpperCase()},void 0,!1,{fileName:Y,lineNumber:368,columnNumber:21},this)},void 0,!1,{fileName:Y,lineNumber:364,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[(0,M.jsxDEV)(`span`,{className:`text-[15px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] truncate`,children:T.user?.name||re||`Cyrus Creator`},void 0,!1,{fileName:Y,lineNumber:372,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[12px] text-[#86868b] font-mono truncate`,children:T.user?.email||`Authenticated User`},void 0,!1,{fileName:Y,lineNumber:375,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 mt-0.5`,children:[(0,M.jsxDEV)(`span`,{className:`inline-flex items-center gap-1 text-[11px] font-bold text-[#7d2ae8] dark:text-[#9d52ff] bg-[#7d2ae8]/10 px-2 py-0.5 rounded-md`,children:[(0,M.jsxDEV)(me,{className:`w-3 h-3`},void 0,!1,{fileName:Y,lineNumber:380,columnNumber:23},this),(0,M.jsxDEV)(`span`,{children:`Firebase Verified`},void 0,!1,{fileName:Y,lineNumber:381,columnNumber:23},this)]},void 0,!0,{fileName:Y,lineNumber:379,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:[`UID: `,T.user?.id.slice(0,10),`...`]},void 0,!0,{fileName:Y,lineNumber:383,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:378,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:371,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:363,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,M.jsxDEV)(Wi,{label:`Display Name`,value:re,onChange:e=>ie(e.target.value),placeholder:`Your Name`},void 0,!1,{fileName:Y,lineNumber:392,columnNumber:17},this),(0,M.jsxDEV)(Wi,{label:`Email Address`,type:`email`,value:T.user?.email||g.email,disabled:!0,helperText:`Managed via Firebase Authentication`},void 0,!1,{fileName:Y,lineNumber:398,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`sm:col-span-2`,children:(0,M.jsxDEV)(Wi,{label:`Avatar Image URL (Optional)`,placeholder:`https://...`,value:ae,onChange:e=>oe(e.target.value),helperText:`Direct image URL for your profile picture`},void 0,!1,{fileName:Y,lineNumber:406,columnNumber:19},this)},void 0,!1,{fileName:Y,lineNumber:405,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:391,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-2 border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex justify-end`,children:(0,M.jsxDEV)(Hi,{variant:`primary`,size:`md`,isLoading:u,onClick:async()=>{d(!0);try{Ni.updateUserProfile&&await Ni.updateUserProfile({displayName:re.trim(),photoURL:ae.trim()||void 0}),x({name:re.trim(),avatarUrl:ae.trim()}),E(`Profile successfully saved and synced to Firebase`,`success`),_l()}catch(e){let t=e instanceof Error?e.message:`Failed to update profile`;E(t,`error`)}finally{d(!1)}},className:`bg-[#7d2ae8] hover:bg-[#6b21ce] text-white`,children:`Save Profile to Firebase`},void 0,!1,{fileName:Y,lineNumber:417,columnNumber:17},this)},void 0,!1,{fileName:Y,lineNumber:416,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:354,columnNumber:13},this),t===`appearance`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Appearance & Theme`},void 0,!1,{fileName:Y,lineNumber:434,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Customize the interface theme, accent color, and typography density.`},void 0,!1,{fileName:Y,lineNumber:435,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:433,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-[12px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider`,children:`Interface Theme`},void 0,!1,{fileName:Y,lineNumber:442,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-3 gap-3`,children:[{id:`light`,label:`Light Mode`,icon:(0,M.jsxDEV)(l,{className:`w-5 h-5 text-amber-500`},void 0,!1,{fileName:Y,lineNumber:445,columnNumber:72},this)},{id:`dark`,label:`Dark Mode`,icon:(0,M.jsxDEV)(qn,{className:`w-5 h-5 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:446,columnNumber:70},this)},{id:`system`,label:`System Sync`,icon:(0,M.jsxDEV)(_e,{className:`w-5 h-5 text-[#86868b]`},void 0,!1,{fileName:Y,lineNumber:447,columnNumber:74},this)}].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{S({theme:e.id}),E(`Switched to ${e.label}`,`info`)},className:O(`p-4 rounded-2xl border flex flex-col items-center gap-2.5 transition-all cursor-pointer`,_.theme===e.id?`border-[#7d2ae8] bg-[#7d2ae8]/5 dark:bg-[#7d2ae8]/15 ring-2 ring-[#7d2ae8]/30 shadow-apple-xs`:`border-[#e5e5ea] dark:border-[#2c2c2e] bg-[#fbfbfd] dark:bg-[#252528] hover:border-[#7d2ae8]/40`),children:[e.icon,(0,M.jsxDEV)(`span`,{className:`text-[13px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:e.label},void 0,!1,{fileName:Y,lineNumber:464,columnNumber:23},this)]},e.id,!0,{fileName:Y,lineNumber:449,columnNumber:21},this))},void 0,!1,{fileName:Y,lineNumber:443,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:441,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 pt-2`,children:[(0,M.jsxDEV)(`label`,{className:`text-[12px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider`,children:`Brand Accent Color`},void 0,!1,{fileName:Y,lineNumber:472,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[`#7d2ae8`,`#0071e3`,`#34c759`,`#ff2d55`,`#ff9500`,`#5856d6`].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{S({accentColor:e}),E(`Accent color updated`,`info`)},style:{backgroundColor:e},className:`w-8 h-8 rounded-full flex items-center justify-center transition-transform hover:scale-115 shadow-apple-sm cursor-pointer`,children:_.accentColor===e&&(0,M.jsxDEV)(jr,{className:`w-4 h-4 text-white`},void 0,!1,{fileName:Y,lineNumber:485,columnNumber:60},this)},e,!1,{fileName:Y,lineNumber:475,columnNumber:21},this))},void 0,!1,{fileName:Y,lineNumber:473,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:471,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 pt-2`,children:[(0,M.jsxDEV)(`label`,{className:`text-[12px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider`,children:`Interface Density`},void 0,!1,{fileName:Y,lineNumber:493,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-3 gap-2.5`,children:[{id:`compact`,label:`Compact`},{id:`standard`,label:`Standard`},{id:`relaxed`,label:`Relaxed`}].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{S({fontScaling:e.id}),E(`Interface density set to ${e.label}`,`info`)},className:O(`py-2.5 px-3 rounded-xl border text-[12px] font-bold transition-colors cursor-pointer text-center`,_.fontScaling===e.id?`bg-[#7d2ae8] text-white border-[#7d2ae8]`:`bg-[#fbfbfd] dark:bg-[#252528] text-[#6e6e73] hover:text-[#1d1d1f] border-[#e5e5ea] dark:border-[#38383a]`),children:e.label},e.id,!1,{fileName:Y,lineNumber:500,columnNumber:21},this))},void 0,!1,{fileName:Y,lineNumber:494,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:492,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:432,columnNumber:13},this),t===`editor`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-5`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Canvas & Editor Preferences`},void 0,!1,{fileName:Y,lineNumber:526,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Tune precision snapping, grid displays, measurement units, and background auto-saving.`},void 0,!1,{fileName:Y,lineNumber:527,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:525,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-4 pt-1`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Show Dot Grid by Default`},void 0,!1,{fileName:Y,lineNumber:535,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Display dot matrix background when opening visual canvas`},void 0,!1,{fileName:Y,lineNumber:536,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:534,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`checkbox`,checked:v.showGridByDefault,onChange:e=>{C({showGridByDefault:e.target.checked}),E(e.target.checked?`Grid enabled by default`:`Grid hidden by default`,`info`)},className:`w-4 h-4 accent-[#7d2ae8] cursor-pointer`},void 0,!1,{fileName:Y,lineNumber:538,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:533,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Smart Snapping Threshold`},void 0,!1,{fileName:Y,lineNumber:551,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:[`Distance in pixels before snapping to adjacent guide lines (`,v.snapThreshold,`px)`]},void 0,!0,{fileName:Y,lineNumber:552,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:550,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`range`,min:2,max:16,step:1,value:v.snapThreshold,onChange:e=>C({snapThreshold:Number(e.target.value)}),className:`w-32 accent-[#7d2ae8] cursor-pointer`},void 0,!1,{fileName:Y,lineNumber:554,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:549,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Smooth Canvas Transitions`},void 0,!1,{fileName:Y,lineNumber:567,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Smooth zoom, pan, and transform easing animations`},void 0,!1,{fileName:Y,lineNumber:568,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:566,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`checkbox`,checked:v.canvasAnimations,onChange:e=>C({canvasAnimations:e.target.checked}),className:`w-4 h-4 accent-[#7d2ae8] cursor-pointer`},void 0,!1,{fileName:Y,lineNumber:570,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:565,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Default Measurement Units`},void 0,!1,{fileName:Y,lineNumber:580,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Unit format used for sizing and layout dimensions`},void 0,!1,{fileName:Y,lineNumber:581,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:579,columnNumber:19},this),(0,M.jsxDEV)(`select`,{value:v.defaultUnit,onChange:e=>C({defaultUnit:e.target.value}),className:`bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#38383a] rounded-xl px-3 py-1.5 text-[12px] font-semibold cursor-pointer`,children:[(0,M.jsxDEV)(`option`,{value:`px`,children:`Pixels (px)`},void 0,!1,{fileName:Y,lineNumber:588,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:`rem`,children:`Relative (rem)`},void 0,!1,{fileName:Y,lineNumber:589,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:583,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:578,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Background Auto-Save Timer`},void 0,!1,{fileName:Y,lineNumber:595,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Frequency for saving design snapshots to local database`},void 0,!1,{fileName:Y,lineNumber:596,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:594,columnNumber:19},this),(0,M.jsxDEV)(`select`,{value:v.autoSaveInterval||10,onChange:e=>C({autoSaveInterval:Number(e.target.value)}),className:`bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#38383a] rounded-xl px-3 py-1.5 text-[12px] font-semibold cursor-pointer`,children:[(0,M.jsxDEV)(`option`,{value:5,children:`Every 5 seconds`},void 0,!1,{fileName:Y,lineNumber:603,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:10,children:`Every 10 seconds (Default)`},void 0,!1,{fileName:Y,lineNumber:604,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:30,children:`Every 30 seconds`},void 0,!1,{fileName:Y,lineNumber:605,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:60,children:`Every 1 minute`},void 0,!1,{fileName:Y,lineNumber:606,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:598,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:593,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:532,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:524,columnNumber:13},this),t===`shortcuts`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-5`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Keyboard Shortcuts`},void 0,!1,{fileName:Y,lineNumber:618,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Standard keybindings configured for rapid visual development.`},void 0,!1,{fileName:Y,lineNumber:619,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:617,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`xs`,onClick:()=>{Cc.resetAllToDefaults(),E(`Reset shortcuts to defaults`,`success`)},icon:(0,M.jsxDEV)(sn,{className:`w-3 h-3`},void 0,!1,{fileName:Y,lineNumber:630,columnNumber:25},this),children:`Reset Defaults`},void 0,!1,{fileName:Y,lineNumber:623,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:616,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2.5 text-[12px] pt-2`,children:[{action:`Save Design to Storage`,keys:`Ctrl/⌘ + S`},{action:`AI Magic Command Palette`,keys:`Ctrl/⌘ + K`},{action:`Undo Last Action`,keys:`Ctrl/⌘ + Z`},{action:`Redo Action`,keys:`Ctrl/⌘ + Shift + Z`},{action:`Live Interactive Preview`,keys:`Ctrl/⌘ + P`},{action:`Duplicate Selected Layer`,keys:`Ctrl/⌘ + D`},{action:`Group / Ungroup Selection`,keys:`Ctrl/⌘ + G`},{action:`Zoom to 100%`,keys:`Ctrl/⌘ + 1`},{action:`Zoom to Fit Canvas`,keys:`Ctrl/⌘ + 0`},{action:`Delete Selected Element`,keys:`Del / Backspace`}].map(e=>(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:e.action},void 0,!1,{fileName:Y,lineNumber:650,columnNumber:21},this),(0,M.jsxDEV)(`kbd`,{className:`px-2.5 py-1 rounded-md bg-white dark:bg-[#1c1c1e] border border-[#e5e5ea] dark:border-[#38383a] text-[11px] font-mono text-[#7d2ae8] dark:text-[#9d52ff] font-bold shadow-2xs`,children:e.keys},void 0,!1,{fileName:Y,lineNumber:651,columnNumber:21},this)]},e.action,!0,{fileName:Y,lineNumber:649,columnNumber:19},this))},void 0,!1,{fileName:Y,lineNumber:636,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:615,columnNumber:13},this),t===`security`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Security & Password`},void 0,!1,{fileName:Y,lineNumber:664,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Manage your credentials and view real client session details.`},void 0,!1,{fileName:Y,lineNumber:665,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:663,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex flex-col gap-3`,children:(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`p-2.5 rounded-xl bg-[#7d2ae8]/10 text-[#7d2ae8] dark:text-[#9d52ff]`,children:(0,M.jsxDEV)(Er,{className:`w-5 h-5`},void 0,!1,{fileName:Y,lineNumber:675,columnNumber:23},this)},void 0,!1,{fileName:Y,lineNumber:674,columnNumber:21},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{children:[de.os,` • `,de.browser]},void 0,!0,{fileName:Y,lineNumber:679,columnNumber:25},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 text-[10px] font-bold`,children:`Active Client`},void 0,!1,{fileName:Y,lineNumber:680,columnNumber:25},this)]},void 0,!0,{fileName:Y,lineNumber:678,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b] mt-0.5 font-mono`,children:`Firebase Project: faah-canfig • Domain: localhost`},void 0,!1,{fileName:Y,lineNumber:684,columnNumber:23},this)]},void 0,!0,{fileName:Y,lineNumber:677,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:673,columnNumber:19},this)},void 0,!1,{fileName:Y,lineNumber:672,columnNumber:17},this)},void 0,!1,{fileName:Y,lineNumber:671,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-4 border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex flex-col gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[14px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] flex items-center gap-2`,children:[(0,M.jsxDEV)(Rt,{className:`w-4 h-4 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:696,columnNumber:21},this),(0,M.jsxDEV)(`span`,{children:`Password & Recovery Management`},void 0,!1,{fileName:Y,lineNumber:697,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:695,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:`Your password and authentication are managed securely by Firebase. Password changes must be authorized via verified email dispatch.`},void 0,!1,{fileName:Y,lineNumber:699,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:694,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Reset Password via Email`},void 0,!1,{fileName:Y,lineNumber:706,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b] mt-0.5`,children:[`Send a secure Firebase password reset link to `,(0,M.jsxDEV)(`strong`,{className:`text-[#1d1d1f] dark:text-white font-mono`,children:T.user?.email||g.email},void 0,!1,{fileName:Y,lineNumber:710,columnNumber:69},this)]},void 0,!0,{fileName:Y,lineNumber:709,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:705,columnNumber:19},this),(0,M.jsxDEV)(Hi,{type:`button`,variant:`secondary`,size:`sm`,disabled:f,onClick:async()=>{let e=T.user?.email||g.email;if(!e){E(`No email address associated with this account.`,`error`);return}m(!0);try{Ni.sendPasswordReset&&(await Ni.sendPasswordReset(e),E(`Password reset link sent to ${e}`,`success`))}catch(e){let t=e instanceof Error?e.message:`Failed to send reset email`;E(t,`error`)}finally{m(!1)}},icon:(0,M.jsxDEV)(kt,{className:`w-3.5 h-3.5 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:720,columnNumber:27},this),children:f?`Sending Link...`:`Send Reset Link`},void 0,!1,{fileName:Y,lineNumber:714,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:704,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-3 pt-2`,children:[(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center gap-2.5`,children:[(0,M.jsxDEV)(je,{className:`w-4 h-4 text-emerald-500 shrink-0`},void 0,!1,{fileName:Y,lineNumber:729,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-white`,children:`256-bit SSL Auth`},void 0,!1,{fileName:Y,lineNumber:730,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:728,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center gap-2.5`,children:[(0,M.jsxDEV)(je,{className:`w-4 h-4 text-emerald-500 shrink-0`},void 0,!1,{fileName:Y,lineNumber:733,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-white`,children:`Encrypted Tokens`},void 0,!1,{fileName:Y,lineNumber:734,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:732,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center gap-2.5`,children:[(0,M.jsxDEV)(je,{className:`w-4 h-4 text-emerald-500 shrink-0`},void 0,!1,{fileName:Y,lineNumber:737,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-white`,children:`Firebase Protected`},void 0,!1,{fileName:Y,lineNumber:738,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:736,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:727,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:693,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:662,columnNumber:13},this),t===`data`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Data & Backup`},void 0,!1,{fileName:Y,lineNumber:749,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Export complete workspaces or import JSON archives into your local storage.`},void 0,!1,{fileName:Y,lineNumber:750,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:748,columnNumber:15},this),(0,M.jsxDEV)(`input`,{ref:h,type:`file`,accept:`.json,application/json`,onChange:async e=>{let t=e.target.files?.[0];if(t)try{let e=await t.text(),n=JSON.parse(e);if(Array.isArray(n.projects)){for(let e of n.projects)e.id&&e.name&&await Xr(e);let e=await Vr();i(e.length),E(`Restored ${n.projects.length} projects into Cyrus!`,`success`),_l()}else E(`Invalid backup file format.`,`error`)}catch(e){console.error(e),E(`Failed to read or parse backup file.`,`error`)}finally{e.target&&(e.target.value=``)}},className:`hidden`},void 0,!1,{fileName:Y,lineNumber:756,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,M.jsxDEV)(`div`,{className:`p-5 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] flex flex-col justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[14px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Export Full Workspace`},void 0,!1,{fileName:Y,lineNumber:767,columnNumber:21},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:[`Download all `,r,` saved projects and configurations as a single portable JSON file.`]},void 0,!0,{fileName:Y,lineNumber:768,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:766,columnNumber:19},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`md`,onClick:async()=>{let e=await Vr(),t={app:`Cyrus Design Studio`,version:`2.4.0`,exportedAt:new Date().toISOString(),user:T.user,settings:{appearance:_,editor:v,shortcuts:y,billing:b},projects:e},n=JSON.stringify(t,null,2),r=new Blob([n],{type:`application/json;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`cyrus_workspace_backup_${Date.now()}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>URL.revokeObjectURL(i),1e3),E(`Exported full data backup with ${e.length} projects`,`success`)},icon:(0,M.jsxDEV)(wn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:772,columnNumber:93},this),children:`Download Workspace JSON`},void 0,!1,{fileName:Y,lineNumber:772,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:765,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`p-5 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] flex flex-col justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[14px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Import Backup Archive`},void 0,!1,{fileName:Y,lineNumber:779,columnNumber:21},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:`Restore projects and design systems from a previous Cyrus backup file on your device.`},void 0,!1,{fileName:Y,lineNumber:780,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:778,columnNumber:19},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`md`,onClick:()=>h.current?.click(),icon:(0,M.jsxDEV)(pr,{className:`w-4 h-4 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:788,columnNumber:27},this),children:`Upload Backup JSON`},void 0,!1,{fileName:Y,lineNumber:784,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:777,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:764,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Restore Sample Templates`},void 0,!1,{fileName:Y,lineNumber:797,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] mt-0.5`,children:`Re-seed default landing pages, mobile apps, and SaaS templates.`},void 0,!1,{fileName:Y,lineNumber:798,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:796,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`sm`,onClick:async()=>{if(!window.confirm(`Are you sure you want to reset all projects back to default sample templates?`))return;await Ur();let e=await Vr();i(e.length),E(`Reset local database to default starter templates`,`success`)},icon:(0,M.jsxDEV)(sn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Y,lineNumber:802,columnNumber:91},this),children:`Reset Templates`},void 0,!1,{fileName:Y,lineNumber:802,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:795,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-4 border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex flex-col gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`text-[13px] font-bold text-rose-500 flex items-center gap-1.5`,children:[(0,M.jsxDEV)(p,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:810,columnNumber:19},this),` Danger Zone`]},void 0,!0,{fileName:Y,lineNumber:809,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between p-4 rounded-2xl bg-rose-500/5 border border-rose-500/20`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Purge Local Workspace`},void 0,!1,{fileName:Y,lineNumber:814,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Permanently wipe all locally stored projects, tokens, and preferences`},void 0,!1,{fileName:Y,lineNumber:815,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:813,columnNumber:19},this),(0,M.jsxDEV)(Hi,{variant:`destructive`,size:`sm`,onClick:()=>o(!0),children:`Wipe Workspace`},void 0,!1,{fileName:Y,lineNumber:817,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:812,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:808,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:747,columnNumber:13},this),t===`billing`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Plan & Subscriptions`},void 0,!1,{fileName:Y,lineNumber:830,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Select a plan tier or manage your connected Stripe subscription and invoices.`},void 0,!1,{fileName:Y,lineNumber:831,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:829,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center p-1 rounded-xl bg-[#f5f5f7] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] text-xs font-semibold self-start sm:self-auto`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>ce(`monthly`),className:O(`px-3 py-1.5 rounded-lg transition-all cursor-pointer`,se===`monthly`?`bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-white shadow-xs`:`text-[#86868b] hover:text-[#1d1d1f]`),children:`Monthly`},void 0,!1,{fileName:Y,lineNumber:838,columnNumber:19},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>ce(`yearly`),className:O(`px-3 py-1.5 rounded-lg transition-all flex items-center gap-1.5 cursor-pointer`,se===`yearly`?`bg-white dark:bg-[#1c1c1e] text-[#7d2ae8] font-bold shadow-xs`:`text-[#86868b] hover:text-[#1d1d1f]`),children:[(0,M.jsxDEV)(`span`,{children:`Annual`},void 0,!1,{fileName:Y,lineNumber:860,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`px-1.5 py-0.5 rounded-full bg-[#7d2ae8]/10 text-[#7d2ae8] text-[9.5px]`,children:`Save 20%`},void 0,!1,{fileName:Y,lineNumber:861,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:850,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:837,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:828,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl bg-gradient-to-br from-[#7d2ae8]/10 via-[#0071e3]/10 to-transparent border border-[#7d2ae8]/30 flex flex-col sm:flex-row sm:items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full bg-[#7d2ae8] text-white text-[10.5px] font-bold uppercase tracking-wider mb-1`,children:[(0,M.jsxDEV)(me,{className:`w-3 h-3`},void 0,!1,{fileName:Y,lineNumber:870,columnNumber:21},this),` Active Workspace Plan: `,(b.plan||T.user?.plan||`pro`).toUpperCase()]},void 0,!0,{fileName:Y,lineNumber:869,columnNumber:19},this),(0,M.jsxDEV)(`h3`,{className:`text-base font-extrabold text-[#1d1d1f] dark:text-white`,children:`Full Studio Capabilities Enabled`},void 0,!1,{fileName:Y,lineNumber:872,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-xs text-[#86868b] mt-0.5`,children:`Your workspace has unlimited artboards, multi-page routing, and code export enabled.`},void 0,!1,{fileName:Y,lineNumber:875,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:868,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`sm`,onClick:async()=>{try{let e=await Ol.getProvider().createCustomerPortalSession();e.portalUrl?window.location.href=e.portalUrl:E(e.message,`info`)}catch(e){E(e?.message||`Failed to open billing portal`,`error`)}},icon:(0,M.jsxDEV)(Hn,{className:`w-3.5 h-3.5 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:884,columnNumber:25},this),children:`Manage Stripe Portal`},void 0,!1,{fileName:Y,lineNumber:880,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:867,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-5 pt-2`,children:[`free`,`pro`,`team`].map(e=>{let t=vl[e],n=(b.plan||T.user?.plan||`pro`)===e,r=se===`yearly`?t.priceYearly:t.priceMonthly;return(0,M.jsxDEV)(`div`,{className:O(`p-5 rounded-2xl border flex flex-col justify-between transition-all relative`,t.highlighted?`border-[#7d2ae8] bg-gradient-to-b from-[#7d2ae8]/5 to-transparent shadow-lg`:`border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528]`),children:[t.badge&&(0,M.jsxDEV)(`div`,{className:`absolute -top-3 right-4 px-2.5 py-0.5 rounded-full bg-[#7d2ae8] text-white text-[10px] font-bold uppercase tracking-wider shadow-sm`,children:t.badge},void 0,!1,{fileName:Y,lineNumber:909,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`h3`,{className:`text-base font-bold text-[#1d1d1f] dark:text-white`,children:t.name},void 0,!1,{fileName:Y,lineNumber:917,columnNumber:29},this),n&&(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 text-[10px] font-bold uppercase`,children:`Current Plan`},void 0,!1,{fileName:Y,lineNumber:919,columnNumber:31},this)]},void 0,!0,{fileName:Y,lineNumber:916,columnNumber:27},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] mt-1 leading-snug`,children:t.tagline},void 0,!1,{fileName:Y,lineNumber:924,columnNumber:27},this)]},void 0,!0,{fileName:Y,lineNumber:915,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`flex items-baseline gap-1 my-1`,children:[(0,M.jsxDEV)(`span`,{className:`text-3xl font-extrabold text-[#1d1d1f] dark:text-white`,children:[`$`,r]},void 0,!0,{fileName:Y,lineNumber:929,columnNumber:27},this),(0,M.jsxDEV)(`span`,{className:`text-xs text-[#86868b]`,children:`/ month`},void 0,!1,{fileName:Y,lineNumber:930,columnNumber:27},this)]},void 0,!0,{fileName:Y,lineNumber:928,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2 pt-2 border-t border-[#e5e5ea] dark:border-[#38383a]`,children:t.featureBullets.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-start gap-2 text-xs text-[#1d1d1f] dark:text-[#f5f5f7]`,children:[(0,M.jsxDEV)(je,{className:`w-3.5 h-3.5 text-emerald-500 shrink-0 mt-0.5`},void 0,!1,{fileName:Y,lineNumber:937,columnNumber:31},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:Y,lineNumber:938,columnNumber:31},this)]},t,!0,{fileName:Y,lineNumber:936,columnNumber:29},this))},void 0,!1,{fileName:Y,lineNumber:934,columnNumber:25},this)]},void 0,!0,{fileName:Y,lineNumber:914,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`pt-5 mt-4`,children:(0,M.jsxDEV)(Hi,{variant:t.highlighted?`primary`:`secondary`,size:`md`,className:`w-full justify-center`,disabled:n||le===e,onClick:()=>fe(e),children:le===e?(0,M.jsxDEV)(`div`,{className:`w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin`},void 0,!1,{fileName:Y,lineNumber:954,columnNumber:29},this):n?`Active Plan`:e===`free`?`Downgrade to Free`:`Upgrade to ${t.name} ($${r}/mo)`},void 0,!1,{fileName:Y,lineNumber:946,columnNumber:25},this)},void 0,!1,{fileName:Y,lineNumber:945,columnNumber:23},this)]},e,!0,{fileName:Y,lineNumber:899,columnNumber:21},this)})},void 0,!1,{fileName:Y,lineNumber:891,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:827,columnNumber:13},this)]},void 0,!0,{fileName:Y,lineNumber:351,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:321,columnNumber:7},this),a&&(0,M.jsxDEV)(Ki,{isOpen:a,onClose:()=>o(!1),title:`Wipe Workspace & Storage`,subtitle:`This action is permanent. All saved projects and local database records will be erased.`,maxWidth:`sm`,footer:(0,M.jsxDEV)(`div`,{className:`flex items-center justify-end gap-2 w-full`,children:[(0,M.jsxDEV)(Hi,{variant:`secondary`,onClick:()=>o(!1),children:`Cancel`},void 0,!1,{fileName:Y,lineNumber:983,columnNumber:15},this),(0,M.jsxDEV)(Hi,{variant:`destructive`,disabled:s!==`DELETE`,onClick:async()=>{s===`DELETE`&&(await Ur(),localStorage.clear(),te(),o(!1),E(`Workspace data and cache wiped successfully`,`info`),e())},children:`Permanently Wipe`},void 0,!1,{fileName:Y,lineNumber:986,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:982,columnNumber:13},this),children:(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b]`,children:[`Please type `,(0,M.jsxDEV)(`strong`,{className:`text-rose-600 font-mono`,children:`DELETE`},void 0,!1,{fileName:Y,lineNumber:998,columnNumber:27},this),` below to confirm.`]},void 0,!0,{fileName:Y,lineNumber:997,columnNumber:13},this),(0,M.jsxDEV)(Wi,{value:s,onChange:e=>c(e.target.value),placeholder:`DELETE`,className:`font-mono text-center`},void 0,!1,{fileName:Y,lineNumber:1e3,columnNumber:13},this)]},void 0,!0,{fileName:Y,lineNumber:996,columnNumber:11},this)},void 0,!1,{fileName:Y,lineNumber:975,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:289,columnNumber:5},this)}var X=`C:/Users/Shadow/Desktop/cyrus/src/runtime/RuntimeElement.tsx`,Ml={ArrowRight:In,Sparkles:me,Zap:Jn,TrendingUp:_r,TrendingDown:Qe,Download:wn,Search:Bt,Layers:mr,Check:jr,User:rn,CreditCard:Hn,Layout:qe,Gauge:u,Sliders:Ve,FolderKanban:re,Smartphone:mt,ChevronLeft:we,ChevronRight:fe,Home:S,Activity:lr,Lock:Rt,Mail:kt,UploadCloud:Xe,Send:rr,CheckSquare:Wn,CircleDot:De,AlignLeft:ke,TextCursorInput:Te,UserPlus:$t};function Nl({element:e,designTokens:t,childElements:n,formValues:r,onFormChange:i,onTriggerInteraction:a,itemContext:o,onExecuteForm:s}){let c=N(e=>e.activeProject?.variables),l=N(e=>e.activeProject?.useSampleData??!0),u=ts(e,c,l,o),d=u.content,f=u.styles,{type:p}=e;if(u.hidden)return null;if(e.collectionBinding&&!o&&!n){let n=$o(es(c,l),e.collectionBinding.variableKey);if(Array.isArray(n)&&n.length>0){let{layout:o=`grid`,columns:c=3,gap:l=16,itemAlias:u=`item`}=e.collectionBinding;return(0,M.jsxDEV)(`div`,{style:{display:o===`grid`?`grid`:`flex`,gridTemplateColumns:o===`grid`?`repeat(${c}, 1fr)`:void 0,flexDirection:o===`column`?`column`:`row`,gap:`${l}px`,width:`100%`,height:`100%`},children:n.map((n,o)=>(0,M.jsxDEV)(Nl,{element:{...e,collectionBinding:void 0},designTokens:t,formValues:r,onFormChange:i,onTriggerInteraction:a,itemContext:{alias:u,data:n},onExecuteForm:s},`${e.id}_rep_${o}`,!1,{fileName:X,lineNumber:123,columnNumber:13},this))},void 0,!1,{fileName:X,lineNumber:112,columnNumber:9},this)}}let m=t?.components,h=m?.button,g=m?.card;m?.input;let _=h?.primaryBackground||t?.colors?.primary||`#0071e3`,v=g?.background||t?.colors?.surface||`#ffffff`;t?.colors?.text;let y=g?.border||t?.colors?.border||`#e5e5ea`,b=t?.typography?.body?.fontFamily,x={none:``,subtle:`shadow-apple-sm`,sm:`shadow-apple-sm`,md:`shadow-apple-md`,lg:`shadow-apple-lg`}[f.shadow||`none`]||``,C=(e.interactions||[]).find(e=>e.trigger===`onClick`),w=e=>{e&&e.stopPropagation(),C&&a(C)};switch(p){case`button`:{let e=f.backgroundColor===`#0071e3`||!f.backgroundColor?_:f.backgroundColor,n=f.textColor===`#ffffff`||!f.textColor?h?.primaryText||`#ffffff`:f.textColor,r=d.label||`Button`,i=d.icon,a=i&&i!==`none`?Ml[i]:null,o=d.iconPosition||`right`,s=f.borderRadius??h?.borderRadius??t?.radius?.medium??10,c=f.paddingLeft??h?.paddingX??18;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,style:{width:`100%`,height:`100%`,fontFamily:f.fontFamily||b,background:f.backgroundGradient||e,color:n,fontSize:`${f.fontSize||h?.fontSize||14}px`,fontWeight:f.fontWeight||h?.fontWeight||`500`,fontStyle:f.fontStyle||`normal`,borderRadius:`${s}px`,borderWidth:`${f.borderWidth??0}px`,borderColor:f.borderColor||y,borderStyle:f.borderStyle||`solid`,paddingLeft:`${c}px`,paddingRight:`${c}px`,opacity:f.opacity??1,cursor:`pointer`},className:`inline-flex items-center justify-center gap-2 px-4 select-none active:scale-[0.98] hover:opacity-95 transition-all ${x}`,children:[a&&o===`left`&&(0,M.jsxDEV)(a,{className:`w-4 h-4 shrink-0`},void 0,!1,{fileName:X,lineNumber:206,columnNumber:51},this),(0,M.jsxDEV)(`span`,{className:`truncate`,children:r},void 0,!1,{fileName:X,lineNumber:207,columnNumber:11},this),a&&o===`right`&&(0,M.jsxDEV)(a,{className:`w-4 h-4 shrink-0`},void 0,!1,{fileName:X,lineNumber:208,columnNumber:52},this)]},void 0,!0,{fileName:X,lineNumber:183,columnNumber:9},this)}case`text`:case`heading`:{let e=d.text||`Heading Title`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,fontSize:`${f.fontSize||32}px`,fontWeight:f.fontWeight||`700`,fontStyle:f.fontStyle||`normal`,color:f.textColor||`#1d1d1f`,lineHeight:f.lineHeight||1.2,letterSpacing:f.letterSpacing||`-0.025em`,textAlign:f.textAlign||`left`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex items-center select-none overflow-hidden`,children:(0,M.jsxDEV)(`span`,{className:`w-full`,children:e},void 0,!1,{fileName:X,lineNumber:234,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:217,columnNumber:9},this)}case`paragraph`:{let e=d.text||`Body text content...`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,fontSize:`${f.fontSize||15}px`,fontWeight:f.fontWeight||`400`,fontStyle:f.fontStyle||`normal`,color:f.textColor||`#6e6e73`,lineHeight:f.lineHeight||1.5,letterSpacing:f.letterSpacing||`-0.01em`,textAlign:f.textAlign||`left`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex items-center select-none overflow-hidden`,children:(0,M.jsxDEV)(`span`,{className:`w-full`,children:e},void 0,!1,{fileName:X,lineNumber:259,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:242,columnNumber:9},this)}case`navbar`:{let e=d.brandName||`Cyrus`,t=d.links||[`Platform`,`Pricing`,`Docs`],n=d.ctaLabel||`Get Started`;return(0,M.jsxDEV)(`header`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||v,borderRadius:`${f.borderRadius??12}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||y,paddingLeft:`${f.paddingLeft??24}px`,paddingRight:`${f.paddingRight??24}px`,opacity:f.opacity??1},className:`flex items-center justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-6 h-6 rounded-[6px] bg-[#0071e3] text-white flex items-center justify-center font-bold text-[12px]`,children:`C`},void 0,!1,{fileName:X,lineNumber:285,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[15px] font-semibold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:288,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:284,columnNumber:11},this),(0,M.jsxDEV)(`nav`,{className:`flex items-center gap-6 text-[13px] font-medium text-[#6e6e73]`,children:t.map((e,t)=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`hover:text-[#1d1d1f] transition-colors cursor-pointer`,children:e},t,!1,{fileName:X,lineNumber:293,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:291,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`px-3.5 py-1.5 rounded-[8px] bg-[#0071e3] text-white text-[13px] font-medium shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:304,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:270,columnNumber:9},this)}case`hero`:case`heroSection`:{let e=d.badge,t=d.headline||`The visual engine for modern software.`,n=d.subhead||`Design and deploy production-grade software visually.`,r=d.primaryBtnText||`Get Started`,i=d.secondaryBtnText||`Learn More`;return(0,M.jsxDEV)(`section`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col items-center justify-center text-center p-6 select-none`,children:[e&&(0,M.jsxDEV)(`div`,{className:`inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-[#f4f4f6] text-[#6e6e73] text-[12px] font-medium mb-4 shadow-2xs border border-[#e5e5ea]`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5 text-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:334,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:335,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:333,columnNumber:13},this),(0,M.jsxDEV)(`h1`,{className:`text-[38px] font-extrabold tracking-tight text-[#1d1d1f] max-w-2xl leading-[1.1] mb-3`,children:t},void 0,!1,{fileName:X,lineNumber:338,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[16px] text-[#6e6e73] max-w-xl mb-6 leading-relaxed`,children:n},void 0,!1,{fileName:X,lineNumber:341,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`px-5 py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[14px] font-semibold shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:r},void 0,!1,{fileName:X,lineNumber:345,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`px-5 py-2.5 rounded-[10px] bg-white text-[#1d1d1f] text-[14px] font-semibold border border-[#e5e5ea] hover:bg-[#f4f4f6] active:scale-[0.98] transition-apple cursor-pointer`,children:i},void 0,!1,{fileName:X,lineNumber:352,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:344,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:324,columnNumber:9},this)}case`input`:case`searchBar`:{let t=`field_${e.id}`,n=d.label,a=d.placeholder||`Enter value...`,o=r[t]??``;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1.5`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-medium text-[#6e6e73]`,children:n},void 0,!1,{fileName:X,lineNumber:376,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[p===`searchBar`&&(0,M.jsxDEV)(Bt,{className:`w-3.5 h-3.5 text-[#86868b] absolute left-3 pointer-events-none`},void 0,!1,{fileName:X,lineNumber:379,columnNumber:15},this),(0,M.jsxDEV)(`input`,{type:d.inputType||`text`,value:o,onChange:e=>i(t,e.target.value),placeholder:a,className:`w-full h-9 rounded-[8px] bg-white border border-[#e5e5ea] text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:ring-2 focus:ring-[#0071e3]/20 transition-all ${p===`searchBar`?`pl-8 pr-3`:`px-3`}`},void 0,!1,{fileName:X,lineNumber:381,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:377,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:372,columnNumber:9},this)}case`switch`:{let t=`switch_${e.id}`,n=d.label||`Toggle Setting`,a=r[t]===void 0?d.enabled!==!1:r[t];return(0,M.jsxDEV)(`div`,{onClick:()=>i(t,!a),style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??12}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingLeft:`16px`,paddingRight:`16px`,opacity:f.opacity??1,cursor:`pointer`},className:`flex items-center justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:417,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`w-10 h-6 rounded-full transition-colors flex items-center p-0.5 ${a?`bg-[#34c759] justify-end`:`bg-[#e5e5ea] justify-start`}`,children:(0,M.jsxDEV)(`div`,{className:`w-5 h-5 rounded-full bg-white shadow-2xs`},void 0,!1,{fileName:X,lineNumber:423,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:418,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:401,columnNumber:9},this)}case`loginForm`:{let e=d.title||`Sign In`,t=d.subtitle||`Enter your credentials to continue`,n=d.buttonText||`Sign In`;return(0,M.jsxDEV)(`form`,{onSubmit:e=>{e.preventDefault(),w(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`,opacity:f.opacity??1},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:e},void 0,!1,{fileName:X,lineNumber:453,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:t},void 0,!1,{fileName:X,lineNumber:454,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:452,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 my-4`,children:[(0,M.jsxDEV)(`input`,{type:`email`,required:!0,placeholder:`name@company.com`,className:`h-9 px-3 rounded-[8px] bg-[#f4f4f6] border border-[#e5e5ea] text-[12px] text-[#1d1d1f] focus:bg-white focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:457,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`password`,required:!0,placeholder:`••••••••••••`,className:`h-9 px-3 rounded-[8px] bg-[#f4f4f6] border border-[#e5e5ea] text-[12px] text-[#1d1d1f] focus:bg-white focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:463,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:456,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-medium text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:470,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:435,columnNumber:9},this)}case`video`:{let e=d.url||d.src||`https://assets.mixkit.co/videos/preview/mixkit-software-developer-working-on-code-screen-close-up-1728-large.mp4`,t=d.autoplay!==!1,n=d.loop!==!1,r=d.muted!==!1,i=d.controls===!0,a=f.objectFit||`cover`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,opacity:f.opacity??1},className:`overflow-hidden bg-[#1d1d1f] ${x}`,children:(0,M.jsxDEV)(`video`,{src:e,autoPlay:t,loop:n,muted:r,controls:i,style:{width:`100%`,height:`100%`,objectFit:a}},void 0,!1,{fileName:X,lineNumber:500,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:489,columnNumber:9},this)}case`image`:{let t=d.url||`https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=800&auto=format&fit=crop&q=80`,n=f.objectFit||`cover`,r=e.accessibility||{},i=r.isDecorative?``:r.altText||e.name||`Asset Image`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`overflow-hidden bg-[#f4f4f6] select-none ${x}`,children:(0,M.jsxDEV)(`img`,{src:t,alt:i,"aria-hidden":r.isDecorative?!0:void 0,style:{objectFit:n},className:`w-full h-full`},void 0,!1,{fileName:X,lineNumber:532,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:519,columnNumber:9},this)}case`pricingCard`:{let e=d.planName||`Pro Plan`,t=d.price||`$29`,n=d.period||`/month`,r=d.description||``,i=d.buttonText||`Subscribe`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`24px`,opacity:f.opacity??1},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h4`,{className:`text-[16px] font-semibold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:565,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-baseline gap-1 my-3`,children:[(0,M.jsxDEV)(`span`,{className:`text-[32px] font-extrabold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:567,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] text-[#86868b]`,children:n},void 0,!1,{fileName:X,lineNumber:568,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:566,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#6e6e73] leading-relaxed`,children:r},void 0,!1,{fileName:X,lineNumber:570,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:564,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-medium text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:i},void 0,!1,{fileName:X,lineNumber:572,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:551,columnNumber:9},this)}case`metricCard`:{let e=d.title||`KPI Metric`,t=d.value||`$0`,n=d.change||`+0.0%`,r=d.isPositive!==!1,i=d.timeframe||``;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#86868b] truncate`,children:e},void 0,!1,{fileName:X,lineNumber:610,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 text-[12px] font-semibold ${r?`text-[#34c759]`:`text-[#ff3b30]`}`,children:[r?(0,M.jsxDEV)(_r,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:616,columnNumber:24},this):(0,M.jsxDEV)(Qe,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:616,columnNumber:61},this),n]},void 0,!0,{fileName:X,lineNumber:611,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:609,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[26px] font-bold tracking-tight text-[#1d1d1f] leading-none`,children:t},void 0,!1,{fileName:X,lineNumber:621,columnNumber:13},this),i&&(0,M.jsxDEV)(`div`,{className:`text-[11px] text-[#86868b] mt-1 truncate`,children:i},void 0,!1,{fileName:X,lineNumber:624,columnNumber:20},this)]},void 0,!0,{fileName:X,lineNumber:620,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:591,columnNumber:9},this)}case`statCard`:{let e=d.title||`Total Revenue`,t=d.value||`$128,450.00`,n=d.change||`+14.2%`,r=d.isPositive!==!1,i=d.timeframe||`vs last month`,a=Ml[d.icon]||_r;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#86868b]`,children:e},void 0,!1,{fileName:X,lineNumber:657,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-7 h-7 rounded-lg bg-[#0071e3]/10 text-[#0071e3] flex items-center justify-center`,children:(0,M.jsxDEV)(a,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:659,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:658,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:656,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[24px] font-extrabold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:664,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 mt-1 text-[11px]`,children:[(0,M.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 font-bold px-1.5 py-0.2 rounded-full ${r?`bg-[#34c759]/10 text-[#34c759]`:`bg-[#ff3b30]/10 text-[#ff3b30]`}`,children:[r?(0,M.jsxDEV)(_r,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:671,columnNumber:26},this):(0,M.jsxDEV)(Qe,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:671,columnNumber:63},this),n]},void 0,!0,{fileName:X,lineNumber:666,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[#86868b]`,children:i},void 0,!1,{fileName:X,lineNumber:674,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:665,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:663,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:639,columnNumber:9},this)}case`kpiCard`:{let e=d.title||`Quarterly Goal`,t=d.current||`$84,200`,n=d.target||`$100,000`,r=d.percentage||84,i=d.status||`On Track`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#86868b]`,children:e},void 0,!1,{fileName:X,lineNumber:707,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full text-[10px] font-bold bg-[#34c759]/10 text-[#34c759]`,children:i},void 0,!1,{fileName:X,lineNumber:708,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:706,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-baseline justify-between mb-1.5`,children:[(0,M.jsxDEV)(`span`,{className:`text-[22px] font-extrabold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:715,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] text-[#86868b] font-medium`,children:[`Goal: `,n]},void 0,!0,{fileName:X,lineNumber:716,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:714,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-full h-2 rounded-full bg-[#f4f4f6] overflow-hidden`,children:(0,M.jsxDEV)(`div`,{style:{width:`${Math.min(r,100)}%`},className:`h-full rounded-full bg-[#0071e3] transition-all`},void 0,!1,{fileName:X,lineNumber:720,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:719,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:713,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:689,columnNumber:9},this)}case`metric`:{let e=d.label||`Active Users`,t=d.value||`48,290`,n=d.badge;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,paddingLeft:`${f.paddingLeft??12}px`,paddingRight:`${f.paddingRight??12}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-center select-none`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[11px] font-semibold text-[#86868b]`,children:[(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:748,columnNumber:13},this),n&&(0,M.jsxDEV)(`span`,{className:`px-1.5 py-0.2 rounded-full text-[9px] font-bold bg-[#34c759]/15 text-[#34c759]`,children:n},void 0,!1,{fileName:X,lineNumber:750,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:747,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`text-[28px] font-extrabold text-[#1d1d1f] tracking-tight leading-none mt-1`,children:t},void 0,!1,{fileName:X,lineNumber:755,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:736,columnNumber:9},this)}case`chart`:case`lineChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`line`,title:d.title||`Revenue Growth`,subtitle:d.subtitle,data:d.data,format:d.format||`currency`,color:f.textColor||`#0071e3`,width:e.width-40,height:e.height-40,showGrid:d.showGrid!==!1,showAxes:d.showAxes!==!1,showLegend:d.showLegend!==!1},void 0,!1,{fileName:X,lineNumber:782,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:765,columnNumber:9},this);case`areaChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`area`,title:d.title||`Ingestion Volume`,subtitle:d.subtitle,data:d.data,format:d.format||`compact`,color:f.textColor||`#0071e3`,width:e.width-40,height:e.height-40,showGrid:d.showGrid!==!1,showAxes:d.showAxes!==!1},void 0,!1,{fileName:X,lineNumber:818,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:801,columnNumber:9},this);case`barChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`bar`,title:d.title||`Orders by Product Tier`,subtitle:d.subtitle,data:d.data,format:d.format||`number`,color:f.textColor||`#0071e3`,width:e.width-40,height:e.height-40,showGrid:d.showGrid!==!1,showAxes:d.showAxes!==!1},void 0,!1,{fileName:X,lineNumber:853,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:836,columnNumber:9},this);case`donutChart`:case`pieChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:e.type===`pieChart`?`pie`:`donut`,title:d.title||`Traffic Acquisition`,subtitle:d.subtitle,data:d.data,format:d.format||`compact`,width:e.width-40,height:e.height-70,showLegend:d.showLegend!==!1},void 0,!1,{fileName:X,lineNumber:889,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:872,columnNumber:9},this);case`progressBar`:case`progress`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??14}px`,paddingBottom:`${f.paddingBottom??14}px`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-center select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`progress`,title:d.title||`Task Progress`,subtitle:d.subtitle,percentage:d.percentage??76,color:f.textColor||`#0071e3`},void 0,!1,{fileName:X,lineNumber:923,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:906,columnNumber:9},this);case`table`:case`dataTable`:{let e=d.title||`Data Table`,t=d.columns||[`Customer`,`Plan`,`Amount`,`Status`,`Date`],n=d.rows||[{customer:`Acme Corp`,plan:`Enterprise`,amount:`$4,800.00`,status:`Completed`,date:`Just now`},{customer:`Linear Labs`,plan:`Pro Studio`,amount:`$590.00`,status:`Completed`,date:`5m ago`},{customer:`Vercel Edge`,plan:`Enterprise`,amount:`$12,400.00`,status:`Processing`,date:`22m ago`}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`${f.paddingTop??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,M.jsxDEV)(`h4`,{className:`text-[13.5px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:961,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#0071e3] font-medium cursor-pointer`,children:`Export CSV`},void 0,!1,{fileName:X,lineNumber:962,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:960,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-full flex-1 flex flex-col justify-around text-[11.5px]`,children:[(0,M.jsxDEV)(`div`,{className:`grid grid-cols-5 pb-2 border-b border-[#f4f4f6] text-[#86868b] font-semibold`,children:t.map((e,t)=>(0,M.jsxDEV)(`span`,{children:e},t,!1,{fileName:X,lineNumber:969,columnNumber:17},this))},void 0,!1,{fileName:X,lineNumber:967,columnNumber:13},this),n.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`grid grid-cols-5 py-2 border-b border-[#f4f4f6] text-[#1d1d1f] items-center`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:e.customer||e.name},void 0,!1,{fileName:X,lineNumber:975,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[#6e6e73]`,children:e.plan||e.category||`-`},void 0,!1,{fileName:X,lineNumber:976,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`font-mono font-medium`,children:e.amount||e.value||`-`},void 0,!1,{fileName:X,lineNumber:977,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:(0,M.jsxDEV)(`span`,{className:`inline-flex items-center px-2 py-0.5 rounded-full text-[10px] font-bold ${e.status===`Completed`||e.status===`Paid`?`bg-[#34c759]/10 text-[#34c759]`:`bg-[#ff9500]/10 text-[#ff9500]`}`,children:e.status||`Active`},void 0,!1,{fileName:X,lineNumber:979,columnNumber:19},this)},void 0,!1,{fileName:X,lineNumber:978,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[#86868b] text-[10.5px]`,children:e.date||`Today`},void 0,!1,{fileName:X,lineNumber:989,columnNumber:17},this)]},t,!0,{fileName:X,lineNumber:974,columnNumber:15},this))]},void 0,!0,{fileName:X,lineNumber:966,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:945,columnNumber:9},this)}case`dataList`:{let e=d.title||`Top Performing Items`,t=d.items||[{label:`North America (us-east)`,value:`$64,200`,badge:`52%`},{label:`Europe (eu-west)`,value:`$42,800`,badge:`34%`},{label:`Asia Pacific (ap-northeast)`,value:`$18,450`,badge:`14%`}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] mb-2`,children:e},void 0,!1,{fileName:X,lineNumber:1023,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around divide-y divide-[#f4f4f6]`,children:t.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-1.5 text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-medium text-[#1d1d1f]`,children:e.label},void 0,!1,{fileName:X,lineNumber:1028,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`font-mono font-bold text-[#1d1d1f]`,children:e.value},void 0,!1,{fileName:X,lineNumber:1030,columnNumber:19},this),e.badge&&(0,M.jsxDEV)(`span`,{className:`px-1.5 py-0.2 rounded bg-[#f4f4f6] text-[#6e6e73] font-semibold text-[10px]`,children:e.badge},void 0,!1,{fileName:X,lineNumber:1032,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1029,columnNumber:17},this)]},t,!0,{fileName:X,lineNumber:1027,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1025,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1006,columnNumber:9},this)}case`activityFeed`:{let e=d.title||`Live Activity Feed`,t=d.events||[{user:`Alex Rivera`,action:`upgraded to Enterprise`,time:`2m ago`,icon:`Sparkles`},{user:`Sarah Chen`,action:`invited 4 collaborators`,time:`14m ago`,icon:`User`},{user:`Cloud Scheduler`,action:`deployed 3 edge nodes`,time:`1h ago`,icon:`Zap`}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] mb-2`,children:e},void 0,!1,{fileName:X,lineNumber:1070,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around`,children:t.map((e,t)=>{let n=Ml[e.icon]||lr;return(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5 py-1`,children:[(0,M.jsxDEV)(`div`,{className:`w-7 h-7 rounded-full bg-[#f4f4f6] text-[#0071e3] flex items-center justify-center shrink-0`,children:(0,M.jsxDEV)(n,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1078,columnNumber:21},this)},void 0,!1,{fileName:X,lineNumber:1077,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`flex-1 min-w-0 text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:[e.user,` `]},void 0,!0,{fileName:X,lineNumber:1081,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[#6e6e73]`,children:e.action},void 0,!1,{fileName:X,lineNumber:1082,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1080,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#86868b] shrink-0`,children:e.time},void 0,!1,{fileName:X,lineNumber:1084,columnNumber:19},this)]},t,!0,{fileName:X,lineNumber:1076,columnNumber:17},this)})},void 0,!1,{fileName:X,lineNumber:1072,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1053,columnNumber:9},this)}case`timeline`:{let e=d.title||`Deployment Timeline`,t=d.steps||[{label:`Production V2.4 Released`,date:`Today, 14:30`,completed:!0},{label:`WCAG 2.1 AA Audit Passed`,date:`Yesterday`,completed:!0},{label:`Database Sharding Migration`,date:`Scheduled Friday`,completed:!1}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] mb-2`,children:e},void 0,!1,{fileName:X,lineNumber:1119,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around`,children:t.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-start gap-2.5 relative`,children:[(0,M.jsxDEV)(`div`,{className:`w-4 h-4 rounded-full border-2 flex items-center justify-center shrink-0 mt-0.5 ${e.completed?`border-[#0071e3] bg-[#0071e3] text-white`:`border-[#d1d1d6] bg-white`}`,children:e.completed&&(0,M.jsxDEV)(jr,{className:`w-2.5 h-2.5 stroke-[3]`},void 0,!1,{fileName:X,lineNumber:1131,columnNumber:36},this)},void 0,!1,{fileName:X,lineNumber:1124,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex-1`,children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:e.label},void 0,!1,{fileName:X,lineNumber:1134,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`text-[10px] text-[#86868b]`,children:e.date},void 0,!1,{fileName:X,lineNumber:1135,columnNumber:19},this)]},void 0,!0,{fileName:X,lineNumber:1133,columnNumber:17},this)]},t,!0,{fileName:X,lineNumber:1123,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1121,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1102,columnNumber:9},this)}case`calendar`:{let e=d.month||`August 2026`,t=d.selectedDay||15,n=d.eventDays||[3,8,15,22,28];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`16px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:1166,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1 text-[#86868b]`,children:[(0,M.jsxDEV)(we,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1168,columnNumber:15},this),(0,M.jsxDEV)(fe,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1169,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1167,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1165,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-7 text-center text-[10px] font-semibold text-[#86868b] mb-1`,children:[`S`,`M`,`T`,`W`,`T`,`F`,`S`].map((e,t)=>(0,M.jsxDEV)(`span`,{children:e},t,!1,{fileName:X,lineNumber:1175,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1173,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-7 gap-1 text-center text-[11px]`,children:Array.from({length:31},(e,t)=>t+1).map(e=>{let r=e===t,i=n.includes(e);return(0,M.jsxDEV)(`div`,{className:`h-6 rounded-md flex items-center justify-center relative font-medium ${r?`bg-[#0071e3] text-white font-bold`:`text-[#1d1d1f] hover:bg-[#f4f4f6]`}`,children:[(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:1193,columnNumber:19},this),i&&!r&&(0,M.jsxDEV)(`span`,{className:`w-1 h-1 rounded-full bg-[#0071e3] absolute bottom-0.5`},void 0,!1,{fileName:X,lineNumber:1195,columnNumber:21},this)]},e,!0,{fileName:X,lineNumber:1185,columnNumber:17},this)})},void 0,!1,{fileName:X,lineNumber:1179,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1151,columnNumber:9},this)}case`featureCard`:{let e=d.title||`Feature Title`,t=d.description||`Feature description details`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??24}px`,paddingBottom:`${f.paddingBottom??24}px`,paddingLeft:`${f.paddingLeft??24}px`,paddingRight:`${f.paddingRight??24}px`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex flex-col select-none overflow-hidden ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#f4f4f6] border border-[#e5e5ea] flex items-center justify-center text-[#0071e3] mb-3.5 shrink-0`,children:(0,M.jsxDEV)(me,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1229,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:1228,columnNumber:11},this),(0,M.jsxDEV)(`h3`,{className:`text-[16px] font-semibold text-[#1d1d1f] tracking-tight mb-1.5 truncate`,children:e},void 0,!1,{fileName:X,lineNumber:1231,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#6e6e73] leading-relaxed line-clamp-3`,children:t},void 0,!1,{fileName:X,lineNumber:1234,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1210,columnNumber:9},this)}case`footer`:{let e=d.brandName||`Cyrus`,t=d.copyright||`© 2026 Cyrus Software.`,n=d.col1Title||`Product`,r=d.col1Links||[`Features`,`Engine`,`Templates`],i=d.col2Title||`Resources`,a=d.col2Links||[`Documentation`,`API`,`Changelog`];return(0,M.jsxDEV)(`footer`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`24px 32px`,opacity:f.opacity??1},className:`flex items-start justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2 max-w-xs`,children:[(0,M.jsxDEV)(`div`,{className:`text-[16px] font-bold text-[#1d1d1f] flex items-center gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-5 h-5 rounded-[5px] bg-[#1d1d1f] text-white flex items-center justify-center text-[10px]`,children:`C`},void 0,!1,{fileName:X,lineNumber:1265,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:1268,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1264,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11px] text-[#86868b]`,children:t},void 0,!1,{fileName:X,lineNumber:1270,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1263,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-start gap-16`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:1275,columnNumber:15},this),r.map((e,t)=>(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#6e6e73]`,children:e},t,!1,{fileName:X,lineNumber:1277,columnNumber:17},this))]},void 0,!0,{fileName:X,lineNumber:1274,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:i},void 0,!1,{fileName:X,lineNumber:1283,columnNumber:15},this),a.map((e,t)=>(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#6e6e73]`,children:e},t,!1,{fileName:X,lineNumber:1285,columnNumber:17},this))]},void 0,!0,{fileName:X,lineNumber:1282,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1273,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1250,columnNumber:9},this)}case`form`:{let o=d.title||`Form`,c=d.subtitle||``,l=d.submitLabel||`Submit`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`${f.padding??24}px`,opacity:f.opacity??1,display:`flex`,flexDirection:`column`,justifyContent:`space-between`,gap:`16px`},className:x,children:[(0,M.jsxDEV)(`div`,{children:[o&&(0,M.jsxDEV)(`h3`,{className:`text-[17px] font-bold text-[#1d1d1f] tracking-tight`,children:o},void 0,!1,{fileName:X,lineNumber:1325,columnNumber:23},this),c&&(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-0.5`,children:c},void 0,!1,{fileName:X,lineNumber:1326,columnNumber:26},this)]},void 0,!0,{fileName:X,lineNumber:1324,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col gap-3`,children:n&&n.length>0?n.map(e=>(0,M.jsxDEV)(`div`,{className:`w-full`,children:(0,M.jsxDEV)(Nl,{element:e,designTokens:t,formValues:r,onFormChange:i,onTriggerInteraction:a,onExecuteForm:s},void 0,!1,{fileName:X,lineNumber:1333,columnNumber:19},this)},e.id,!1,{fileName:X,lineNumber:1332,columnNumber:17},this)):(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsxDEV)(`input`,{type:`text`,placeholder:`Name`,value:r[`field_name_${e.id}`]||``,onChange:t=>i(`field_name_${e.id}`,t.target.value),className:`h-8.5 px-3 bg-white rounded-[8px] border border-[#e5e5ea] text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1345,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:`email`,placeholder:`Email`,value:r[`field_email_${e.id}`]||``,onChange:t=>i(`field_email_${e.id}`,t.target.value),className:`h-8.5 px-3 bg-white rounded-[8px] border border-[#e5e5ea] text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1352,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:1344,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1329,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:l},void 0,!1,{fileName:X,lineNumber:1363,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1306,columnNumber:9},this)}case`formField`:{let t=d.name||`field_${e.id}`,n=d.label,a=d.placeholder||`Enter value...`,o=d.required===!0,s=d.helperText,c=r[t]??``;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-semibold text-[#1d1d1f] flex items-center gap-1`,children:[(0,M.jsxDEV)(`span`,{children:n},void 0,!1,{fileName:X,lineNumber:1388,columnNumber:15},this),o&&(0,M.jsxDEV)(`span`,{className:`text-[#ff3b30] text-[11px]`,children:`*`},void 0,!1,{fileName:X,lineNumber:1389,columnNumber:25},this)]},void 0,!0,{fileName:X,lineNumber:1387,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:d.inputType||`text`,value:c,onChange:e=>i(t,e.target.value),placeholder:a,required:o,className:`w-full h-9 rounded-[8px] bg-white border border-[#e5e5ea] px-3 text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:ring-2 focus:ring-[#0071e3]/20 transition-all shadow-2xs`},void 0,!1,{fileName:X,lineNumber:1392,columnNumber:11},this),s&&(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:s},void 0,!1,{fileName:X,lineNumber:1400,columnNumber:22},this)]},void 0,!0,{fileName:X,lineNumber:1382,columnNumber:9},this)}case`textarea`:{let t=d.name||`field_${e.id}`,n=d.label||`Message`,a=d.placeholder||`Type here...`,o=d.required===!0,s=r[t]??``;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-semibold text-[#1d1d1f] flex items-center gap-1`,children:[(0,M.jsxDEV)(`span`,{children:n},void 0,!1,{fileName:X,lineNumber:1419,columnNumber:15},this),o&&(0,M.jsxDEV)(`span`,{className:`text-[#ff3b30] text-[11px]`,children:`*`},void 0,!1,{fileName:X,lineNumber:1420,columnNumber:25},this)]},void 0,!0,{fileName:X,lineNumber:1418,columnNumber:13},this),(0,M.jsxDEV)(`textarea`,{rows:d.rows||3,value:s,onChange:e=>i(t,e.target.value),placeholder:a,required:o,className:`w-full p-2.5 rounded-[8px] bg-white border border-[#e5e5ea] text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:ring-2 focus:ring-[#0071e3]/20 transition-all shadow-2xs resize-none`},void 0,!1,{fileName:X,lineNumber:1423,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1413,columnNumber:9},this)}case`select`:{let t=d.name||`field_${e.id}`,n=d.label,a=d.options||[`Option 1`,`Option 2`],o=r[t]??d.defaultValue??a[0];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:1446,columnNumber:21},this),(0,M.jsxDEV)(`select`,{value:o,onChange:e=>i(t,e.target.value),className:`w-full h-9 rounded-[8px] bg-white border border-[#e5e5ea] px-3 text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] cursor-pointer shadow-2xs`,children:a.map(e=>(0,M.jsxDEV)(`option`,{value:e,children:e},e,!1,{fileName:X,lineNumber:1453,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1447,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1442,columnNumber:9},this)}case`checkbox`:{let t=d.name||`field_${e.id}`,n=d.label||`I agree`,a=r[t]===void 0?d.checked!==!1:!!r[t];return(0,M.jsxDEV)(`div`,{onClick:()=>i(t,!a),style:{width:`100%`,height:`100%`},className:`flex items-center gap-2.5 select-none cursor-pointer`,children:[(0,M.jsxDEV)(`div`,{className:`w-4.5 h-4.5 rounded-[5px] border flex items-center justify-center transition-colors ${a?`bg-[#0071e3] border-[#0071e3] text-white`:`bg-white border-[#d2d2d7]`}`,children:a&&(0,M.jsxDEV)(jr,{className:`w-3 h-3 stroke-[2.5]`},void 0,!1,{fileName:X,lineNumber:1478,columnNumber:25},this)},void 0,!1,{fileName:X,lineNumber:1473,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] text-[#1d1d1f] font-medium leading-none`,children:n},void 0,!1,{fileName:X,lineNumber:1480,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1468,columnNumber:9},this)}case`radioGroup`:{let t=d.name||`field_${e.id}`,n=d.label,a=d.options||[`Option A`,`Option B`],o=r[t]??a[d.selectedIndex??0];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`},className:`flex flex-col gap-2 select-none`,children:[n&&(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:1496,columnNumber:21},this),a.map(e=>{let n=o===e;return(0,M.jsxDEV)(`div`,{onClick:()=>i(t,e),className:`flex items-center gap-2.5 cursor-pointer`,children:[(0,M.jsxDEV)(`div`,{className:`w-4.5 h-4.5 rounded-full border flex items-center justify-center ${n?`border-[#0071e3]`:`border-[#d2d2d7]`}`,children:n&&(0,M.jsxDEV)(`div`,{className:`w-2.5 h-2.5 rounded-full bg-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1510,columnNumber:29},this)},void 0,!1,{fileName:X,lineNumber:1505,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:1512,columnNumber:17},this)]},e,!0,{fileName:X,lineNumber:1500,columnNumber:15},this)})]},void 0,!0,{fileName:X,lineNumber:1492,columnNumber:9},this)}case`fileUpload`:{d.name||`${e.id}`;let t=d.label||`Upload Files`,n=d.helperText||`PNG, JPG or PDF`,r=d.buttonText||`Browse Files`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,borderRadius:`${f.borderRadius??12}px`,borderColor:f.borderColor||`#d2d2d7`,backgroundColor:f.backgroundColor||`#fbfbfd`},className:`border-1.5 border-dashed flex flex-col items-center justify-center p-4 text-center cursor-pointer hover:bg-[#f4f4f6] transition-apple gap-1.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-full bg-white shadow-2xs flex items-center justify-center text-[#0071e3] mb-1`,children:(0,M.jsxDEV)(Xe,{className:`w-5 h-5`},void 0,!1,{fileName:X,lineNumber:1538,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:1537,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] font-semibold text-[#1d1d1f]`,children:t},void 0,!1,{fileName:X,lineNumber:1540,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:n},void 0,!1,{fileName:X,lineNumber:1541,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`mt-1 px-3 py-1 rounded-[6px] bg-white border border-[#e5e5ea] text-[11.5px] font-medium text-[#1d1d1f] shadow-2xs`,children:r},void 0,!1,{fileName:X,lineNumber:1542,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1527,columnNumber:9},this)}case`submitButton`:{let t=d.label||`Submit`;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{s&&s(e),w()},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||_,color:f.textColor||`#ffffff`,borderRadius:`${f.borderRadius??10}px`},className:`flex items-center justify-center gap-2 font-semibold text-[13.5px] shadow-apple-sm hover:opacity-95 active:scale-[0.98] transition-apple cursor-pointer`,children:[(0,M.jsxDEV)(rr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1567,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:t},void 0,!1,{fileName:X,lineNumber:1568,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1552,columnNumber:9},this)}case`loginForm`:{let t=d.title||`Sign In to Cyrus`,n=d.subtitle||`Enter your email and password`,a=d.submitLabel||`Sign In`,o=`email_${e.id}`,c=`password_${e.id}`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#0071e3] text-white flex items-center justify-center mb-3 shadow-apple-sm`,children:(0,M.jsxDEV)(Rt,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1602,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1601,columnNumber:13},this),(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1604,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-0.5`,children:n},void 0,!1,{fileName:X,lineNumber:1605,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1600,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-3 my-2`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-medium text-[#6e6e73]`,children:`Email Address`},void 0,!1,{fileName:X,lineNumber:1610,columnNumber:15},this),(0,M.jsxDEV)(`input`,{type:`email`,required:!0,value:r[o]||``,onChange:e=>i(o,e.target.value),placeholder:`alex@apple.com`,className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1611,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1609,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsxDEV)(`div`,{className:`flex justify-between items-center text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-medium text-[#6e6e73]`,children:`Password`},void 0,!1,{fileName:X,lineNumber:1622,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium hover:underline cursor-pointer`,children:`Forgot?`},void 0,!1,{fileName:X,lineNumber:1623,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:1621,columnNumber:15},this),(0,M.jsxDEV)(`input`,{type:`password`,required:!0,value:r[c]||``,onChange:e=>i(c,e.target.value),placeholder:`••••••••••••`,className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1625,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1620,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1608,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:a},void 0,!1,{fileName:X,lineNumber:1637,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] text-center mt-2.5`,children:[`Don't have an account? `,(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium hover:underline cursor-pointer`,children:`Sign up`},void 0,!1,{fileName:X,lineNumber:1644,columnNumber:38},this)]},void 0,!0,{fileName:X,lineNumber:1643,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1636,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1587,columnNumber:9},this)}case`signupForm`:{let t=d.title||`Create Your Account`,n=d.submitLabel||`Create Account`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#0071e3] text-white flex items-center justify-center mb-3 shadow-apple-sm`,children:(0,M.jsxDEV)($t,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1676,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1675,columnNumber:13},this),(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1678,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1674,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 my-2`,children:[(0,M.jsxDEV)(`input`,{type:`text`,required:!0,placeholder:`Full Name`,value:r[`name_${e.id}`]||``,onChange:t=>i(`name_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1682,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`email`,required:!0,placeholder:`Work Email`,value:r[`email_${e.id}`]||``,onChange:t=>i(`email_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1690,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`password`,required:!0,placeholder:`Create Password`,value:r[`pass_${e.id}`]||``,onChange:t=>i(`pass_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1698,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1681,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:1709,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] text-center mt-2.5`,children:[`Already registered? `,(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium hover:underline cursor-pointer`,children:`Sign in`},void 0,!1,{fileName:X,lineNumber:1716,columnNumber:35},this)]},void 0,!0,{fileName:X,lineNumber:1715,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1708,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1661,columnNumber:9},this)}case`contactForm`:{let t=d.title||`Get in Touch`,n=d.submitLabel||`Send Inquiry`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#0071e3] text-white flex items-center justify-center mb-3 shadow-apple-sm`,children:(0,M.jsxDEV)(kt,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1748,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1747,columnNumber:13},this),(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1750,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1746,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 my-2`,children:[(0,M.jsxDEV)(`input`,{type:`text`,required:!0,placeholder:`Your Name`,value:r[`name_${e.id}`]||``,onChange:t=>i(`name_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1754,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`email`,required:!0,placeholder:`Your Email`,value:r[`email_${e.id}`]||``,onChange:t=>i(`email_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1762,columnNumber:13},this),(0,M.jsxDEV)(`textarea`,{rows:3,required:!0,placeholder:`How can we help?`,value:r[`msg_${e.id}`]||``,onChange:t=>i(`msg_${e.id}`,t.target.value),className:`p-2.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white resize-none`},void 0,!1,{fileName:X,lineNumber:1770,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1753,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:1780,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1733,columnNumber:9},this)}case`mobileHeader`:{let e=d.title||`Screen Title`,t=d.actionLabel||`Edit`,n=d.showBack!==!1;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`},className:`flex items-center justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[#0071e3] font-medium text-[13px] cursor-pointer`,children:[n&&(0,M.jsxDEV)(we,{className:`w-4 h-4`},void 0,!1,{fileName:X,lineNumber:1811,columnNumber:26},this),(0,M.jsxDEV)(`span`,{className:`text-[12px]`,children:`Back`},void 0,!1,{fileName:X,lineNumber:1812,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1810,columnNumber:11},this),(0,M.jsxDEV)(`h4`,{className:`text-[14px] font-bold text-[#1d1d1f] tracking-tight truncate max-w-[160px]`,children:e},void 0,!1,{fileName:X,lineNumber:1815,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`text-[12px] font-semibold text-[#0071e3] cursor-pointer`,children:t},void 0,!1,{fileName:X,lineNumber:1819,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1796,columnNumber:9},this)}case`bottomNav`:case`tabBar`:{let e=d.activeTab||`Home`,t=d.tabs||[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`2`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??20}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`},className:`flex items-center justify-around px-2 ${x}`,children:t.map((t,n)=>{let r=t.label===e,i=Ml[t.icon]||S;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{C&&a(C)},className:`flex flex-col items-center gap-0.5 relative py-1 px-2.5 rounded-xl cursor-pointer transition-apple ${r?`text-[#0071e3] font-bold`:`text-[#86868b] hover:text-[#1d1d1f]`}`,children:[(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(i,{className:`w-5 h-5`},void 0,!1,{fileName:X,lineNumber:1864,columnNumber:19},this),t.badge&&(0,M.jsxDEV)(`span`,{className:`absolute -top-1 -right-2 px-1 py-0.2 rounded-full bg-[#ff3b30] text-white text-[9px] font-bold leading-none`,children:t.badge},void 0,!1,{fileName:X,lineNumber:1866,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1863,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] tracking-tight`,children:t.label},void 0,!1,{fileName:X,lineNumber:1871,columnNumber:17},this)]},n,!0,{fileName:X,lineNumber:1853,columnNumber:15},this)})},void 0,!1,{fileName:X,lineNumber:1837,columnNumber:9},this)}case`mobileCard`:{let e=d.subtitle||`Available Balance`,t=d.amount||`$14,250.80`,n=d.tag||`Checking •• 4092`,r=d.trend||`+12.4% this month`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#0071e3`,color:f.textColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??0}px`,borderColor:f.borderColor||`transparent`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[11px] font-medium opacity-80`,children:e},void 0,!1,{fileName:X,lineNumber:1905,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full text-[10px] font-semibold bg-white/20 backdrop-blur-xs`,children:n},void 0,!1,{fileName:X,lineNumber:1906,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1904,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[26px] font-extrabold tracking-tight leading-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1912,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`text-[11px] font-medium opacity-85 mt-0.5 flex items-center gap-1`,children:[(0,M.jsxDEV)(_r,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1914,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:r},void 0,!1,{fileName:X,lineNumber:1915,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1913,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1911,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1886,columnNumber:9},this)}case`mobileList`:{let e=d.title||`Recent Transactions`,t=d.items||[{title:`Apple Store`,subtitle:`Hardware & Tech`,amount:`-$1,299.00`,icon:`ShoppingBag`,isDebit:!0},{title:`Stripe Payout`,subtitle:`Direct Deposit`,amount:`+$4,820.00`,icon:`ArrowDownLeft`,isDebit:!1},{title:`Uber Rides`,subtitle:`Transportation`,amount:`-$24.50`,icon:`Car`,isDebit:!0}];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??14}px`,paddingBottom:`${f.paddingBottom??14}px`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`},className:`flex flex-col ${x}`,children:[e&&(0,M.jsxDEV)(`div`,{className:`text-[12px] font-bold text-[#1d1d1f] mb-2 flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:1948,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[10.5px] text-[#0071e3] font-medium cursor-pointer`,children:`See All`},void 0,!1,{fileName:X,lineNumber:1949,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1947,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around divide-y divide-[#f5f5f7]`,children:t.map((e,t)=>{let n=Ml[e.icon]||Hn;return(0,M.jsxDEV)(`div`,{onClick:w,className:`flex items-center justify-between py-2 cursor-pointer hover:bg-[#f5f5f7]/60 rounded-lg px-1 transition-apple`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-8 h-8 rounded-xl bg-[#f5f5f7] text-[#1d1d1f] flex items-center justify-center`,children:(0,M.jsxDEV)(n,{className:`w-4 h-4 text-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1965,columnNumber:23},this)},void 0,!1,{fileName:X,lineNumber:1964,columnNumber:21},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:e.title},void 0,!1,{fileName:X,lineNumber:1968,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`text-[10px] text-[#86868b]`,children:e.subtitle},void 0,!1,{fileName:X,lineNumber:1969,columnNumber:23},this)]},void 0,!0,{fileName:X,lineNumber:1967,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1963,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`text-right`,children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-bold ${e.isDebit?`text-[#1d1d1f]`:`text-[#34c759]`}`,children:e.amount},void 0,!1,{fileName:X,lineNumber:1974,columnNumber:21},this),(0,M.jsxDEV)(fe,{className:`w-3 h-3 text-[#c7c7cc] inline-block ml-1`},void 0,!1,{fileName:X,lineNumber:1981,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1973,columnNumber:19},this)]},t,!0,{fileName:X,lineNumber:1958,columnNumber:17},this)})},void 0,!1,{fileName:X,lineNumber:1953,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1931,columnNumber:9},this)}case`mobileSheet`:{let e=d.title||`Transfer Money`,t=d.subtitle||`Select payment method or contact.`,n=d.primaryAction||`Send Money`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??24}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??14}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`w-10 h-1 rounded-full bg-[#d1d1d6] mx-auto mb-2`},void 0,!1,{fileName:X,lineNumber:2012,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h4`,{className:`text-[15px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:2015,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11px] text-[#86868b] mt-0.5`,children:t},void 0,!1,{fileName:X,lineNumber:2016,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2014,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#f5f5f7] border border-[#e5e5ea] flex items-center justify-between text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:`Fast Wire Transfer`},void 0,!1,{fileName:X,lineNumber:2020,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-bold`,children:`Instant`},void 0,!1,{fileName:X,lineNumber:2021,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2019,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`w-full py-2.5 rounded-xl bg-[#0071e3] text-white text-[12.5px] font-semibold text-center shadow-2xs hover:bg-[#0077ed] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:2024,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1997,columnNumber:9},this)}case`mobileModal`:{let e=d.title||`Confirm Payment`,t=d.message||`Are you sure you want to send $500.00 to Alex Rivera?`,n=d.confirmLabel||`Confirm & Send`,r=d.cancelLabel||`Cancel`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??20}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??20}px`,paddingBottom:`${f.paddingBottom??20}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`},className:`flex flex-col justify-between text-center ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-10 h-10 rounded-2xl bg-[#0071e3]/10 text-[#0071e3] flex items-center justify-center mx-auto mb-2`,children:(0,M.jsxDEV)(rr,{className:`w-5 h-5`},void 0,!1,{fileName:X,lineNumber:2059,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:2058,columnNumber:13},this),(0,M.jsxDEV)(`h4`,{className:`text-[14px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:2061,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#6e6e73] mt-1 leading-relaxed`,children:t},void 0,!1,{fileName:X,lineNumber:2062,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2057,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`flex-1 py-2 rounded-xl bg-[#f5f5f7] text-[#1d1d1f] text-[11.5px] font-semibold text-center hover:bg-[#e5e5ea] transition-apple cursor-pointer`,children:r},void 0,!1,{fileName:X,lineNumber:2066,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`flex-1 py-2 rounded-xl bg-[#0071e3] text-white text-[11.5px] font-semibold text-center shadow-2xs hover:bg-[#0077ed] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:2073,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2065,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:2042,columnNumber:9},this)}case`mobileScreen`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#f5f5f7`,borderRadius:`${f.borderRadius??28}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`w-full flex items-center justify-between text-[10px] font-bold text-[#1d1d1f] px-2 py-0.5`,children:[(0,M.jsxDEV)(`span`,{children:`9:41`},void 0,!1,{fileName:X,lineNumber:2104,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-20 h-4 rounded-full bg-black mx-auto`},void 0,!1,{fileName:X,lineNumber:2105,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`5G 100%`},void 0,!1,{fileName:X,lineNumber:2106,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2103,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex items-center justify-center text-[12px] text-[#86868b]`,children:e.name},void 0,!1,{fileName:X,lineNumber:2109,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`w-28 h-1 rounded-full bg-black mx-auto`},void 0,!1,{fileName:X,lineNumber:2113,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:2087,columnNumber:9},this);default:{let t=as.getCustomWidgetRenderer(e.type);return t?(0,M.jsxDEV)(`div`,{onClick:w,className:`w-full h-full`,children:(0,M.jsxDEV)(t,{element:e},void 0,!1,{fileName:X,lineNumber:2123,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:2122,columnNumber:11},this):(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`10px`,borderWidth:`1px`,borderColor:`#e5e5ea`,cursor:C?`pointer`:`default`},className:`p-3 flex items-center justify-center text-[12px] text-[#86868b]`,children:e.name},void 0,!1,{fileName:X,lineNumber:2129,columnNumber:9},this)}}}var Pl=`C:/Users/Shadow/Desktop/cyrus/src/runtime/RuntimeErrorBoundary.tsx`,Fl=class extends A.Component{state={hasError:!1};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`Cyrus Runtime Element Error:`,e,t)}render(){return this.state.hasError?(0,M.jsxDEV)(`div`,{className:`w-full h-full p-4 rounded-[10px] bg-[#fff2f2] border border-[#ffcdd2] flex flex-col items-center justify-center text-center text-[12px] text-[#d32f2f] select-none shadow-2xs`,children:[(0,M.jsxDEV)(ze,{className:`w-5 h-5 mb-1 text-[#d32f2f]`},void 0,!1,{fileName:Pl,lineNumber:31,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`font-semibold text-[13px]`,children:this.props.fallbackName||`Element Rendering Error`},void 0,!1,{fileName:Pl,lineNumber:32,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[10.5px] text-[#b71c1c] max-w-xs mt-0.5 line-clamp-2`,children:this.state.error?.message||`A runtime error occurred in this component.`},void 0,!1,{fileName:Pl,lineNumber:35,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>this.setState({hasError:!1}),className:`mt-2.5 inline-flex items-center gap-1 px-2.5 py-1 bg-white border border-[#ffcdd2] rounded-[6px] text-[11px] font-medium text-[#d32f2f] hover:bg-[#ffebee] transition-apple cursor-pointer`,children:[(0,M.jsxDEV)(sn,{className:`w-3 h-3`},void 0,!1,{fileName:Pl,lineNumber:43,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Retry Element`},void 0,!1,{fileName:Pl,lineNumber:44,columnNumber:13},this)]},void 0,!0,{fileName:Pl,lineNumber:38,columnNumber:11},this)]},void 0,!0,{fileName:Pl,lineNumber:30,columnNumber:9},this):this.props.children}};async function Il(e,t,n){let{actionType:r}=e;try{switch(r){case`api`:{if(!e.apiEndpoint)return{success:!1,message:`No API endpoint configured.`};let r=JSON.stringify(t);e.apiMethod===`GET`&&(r=void 0);let i=(e.apiMethod||`POST`).toUpperCase(),a=await fetch(e.apiEndpoint,{method:i,headers:{"Content-Type":`application/json`,...e.headers||{}},body:i===`GET`?void 0:r}),o=await a.json().catch(()=>null);if(!a.ok)throw Error(o&&(o.message||o.error)||`Request failed (${a.status})`);return n.addToast&&n.addToast(e.successMessage||`Form submitted successfully!`,`success`),e.targetVariable&&n.setVariable&&n.setVariable(e.targetVariable,o??t),e.targetPageId&&n.setActivePage&&n.setActivePage(e.targetPageId),{success:!0,message:e.successMessage||`Form submitted successfully!`,data:o??t}}case`setVariable`:return e.targetVariable&&n.setVariable&&n.setVariable(e.targetVariable,t),n.addToast&&n.addToast(e.successMessage||`Variables updated!`,`success`),e.targetPageId&&n.setActivePage&&n.setActivePage(e.targetPageId),{success:!0,message:`Updated variable state.`};case`navigate`:return e.targetPageId&&n.setActivePage&&n.setActivePage(e.targetPageId),e.targetUrl&&window.open(e.targetUrl,`_blank`),{success:!0};case`toast`:return n.addToast&&n.addToast(e.successMessage||`Action completed successfully!`,`success`),{success:!0};default:return n.addToast&&n.addToast(e.successMessage||`Submitted successfully!`,`success`),{success:!0}}}catch(t){let r=e.errorMessage||t?.message||`Failed to submit form.`;return n.addToast&&n.addToast(r,`error`),{success:!1,message:r}}}var Ll=`C:/Users/Shadow/Desktop/cyrus/src/runtime/RuntimeRenderer.tsx`;function Rl({project:e,initialPageId:t,viewportMode:n=`desktop`,previewTheme:r,onPageChange:i}){let{addToast:a}=Br(),o=N(e=>e.setVariableValue),s=e.pages||[],[c,l]=(0,A.useState)(t||s[0]?.id||``),[u,d]=(0,A.useState)(null),[f,p]=(0,A.useState)({}),[m,h]=(0,A.useState)({}),g=(0,A.useMemo)(()=>s.find(e=>e.id===c||e.slug===c)||s[0],[s,c]),_=di[n],v=r===`dark`||e.designSystem?.mode===`dark`,y=g?.settings?.backgroundColor===`#ffffff`||!g?.settings?.backgroundColor?v?`#1c1c1e`:`#ffffff`:g.settings.backgroundColor,b=(0,A.useMemo)(()=>g?g.elements.map(e=>Ns(e,n)):[],[g,n]),x=e=>{switch(e.action){case`navigate`:{let t=s.find(t=>t.id===e.target||t.slug===e.target);t?(l(t.id),i?.(t)):e.target&&l(e.target);break}case`openModal`:d({isOpen:!0,title:e.modalTitle||`Action Dialog`});break;case`closeModal`:d(null);break;case`openUrl`:e.target&&/^https?:\/\//i.test(e.target.trim())&&window.open(e.target.trim(),`_blank`,`noopener,noreferrer`);break;case`toggleVisibility`:e.target&&p(t=>({...t,[e.target]:!t[e.target]}));break;case`scrollTo`:e.target&&document.getElementById(`runtime_el_${e.target}`)?.scrollIntoView({behavior:`smooth`})}},S=(e,t)=>{h(n=>({...n,[e]:t}))},C=async e=>{let t=e.formConfig||{actionType:`api`,apiEndpoint:`/api/submit`,apiMethod:`POST`,successMessage:`Form submitted successfully!`,resetOnSuccess:!0};(await Il(t,m,{setVariable:(e,t)=>o(e,t),addToast:(e,t)=>a(e,t),setActivePage:e=>{l(e);let t=s.find(t=>t.id===e);t&&i?.(t)}})).success&&t.resetOnSuccess!==!1&&h({})};if(!g)return(0,M.jsxDEV)(`div`,{className:`w-full h-full flex items-center justify-center text-[13px] text-[#86868b]`,children:`No pages found in this project.`},void 0,!1,{fileName:Ll,lineNumber:145,columnNumber:7},this);let w=(0,A.useMemo)(()=>{let e=_.height;return b.forEach(t=>{let n=(t.effectiveY??t.y)+(t.effectiveHeight??t.height)+140;n>e&&(e=n)}),e},[b,_.height]),ee=Math.max(_.height,g?.settings?.minHeight||0,w);return(0,M.jsxDEV)(`div`,{className:`w-full h-full relative overflow-y-auto flex flex-col items-center select-none bg-inherit`,children:[u&&(0,M.jsxDEV)(Cs,{title:u.title,isOpen:u.isOpen,onClose:()=>d(null)},void 0,!1,{fileName:Ll,lineNumber:172,columnNumber:9},this),(0,M.jsxDEV)(`div`,{id:`cyrus-runtime-artboard`,"data-theme":v?`dark`:`light`,style:{width:`${_.width}px`,minHeight:`${ee}px`,backgroundColor:y,color:v?`#f5f5f7`:`#1d1d1f`},className:`relative mx-auto rounded-[12px] shadow-artboard transition-apple shrink-0 ${v?`dark bg-[#1c1c1e] text-[#f5f5f7]`:`bg-white text-[#1d1d1f]`}`,children:b.map(t=>{let n=f[t.id];if(n===void 0?t.effectiveHidden:n)return null;let r=(t.animations||[]).find(e=>e.trigger===`load`),i=(t.animations||[]).find(e=>e.trigger===`hover`),a=Is(r),o=Is(i).className,s=t.children?g.elements.filter(e=>t.children?.includes(e.id)):void 0;return(0,M.jsxDEV)(`div`,{id:`runtime_el_${t.id}`,style:{position:`absolute`,left:`${t.effectiveX}px`,top:`${t.effectiveY}px`,width:`${t.effectiveWidth}px`,height:`${t.effectiveHeight}px`,transform:`rotate(${t.rotation}deg)`,zIndex:t.zIndex,...a.style},className:`${a.className} ${o}`,children:(0,M.jsxDEV)(Fl,{fallbackName:t.name,children:(0,M.jsxDEV)(Nl,{element:{...t,x:t.effectiveX,y:t.effectiveY,width:t.effectiveWidth,height:t.effectiveHeight},designTokens:e.designSystem,childElements:s,formValues:m,onFormChange:S,onTriggerInteraction:x,onExecuteForm:C},void 0,!1,{fileName:Ll,lineNumber:224,columnNumber:17},this)},void 0,!1,{fileName:Ll,lineNumber:223,columnNumber:15},this)},t.id,!1,{fileName:Ll,lineNumber:208,columnNumber:13},this)})},void 0,!1,{fileName:Ll,lineNumber:180,columnNumber:7},this)]},void 0,!0,{fileName:Ll,lineNumber:169,columnNumber:5},this)}var zl=`C:/Users/Shadow/Desktop/cyrus/src/runtime/PreviewView.tsx`;function Bl({project:e,initialPageId:t,onExit:n}){let{addToast:r}=Br(),[i,a]=(0,A.useState)(`desktop`),[o,s]=(0,A.useState)(e.pages.find(e=>e.id===t)||e.pages[0]),[c,l]=(0,A.useState)(0);return(0,A.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,M.jsxDEV)(`div`,{className:`fixed inset-0 bg-[#e8e8ed] flex flex-col z-[9999999] select-none font-sans overflow-hidden`,children:[(0,M.jsxDEV)(`div`,{className:`h-12 bg-white/90 backdrop-blur-xl border-b border-[#e5e5ea] px-4 flex items-center justify-between shadow-2xs z-50`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-6 h-6 rounded-[6px] bg-[#0071e3] text-white flex items-center justify-center text-[11px] font-bold`,children:`C`},void 0,!1,{fileName:zl,lineNumber:61,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[12px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:e.name},void 0,!1,{fileName:zl,lineNumber:65,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[#86868b]`,children:`/`},void 0,!1,{fileName:zl,lineNumber:66,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium`,children:[o.name,` (/`,o.slug,`)`]},void 0,!0,{fileName:zl,lineNumber:67,columnNumber:13},this)]},void 0,!0,{fileName:zl,lineNumber:64,columnNumber:11},this)]},void 0,!0,{fileName:zl,lineNumber:60,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center p-0.5 rounded-[8px] bg-[#f4f4f6] border border-[#e5e5ea]`,children:[{id:`desktop`,label:`Desktop`,icon:(0,M.jsxDEV)(_e,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:zl,lineNumber:76,columnNumber:70},this)},{id:`tablet`,label:`Tablet`,icon:(0,M.jsxDEV)(kr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:zl,lineNumber:77,columnNumber:68},this)},{id:`mobile`,label:`Mobile`,icon:(0,M.jsxDEV)(mt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:zl,lineNumber:78,columnNumber:68},this)}].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>a(e.id),className:O(`flex items-center gap-1.5 px-3 py-1 rounded-[6px] text-[11.5px] font-medium transition-apple cursor-pointer`,i===e.id?`bg-white text-[#1d1d1f] shadow-2xs`:`text-[#86868b] hover:text-[#1d1d1f]`),children:[e.icon,(0,M.jsxDEV)(`span`,{children:e.label},void 0,!1,{fileName:zl,lineNumber:92,columnNumber:15},this)]},e.id,!0,{fileName:zl,lineNumber:80,columnNumber:13},this))},void 0,!1,{fileName:zl,lineNumber:74,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{l(e=>e+1),s(e.pages[0]),r(`Prototype restarted`,`info`)},title:`Restart Prototype`,className:`p-1.5 rounded-[7px] text-[#6e6e73] hover:text-[#1d1d1f] hover:bg-[#f4f4f6] transition-apple cursor-pointer`,children:(0,M.jsxDEV)(sn,{className:`w-4 h-4`},void 0,!1,{fileName:zl,lineNumber:105,columnNumber:13},this)},void 0,!1,{fileName:zl,lineNumber:99,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{let t=`${window.location.origin}#/preview/${e.id}`;navigator.clipboard.writeText(t),r(`Preview link copied to clipboard`,`success`)},title:`Copy Share Link`,className:`flex items-center gap-1 px-2.5 py-1.5 rounded-[7px] bg-[#f4f4f6] hover:bg-[#ebebee] text-[#1d1d1f] text-[11.5px] font-medium border border-[#e5e5ea] transition-apple cursor-pointer`,children:[(0,M.jsxDEV)(fn,{className:`w-3.5 h-3.5 text-[#0071e3]`},void 0,!1,{fileName:zl,lineNumber:114,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Share`},void 0,!1,{fileName:zl,lineNumber:115,columnNumber:13},this)]},void 0,!0,{fileName:zl,lineNumber:108,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:n,className:`flex items-center gap-1 px-3 py-1.5 rounded-[7px] bg-[#1d1d1f] hover:bg-[#333336] text-white text-[11.5px] font-medium transition-apple shadow-2xs cursor-pointer ml-1`,children:[(0,M.jsxDEV)(cn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:zl,lineNumber:123,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Exit Preview`},void 0,!1,{fileName:zl,lineNumber:124,columnNumber:13},this)]},void 0,!0,{fileName:zl,lineNumber:118,columnNumber:11},this)]},void 0,!0,{fileName:zl,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:zl,lineNumber:58,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-8 flex items-start justify-center`,children:(0,M.jsxDEV)(Rl,{project:e,initialPageId:o.id,viewportMode:i,onPageChange:e=>s(e)},c,!1,{fileName:zl,lineNumber:131,columnNumber:9},this)},void 0,!1,{fileName:zl,lineNumber:130,columnNumber:7},this)]},void 0,!0,{fileName:zl,lineNumber:56,columnNumber:5},this)}var Vl=`C:/Users/Shadow/Desktop/cyrus/src/pages/PreviewPage.tsx`;function Hl({projectId:e,onExit:t}){let[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(!0);return(0,A.useEffect)(()=>{Kr(e).then(e=>{r(e),a(!1)})},[e]),i?(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] text-[#6e6e73] gap-3`,children:[(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3]`},void 0,!1,{fileName:Vl,lineNumber:27,columnNumber:9},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#1d1d1f]`,children:`Loading Cyrus Prototype Runtime...`},void 0,!1,{fileName:Vl,lineNumber:28,columnNumber:9},this)]},void 0,!0,{fileName:Vl,lineNumber:26,columnNumber:7},this):n?(0,M.jsxDEV)(Bl,{project:n,onExit:t},void 0,!1,{fileName:Vl,lineNumber:49,columnNumber:10},this):(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] p-6 text-center`,children:(0,M.jsxDEV)(`div`,{className:`p-5 rounded-[16px] bg-white border border-[#e5e5ea] shadow-apple-md max-w-sm flex flex-col items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`text-[16px] font-semibold text-[#1d1d1f]`,children:`Prototype Not Found`},void 0,!1,{fileName:Vl,lineNumber:37,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#86868b]`,children:`The requested project preview could not be loaded.`},void 0,!1,{fileName:Vl,lineNumber:38,columnNumber:11},this),(0,M.jsxDEV)(Hi,{variant:`primary`,onClick:t,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Vl,lineNumber:41,columnNumber:60},this),children:`Return to Dashboard`},void 0,!1,{fileName:Vl,lineNumber:41,columnNumber:11},this)]},void 0,!0,{fileName:Vl,lineNumber:36,columnNumber:9},this)},void 0,!1,{fileName:Vl,lineNumber:35,columnNumber:7},this)}var Z=`C:/Users/Shadow/Desktop/cyrus/src/pages/LoginPage.tsx`;function Ul({onAuthenticated:e}){let{signIn:t,signUp:n,signInWithProvider:r}=Ri(),{addToast:i}=Br(),[a,o]=(0,A.useState)(`signin`),[s,c]=(0,A.useState)(``),[l,u]=(0,A.useState)(``),[d,f]=(0,A.useState)(``),[p,m]=(0,A.useState)(!1),[h,g]=(0,A.useState)(!1),[_,v]=(0,A.useState)(null),[y,b]=(0,A.useState)(null),x=async r=>{if(r.preventDefault(),!s.trim()){b(`Please enter a valid email address.`);return}if(d.length<8){b(`Password must be at least 8 characters.`);return}g(!0),b(null);try{a===`signup`?(await n(s,l,d),i(`Account created successfully`,`success`)):(await t(s,d),i(`Signed in to Cyrus Workspace`,`success`)),e()}catch(e){let t=e instanceof Error?e.message:`Authentication failed. Please try again.`;b(t)}finally{g(!1)}},S=async t=>{v(t),b(null);try{await r(t),i(`Successfully signed in with ${t.charAt(0).toUpperCase()+t.slice(1)}`,`success`),e()}catch(e){let n=e instanceof Error?e.message:`Failed to sign in with ${t}`;b(n)}finally{v(null)}};return(0,M.jsxDEV)(`div`,{className:`relative min-h-screen w-full overflow-x-hidden overflow-y-auto bg-[#080b11] text-slate-100 flex flex-col justify-between selection:bg-[#0071e3] selection:text-white font-sans`,children:[(0,M.jsxDEV)(`div`,{className:`fixed inset-0 pointer-events-none z-0`,children:[(0,M.jsxDEV)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 w-[1000px] h-[500px] bg-gradient-to-b from-[#0071e3]/15 via-[#7d2ae8]/08 to-transparent rounded-full blur-3xl`},void 0,!1,{fileName:Z,lineNumber:76,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`absolute bottom-0 right-0 w-[600px] h-[400px] bg-gradient-to-tl from-[#0071e3]/10 to-transparent rounded-full blur-3xl`},void 0,!1,{fileName:Z,lineNumber:77,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`absolute inset-0 opacity-[0.18]`,style:{backgroundImage:`radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.4) 1px, transparent 0)`,backgroundSize:`32px 32px`}},void 0,!1,{fileName:Z,lineNumber:80,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:74,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`relative z-10 min-h-screen flex flex-col items-center justify-center px-4 py-12`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3 mb-8`,children:[(0,M.jsxDEV)(`div`,{className:`p-2.5 rounded-2xl bg-slate-900/90 border border-slate-800 shadow-xl shadow-black/40 hover:scale-105 transition-all duration-300`,children:(0,M.jsxDEV)(Bi,{size:`md`},void 0,!1,{fileName:Z,lineNumber:94,columnNumber:13},this)},void 0,!1,{fileName:Z,lineNumber:93,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] font-mono font-semibold tracking-wider uppercase text-slate-300 bg-slate-800/80 px-3 py-1 rounded-full border border-slate-700/60 backdrop-blur-md shadow-xs flex items-center gap-1.5`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5 text-[#0071e3]`},void 0,!1,{fileName:Z,lineNumber:97,columnNumber:13},this),` Cyrus Studio`]},void 0,!0,{fileName:Z,lineNumber:96,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:92,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`w-full max-w-[420px] bg-[#111622]/85 backdrop-blur-2xl rounded-2xl border border-slate-800/90 shadow-[0_24px_80px_rgba(0,0,0,0.65)] p-7 relative overflow-hidden transition-all duration-300`,children:[(0,M.jsxDEV)(`div`,{className:`absolute top-0 inset-x-0 h-1 bg-gradient-to-r from-[#0071e3] via-[#7d2ae8] to-[#34c759]`},void 0,!1,{fileName:Z,lineNumber:104,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`text-center mb-6`,children:[(0,M.jsxDEV)(`h1`,{className:`text-2xl font-bold tracking-tight text-white`,children:a===`signin`?`Sign in to Cyrus`:`Create an Account`},void 0,!1,{fileName:Z,lineNumber:108,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`mt-2 text-xs text-slate-400 leading-relaxed max-w-xs mx-auto`,children:a===`signin`?`Welcome back. Access your projects and visual workspace.`:`Start designing visual products and generating clean code.`},void 0,!1,{fileName:Z,lineNumber:111,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:107,columnNumber:11},this),y&&(0,M.jsxDEV)(`div`,{className:`mb-5 p-3.5 rounded-xl bg-red-500/15 border border-red-500/40 text-red-300 text-xs flex items-start gap-2.5 leading-relaxed`,children:[(0,M.jsxDEV)(Qn,{className:`w-4 h-4 shrink-0 text-red-400 mt-0.5`},void 0,!1,{fileName:Z,lineNumber:121,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:y},void 0,!1,{fileName:Z,lineNumber:122,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:120,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 mb-5`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`google`),disabled:_!==null||h,className:`w-full h-10 px-4 rounded-xl bg-slate-900/90 hover:bg-slate-800 active:bg-slate-800/80 border border-slate-700/80 text-slate-200 font-medium text-xs flex items-center justify-center gap-3 transition-all duration-150 shadow-xs cursor-pointer disabled:opacity-50 group`,children:[_===`google`?(0,M.jsxDEV)(`div`,{className:`w-4 h-4 border-2 border-slate-400 border-t-white rounded-full animate-spin`},void 0,!1,{fileName:Z,lineNumber:135,columnNumber:17},this):(0,M.jsxDEV)(`svg`,{className:`w-4 h-4 transition-transform group-hover:scale-110`,viewBox:`0 0 24 24`,children:[(0,M.jsxDEV)(`path`,{fill:`#4285F4`,d:`M23.745 12.27c0-.7-.06-1.4-.19-2.07H12v4.51h6.6c-.29 1.52-1.14 2.82-2.4 3.68v3.05h3.88c2.27-2.09 3.665-5.17 3.665-9.17z`},void 0,!1,{fileName:Z,lineNumber:138,columnNumber:19},this),(0,M.jsxDEV)(`path`,{fill:`#34A853`,d:`M12 24c3.24 0 5.95-1.08 7.93-2.91l-3.88-3.05c-1.08.72-2.45 1.16-4.05 1.16-3.12 0-5.77-2.1-6.72-4.93H1.29v3.15C3.26 21.3 7.31 24 12 24z`},void 0,!1,{fileName:Z,lineNumber:139,columnNumber:19},this),(0,M.jsxDEV)(`path`,{fill:`#FBBC05`,d:`M5.28 14.27A7.17 7.17 0 0 1 4.9 12c0-.79.14-1.56.38-2.27V6.58H1.29A11.96 11.96 0 0 0 0 12c0 1.92.46 3.74 1.29 5.42l3.99-3.15z`},void 0,!1,{fileName:Z,lineNumber:140,columnNumber:19},this),(0,M.jsxDEV)(`path`,{fill:`#EA4335`,d:`M12 4.75c1.77 0 3.35.61 4.6 1.8l3.42-3.42C17.95 1.19 15.24 0 12 0 7.31 0 3.26 2.7 1.29 6.58l3.99 3.15c.95-2.83 3.6-4.98 6.72-4.98z`},void 0,!1,{fileName:Z,lineNumber:141,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:137,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:`Continue with Google`},void 0,!1,{fileName:Z,lineNumber:144,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:128,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`github`),disabled:_!==null||h,className:`w-full h-10 px-4 rounded-xl bg-slate-900/90 hover:bg-slate-800 active:bg-slate-800/80 border border-slate-700/80 text-slate-200 font-medium text-xs flex items-center justify-center gap-3 transition-all duration-150 shadow-xs cursor-pointer disabled:opacity-50 group`,children:[_===`github`?(0,M.jsxDEV)(`div`,{className:`w-4 h-4 border-2 border-slate-400 border-t-white rounded-full animate-spin`},void 0,!1,{fileName:Z,lineNumber:154,columnNumber:17},this):(0,M.jsxDEV)(`svg`,{className:`w-4 h-4 shrink-0 fill-current text-white transition-transform group-hover:scale-110`,viewBox:`0 0 24 24`,children:(0,M.jsxDEV)(`path`,{d:`M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z`},void 0,!1,{fileName:Z,lineNumber:157,columnNumber:19},this)},void 0,!1,{fileName:Z,lineNumber:156,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:`Continue with GitHub`},void 0,!1,{fileName:Z,lineNumber:160,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:147,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:127,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center justify-center my-5`,children:[(0,M.jsxDEV)(`div`,{className:`border-t border-slate-800 w-full`},void 0,!1,{fileName:Z,lineNumber:166,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`bg-[#111622] px-3 text-[10px] uppercase tracking-wider text-slate-500 font-mono absolute`,children:`Or email`},void 0,!1,{fileName:Z,lineNumber:167,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:165,columnNumber:11},this),(0,M.jsxDEV)(`form`,{onSubmit:x,className:`flex flex-col gap-3.5`,children:[a===`signup`&&(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-medium text-slate-300`,children:`Full Name`},void 0,!1,{fileName:Z,lineNumber:177,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(rn,{className:`w-4 h-4 text-slate-500 absolute left-3.5 pointer-events-none`},void 0,!1,{fileName:Z,lineNumber:179,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Alex Rivera`,className:`w-full h-10 pl-10 pr-4 rounded-xl border border-slate-800 bg-slate-900/90 focus:bg-slate-900 focus:border-[#0071e3] text-xs text-slate-100 placeholder:text-slate-600 focus:outline-none transition-all duration-150`},void 0,!1,{fileName:Z,lineNumber:180,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:178,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:176,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-medium text-slate-300`,children:`Email Address`},void 0,!1,{fileName:Z,lineNumber:192,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(kt,{className:`w-4 h-4 text-slate-500 absolute left-3.5 pointer-events-none`},void 0,!1,{fileName:Z,lineNumber:194,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:`email`,value:s,onChange:e=>c(e.target.value),placeholder:`name@work-email.com`,required:!0,className:`w-full h-10 pl-10 pr-4 rounded-xl border border-slate-800 bg-slate-900/90 focus:bg-slate-900 focus:border-[#0071e3] text-xs text-slate-100 placeholder:text-slate-600 focus:outline-none transition-all duration-150`},void 0,!1,{fileName:Z,lineNumber:195,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:193,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:191,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-medium text-slate-300`,children:`Password`},void 0,!1,{fileName:Z,lineNumber:208,columnNumber:17},this),a===`signin`&&(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>i(`Password reset link sent to email.`,`info`),className:`text-[11px] text-[#0071e3] hover:underline transition-colors`,children:`Forgot?`},void 0,!1,{fileName:Z,lineNumber:210,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:207,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(Rt,{className:`w-4 h-4 text-slate-500 absolute left-3.5 pointer-events-none`},void 0,!1,{fileName:Z,lineNumber:220,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:p?`text`:`password`,value:d,onChange:e=>f(e.target.value),placeholder:`••••••••••••`,required:!0,minLength:8,className:`w-full h-10 pl-10 pr-10 rounded-xl border border-slate-800 bg-slate-900/90 focus:bg-slate-900 focus:border-[#0071e3] text-xs text-slate-100 placeholder:text-slate-600 focus:outline-none transition-all duration-150`},void 0,!1,{fileName:Z,lineNumber:221,columnNumber:17},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>m(!p),className:`absolute right-3.5 text-slate-500 hover:text-slate-300 transition-colors cursor-pointer`,children:p?(0,M.jsxDEV)(At,{className:`w-4 h-4`},void 0,!1,{fileName:Z,lineNumber:235,columnNumber:35},this):(0,M.jsxDEV)(dn,{className:`w-4 h-4`},void 0,!1,{fileName:Z,lineNumber:235,columnNumber:68},this)},void 0,!1,{fileName:Z,lineNumber:230,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:219,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:206,columnNumber:13},this),(0,M.jsxDEV)(Hi,{variant:`primary`,size:`md`,type:`submit`,isLoading:h,icon:(0,M.jsxDEV)(In,{className:`w-4 h-4`},void 0,!1,{fileName:Z,lineNumber:245,columnNumber:21},this),className:`mt-2 w-full h-10 justify-center bg-[#0071e3] hover:bg-[#0077ed] active:bg-[#0062c4] text-white font-semibold text-xs rounded-xl shadow-md shadow-[#0071e3]/20 border border-white/10 transition-all duration-150 cursor-pointer`,children:a===`signin`?`Sign In`:`Create Account`},void 0,!1,{fileName:Z,lineNumber:240,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`pt-3 mt-1 border-t border-slate-800/80 text-center text-xs text-slate-400`,children:a===`signin`?(0,M.jsxDEV)(`span`,{children:[`Don't have an account?`,` `,(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{o(`signup`),b(null)},className:`text-[#0071e3] font-semibold hover:underline cursor-pointer transition-colors`,children:`Sign up`},void 0,!1,{fileName:Z,lineNumber:256,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:254,columnNumber:17},this):(0,M.jsxDEV)(`span`,{children:[`Already have an account?`,` `,(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{o(`signin`),b(null)},className:`text-[#0071e3] font-semibold hover:underline cursor-pointer transition-colors`,children:`Sign in`},void 0,!1,{fileName:Z,lineNumber:270,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:268,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:252,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:173,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:102,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`mt-8 flex items-center gap-4 text-[11px] text-slate-500 font-medium`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5`,children:[(0,M.jsxDEV)(je,{className:`w-3.5 h-3.5 text-emerald-500`},void 0,!1,{fileName:Z,lineNumber:289,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`256-bit SSL Encryption`},void 0,!1,{fileName:Z,lineNumber:290,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:288,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:`•`},void 0,!1,{fileName:Z,lineNumber:292,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:`SOC2 Type II Certified`},void 0,!1,{fileName:Z,lineNumber:293,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:287,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:90,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:72,columnNumber:5},this)}var Wl=[{id:`rev_1`,name:`Elena Rostova`,role:`Lead UI/UX Designer`,rating:5,category:`experience`,comment:`The canvas speed and the Canva-style file downloads are phenomenal! It is super easy to draw and prototype ideas directly in browser.`,likes:14,createdAt:new Date(Date.now()-108e5).toISOString()},{id:`rev_2`,name:`Marcus Vance`,role:`Full-Stack Developer`,rating:5,category:`enhancement`,comment:`Real .cyrus and .html exports saved right onto my laptop disk. Would love to see even more tailwind micro-animations!`,likes:9,createdAt:new Date(Date.now()-432e5).toISOString()},{id:`rev_3`,name:`Sarah Chen`,role:`Product Manager`,rating:5,category:`praise`,comment:`This project is near completion and already feels like a native desktop app. The real-life pencil carving eraser is brilliant.`,likes:19,createdAt:new Date(Date.now()-864e5).toISOString()},{id:`rev_4`,name:`Devin Thorne`,role:`Frontend Architect`,rating:4,category:`feature`,comment:`Can you add custom sound themes for notifications? Overall, 10/10 experience on desktop and mobile.`,likes:6,createdAt:new Date(Date.now()-1296e5).toISOString()}],Gl=Lr()(Fr((e,t)=>({reviews:Wl,addReview:t=>{let n={id:k(`rev`),...t,likes:0,likedByMe:!1,createdAt:new Date().toISOString()};return e(e=>({reviews:[n,...e.reviews]})),n},toggleLikeReview:t=>{e(e=>({reviews:e.reviews.map(e=>{if(e.id===t){let t=!e.likedByMe;return{...e,likedByMe:t,likes:t?e.likes+1:Math.max(0,e.likes-1)}}return e})}))},deleteReview:t=>{e(e=>({reviews:e.reviews.filter(e=>e.id!==t)}))}}),{name:`cyrus_community_reviews_v1`})),Kl=`C:/Users/Shadow/Desktop/cyrus/src/pages/ComentosReviewPage.tsx`;function ql(e){try{let t=new Date(e);return`${t.toLocaleDateString()} at ${t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}`}catch{return`Recently`}}function Jl({onBack:e}){let{reviews:t,deleteReview:n}=Gl(),{addToast:r}=Br(),[a,o]=(0,A.useState)(``),s=t.filter(e=>{let t=a.toLowerCase().trim();return!t||e.name.toLowerCase().includes(t)||e.comment.toLowerCase().includes(t)||e.role&&e.role.toLowerCase().includes(t)});return(0,M.jsxDEV)(`div`,{className:`min-h-screen w-full bg-[#0d0e15] text-[#f5f5f7] flex flex-col font-sans selection:bg-[#7d2ae8] selection:text-white`,children:[(0,M.jsxDEV)(`header`,{className:`sticky top-0 z-30 h-14 bg-[#141522]/90 backdrop-blur-md border-b border-white/10 px-6 sm:px-12 flex items-center justify-between shadow-sm`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(Hi,{variant:`ghost`,size:`sm`,onClick:e,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Kl,lineNumber:70,columnNumber:19},this),children:`Back`},void 0,!1,{fileName:Kl,lineNumber:66,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-4 w-[1px] bg-white/15`},void 0,!1,{fileName:Kl,lineNumber:74,columnNumber:11},this),(0,M.jsxDEV)(Bi,{size:`sm`},void 0,!1,{fileName:Kl,lineNumber:75,columnNumber:11},this)]},void 0,!0,{fileName:Kl,lineNumber:65,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:(0,M.jsxDEV)(`span`,{className:`text-[11px] font-mono text-emerald-400 bg-emerald-500/10 px-2.5 py-1 rounded-full border border-emerald-500/20 flex items-center gap-1`,children:[(0,M.jsxDEV)(Qn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Kl,lineNumber:80,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`/#/comentos/review`},void 0,!1,{fileName:Kl,lineNumber:81,columnNumber:13},this)]},void 0,!0,{fileName:Kl,lineNumber:79,columnNumber:11},this)},void 0,!1,{fileName:Kl,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:Kl,lineNumber:64,columnNumber:7},this),(0,M.jsxDEV)(`main`,{className:`flex-1 max-w-4xl w-full mx-auto px-4 sm:px-6 py-8 flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h1`,{className:`text-xl font-bold text-white flex items-center gap-2`,children:[(0,M.jsxDEV)(i,{className:`w-5 h-5 text-[#9d52ff]`},void 0,!1,{fileName:Kl,lineNumber:92,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`User Comments & Feedback Submissions`},void 0,!1,{fileName:Kl,lineNumber:93,columnNumber:15},this)]},void 0,!0,{fileName:Kl,lineNumber:91,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-xs text-slate-400 mt-1`,children:`Read all experiences, suggestions, and enhancement reviews submitted by users.`},void 0,!1,{fileName:Kl,lineNumber:95,columnNumber:13},this)]},void 0,!0,{fileName:Kl,lineNumber:90,columnNumber:11},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`sm`,onClick:()=>{let e=JSON.stringify(t,null,2),n=new Blob([e],{type:`application/json`}),i=URL.createObjectURL(n),a=document.createElement(`a`);a.href=i,a.download=`cyrus_user_comments_${Date.now()}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>URL.revokeObjectURL(i),1e3),r(`Exported ${t.length} user comments to JSON file`,`success`)},icon:(0,M.jsxDEV)(wn,{className:`w-3.5 h-3.5 text-[#9d52ff]`},void 0,!1,{fileName:Kl,lineNumber:104,columnNumber:19},this),children:[`Export All to JSON (`,t.length,`)`]},void 0,!0,{fileName:Kl,lineNumber:100,columnNumber:11},this)]},void 0,!0,{fileName:Kl,lineNumber:89,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(Bt,{className:`w-4 h-4 text-slate-400 absolute left-3.5 top-1/2 -translate-y-1/2 pointer-events-none`},void 0,!1,{fileName:Kl,lineNumber:112,columnNumber:11},this),(0,M.jsxDEV)(`input`,{type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:`Search submitted comments or authors...`,className:`w-full h-10 pl-10 pr-4 rounded-xl bg-[#171826] border border-white/10 text-xs text-white placeholder-slate-500 focus:outline-none focus:border-[#7d2ae8]`},void 0,!1,{fileName:Kl,lineNumber:113,columnNumber:11},this)]},void 0,!0,{fileName:Kl,lineNumber:111,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:s.length===0?(0,M.jsxDEV)(`div`,{className:`p-8 text-center rounded-2xl bg-[#171826] border border-white/10 text-slate-400 text-xs`,children:`No comments match your search query.`},void 0,!1,{fileName:Kl,lineNumber:125,columnNumber:13},this):s.map(e=>(0,M.jsxDEV)(`div`,{className:`p-4 rounded-xl bg-[#171826] border border-white/10 flex flex-col gap-2.5 transition-all hover:border-white/20`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-start justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-8 h-8 rounded-full bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] text-white flex items-center justify-center font-bold text-xs shrink-0`,children:e.name.charAt(0).toUpperCase()},void 0,!1,{fileName:Kl,lineNumber:136,columnNumber:21},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`text-[13px] font-bold text-white`,children:e.name},void 0,!1,{fileName:Kl,lineNumber:141,columnNumber:25},this),e.role&&(0,M.jsxDEV)(`span`,{className:`text-[11px] text-slate-400`,children:[`• `,e.role]},void 0,!0,{fileName:Kl,lineNumber:143,columnNumber:27},this)]},void 0,!0,{fileName:Kl,lineNumber:140,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`text-[10.5px] text-slate-500 flex items-center gap-1 mt-0.5`,children:[(0,M.jsxDEV)(y,{className:`w-3 h-3`},void 0,!1,{fileName:Kl,lineNumber:147,columnNumber:25},this),(0,M.jsxDEV)(`span`,{children:ql(e.createdAt)},void 0,!1,{fileName:Kl,lineNumber:148,columnNumber:25},this)]},void 0,!0,{fileName:Kl,lineNumber:146,columnNumber:23},this)]},void 0,!0,{fileName:Kl,lineNumber:139,columnNumber:21},this)]},void 0,!0,{fileName:Kl,lineNumber:135,columnNumber:19},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{window.confirm(`Delete comment from "${e.name}"?`)&&(n(e.id),r(`Comment removed`,`info`))},className:`p-1.5 rounded-lg text-slate-500 hover:text-rose-400 hover:bg-white/5 transition-colors cursor-pointer`,title:`Delete this comment`,children:(0,M.jsxDEV)(x,{className:`w-4 h-4`},void 0,!1,{fileName:Kl,lineNumber:164,columnNumber:21},this)},void 0,!1,{fileName:Kl,lineNumber:153,columnNumber:19},this)]},void 0,!0,{fileName:Kl,lineNumber:134,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-xs text-slate-200 leading-relaxed pl-10`,children:e.comment},void 0,!1,{fileName:Kl,lineNumber:168,columnNumber:17},this)]},e.id,!0,{fileName:Kl,lineNumber:130,columnNumber:15},this))},void 0,!1,{fileName:Kl,lineNumber:123,columnNumber:9},this)]},void 0,!0,{fileName:Kl,lineNumber:87,columnNumber:7},this)]},void 0,!0,{fileName:Kl,lineNumber:62,columnNumber:5},this)}var Q=`C:/Users/Shadow/Desktop/cyrus/src/pages/FeedbackPage.tsx`,Yl=`cyrus_user_feedbacks`;function Xl({onBack:e}){let{session:t}=Ri(),{addToast:n}=Br(),[r,i]=(0,A.useState)(`feature`),[a,o]=(0,A.useState)(``),[s,c]=(0,A.useState)(5),[l,u]=(0,A.useState)(null),[d,f]=(0,A.useState)(t.user?.email||``),[p,m]=(0,A.useState)(!1),[h,g]=(0,A.useState)(!1),_=[{id:`feature`,label:`Feature Request`,icon:(0,M.jsxDEV)(an,{className:`w-4 h-4 text-amber-500`},void 0,!1,{fileName:Q,lineNumber:54,columnNumber:13},this),desc:`Suggest new tools, canvas capabilities, or workflows`},{id:`bug`,label:`Bug Report`,icon:(0,M.jsxDEV)(Kn,{className:`w-4 h-4 text-rose-500`},void 0,!1,{fileName:Q,lineNumber:60,columnNumber:13},this),desc:`Report an issue, visual glitch, or unexpected behavior`},{id:`design`,label:`Design & UX`,icon:(0,M.jsxDEV)(lt,{className:`w-4 h-4 text-[#0071e3]`},void 0,!1,{fileName:Q,lineNumber:66,columnNumber:13},this),desc:`Share feedback about layout, themes, or ease of use`},{id:`general`,label:`General Feedback`,icon:(0,M.jsxDEV)(or,{className:`w-4 h-4 text-[#7d2ae8]`},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this),desc:`Tell us how you use Cyrus or what you love about it`}];return(0,M.jsxDEV)(`div`,{className:`h-full w-full overflow-y-auto bg-[#f4f4f7] dark:bg-[#000000] text-[#1d1d1f] dark:text-[#f5f5f7] flex flex-col font-sans selection:bg-[#7d2ae8] selection:text-white`,children:[(0,M.jsxDEV)(`header`,{className:`w-full bg-white dark:bg-[#1c1c1e] border-b border-[#e5e5ea] dark:border-[#38383a] px-6 py-3.5 flex items-center justify-between sticky top-0 z-30 shadow-xs`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-4`,children:(0,M.jsxDEV)(`button`,{type:`button`,onClick:e,className:`flex items-center gap-2 text-xs font-semibold text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-white px-3 py-1.5 rounded-lg hover:bg-[#f4f4f6] dark:hover:bg-[#2c2c2e] transition-all cursor-pointer`,children:[(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Q,lineNumber:131,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Back to Dashboard`},void 0,!1,{fileName:Q,lineNumber:132,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:126,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:125,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(Bi,{size:`sm`},void 0,!1,{fileName:Q,lineNumber:137,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-xs font-bold text-[#7d2ae8] dark:text-[#9d52ff]`,children:`Feedback Portal`},void 0,!1,{fileName:Q,lineNumber:138,columnNumber:11},this)]},void 0,!0,{fileName:Q,lineNumber:136,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:124,columnNumber:7},this),(0,M.jsxDEV)(`main`,{className:`flex-1 max-w-3xl w-full mx-auto px-6 py-10 flex flex-col items-center`,children:h?(0,M.jsxDEV)(`div`,{className:`w-full bg-white dark:bg-[#1c1c1e] rounded-3xl border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-md p-10 text-center flex flex-col items-center animate-in fade-in zoom-in-95 duration-200`,children:[(0,M.jsxDEV)(`div`,{className:`w-16 h-16 rounded-full bg-emerald-500/10 text-emerald-500 flex items-center justify-center mb-6`,children:(0,M.jsxDEV)(je,{className:`w-9 h-9`},void 0,!1,{fileName:Q,lineNumber:147,columnNumber:15},this)},void 0,!1,{fileName:Q,lineNumber:146,columnNumber:13},this),(0,M.jsxDEV)(`h2`,{className:`text-2xl font-extrabold text-[#1d1d1f] dark:text-white mb-2`,children:`Thank You for Your Feedback!`},void 0,!1,{fileName:Q,lineNumber:150,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-sm text-[#6e6e73] dark:text-[#8e8e93] max-w-md mb-8 leading-relaxed`,children:`Your insights and ideas directly help us improve Cyrus Studio. We review every single submission to build the best product design platform for you.`},void 0,!1,{fileName:Q,lineNumber:153,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(Hi,{variant:`secondary`,onClick:()=>{g(!1),o(``)},children:`Send Another Response`},void 0,!1,{fileName:Q,lineNumber:158,columnNumber:15},this),(0,M.jsxDEV)(Hi,{variant:`primary`,onClick:e,className:`bg-[#7d2ae8] hover:bg-[#6b21ce] text-white`,children:`Return to Dashboard`},void 0,!1,{fileName:Q,lineNumber:167,columnNumber:15},this)]},void 0,!0,{fileName:Q,lineNumber:157,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:145,columnNumber:11},this):(0,M.jsxDEV)(`div`,{className:`w-full bg-white dark:bg-[#1c1c1e] rounded-3xl border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-md p-8 sm:p-10 relative overflow-hidden`,children:[(0,M.jsxDEV)(`div`,{className:`mb-8`,children:[(0,M.jsxDEV)(`div`,{className:`inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-[#7d2ae8]/10 text-[#7d2ae8] dark:text-[#9d52ff] text-[11px] font-bold uppercase tracking-wider mb-3`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Q,lineNumber:181,columnNumber:17},this),` Cyrus Studio Feedback`]},void 0,!0,{fileName:Q,lineNumber:180,columnNumber:15},this),(0,M.jsxDEV)(`h1`,{className:`text-2xl sm:text-3xl font-extrabold text-[#1d1d1f] dark:text-white tracking-tight`,children:`Share Your Thoughts & Ideas`},void 0,!1,{fileName:Q,lineNumber:183,columnNumber:15},this),(0,M.jsxDEV)(`p`,{className:`mt-1.5 text-xs sm:text-sm text-[#6e6e73] dark:text-[#8e8e93] leading-relaxed`,children:`Tell us what features you’d like to see, report an issue, or share your thoughts on the experience.`},void 0,!1,{fileName:Q,lineNumber:186,columnNumber:15},this)]},void 0,!0,{fileName:Q,lineNumber:179,columnNumber:13},this),(0,M.jsxDEV)(`form`,{onSubmit:async e=>{if(e.preventDefault(),!a.trim()){n(`Please enter your feedback message before submitting.`,`warning`);return}m(!0);try{let e={id:`fb_${Date.now()}_${Math.random().toString(36).substring(2,7)}`,type:r,message:a.trim(),rating:s,email:d.trim()||t.user?.email||`anonymous`,userName:t.user?.name||`Cyrus Creator`,userId:t.user?.id,timestamp:new Date().toISOString()};try{let t=localStorage.getItem(Yl),n=t?JSON.parse(t):[];n.unshift(e),localStorage.setItem(Yl,JSON.stringify(n.slice(0,100)))}catch(e){console.warn(`Could not save feedback to localStorage:`,e)}await new Promise(e=>setTimeout(e,600)),g(!0),n(`Thank you! Your feedback was submitted successfully.`,`success`)}catch(e){console.error(`Error submitting feedback:`,e),n(`Failed to submit feedback. Please try again.`,`error`)}finally{m(!1)}},className:`flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`1. What kind of feedback do you have?`},void 0,!1,{fileName:Q,lineNumber:194,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2.5`,children:_.map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>i(e.id),className:`p-3.5 rounded-2xl border text-left flex items-start gap-3 transition-all cursor-pointer ${r===e.id?`border-[#7d2ae8] bg-[#7d2ae8]/5 dark:bg-[#7d2ae8]/15 ring-2 ring-[#7d2ae8]/30 shadow-xs`:`border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] hover:border-[#7d2ae8]/40`}`,children:[(0,M.jsxDEV)(`div`,{className:`p-2 rounded-xl bg-white dark:bg-[#1c1c1e] shadow-2xs shrink-0`,children:e.icon},void 0,!1,{fileName:Q,lineNumber:209,columnNumber:23},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-white`,children:e.label},void 0,!1,{fileName:Q,lineNumber:213,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`text-[11px] text-[#86868b] dark:text-[#a1a1a6] mt-0.5 leading-tight`,children:e.desc},void 0,!1,{fileName:Q,lineNumber:216,columnNumber:25},this)]},void 0,!0,{fileName:Q,lineNumber:212,columnNumber:23},this)]},e.id,!0,{fileName:Q,lineNumber:199,columnNumber:21},this))},void 0,!1,{fileName:Q,lineNumber:197,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:193,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`2. Your Message / Feedback`},void 0,!1,{fileName:Q,lineNumber:228,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:[a.length,` / 2000`]},void 0,!0,{fileName:Q,lineNumber:231,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:227,columnNumber:17},this),(0,M.jsxDEV)(`textarea`,{value:a,onChange:e=>o(e.target.value),placeholder:r===`bug`?`Describe what happened, the steps to reproduce, or what you expected to see...`:r===`feature`?`Describe the feature or tool you would love to see added in Cyrus...`:`Share your thoughts, suggestions, or comments with the team...`,required:!0,rows:6,maxLength:2e3,className:`w-full p-4 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] text-xs sm:text-sm text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] focus:outline-none focus:border-[#7d2ae8] focus:ring-2 focus:ring-[#7d2ae8]/20 transition-all resize-none shadow-2xs`},void 0,!1,{fileName:Q,lineNumber:235,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:226,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`3. How satisfied are you with Cyrus Studio so far?`},void 0,!1,{fileName:Q,lineNumber:254,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[[1,2,3,4,5].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>c(e),onMouseEnter:()=>u(e),onMouseLeave:()=>u(null),className:`p-1.5 transition-transform hover:scale-125 cursor-pointer`,children:(0,M.jsxDEV)(nt,{className:`w-6 h-6 transition-colors ${(l===null?s:l)>=e?`fill-amber-400 text-amber-400 drop-shadow-xs`:`text-slate-300 dark:text-slate-700`}`},void 0,!1,{fileName:Q,lineNumber:269,columnNumber:25},this)},e,!1,{fileName:Q,lineNumber:261,columnNumber:23},this)),(0,M.jsxDEV)(`span`,{className:`ml-2 text-xs font-semibold text-[#86868b]`,children:s===5?`⭐️ Amazing`:s===4?`Great`:s===3?`Good`:s===2?`Needs Work`:`Poor`},void 0,!1,{fileName:Q,lineNumber:279,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:257,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:253,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`4. Your Email (Optional for updates)`},void 0,!1,{fileName:Q,lineNumber:287,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:`email`,value:d,onChange:e=>f(e.target.value),placeholder:`you@company.com`,className:`w-full h-11 px-4 rounded-xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] text-xs text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] focus:outline-none focus:border-[#7d2ae8] transition-all shadow-2xs`},void 0,!1,{fileName:Q,lineNumber:290,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:286,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-3 border-t border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:e,className:`text-xs font-semibold text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white transition-colors cursor-pointer`,children:`Cancel`},void 0,!1,{fileName:Q,lineNumber:301,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`primary`,type:`submit`,isLoading:p,icon:(0,M.jsxDEV)(rr,{className:`w-4 h-4`},void 0,!1,{fileName:Q,lineNumber:313,columnNumber:25},this),className:`px-6 py-2.5 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] active:bg-[#5b19b5] text-white font-bold text-xs shadow-md shadow-[#7d2ae8]/25 cursor-pointer transition-all`,children:`Submit Feedback`},void 0,!1,{fileName:Q,lineNumber:309,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:300,columnNumber:15},this)]},void 0,!0,{fileName:Q,lineNumber:191,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:177,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:143,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:122,columnNumber:5},this)}var Zl=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Toast.tsx`;function Ql(){let{toasts:e,removeToast:t}=Br();return e.length===0?null:(0,M.jsxDEV)(`div`,{className:`fixed bottom-5 right-5 z-50 flex flex-col gap-2 pointer-events-none`,children:e.map(e=>{let n={success:(0,M.jsxDEV)(je,{className:`w-4 h-4 text-[#34c759] shrink-0`},void 0,!1,{fileName:Zl,lineNumber:14,columnNumber:20},this),info:(0,M.jsxDEV)(m,{className:`w-4 h-4 text-[#0071e3] shrink-0`},void 0,!1,{fileName:Zl,lineNumber:15,columnNumber:17},this),warning:(0,M.jsxDEV)(p,{className:`w-4 h-4 text-[#ff9500] shrink-0`},void 0,!1,{fileName:Zl,lineNumber:16,columnNumber:20},this),error:(0,M.jsxDEV)(ze,{className:`w-4 h-4 text-[#ff3b30] shrink-0`},void 0,!1,{fileName:Zl,lineNumber:17,columnNumber:18},this)};return(0,M.jsxDEV)(`div`,{className:O(`pointer-events-auto flex items-center gap-2.5 px-3.5 py-2.5 bg-white border border-[#e5e5ea] rounded-[12px] shadow-apple-lg text-[13px] text-[#1d1d1f] max-w-sm animate-in slide-in-from-bottom-2 fade-in duration-200`),children:[n[e.type],(0,M.jsxDEV)(`span`,{className:`font-medium flex-1`,children:e.text},void 0,!1,{fileName:Zl,lineNumber:28,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>t(e.id),className:`p-1 text-[#86868b] hover:text-[#1d1d1f] rounded-[4px] hover:bg-[#f4f4f6] transition-apple`,children:(0,M.jsxDEV)(cn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Zl,lineNumber:33,columnNumber:15},this)},void 0,!1,{fileName:Zl,lineNumber:29,columnNumber:13},this)]},e.id,!0,{fileName:Zl,lineNumber:21,columnNumber:11},this)})},void 0,!1,{fileName:Zl,lineNumber:11,columnNumber:5},this)}var $l=`C:/Users/Shadow/Desktop/cyrus/src/plugins/builtins/qrCodePlugin.tsx`,eu={id:`com.cyrus.plugin.qr-generator`,name:`QR Code & Barcode Suite`,version:`1.0.0`,description:`Generates dynamic SVG QR codes, scan badges, and payment tickets.`,author:`Cyrus Ecosystem`,targetCyrusVersion:`^1.0.0`,permissions:[`widgets:register`],category:`widgets`,icon:`QrCode`},tu=({element:e})=>{let{content:t,styles:n}=e,r=t.value||`https://cyrus.design`,i=t.title||`Scan to Preview`,a=t.subtitle||`Point phone camera at code`,o=n.color||`#0071e3`,s=n.backgroundColor||`#ffffff`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:s,borderRadius:`${n.borderRadius??16}px`,borderWidth:`${n.borderWidth??1}px`,borderColor:n.borderColor||`#e5e5ea`,padding:`20px`},className:`flex flex-col items-center justify-between select-none pointer-events-none shadow-apple-sm`,children:[(0,M.jsxDEV)(`div`,{className:`text-center`,children:[(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] tracking-tight`,children:i},void 0,!1,{fileName:$l,lineNumber:50,columnNumber:9},void 0),(0,M.jsxDEV)(`p`,{className:`text-[10px] text-[#86868b] mt-0.5`,children:a},void 0,!1,{fileName:$l,lineNumber:51,columnNumber:9},void 0)]},void 0,!0,{fileName:$l,lineNumber:49,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`p-3 bg-white rounded-xl border border-[#e5e5ea] shadow-2xs my-2 flex items-center justify-center`,children:(0,M.jsxDEV)(`svg`,{width:`120`,height:`120`,viewBox:`0 0 120 120`,className:`shape-rendering-crispEdges`,children:[(0,M.jsxDEV)(`rect`,{x:`10`,y:`10`,width:`30`,height:`30`,fill:o,rx:`4`},void 0,!1,{fileName:$l,lineNumber:58,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`16`,y:`16`,width:`18`,height:`18`,fill:`#ffffff`,rx:`2`},void 0,!1,{fileName:$l,lineNumber:59,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`20`,y:`20`,width:`10`,height:`10`,fill:o,rx:`1`},void 0,!1,{fileName:$l,lineNumber:60,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`80`,y:`10`,width:`30`,height:`30`,fill:o,rx:`4`},void 0,!1,{fileName:$l,lineNumber:63,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`86`,y:`16`,width:`18`,height:`18`,fill:`#ffffff`,rx:`2`},void 0,!1,{fileName:$l,lineNumber:64,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`90`,y:`20`,width:`10`,height:`10`,fill:o,rx:`1`},void 0,!1,{fileName:$l,lineNumber:65,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`10`,y:`80`,width:`30`,height:`30`,fill:o,rx:`4`},void 0,!1,{fileName:$l,lineNumber:68,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`16`,y:`86`,width:`18`,height:`18`,fill:`#ffffff`,rx:`2`},void 0,!1,{fileName:$l,lineNumber:69,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`20`,y:`90`,width:`10`,height:`10`,fill:o,rx:`1`},void 0,!1,{fileName:$l,lineNumber:70,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`48`,y:`15`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:73,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`58`,y:`25`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:74,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`48`,y:`35`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:75,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`68`,y:`15`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:76,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`15`,y:`48`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:78,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`25`,y:`58`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:79,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`35`,y:`48`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:80,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`15`,y:`68`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:81,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`50`,y:`50`,width:`20`,height:`20`,fill:o,rx:`3`},void 0,!1,{fileName:$l,lineNumber:83,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`55`,y:`55`,width:`10`,height:`10`,fill:`#ffffff`,rx:`1`},void 0,!1,{fileName:$l,lineNumber:84,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`80`,y:`50`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:86,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`90`,y:`60`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:87,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`100`,y:`50`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:88,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`85`,y:`70`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:89,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`50`,y:`80`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:91,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`60`,y:`90`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:92,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`70`,y:`80`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:93,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`85`,y:`95`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:94,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`95`,y:`85`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:95,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`100`,y:`100`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:$l,lineNumber:96,columnNumber:11},void 0)]},void 0,!0,{fileName:$l,lineNumber:56,columnNumber:9},void 0)},void 0,!1,{fileName:$l,lineNumber:55,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`w-full py-1.5 px-2.5 rounded-lg bg-[#f5f5f7] border border-[#e5e5ea] flex items-center justify-between text-[10px] text-[#6e6e73]`,children:[(0,M.jsxDEV)(`span`,{className:`truncate max-w-[140px] font-mono`,children:r},void 0,!1,{fileName:$l,lineNumber:101,columnNumber:9},void 0),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-semibold`,children:`Active`},void 0,!1,{fileName:$l,lineNumber:102,columnNumber:9},void 0)]},void 0,!0,{fileName:$l,lineNumber:100,columnNumber:7},void 0)]},void 0,!0,{fileName:$l,lineNumber:37,columnNumber:5},void 0)},nu={initialize:e=>{e.logger.info(`Initializing QR Code & Barcode Suite plugin...`),e.widgets.register({id:`qr_code_widget`,type:`qrCodeWidget`,name:`QR Code Card`,category:`cards`,description:`Dynamic scannable QR Code and action card.`,icon:`QrCode`,defaultWidth:240,defaultHeight:270,defaultStyles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,color:`#0071e3`},defaultContent:{title:`Scan with Camera`,subtitle:`Instant mobile preview link`,value:`https://cyrus.design/preview`},propSchemas:[{key:`title`,label:`Title`,type:`text`,defaultValue:`Scan with Camera`},{key:`subtitle`,label:`Subtitle`,type:`text`,defaultValue:`Instant mobile preview link`},{key:`value`,label:`QR Target URL`,type:`text`,defaultValue:`https://cyrus.design/preview`}],renderer:tu})},destroy:()=>{console.log(`[Plugin: QR Code Suite] Cleaned up resources.`)}},ru=`C:/Users/Shadow/Desktop/cyrus/src/plugins/builtins/audioPlayerPlugin.tsx`,iu={id:`com.cyrus.plugin.audio-player`,name:`Audio Player Pro`,version:`1.0.0`,description:`Interactive audio player with waveform visuals and playback controls.`,author:`Cyrus Audio Labs`,targetCyrusVersion:`^1.0.0`,permissions:[`widgets:register`,`storage:read_write`],category:`widgets`,icon:`Music`},au=({element:e})=>{let{content:t,styles:n}=e,r=t.title||`Ambient Soundscapes`,i=t.artist||`Cyrus Audio Studio`,a=t.duration||`3:45`,o=typeof t.progress==`number`?t.progress:45;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:n.backgroundColor||`#1c1c1e`,borderRadius:`${n.borderRadius??18}px`,borderWidth:`${n.borderWidth??1}px`,borderColor:n.borderColor||`#2c2c2e`,color:n.color||`#ffffff`,padding:`16px`},className:`flex flex-col justify-between select-none pointer-events-none shadow-apple-md`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-8 h-8 rounded-lg bg-[#0071e3] text-white flex items-center justify-center shadow-apple-sm`,children:(0,M.jsxDEV)(pt,{className:`w-4 h-4`},void 0,!1,{fileName:ru,lineNumber:51,columnNumber:13},void 0)},void 0,!1,{fileName:ru,lineNumber:50,columnNumber:11},void 0),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-bold truncate max-w-[130px]`,children:r},void 0,!1,{fileName:ru,lineNumber:54,columnNumber:13},void 0),(0,M.jsxDEV)(`div`,{className:`text-[9.5px] text-[#86868b] truncate max-w-[130px]`,children:i},void 0,!1,{fileName:ru,lineNumber:55,columnNumber:13},void 0)]},void 0,!0,{fileName:ru,lineNumber:53,columnNumber:11},void 0)]},void 0,!0,{fileName:ru,lineNumber:49,columnNumber:9},void 0),(0,M.jsxDEV)(`div`,{className:`w-7 h-7 rounded-full bg-white/10 flex items-center justify-center text-white`,children:(0,M.jsxDEV)(w,{className:`w-3.5 h-3.5 fill-current ml-0.5`},void 0,!1,{fileName:ru,lineNumber:60,columnNumber:11},void 0)},void 0,!1,{fileName:ru,lineNumber:59,columnNumber:9},void 0)]},void 0,!0,{fileName:ru,lineNumber:48,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`flex items-end gap-1 h-8 my-1 px-1 justify-between`,children:[20,45,75,90,60,80,40,95,65,35,70,85,50,60,90,40,30].map((e,t)=>(0,M.jsxDEV)(`div`,{className:`w-1 rounded-full transition-all`,style:{height:`${e}%`,backgroundColor:t<8?`#0071e3`:`rgba(255,255,255,0.2)`}},t,!1,{fileName:ru,lineNumber:67,columnNumber:11},void 0))},void 0,!1,{fileName:ru,lineNumber:65,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`space-y-1`,children:[(0,M.jsxDEV)(`div`,{className:`w-full h-1 bg-white/20 rounded-full overflow-hidden`,children:(0,M.jsxDEV)(`div`,{className:`h-full bg-[#0071e3] rounded-full`,style:{width:`${o}%`}},void 0,!1,{fileName:ru,lineNumber:81,columnNumber:11},void 0)},void 0,!1,{fileName:ru,lineNumber:80,columnNumber:9},void 0),(0,M.jsxDEV)(`div`,{className:`flex justify-between text-[9px] text-[#86868b]`,children:[(0,M.jsxDEV)(`span`,{children:`1:42`},void 0,!1,{fileName:ru,lineNumber:84,columnNumber:11},void 0),(0,M.jsxDEV)(`span`,{children:a},void 0,!1,{fileName:ru,lineNumber:85,columnNumber:11},void 0)]},void 0,!0,{fileName:ru,lineNumber:83,columnNumber:9},void 0)]},void 0,!0,{fileName:ru,lineNumber:79,columnNumber:7},void 0)]},void 0,!0,{fileName:ru,lineNumber:35,columnNumber:5},void 0)},ou=[{manifest:eu,implementation:nu,isInstalledByDefault:!0},{manifest:iu,implementation:{initialize:e=>{e.logger.info(`Initializing Audio Player Pro plugin...`),e.widgets.register({id:`audio_player_widget`,type:`audioPlayerWidget`,name:`Audio Player`,category:`cards`,description:`Audio playback card with waveform visualizer.`,icon:`Music`,defaultWidth:260,defaultHeight:140,defaultStyles:{backgroundColor:`#1c1c1e`,borderRadius:18,borderWidth:1,borderColor:`#2c2c2e`,color:`#ffffff`},defaultContent:{title:`Ambient Soundscapes`,artist:`Cyrus Studio`,duration:`3:45`,progress:45},propSchemas:[{key:`title`,label:`Track Title`,type:`text`,defaultValue:`Ambient Soundscapes`},{key:`artist`,label:`Artist Name`,type:`text`,defaultValue:`Cyrus Studio`},{key:`duration`,label:`Duration`,type:`text`,defaultValue:`3:45`},{key:`progress`,label:`Progress (%)`,type:`number`,defaultValue:45}],renderer:au})}},isInstalledByDefault:!0},{manifest:{id:`com.cyrus.plugin.lottie-player`,name:`Lottie Vector Animations`,version:`1.2.0`,description:`Embed dynamic lightweight JSON animations with interactive hover & scroll triggers.`,author:`Motion Labs`,targetCyrusVersion:`^1.0.0`,permissions:[`widgets:register`],category:`widgets`,icon:`Sparkles`},implementation:{initialize:()=>{}}},{manifest:{id:`com.cyrus.plugin.supabase-connector`,name:`Supabase Realtime Connector`,version:`1.0.0`,description:`Direct live synchronization with Supabase PostgreSQL tables & auth sessions.`,author:`Cloud Sync Team`,targetCyrusVersion:`^1.0.0`,permissions:[`data:connector`,`storage:read_write`],category:`data`,icon:`Database`},implementation:{initialize:()=>{}}}];async function su(){for(let e of ou)e.isInstalledByDefault&&!as.isPluginInstalled(e.manifest.id)&&await as.installPlugin(e.manifest,e.implementation)}function cu(e){let t=e;if(typeof e==`string`)try{let n=e.replace(/```json\s*/gi,``).replace(/```\s*$/gi,``).trim();t=JSON.parse(n)}catch{return du(`AI Generated Application`)}if(!t||typeof t!=`object`)return du(`AI Generated Application`);let n=String(t.projectTitle||t.name||t.title||`AI Generated Project`),r=[`webapp`,`website`,`dashboard`,`landing`,`mobile`].includes(t.type)?t.type:`webapp`,i=t.theme===`dark`?`dark`:`light`,a=Array.isArray(t.pages)?t.pages:[];a.length===0&&Array.isArray(t.elements)&&(a=[{name:`Home`,elements:t.elements}]),a.length===0&&(a=[{name:`Page 1`,elements:[]}]);let o=a.map((e,t)=>{let n=Array.isArray(e.elements)?e.elements:[],r=40,a=n.map((e,t)=>{let n=String(e.type||`button`),i=fu(n),a=typeof e.x==`number`?e.x:n===`navbar`?40:40+t%2*440,o=typeof e.y==`number`?e.y:r,s=typeof e.width==`number`?e.width:i.width,c=typeof e.height==`number`?e.height:i.height;return r=Math.max(r,o+c+20),{id:e.id||`el_ir_${k()}`,type:n,name:e.name||`${n.charAt(0).toUpperCase()+n.slice(1)} ${t+1}`,x:a,y:o,width:s,height:c,styles:{backgroundColor:e.styles?.backgroundColor||i.styles.backgroundColor,textColor:e.styles?.textColor||i.styles.textColor,borderRadius:e.styles?.borderRadius??i.styles.borderRadius,borderWidth:e.styles?.borderWidth??i.styles.borderWidth,borderColor:e.styles?.borderColor||i.styles.borderColor,fontSize:e.styles?.fontSize||i.styles.fontSize,fontWeight:e.styles?.fontWeight||i.styles.fontWeight,shadow:e.styles?.shadow||i.styles.shadow,...e.styles},content:{...e.content,...e.label?{label:e.label}:{},...e.title?{title:e.title}:{},...e.text?{text:e.text}:{},...e.brandName?{brandName:e.brandName}:{},...e.placeholder?{placeholder:e.placeholder}:{}}}});return{id:e.id||`page_ir_${t+1}`,name:e.name||`Page ${t+1}`,slug:e.slug||`page-${t+1}`,backgroundColor:e.backgroundColor||(i===`dark`?`#0f0f12`:`#ffffff`),elements:a}});return{version:`1.0`,projectTitle:n,type:r,theme:i,palette:{primary:t.palette?.primary||`#0071e3`,secondary:t.palette?.secondary||`#7d2ae8`,background:t.palette?.background||(i===`dark`?`#0f0f12`:`#ffffff`),surface:t.palette?.surface||(i===`dark`?`#1c1c1e`:`#f5f5f7`),text:t.palette?.text||(i===`dark`?`#f5f5f7`:`#1d1d1f`)},pages:o}}function lu(e){let t=cu(e);return{id:`proj_ir_${k()}`,name:t.projectTitle,type:t.type||`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:t.theme===`dark`?`#0f0f12`:`#ffffff`,primaryColor:t.palette?.primary||`#0071e3`,accentColor:t.palette?.secondary||`#7d2ae8`,theme:t.theme},designSystem:{mode:t.theme||`light`,colors:{primary:t.palette?.primary||`#0071e3`,secondary:t.palette?.secondary||`#7d2ae8`,background:t.palette?.background||`#ffffff`,surface:t.palette?.surface||`#f5f5f7`,text:t.palette?.text||`#1d1d1f`,textSecondary:`#86868b`,border:`#e5e5ea`}},pages:t.pages.map(e=>({id:e.id||`p_${k()}`,name:e.name||`Page 1`,slug:e.slug||`page-1`,settings:{backgroundColor:e.backgroundColor||`#ffffff`,width:1440,height:900},elements:e.elements.map(e=>({id:e.id||`el_${k()}`,type:e.type,name:e.name||`Element`,x:e.x||40,y:e.y||40,width:e.width||200,height:e.height||50,rotation:0,zIndex:1,styles:e.styles,content:e.content||{}}))}))}}function uu(e){return{version:`1.0`,projectTitle:e.name,type:e.type||`webapp`,theme:e.designSystem?.mode||`light`,palette:{primary:e.designSystem?.colors?.primary||`#0071e3`,secondary:e.designSystem?.colors?.secondary||`#7d2ae8`,background:e.designSystem?.colors?.background||`#ffffff`,surface:e.designSystem?.colors?.surface||`#f5f5f7`,text:e.designSystem?.colors?.text||`#1d1d1f`},pages:e.pages.map(e=>({id:e.id,name:e.name,slug:e.slug,backgroundColor:e.settings.backgroundColor,elements:(e.elements||[]).map(e=>({id:e.id,type:e.type,name:e.name,x:e.x,y:e.y,width:e.width,height:e.height,styles:e.styles,content:e.content}))}))}}function du(e){return{version:`1.0`,projectTitle:e,type:`webapp`,theme:`light`,pages:[{id:`p_1`,name:`Page 1`,slug:`page-1`,elements:[]}]}}function fu(e){switch(e){case`navbar`:return{width:800,height:64,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`}};case`sidebar`:return{width:260,height:600,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`}};case`lineChart`:return{width:460,height:260,styles:{backgroundColor:`#ffffff`,textColor:`#0071e3`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`}};case`searchBar`:return{width:320,height:44,styles:{backgroundColor:`#ffffff`,textColor:`#1d1d1f`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`subtle`,fontSize:14}};case`toggleSwitch`:return{width:200,height:44,styles:{backgroundColor:`#ffffff`,textColor:`#1d1d1f`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`subtle`}};case`heading`:return{width:480,height:50,styles:{fontSize:32,fontWeight:`700`,textColor:`#1d1d1f`}};case`paragraph`:return{width:480,height:40,styles:{fontSize:14,fontWeight:`400`,textColor:`#6e6e73`}};default:return{width:140,height:42,styles:{backgroundColor:`#0071e3`,textColor:`#ffffff`,borderRadius:10,fontSize:14,fontWeight:`600`,shadow:`sm`}}}}var pu={};function mu(e,t){pu[e]=t}function hu(e){return pu[e]||null}async function gu(e,t,n,r=!1){if(!e)return{code:`// No active page selected`,source:`builtin`,providerName:`Cyrus Engine`};let i=hu(t);if(i&&!r)return{code:i,source:`host_ai`,providerName:`Host AI (Live)`};let a=ui.getState().ai;if(a?.apiKey&&(r||a.provider!==`builtin`))try{let r=await _u(e,t,a,n);if(r)return{code:r,source:`connected_ai`,providerName:`${a.provider.toUpperCase()} (${a.model})`}}catch(e){console.warn(`[AI Code Service] Failed to generate with connected AI, falling back to built-in:`,e)}return{code:Ic(e,t),source:`builtin`,providerName:`Built-in Engine`}}async function _u(e,t,n,r){let i=r?uu(r):{pages:[e]},a=`You are a world-class frontend architect.
786
+ </svg>`,a=tl(`${e.name}_${t.name}`,`svg`),o=new Blob([i],{type:`image/svg+xml;charset=utf-8`}),s=URL.createObjectURL(o),c=document.createElement(`a`);return c.href=s,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),setTimeout(()=>URL.revokeObjectURL(s),1e3),{success:!0,filename:a}}function al(){(0,A.useEffect)(()=>{let e=(e,t)=>{let{activeProject:n,activePageId:r,addElement:i,selectElement:a}=N.getState();if(!n||!r)return;let o=uo.find(t=>t.id===e);if(!o)return;let s={id:k(),type:o.type,name:t,x:240,y:180,width:o.defaultWidth||320,height:o.defaultHeight||160,rotation:0,zIndex:10,styles:{...o.defaultStyles},content:{...o.defaultContent}};i(s),a(s.id),Br.getState().addToast(`Added ${t}`,`success`)},t=t=>{let n=t.target,r=n.tagName===`INPUT`||n.tagName===`TEXTAREA`||n.isContentEditable,i=Cc.getShortcuts(),a=N.getState(),o=j.getState();for(let n of i)if(_c(t,n.customBinding||n.defaultBinding)){if(r&&!n.allowInInput)continue;if(n.id===`paste`)return;switch(t.preventDefault(),n.id){case`undo`:a.undo();break;case`redo`:a.redo();break;case`save`:a.saveCurrentProject(),a.activeProject?nl(a.activeProject).then(e=>{e.success&&Br.getState().addToast(`Saved to device: ${e.filename}`,`success`)}):Br.getState().addToast(`Project saved`,`success`);break;case`commandPalette`:o.setCommandPaletteOpen(!o.isCommandPaletteOpen);break;case`preview`:o.togglePreviewMode();break;case`helpShortcuts`:o.setShortcutsOpen(!0);break;case`exportProject`:o.setShareOpen(!0);break;case`createApp`:o.setCreateAppOpen(!0);break;case`copy`:a.copySelectedElements();break;case`paste`:break;case`duplicate`:a.duplicateSelectedElements();break;case`delete`:a.deleteSelectedElements();break;case`selectAll`:a.selectAllElements();break;case`group`:a.groupSelectedElements();break;case`ungroup`:a.ungroupSelectedElements();break;case`lock`:a.toggleLockSelectedElements();break;case`hide`:a.toggleHideSelectedElements();break;case`deselect`:a.selectElement(null),o.setToolMode(`select`);break;case`zoomIn`:o.zoomIn();break;case`zoomOut`:o.zoomOut();break;case`resetZoom`:o.resetZoom();break;case`fitCanvas`:o.fitToScreen(window.innerWidth,window.innerHeight);break;case`toggleGrid`:o.toggleGrid();break;case`toolSelect`:o.setToolMode(`select`);break;case`toolHand`:o.setToolMode(o.toolMode===`hand`?`select`:`hand`);break;case`toolComment`:o.setToolMode(o.toolMode===`comment`?`select`:`comment`),so.getState().setCommentsOpen(!0);break;case`addText`:e(`text_heading_1`,`Heading`);break;case`addRectangle`:e(`card_glass`,`Container Box`);break;case`addButton`:e(`btn_primary`,`Button`);break;case`addImage`:e(`media_image`,`Image Container`);break;case`addStatCard`:e(`dash_stat_card`,`Stat Card`);break;case`addLineChart`:e(`chart_line`,`Line Chart`)}return}r||(t.key===`ArrowUp`?(t.preventDefault(),a.nudgeSelectedElements(0,t.shiftKey?-10:-1)):t.key===`ArrowDown`?(t.preventDefault(),a.nudgeSelectedElements(0,t.shiftKey?10:1)):t.key===`ArrowLeft`?(t.preventDefault(),a.nudgeSelectedElements(t.shiftKey?-10:-1,0)):t.key===`ArrowRight`&&(t.preventDefault(),a.nudgeSelectedElements(t.shiftKey?10:1,0)))},n=e=>{let t=e.target;if(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))return;let n=N.getState(),r=n.activeProject,i=n.activePageId;if(!r||!i)return;let a=e.clipboardData;if(!a)return;let o=[];if(a.files&&a.files.length>0&&(o=Array.from(a.files).filter(e=>e.type.startsWith(`image/`))),o.length===0&&a.items&&a.items.length>0){let e=Array.from(a.items);for(let t of e)if(t.type.startsWith(`image/`)){let e=t.getAsFile();e&&o.push(e)}}if(o.length>0){e.preventDefault(),e.stopPropagation(),o.forEach((e,t)=>{let n=new FileReader;n.onload=n=>{let r=n.target?.result;if(!r)return;let i=new Image;i.onload=()=>{let n=N.getState(),a=((n.activeProject?.pages.find(e=>e.id===n.activePageId))?.elements.length||0)+t,o=i.width||400,s=i.height||300;o>560&&(s=Math.round(s*560/o),o=560);let c={id:k(`elem`),type:`image`,name:e.name?`Pasted Image (${e.name})`:`Pasted Image`,x:Math.min(320,120+a%5*30),y:Math.min(380,120+a%5*30),width:o,height:s,rotation:0,zIndex:30+a,styles:{borderRadius:12,shadow:`md`,opacity:1},content:{url:r,src:r,alt:`Pasted image`}};n.addElement(c),n.selectElement(c.id),Br.getState().addToast(`Pasted image onto craft page!`,`success`)},i.src=r},n.readAsDataURL(e)});return}let s=a.getData(`text/html`),c=s?s.match(/<img[^>]+src=["']([^"']+)["']/i):null,l=c?c[1]:null,u=a.getData(`text/plain`)?.trim(),d=u&&(u.startsWith(`data:image/`)||u.startsWith(`blob:`)||/^https?:\/\/.+/i.test(u)&&/\.(jpeg|jpg|gif|png|svg|webp)($|\?)/i.test(u)),f=l||(d?u:null);if(f){e.preventDefault(),e.stopPropagation();let t=new Image;t.crossOrigin=`anonymous`,t.onload=()=>{let e=N.getState(),n=(e.activeProject?.pages.find(t=>t.id===e.activePageId))?.elements.length||0,r=t.width||400,i=t.height||300;r>560&&(i=Math.round(i*560/r),r=560);let a={id:k(`elem`),type:`image`,name:`Pasted Web Image`,x:Math.min(320,120+n%5*30),y:Math.min(380,120+n%5*30),width:r,height:i,rotation:0,zIndex:30+n,styles:{borderRadius:12,shadow:`md`,opacity:1},content:{url:f,src:f,alt:`Pasted web image`}};e.addElement(a),e.selectElement(a.id),Br.getState().addToast(`Pasted image onto craft page!`,`success`)},t.onerror=()=>{let e=N.getState();e.clipboard.length>0&&e.pasteElements()},t.src=f;return}n.clipboard.length>0&&(e.preventDefault(),n.pasteElements())};return window.addEventListener(`keydown`,t),window.addEventListener(`paste`,n),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(`paste`,n)}},[])}var ol=`C:/Users/Shadow/Desktop/cyrus/src/pages/EditorPage.tsx`,sl=(0,A.lazy)(()=>Va(()=>import(`./CreateAppDialog-CcsTnMUR.js`).then(e=>({default:e.CreateAppDialog})),__vite__mapDeps([9,1,2,3,4,5,6,10,11,12]))),cl=(0,A.lazy)(()=>Va(()=>import(`./ShareExportDialog-DhJdhGSQ.js`).then(e=>({default:e.ShareExportDialog})),__vite__mapDeps([13,1,2,3,4,5,6]))),ll=(0,A.lazy)(()=>Va(()=>import(`./CanvaSaveModal-DsU_PDqd.js`).then(e=>({default:e.CanvaSaveModal})),__vite__mapDeps([14,1,2,3,4,5,6,10,11]))),ul=(0,A.lazy)(()=>Va(()=>import(`./HistoryTimelineDialog-BEoD5f3q.js`).then(e=>({default:e.HistoryTimelineDialog})),__vite__mapDeps([15,1,2,3,4,5,6]))),dl=(0,A.lazy)(()=>Va(()=>import(`./KeyboardShortcutsDialog-HNBNVkqd.js`).then(e=>({default:e.KeyboardShortcutsDialog})),__vite__mapDeps([16,1,2,3,4]))),fl=(0,A.lazy)(()=>Va(()=>import(`./LiveRuntimeWorkspace-DWfY9g1r.js`).then(e=>({default:e.LiveRuntimeWorkspace})),__vite__mapDeps([17,1,2,3,4,5,6]))),pl=(0,A.lazy)(()=>Va(()=>import(`./CodingWorkspace-C6jZprS0.js`).then(e=>({default:e.CodingWorkspace})),__vite__mapDeps([18,1,2,3,4,5,6,10,11,12]))),ml=(0,A.lazy)(()=>Va(()=>import(`./AuthDialog-D9kQLZ1c.js`).then(e=>({default:e.AuthDialog})),__vite__mapDeps([19,1,2,3,5,4,6]))),hl=(0,A.lazy)(()=>Va(()=>import(`./UserProfileDialog-ecw1PuFr.js`).then(e=>({default:e.UserProfileDialog})),__vite__mapDeps([20,1,2,3,5,4,6])));function gl({projectId:e,onNavigateDashboard:t,onNavigateSettings:n}){let[r,i]=(0,A.useState)(`design`),{initAuth:a}=Ri(),{activeProject:o,activePageId:s,loadProjectFromStorage:c}=N(),{isPreviewMode:l,togglePreviewMode:u,isCreateAppOpen:d,setCreateAppOpen:f,isShareOpen:p,setShareOpen:m,isSaveDesignOpen:h,setSaveDesignOpen:g,isHistoryOpen:_,setHistoryOpen:v,isShortcutsOpen:y,setShortcutsOpen:b,isReviewMode:x,toggleReviewMode:S}=j(),{isCommentsOpen:C,setCommentsOpen:w,isSharePanelOpen:ee,setSharePanelOpen:te,selfId:T,selfColor:ne}=so(),[E,re]=(0,A.useState)(!0),[ie,ae]=(0,A.useState)(!1);(0,A.useEffect)(()=>{x&&w(!0)},[x,w]),Ms(o?o.id:null);let oe=(0,A.useRef)(null),se=(0,A.useCallback)(e=>{if(oe.current)return;oe.current=setTimeout(()=>{oe.current=null},50);let t=As();if(!t||!s)return;let n=e.currentTarget;if(!n)return;let r=n.getBoundingClientRect(),{zoom:i,pan:a}=j.getState(),o=(e.clientX-r.left-a.x)/i,c=(e.clientY-r.top-a.y)/i;t.updateCursor({x:o,y:c,pageId:s})},[s]);if((0,A.useEffect)(()=>{a();let t=!0;return re(!0),ae(!1),c(e).then(e=>{t&&(re(!1),e||ae(!0))}),()=>{t=!1}},[e]),(0,A.useEffect)(()=>{let e=()=>{N.getState().saveCurrentProject()};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[]),al(),E)return(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] dark:bg-[#000000] text-[#6e6e73] dark:text-[#8e8e93] gap-3`,children:[(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3] dark:text-[#0a84ff]`},void 0,!1,{fileName:ol,lineNumber:164,columnNumber:9},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Loading Cyrus Workspace...`},void 0,!1,{fileName:ol,lineNumber:165,columnNumber:9},this)]},void 0,!0,{fileName:ol,lineNumber:163,columnNumber:7},this);if(ie||!o)return(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] dark:bg-[#000000] p-6 text-center`,children:(0,M.jsxDEV)(`div`,{className:`p-6 rounded-[16px] bg-white dark:bg-[#1c1c1e] border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-md max-w-sm flex flex-col items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`text-[16px] font-semibold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Project Not Found`},void 0,!1,{fileName:ol,lineNumber:174,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#86868b] dark:text-[#636366]`,children:`The requested project could not be found or failed to load from local storage.`},void 0,!1,{fileName:ol,lineNumber:175,columnNumber:11},this),(0,M.jsxDEV)(Hi,{variant:`primary`,onClick:t,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:ol,lineNumber:178,columnNumber:73},this),children:`Return to Dashboard`},void 0,!1,{fileName:ol,lineNumber:178,columnNumber:11},this)]},void 0,!0,{fileName:ol,lineNumber:173,columnNumber:9},this)},void 0,!1,{fileName:ol,lineNumber:172,columnNumber:7},this);let ce=o.pages.find(e=>e.id===s)||o.pages[0];return(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col overflow-hidden bg-[#f5f5f7] dark:bg-[#000000] text-[#1d1d1f] dark:text-[#f5f5f7]`,children:[(r===`preview`||l)&&(0,M.jsxDEV)(A.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex items-center justify-center bg-[#1d1d1f] text-white`,children:(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3] dark:text-[#0a84ff]`},void 0,!1,{fileName:ol,lineNumber:193,columnNumber:121},this)},void 0,!1,{fileName:ol,lineNumber:193,columnNumber:29},this),children:(0,M.jsxDEV)(fl,{project:o,initialPageId:s,onBackToDesign:()=>{i(`design`),l&&u()},onOpenCodingMode:()=>{i(`code`),l&&u()},onExit:()=>{i(`design`),l&&u()}},void 0,!1,{fileName:ol,lineNumber:194,columnNumber:11},this)},void 0,!1,{fileName:ol,lineNumber:193,columnNumber:9},this),r===`code`&&(0,M.jsxDEV)(A.Suspense,{fallback:(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex items-center justify-center bg-[#1e1e1e] text-white`,children:(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3] dark:text-[#0a84ff]`},void 0,!1,{fileName:ol,lineNumber:215,columnNumber:121},this)},void 0,!1,{fileName:ol,lineNumber:215,columnNumber:29},this),children:(0,M.jsxDEV)(pl,{onBackToDesign:()=>i(`design`),onOpenPreview:()=>i(`preview`)},void 0,!1,{fileName:ol,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:ol,lineNumber:215,columnNumber:9},this),(0,M.jsxDEV)(co,{onBack:t,onOpenCodingMode:()=>i(`code`)},void 0,!1,{fileName:ol,lineNumber:224,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex overflow-hidden relative`,children:[(0,M.jsxDEV)(Qo,{onNavigateSettings:n},void 0,!1,{fileName:ol,lineNumber:231,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex-1 relative overflow-hidden flex flex-col`,onMouseMove:e=>se(e.nativeEvent),children:[(0,M.jsxDEV)(`div`,{className:`flex-1 relative overflow-hidden`,children:(0,M.jsxDEV)(Oc,{page:ce},void 0,!1,{fileName:ol,lineNumber:240,columnNumber:13},this)},void 0,!1,{fileName:ol,lineNumber:239,columnNumber:11},this),(0,M.jsxDEV)(Uc,{},void 0,!1,{fileName:ol,lineNumber:243,columnNumber:11},this)]},void 0,!0,{fileName:ol,lineNumber:235,columnNumber:9},this),(0,M.jsxDEV)(Hc,{},void 0,!1,{fileName:ol,lineNumber:245,columnNumber:9},this)]},void 0,!0,{fileName:ol,lineNumber:230,columnNumber:7},this),ee&&(0,M.jsxDEV)(Xc,{onClose:()=>te(!1)},void 0,!1,{fileName:ol,lineNumber:250,columnNumber:9},this),(0,M.jsxDEV)(A.Suspense,{fallback:null,children:[d&&(0,M.jsxDEV)(sl,{isOpen:d,onClose:()=>f(!1)},void 0,!1,{fileName:ol,lineNumber:256,columnNumber:11},this),p&&(0,M.jsxDEV)(cl,{isOpen:p,onClose:()=>m(!1)},void 0,!1,{fileName:ol,lineNumber:262,columnNumber:11},this),h&&(0,M.jsxDEV)(ll,{isOpen:h,onClose:()=>g(!1)},void 0,!1,{fileName:ol,lineNumber:268,columnNumber:11},this),_&&(0,M.jsxDEV)(ul,{isOpen:_,onClose:()=>v(!1)},void 0,!1,{fileName:ol,lineNumber:274,columnNumber:11},this),y&&(0,M.jsxDEV)(dl,{isOpen:y,onClose:()=>b(!1)},void 0,!1,{fileName:ol,lineNumber:280,columnNumber:11},this),(0,M.jsxDEV)(Yc,{},void 0,!1,{fileName:ol,lineNumber:285,columnNumber:9},this),(0,M.jsxDEV)(el,{},void 0,!1,{fileName:ol,lineNumber:286,columnNumber:9},this),(0,M.jsxDEV)(ml,{},void 0,!1,{fileName:ol,lineNumber:287,columnNumber:9},this),(0,M.jsxDEV)(hl,{},void 0,!1,{fileName:ol,lineNumber:288,columnNumber:9},this)]},void 0,!0,{fileName:ol,lineNumber:254,columnNumber:7},this)]},void 0,!0,{fileName:ol,lineNumber:190,columnNumber:5},this)}function _l(){try{let e=window.AudioContext||window.webkitAudioContext;if(!e)return;let t=new e,n=t.createOscillator(),r=t.createGain();n.type=`sine`,n.frequency.setValueAtTime(587.33,t.currentTime),n.frequency.setValueAtTime(880,t.currentTime+.08),r.gain.setValueAtTime(.08,t.currentTime),r.gain.exponentialRampToValueAtTime(.001,t.currentTime+.35),n.connect(r),r.connect(t.destination),n.start(t.currentTime),n.stop(t.currentTime+.35)}catch{}}var vl={free:{id:`free`,name:`Free`,tagline:`For individuals exploring visual design and component prototyping.`,description:`Core visual canvas tools with standard code export and community templates.`,priceMonthly:0,priceYearly:0,limits:{maxProjects:3,maxStorageMb:50,maxAiGenerationsPerMonth:25,maxCollaboratorsPerProject:1,maxDeploymentsPerMonth:1,maxCustomDomains:0,historyRetentionDays:7,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!1,export_react:!0,export_nextjs:!1,export_react_native:!1,custom_domain:!1,collaboration:!1,version_history:!0,custom_tokens:!1,deployments:!0,advanced_analytics:!1}},featureBullets:[`Up to 3 active projects`,`Standard React + TS code export`,`25 AI generations per month`,`Community template catalog`,`7-day version history retention`]},pro:{id:`pro`,name:`Pro`,tagline:`For professional software designers and frontend engineers.`,description:`Unlimited projects, multi-framework code export, and multi-file AI coding workspace.`,priceMonthly:49,priceYearly:39,badge:`Popular`,highlighted:!0,limits:{maxProjects:1/0,maxStorageMb:2e3,maxAiGenerationsPerMonth:500,maxCollaboratorsPerProject:5,maxDeploymentsPerMonth:15,maxCustomDomains:3,historyRetentionDays:90,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!0,export_react:!0,export_nextjs:!0,export_react_native:!0,custom_domain:!0,collaboration:!0,version_history:!0,custom_tokens:!0,deployments:!0,advanced_analytics:!0}},featureBullets:[`Up to 50 active projects`,`Multi-file AI Coding Workspace & IDE`,`Next.js 14 & React Native export`,`500 AI generations per month`,`Up to 5 collaborators per project`,`3 custom domains with automatic SSL`,`90-day version history retention`]},team:{id:`team`,name:`Team`,tagline:`For fast-moving engineering and design teams.`,description:`High-capacity workspace with shared design systems, live multiplayer, and unlimited history.`,priceMonthly:99,priceYearly:79,limits:{maxProjects:250,maxStorageMb:1e4,maxAiGenerationsPerMonth:2500,maxCollaboratorsPerProject:25,maxDeploymentsPerMonth:100,maxCustomDomains:15,historyRetentionDays:365,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!0,export_react:!0,export_nextjs:!0,export_react_native:!0,custom_domain:!0,collaboration:!0,version_history:!0,custom_tokens:!0,deployments:!0,advanced_analytics:!0}},featureBullets:[`Up to 250 active projects`,`2,500 AI generations per month`,`Up to 25 team collaborators`,`Shared Master Component Library`,`15 custom domains`,`1-year version history retention`,`Priority build & deployment pipelines`]},enterprise:{id:`enterprise`,name:`Enterprise`,tagline:`For large organizations demanding dedicated infrastructure and security.`,description:`Unlimited capacity, SAML SSO, on-premise AI models, and dedicated SLA.`,priceMonthly:299,priceYearly:249,badge:`Enterprise`,limits:{maxProjects:1/0,maxStorageMb:1/0,maxAiGenerationsPerMonth:1/0,maxCollaboratorsPerProject:1/0,maxDeploymentsPerMonth:1/0,maxCustomDomains:1/0,historyRetentionDays:1/0,features:{create_project:!0,ai_generation:!0,ai_coding_workspace:!0,export_react:!0,export_nextjs:!0,export_react_native:!0,custom_domain:!0,collaboration:!0,version_history:!0,custom_tokens:!0,deployments:!0,advanced_analytics:!0}},featureBullets:[`Unlimited projects, storage & team members`,`Unlimited AI generations with custom LLM endpoints`,`SAML SSO & SCIM directory synchronization`,`Dedicated VPC or on-premise private deployment`,`99.99% uptime SLA & 24/7 dedicated engineering support`,`Custom contractual security & compliance review`]}};function yl(e){return vl[e]||vl.free}function bl(){return Object.values(vl)}var xl=`cyrus_usage_stats_v1`;function Sl(){return{projectsCount:0,storageMb:0,aiGenerationsThisMonth:0,collaboratorsCount:0,deploymentsThisMonth:0,customDomainsCount:0,lastResetDate:new Date().toISOString()}}var Cl=new class{usage;constructor(){this.usage=this.loadUsage()}loadUsage(){try{if(typeof localStorage<`u`){let e=localStorage.getItem(xl);if(e)return JSON.parse(e)}}catch{}return Sl()}saveUsage(){try{typeof localStorage<`u`&&localStorage.setItem(xl,JSON.stringify(this.usage))}catch{}}getCurrentPlan(){return ui.getState().billing.plan||`free`}setCurrentPlan(e){vl[e]&&ui.getState().updateBilling({plan:e})}getPlanDefinition(e){return yl(e||this.getCurrentPlan())}getPlanLimits(e){return this.getPlanDefinition(e).limits}getAllPlans(){return bl()}getUsage(){return{...this.usage}}recordUsage(e,t=1){switch(e){case`projects`:this.usage.projectsCount=Math.max(0,this.usage.projectsCount+t);break;case`storageMb`:this.usage.storageMb=Math.max(0,this.usage.storageMb+t);break;case`aiGenerations`:this.usage.aiGenerationsThisMonth=Math.max(0,this.usage.aiGenerationsThisMonth+t);break;case`collaborators`:this.usage.collaboratorsCount=Math.max(0,this.usage.collaboratorsCount+t);break;case`deployments`:this.usage.deploymentsThisMonth=Math.max(0,this.usage.deploymentsThisMonth+t);break;case`customDomains`:this.usage.customDomainsCount=Math.max(0,this.usage.customDomainsCount+t)}this.saveUsage()}setMetricUsage(e,t){switch(e){case`projects`:this.usage.projectsCount=Math.max(0,t);break;case`storageMb`:this.usage.storageMb=Math.max(0,t);break;case`aiGenerations`:this.usage.aiGenerationsThisMonth=Math.max(0,t);break;case`collaborators`:this.usage.collaboratorsCount=Math.max(0,t);break;case`deployments`:this.usage.deploymentsThisMonth=Math.max(0,t);break;case`customDomains`:this.usage.customDomainsCount=Math.max(0,t)}this.saveUsage()}resetUsage(){this.usage=Sl(),this.saveUsage()}canUserUse(e,t){let n=this.getPlanDefinition(),r=n.limits;if(r.features[e]===!1){let t=`pro`,r=`This feature`;switch(e){case`ai_coding_workspace`:r=`The AI Multi-File Coding Workspace`,t=`pro`;break;case`export_nextjs`:r=`Next.js 14 App Router Code Export`,t=`pro`;break;case`export_react_native`:r=`React Native (Expo) Mobile Export`,t=`pro`;break;case`custom_domain`:r=`Custom Domains & SSL`,t=`pro`;break;case`collaboration`:r=`Multiplayer Team Collaboration`,t=`pro`;break;case`custom_tokens`:r=`Custom Organization Design Tokens`,t=`pro`;break;case`advanced_analytics`:r=`Advanced Interaction Analytics`,t=`pro`}return{allowed:!1,reason:`${r} requires a ${yl(t).name} plan or higher.`,feature:e,currentPlan:n.id,suggestedPlan:t}}if(e===`create_project`){let i=t?.currentUsage??this.usage.projectsCount;if(i+(t?.requestedAmount??1)>r.maxProjects){let t=n.id===`free`?`pro`:n.id===`pro`?`team`:`enterprise`;return{allowed:!1,reason:`Your ${n.name} plan has reached its limit of ${r.maxProjects} project${r.maxProjects===1?``:`s`}.`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxProjects,currentUsage:i}}}if(e===`ai_generation`){let i=t?.currentUsage??this.usage.aiGenerationsThisMonth;if(i+(t?.requestedAmount??1)>r.maxAiGenerationsPerMonth){let t=n.id===`free`?`pro`:n.id===`pro`?`team`:`enterprise`;return{allowed:!1,reason:`Your current plan has reached its AI usage limit (${r.maxAiGenerationsPerMonth} generations / month).`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxAiGenerationsPerMonth,currentUsage:i}}}if(e===`custom_domain`){let i=t?.currentUsage??this.usage.customDomainsCount;if(i>=r.maxCustomDomains){let t=n.id===`free`?`pro`:n.id===`pro`?`team`:`enterprise`;return{allowed:!1,reason:`Your ${n.name} plan has reached its limit of ${r.maxCustomDomains} custom domain${r.maxCustomDomains===1?``:`s`}.`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxCustomDomains,currentUsage:i}}}if(e===`deployments`){let i=t?.currentUsage??this.usage.deploymentsThisMonth;if(i>=r.maxDeploymentsPerMonth){let t=n.id===`free`?`pro`:`team`;return{allowed:!1,reason:`Your ${n.name} plan has reached its limit of ${r.maxDeploymentsPerMonth} deployment${r.maxDeploymentsPerMonth===1?``:`s`} this month.`,feature:e,currentPlan:n.id,suggestedPlan:t,limit:r.maxDeploymentsPerMonth,currentUsage:i}}}return{allowed:!0,feature:e,currentPlan:n.id}}},wl=class{id=`dev_sim`;name=`Development Test Mode`;isLive=!1;async createCheckoutSession(e,t){return await new Promise(e=>setTimeout(e,400)),Cl.setCurrentPlan(e),{success:!0,mode:`test_simulation`,message:`[Development Test Mode] Switched local plan to "${e.toUpperCase()}" (${t}). Live card processing requires connecting a production gateway (e.g. Stripe).`,sessionId:`test_sess_${Date.now()}`}}async createCustomerPortalSession(){return{success:!0,message:`[Development Test Mode] Customer billing portal simulation active. Configure backend endpoint for live billing self-service.`}}async getSubscriptionStatus(){return{planId:Cl.getCurrentPlan(),status:`development`,billingCycle:`monthly`,provider:`Development Test Provider`,isLive:!1}}},Tl=new class{activeProvider;constructor(){this.activeProvider=new wl}getProvider(){return this.activeProvider}setProvider(e){this.activeProvider=e}},Y=`C:/Users/Shadow/Desktop/cyrus/src/pages/SettingsPage.tsx`,El=[{id:`account`,label:`Account Profile`,icon:(0,M.jsxDEV)(rn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:59,columnNumber:52},void 0)},{id:`appearance`,label:`Appearance & Theme`,icon:(0,M.jsxDEV)(lt,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:60,columnNumber:58},void 0)},{id:`editor`,label:`Editor & Canvas`,icon:(0,M.jsxDEV)(Ve,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:61,columnNumber:51},void 0)},{id:`shortcuts`,label:`Keyboard Shortcuts`,icon:(0,M.jsxDEV)(Nt,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:62,columnNumber:57},void 0)},{id:`security`,label:`Security & Auth`,icon:(0,M.jsxDEV)(Pn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:63,columnNumber:53},void 0)},{id:`data`,label:`Data & Backup`,icon:(0,M.jsxDEV)(Wt,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:64,columnNumber:47},void 0)},{id:`billing`,label:`Plan & Features`,icon:(0,M.jsxDEV)(Hn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:65,columnNumber:52},void 0)}];function Dl(){let e=navigator.userAgent,t=`Modern Browser`;e.includes(`Chrome`)?t=`Google Chrome`:e.includes(`Firefox`)?t=`Mozilla Firefox`:e.includes(`Safari`)&&!e.includes(`Chrome`)?t=`Apple Safari`:e.includes(`Edg`)&&(t=`Microsoft Edge`);let n=`Desktop Client`;return e.includes(`Win`)?n=`Windows OS`:e.includes(`Mac`)?n=`macOS`:e.includes(`Linux`)?n=`Linux`:e.includes(`Android`)?n=`Android`:(e.includes(`iPhone`)||e.includes(`iPad`))&&(n=`iOS`),{browser:t,os:n}}function Ol({onBack:e}){let[t,n]=(0,A.useState)(`account`),[r,i]=(0,A.useState)(0),[a,o]=(0,A.useState)(!1),[s,c]=(0,A.useState)(``),[u,d]=(0,A.useState)(!1),[f,m]=(0,A.useState)(!1),h=(0,A.useRef)(null),{account:g,appearance:_,editor:v,shortcuts:y,billing:b,updateAccount:x,updateAppearance:S,updateEditor:C,updateShortcuts:w,updateBilling:ee,resetToDefaults:te}=ui(),{session:T,signOut:ne}=Ri(),{addToast:E}=Br(),[re,ie]=(0,A.useState)(T.user?.name||g.name||`Cyrus Creator`),[ae,oe]=(0,A.useState)(T.user?.avatarUrl||g.avatarUrl||``),[se,ce]=(0,A.useState)(`monthly`),[le,ue]=(0,A.useState)(null),de=Dl(),fe=async e=>{ue(e);try{let t=await Tl.getProvider().createCheckoutSession(e,se);t.success&&t.checkoutUrl?window.location.href=t.checkoutUrl:t.success?(ee({plan:e,billingCycle:se}),E(t.message||`Switched to ${e.toUpperCase()} plan!`,`success`),_l()):E(t.message||`Checkout failed`,`error`)}catch(e){E(e?.message||`Checkout error`,`error`)}finally{ue(null)}};return(0,A.useEffect)(()=>{Vr().then(e=>i(e.length))},[]),(0,A.useEffect)(()=>{T.user&&(ie(T.user.name),oe(T.user.avatarUrl||``))},[T.user]),(0,M.jsxDEV)(`div`,{className:`h-full w-full overflow-y-auto bg-[#f5f5f7] dark:bg-[#000000] text-[#1d1d1f] dark:text-[#f5f5f7] flex flex-col font-sans selection:bg-[#7d2ae8] selection:text-white`,children:[(0,M.jsxDEV)(`header`,{className:`sticky top-0 z-30 h-14 bg-white/90 dark:bg-[#1c1c1e]/90 backdrop-blur-md border-b border-[#e5e5ea] dark:border-[#2c2c2e] px-6 sm:px-12 flex items-center justify-between shadow-2xs`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(Hi,{variant:`ghost`,size:`sm`,onClick:e,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:297,columnNumber:19},this),children:`Back to Dashboard`},void 0,!1,{fileName:Y,lineNumber:293,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-4 w-[1px] bg-[#e5e5ea] dark:bg-[#2c2c2e]`},void 0,!1,{fileName:Y,lineNumber:301,columnNumber:11},this),(0,M.jsxDEV)(Bi,{size:`sm`},void 0,!1,{fileName:Y,lineNumber:302,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-xs font-bold text-[#7d2ae8] dark:text-[#9d52ff]`,children:`Settings`},void 0,!1,{fileName:Y,lineNumber:303,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:292,columnNumber:9},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{ne(),E(`Signed out of Cyrus Workspace`,`info`),e()},className:`flex items-center gap-1.5 text-xs font-semibold text-rose-500 hover:text-rose-600 px-3 py-1.5 rounded-lg hover:bg-rose-500/10 transition-colors cursor-pointer`,children:[(0,M.jsxDEV)(tr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Y,lineNumber:315,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:`Sign Out`},void 0,!1,{fileName:Y,lineNumber:316,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:306,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:291,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 max-w-6xl w-full mx-auto px-6 sm:px-12 py-8 flex flex-col md:flex-row gap-8`,children:[(0,M.jsxDEV)(`aside`,{className:`w-full md:w-60 shrink-0 flex flex-col gap-1 select-none`,children:[(0,M.jsxDEV)(`div`,{className:`px-3 pb-2 text-[11px] font-semibold text-[#86868b] dark:text-[#8e8e93] uppercase tracking-wider`,children:`Workspace Preferences`},void 0,!1,{fileName:Y,lineNumber:324,columnNumber:11},this),El.map(e=>{let r=t===e.id;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>n(e.id),className:O(`flex items-center gap-2.5 px-3 py-2.5 rounded-[10px] text-[13px] font-medium transition-all text-left cursor-pointer`,r?`bg-white dark:bg-[#2c2c2e] text-[#7d2ae8] dark:text-[#9d52ff] shadow-apple-sm font-semibold`:`text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-[#ffffff] hover:bg-white/60 dark:hover:bg-[#1c1c1e]`),children:[(0,M.jsxDEV)(`span`,{className:O(r?`text-[#7d2ae8] dark:text-[#9d52ff]`:`text-[#86868b]`),children:e.icon},void 0,!1,{fileName:Y,lineNumber:341,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:e.label},void 0,!1,{fileName:Y,lineNumber:344,columnNumber:17},this)]},e.id,!0,{fileName:Y,lineNumber:330,columnNumber:15},this)})]},void 0,!0,{fileName:Y,lineNumber:323,columnNumber:9},this),(0,M.jsxDEV)(`main`,{className:`flex-1 min-w-0 flex flex-col gap-6`,children:[t===`account`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Account Profile`},void 0,!1,{fileName:Y,lineNumber:356,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Your identity and authentication profile connected to Firebase.`},void 0,!1,{fileName:Y,lineNumber:357,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:355,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-4 p-4 rounded-2xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a]`,children:[(0,M.jsxDEV)(`div`,{className:`w-16 h-16 rounded-2xl bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] text-white flex items-center justify-center text-[20px] font-bold shadow-apple-sm overflow-hidden shrink-0`,children:ae?(0,M.jsxDEV)(`img`,{src:ae,alt:`Avatar`,className:`w-full h-full object-cover`},void 0,!1,{fileName:Y,lineNumber:366,columnNumber:21},this):(0,M.jsxDEV)(`span`,{children:(re||`U`).split(` `).map(e=>e[0]).join(``).slice(0,2).toUpperCase()},void 0,!1,{fileName:Y,lineNumber:368,columnNumber:21},this)},void 0,!1,{fileName:Y,lineNumber:364,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[(0,M.jsxDEV)(`span`,{className:`text-[15px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] truncate`,children:T.user?.name||re||`Cyrus Creator`},void 0,!1,{fileName:Y,lineNumber:372,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[12px] text-[#86868b] font-mono truncate`,children:T.user?.email||`Authenticated User`},void 0,!1,{fileName:Y,lineNumber:375,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 mt-0.5`,children:[(0,M.jsxDEV)(`span`,{className:`inline-flex items-center gap-1 text-[11px] font-bold text-[#7d2ae8] dark:text-[#9d52ff] bg-[#7d2ae8]/10 px-2 py-0.5 rounded-md`,children:[(0,M.jsxDEV)(me,{className:`w-3 h-3`},void 0,!1,{fileName:Y,lineNumber:380,columnNumber:23},this),(0,M.jsxDEV)(`span`,{children:`Firebase Verified`},void 0,!1,{fileName:Y,lineNumber:381,columnNumber:23},this)]},void 0,!0,{fileName:Y,lineNumber:379,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:[`UID: `,T.user?.id.slice(0,10),`...`]},void 0,!0,{fileName:Y,lineNumber:383,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:378,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:371,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:363,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,M.jsxDEV)(Wi,{label:`Display Name`,value:re,onChange:e=>ie(e.target.value),placeholder:`Your Name`},void 0,!1,{fileName:Y,lineNumber:392,columnNumber:17},this),(0,M.jsxDEV)(Wi,{label:`Email Address`,type:`email`,value:T.user?.email||g.email,disabled:!0,helperText:`Managed via Firebase Authentication`},void 0,!1,{fileName:Y,lineNumber:398,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`sm:col-span-2`,children:(0,M.jsxDEV)(Wi,{label:`Avatar Image URL (Optional)`,placeholder:`https://...`,value:ae,onChange:e=>oe(e.target.value),helperText:`Direct image URL for your profile picture`},void 0,!1,{fileName:Y,lineNumber:406,columnNumber:19},this)},void 0,!1,{fileName:Y,lineNumber:405,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:391,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-2 border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex justify-end`,children:(0,M.jsxDEV)(Hi,{variant:`primary`,size:`md`,isLoading:u,onClick:async()=>{d(!0);try{Ni.updateUserProfile&&await Ni.updateUserProfile({displayName:re.trim(),photoURL:ae.trim()||void 0}),x({name:re.trim(),avatarUrl:ae.trim()}),E(`Profile successfully saved and synced to Firebase`,`success`),_l()}catch(e){let t=e instanceof Error?e.message:`Failed to update profile`;E(t,`error`)}finally{d(!1)}},className:`bg-[#7d2ae8] hover:bg-[#6b21ce] text-white`,children:`Save Profile to Firebase`},void 0,!1,{fileName:Y,lineNumber:417,columnNumber:17},this)},void 0,!1,{fileName:Y,lineNumber:416,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:354,columnNumber:13},this),t===`appearance`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Appearance & Theme`},void 0,!1,{fileName:Y,lineNumber:434,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Customize the interface theme, accent color, and typography density.`},void 0,!1,{fileName:Y,lineNumber:435,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:433,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-[12px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider`,children:`Interface Theme`},void 0,!1,{fileName:Y,lineNumber:442,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-3 gap-3`,children:[{id:`light`,label:`Light Mode`,icon:(0,M.jsxDEV)(l,{className:`w-5 h-5 text-amber-500`},void 0,!1,{fileName:Y,lineNumber:445,columnNumber:72},this)},{id:`dark`,label:`Dark Mode`,icon:(0,M.jsxDEV)(qn,{className:`w-5 h-5 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:446,columnNumber:70},this)},{id:`system`,label:`System Sync`,icon:(0,M.jsxDEV)(_e,{className:`w-5 h-5 text-[#86868b]`},void 0,!1,{fileName:Y,lineNumber:447,columnNumber:74},this)}].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{S({theme:e.id}),E(`Switched to ${e.label}`,`info`)},className:O(`p-4 rounded-2xl border flex flex-col items-center gap-2.5 transition-all cursor-pointer`,_.theme===e.id?`border-[#7d2ae8] bg-[#7d2ae8]/5 dark:bg-[#7d2ae8]/15 ring-2 ring-[#7d2ae8]/30 shadow-apple-xs`:`border-[#e5e5ea] dark:border-[#2c2c2e] bg-[#fbfbfd] dark:bg-[#252528] hover:border-[#7d2ae8]/40`),children:[e.icon,(0,M.jsxDEV)(`span`,{className:`text-[13px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:e.label},void 0,!1,{fileName:Y,lineNumber:464,columnNumber:23},this)]},e.id,!0,{fileName:Y,lineNumber:449,columnNumber:21},this))},void 0,!1,{fileName:Y,lineNumber:443,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:441,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 pt-2`,children:[(0,M.jsxDEV)(`label`,{className:`text-[12px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider`,children:`Brand Accent Color`},void 0,!1,{fileName:Y,lineNumber:472,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[`#7d2ae8`,`#0071e3`,`#34c759`,`#ff2d55`,`#ff9500`,`#5856d6`].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{S({accentColor:e}),E(`Accent color updated`,`info`)},style:{backgroundColor:e},className:`w-8 h-8 rounded-full flex items-center justify-center transition-transform hover:scale-115 shadow-apple-sm cursor-pointer`,children:_.accentColor===e&&(0,M.jsxDEV)(jr,{className:`w-4 h-4 text-white`},void 0,!1,{fileName:Y,lineNumber:485,columnNumber:60},this)},e,!1,{fileName:Y,lineNumber:475,columnNumber:21},this))},void 0,!1,{fileName:Y,lineNumber:473,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:471,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 pt-2`,children:[(0,M.jsxDEV)(`label`,{className:`text-[12px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider`,children:`Interface Density`},void 0,!1,{fileName:Y,lineNumber:493,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-3 gap-2.5`,children:[{id:`compact`,label:`Compact`},{id:`standard`,label:`Standard`},{id:`relaxed`,label:`Relaxed`}].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{S({fontScaling:e.id}),E(`Interface density set to ${e.label}`,`info`)},className:O(`py-2.5 px-3 rounded-xl border text-[12px] font-bold transition-colors cursor-pointer text-center`,_.fontScaling===e.id?`bg-[#7d2ae8] text-white border-[#7d2ae8]`:`bg-[#fbfbfd] dark:bg-[#252528] text-[#6e6e73] hover:text-[#1d1d1f] border-[#e5e5ea] dark:border-[#38383a]`),children:e.label},e.id,!1,{fileName:Y,lineNumber:500,columnNumber:21},this))},void 0,!1,{fileName:Y,lineNumber:494,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:492,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:432,columnNumber:13},this),t===`editor`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-5`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Canvas & Editor Preferences`},void 0,!1,{fileName:Y,lineNumber:526,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Tune precision snapping, grid displays, measurement units, and background auto-saving.`},void 0,!1,{fileName:Y,lineNumber:527,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:525,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-4 pt-1`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Show Dot Grid by Default`},void 0,!1,{fileName:Y,lineNumber:535,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Display dot matrix background when opening visual canvas`},void 0,!1,{fileName:Y,lineNumber:536,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:534,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`checkbox`,checked:v.showGridByDefault,onChange:e=>{C({showGridByDefault:e.target.checked}),E(e.target.checked?`Grid enabled by default`:`Grid hidden by default`,`info`)},className:`w-4 h-4 accent-[#7d2ae8] cursor-pointer`},void 0,!1,{fileName:Y,lineNumber:538,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:533,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Smart Snapping Threshold`},void 0,!1,{fileName:Y,lineNumber:551,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:[`Distance in pixels before snapping to adjacent guide lines (`,v.snapThreshold,`px)`]},void 0,!0,{fileName:Y,lineNumber:552,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:550,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`range`,min:2,max:16,step:1,value:v.snapThreshold,onChange:e=>C({snapThreshold:Number(e.target.value)}),className:`w-32 accent-[#7d2ae8] cursor-pointer`},void 0,!1,{fileName:Y,lineNumber:554,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:549,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Smooth Canvas Transitions`},void 0,!1,{fileName:Y,lineNumber:567,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Smooth zoom, pan, and transform easing animations`},void 0,!1,{fileName:Y,lineNumber:568,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:566,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`checkbox`,checked:v.canvasAnimations,onChange:e=>C({canvasAnimations:e.target.checked}),className:`w-4 h-4 accent-[#7d2ae8] cursor-pointer`},void 0,!1,{fileName:Y,lineNumber:570,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:565,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3 border-b border-[#f4f4f6] dark:border-[#2c2c2e]`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Default Measurement Units`},void 0,!1,{fileName:Y,lineNumber:580,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Unit format used for sizing and layout dimensions`},void 0,!1,{fileName:Y,lineNumber:581,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:579,columnNumber:19},this),(0,M.jsxDEV)(`select`,{value:v.defaultUnit,onChange:e=>C({defaultUnit:e.target.value}),className:`bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#38383a] rounded-xl px-3 py-1.5 text-[12px] font-semibold cursor-pointer`,children:[(0,M.jsxDEV)(`option`,{value:`px`,children:`Pixels (px)`},void 0,!1,{fileName:Y,lineNumber:588,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:`rem`,children:`Relative (rem)`},void 0,!1,{fileName:Y,lineNumber:589,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:583,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:578,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Background Auto-Save Timer`},void 0,!1,{fileName:Y,lineNumber:595,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Frequency for saving design snapshots to local database`},void 0,!1,{fileName:Y,lineNumber:596,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:594,columnNumber:19},this),(0,M.jsxDEV)(`select`,{value:v.autoSaveInterval||10,onChange:e=>C({autoSaveInterval:Number(e.target.value)}),className:`bg-[#f4f4f6] dark:bg-[#2c2c2e] text-[#1d1d1f] dark:text-[#f5f5f7] border border-[#e5e5ea] dark:border-[#38383a] rounded-xl px-3 py-1.5 text-[12px] font-semibold cursor-pointer`,children:[(0,M.jsxDEV)(`option`,{value:5,children:`Every 5 seconds`},void 0,!1,{fileName:Y,lineNumber:603,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:10,children:`Every 10 seconds (Default)`},void 0,!1,{fileName:Y,lineNumber:604,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:30,children:`Every 30 seconds`},void 0,!1,{fileName:Y,lineNumber:605,columnNumber:21},this),(0,M.jsxDEV)(`option`,{value:60,children:`Every 1 minute`},void 0,!1,{fileName:Y,lineNumber:606,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:598,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:593,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:532,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:524,columnNumber:13},this),t===`shortcuts`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-5`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Keyboard Shortcuts`},void 0,!1,{fileName:Y,lineNumber:618,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Standard keybindings configured for rapid visual development.`},void 0,!1,{fileName:Y,lineNumber:619,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:617,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`xs`,onClick:()=>{Cc.resetAllToDefaults(),E(`Reset shortcuts to defaults`,`success`)},icon:(0,M.jsxDEV)(sn,{className:`w-3 h-3`},void 0,!1,{fileName:Y,lineNumber:630,columnNumber:25},this),children:`Reset Defaults`},void 0,!1,{fileName:Y,lineNumber:623,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:616,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2.5 text-[12px] pt-2`,children:[{action:`Save Design to Storage`,keys:`Ctrl/⌘ + S`},{action:`AI Magic Command Palette`,keys:`Ctrl/⌘ + K`},{action:`Undo Last Action`,keys:`Ctrl/⌘ + Z`},{action:`Redo Action`,keys:`Ctrl/⌘ + Shift + Z`},{action:`Live Interactive Preview`,keys:`Ctrl/⌘ + P`},{action:`Duplicate Selected Layer`,keys:`Ctrl/⌘ + D`},{action:`Group / Ungroup Selection`,keys:`Ctrl/⌘ + G`},{action:`Zoom to 100%`,keys:`Ctrl/⌘ + 1`},{action:`Zoom to Fit Canvas`,keys:`Ctrl/⌘ + 0`},{action:`Delete Selected Element`,keys:`Del / Backspace`}].map(e=>(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:e.action},void 0,!1,{fileName:Y,lineNumber:650,columnNumber:21},this),(0,M.jsxDEV)(`kbd`,{className:`px-2.5 py-1 rounded-md bg-white dark:bg-[#1c1c1e] border border-[#e5e5ea] dark:border-[#38383a] text-[11px] font-mono text-[#7d2ae8] dark:text-[#9d52ff] font-bold shadow-2xs`,children:e.keys},void 0,!1,{fileName:Y,lineNumber:651,columnNumber:21},this)]},e.action,!0,{fileName:Y,lineNumber:649,columnNumber:19},this))},void 0,!1,{fileName:Y,lineNumber:636,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:615,columnNumber:13},this),t===`security`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Security & Password`},void 0,!1,{fileName:Y,lineNumber:664,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Manage your credentials and view real client session details.`},void 0,!1,{fileName:Y,lineNumber:665,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:663,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex flex-col gap-3`,children:(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`p-2.5 rounded-xl bg-[#7d2ae8]/10 text-[#7d2ae8] dark:text-[#9d52ff]`,children:(0,M.jsxDEV)(Er,{className:`w-5 h-5`},void 0,!1,{fileName:Y,lineNumber:675,columnNumber:23},this)},void 0,!1,{fileName:Y,lineNumber:674,columnNumber:21},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{children:[de.os,` • `,de.browser]},void 0,!0,{fileName:Y,lineNumber:679,columnNumber:25},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 text-[10px] font-bold`,children:`Active Client`},void 0,!1,{fileName:Y,lineNumber:680,columnNumber:25},this)]},void 0,!0,{fileName:Y,lineNumber:678,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b] mt-0.5 font-mono`,children:`Firebase Project: faah-canfig • Domain: localhost`},void 0,!1,{fileName:Y,lineNumber:684,columnNumber:23},this)]},void 0,!0,{fileName:Y,lineNumber:677,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:673,columnNumber:19},this)},void 0,!1,{fileName:Y,lineNumber:672,columnNumber:17},this)},void 0,!1,{fileName:Y,lineNumber:671,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-4 border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex flex-col gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[14px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7] flex items-center gap-2`,children:[(0,M.jsxDEV)(Rt,{className:`w-4 h-4 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:696,columnNumber:21},this),(0,M.jsxDEV)(`span`,{children:`Password & Recovery Management`},void 0,!1,{fileName:Y,lineNumber:697,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:695,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:`Your password and authentication are managed securely by Firebase. Password changes must be authorized via verified email dispatch.`},void 0,!1,{fileName:Y,lineNumber:699,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:694,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Reset Password via Email`},void 0,!1,{fileName:Y,lineNumber:706,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b] mt-0.5`,children:[`Send a secure Firebase password reset link to `,(0,M.jsxDEV)(`strong`,{className:`text-[#1d1d1f] dark:text-white font-mono`,children:T.user?.email||g.email},void 0,!1,{fileName:Y,lineNumber:710,columnNumber:69},this)]},void 0,!0,{fileName:Y,lineNumber:709,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:705,columnNumber:19},this),(0,M.jsxDEV)(Hi,{type:`button`,variant:`secondary`,size:`sm`,disabled:f,onClick:async()=>{let e=T.user?.email||g.email;if(!e){E(`No email address associated with this account.`,`error`);return}m(!0);try{Ni.sendPasswordReset&&(await Ni.sendPasswordReset(e),E(`Password reset link sent to ${e}`,`success`))}catch(e){let t=e instanceof Error?e.message:`Failed to send reset email`;E(t,`error`)}finally{m(!1)}},icon:(0,M.jsxDEV)(kt,{className:`w-3.5 h-3.5 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:720,columnNumber:27},this),children:f?`Sending Link...`:`Send Reset Link`},void 0,!1,{fileName:Y,lineNumber:714,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:704,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-3 pt-2`,children:[(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center gap-2.5`,children:[(0,M.jsxDEV)(je,{className:`w-4 h-4 text-emerald-500 shrink-0`},void 0,!1,{fileName:Y,lineNumber:729,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-white`,children:`256-bit SSL Auth`},void 0,!1,{fileName:Y,lineNumber:730,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:728,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center gap-2.5`,children:[(0,M.jsxDEV)(je,{className:`w-4 h-4 text-emerald-500 shrink-0`},void 0,!1,{fileName:Y,lineNumber:733,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-white`,children:`Encrypted Tokens`},void 0,!1,{fileName:Y,lineNumber:734,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:732,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#fbfbfd] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] flex items-center gap-2.5`,children:[(0,M.jsxDEV)(je,{className:`w-4 h-4 text-emerald-500 shrink-0`},void 0,!1,{fileName:Y,lineNumber:737,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-semibold text-[#1d1d1f] dark:text-white`,children:`Firebase Protected`},void 0,!1,{fileName:Y,lineNumber:738,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:736,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:727,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:693,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:662,columnNumber:13},this),t===`data`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Data & Backup`},void 0,!1,{fileName:Y,lineNumber:749,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Export complete workspaces or import JSON archives into your local storage.`},void 0,!1,{fileName:Y,lineNumber:750,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:748,columnNumber:15},this),(0,M.jsxDEV)(`input`,{ref:h,type:`file`,accept:`.json,application/json`,onChange:async e=>{let t=e.target.files?.[0];if(t)try{let e=await t.text(),n=JSON.parse(e);if(Array.isArray(n.projects)){for(let e of n.projects)e.id&&e.name&&await Xr(e);let e=await Vr();i(e.length),E(`Restored ${n.projects.length} projects into Cyrus!`,`success`),_l()}else E(`Invalid backup file format.`,`error`)}catch(e){console.error(e),E(`Failed to read or parse backup file.`,`error`)}finally{e.target&&(e.target.value=``)}},className:`hidden`},void 0,!1,{fileName:Y,lineNumber:756,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,M.jsxDEV)(`div`,{className:`p-5 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] flex flex-col justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[14px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Export Full Workspace`},void 0,!1,{fileName:Y,lineNumber:767,columnNumber:21},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:[`Download all `,r,` saved projects and configurations as a single portable JSON file.`]},void 0,!0,{fileName:Y,lineNumber:768,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:766,columnNumber:19},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`md`,onClick:async()=>{let e=await Vr(),t={app:`Cyrus Design Studio`,version:`2.4.0`,exportedAt:new Date().toISOString(),user:T.user,settings:{appearance:_,editor:v,shortcuts:y,billing:b},projects:e},n=JSON.stringify(t,null,2),r=new Blob([n],{type:`application/json;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`cyrus_workspace_backup_${Date.now()}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>URL.revokeObjectURL(i),1e3),E(`Exported full data backup with ${e.length} projects`,`success`)},icon:(0,M.jsxDEV)(wn,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:772,columnNumber:93},this),children:`Download Workspace JSON`},void 0,!1,{fileName:Y,lineNumber:772,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:765,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`p-5 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] flex flex-col justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[14px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Import Backup Archive`},void 0,!1,{fileName:Y,lineNumber:779,columnNumber:21},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:`Restore projects and design systems from a previous Cyrus backup file on your device.`},void 0,!1,{fileName:Y,lineNumber:780,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:778,columnNumber:19},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`md`,onClick:()=>h.current?.click(),icon:(0,M.jsxDEV)(pr,{className:`w-4 h-4 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:788,columnNumber:27},this),children:`Upload Backup JSON`},void 0,!1,{fileName:Y,lineNumber:784,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:777,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:764,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[13.5px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Restore Sample Templates`},void 0,!1,{fileName:Y,lineNumber:797,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] mt-0.5`,children:`Re-seed default landing pages, mobile apps, and SaaS templates.`},void 0,!1,{fileName:Y,lineNumber:798,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:796,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`sm`,onClick:async()=>{if(!window.confirm(`Are you sure you want to reset all projects back to default sample templates?`))return;await Ur();let e=await Vr();i(e.length),E(`Reset local database to default starter templates`,`success`)},icon:(0,M.jsxDEV)(sn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Y,lineNumber:802,columnNumber:91},this),children:`Reset Templates`},void 0,!1,{fileName:Y,lineNumber:802,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:795,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-4 border-t border-[#f4f4f6] dark:border-[#2c2c2e] flex flex-col gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`text-[13px] font-bold text-rose-500 flex items-center gap-1.5`,children:[(0,M.jsxDEV)(p,{className:`w-4 h-4`},void 0,!1,{fileName:Y,lineNumber:810,columnNumber:19},this),` Danger Zone`]},void 0,!0,{fileName:Y,lineNumber:809,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between p-4 rounded-2xl bg-rose-500/5 border border-rose-500/20`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[13px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Purge Local Workspace`},void 0,!1,{fileName:Y,lineNumber:814,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`text-[11.5px] text-[#86868b]`,children:`Permanently wipe all locally stored projects, tokens, and preferences`},void 0,!1,{fileName:Y,lineNumber:815,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:813,columnNumber:19},this),(0,M.jsxDEV)(Hi,{variant:`destructive`,size:`sm`,onClick:()=>o(!0),children:`Wipe Workspace`},void 0,!1,{fileName:Y,lineNumber:817,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:812,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:808,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:747,columnNumber:13},this),t===`billing`&&(0,M.jsxDEV)(`div`,{className:`bg-white dark:bg-[#1c1c1e] rounded-[20px] border border-[#e5e5ea] dark:border-[#2c2c2e] p-6 sm:p-7 shadow-apple-sm flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h2`,{className:`text-[18px] font-bold text-[#1d1d1f] dark:text-[#f5f5f7]`,children:`Plan & Subscriptions`},void 0,!1,{fileName:Y,lineNumber:830,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-[12.5px] text-[#86868b] dark:text-[#8e8e93] mt-0.5`,children:`Select a plan tier or manage your connected Stripe subscription and invoices.`},void 0,!1,{fileName:Y,lineNumber:831,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:829,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center p-1 rounded-xl bg-[#f5f5f7] dark:bg-[#252528] border border-[#e5e5ea] dark:border-[#38383a] text-xs font-semibold self-start sm:self-auto`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>ce(`monthly`),className:O(`px-3 py-1.5 rounded-lg transition-all cursor-pointer`,se===`monthly`?`bg-white dark:bg-[#1c1c1e] text-[#1d1d1f] dark:text-white shadow-xs`:`text-[#86868b] hover:text-[#1d1d1f]`),children:`Monthly`},void 0,!1,{fileName:Y,lineNumber:838,columnNumber:19},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>ce(`yearly`),className:O(`px-3 py-1.5 rounded-lg transition-all flex items-center gap-1.5 cursor-pointer`,se===`yearly`?`bg-white dark:bg-[#1c1c1e] text-[#7d2ae8] font-bold shadow-xs`:`text-[#86868b] hover:text-[#1d1d1f]`),children:[(0,M.jsxDEV)(`span`,{children:`Annual`},void 0,!1,{fileName:Y,lineNumber:860,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`px-1.5 py-0.5 rounded-full bg-[#7d2ae8]/10 text-[#7d2ae8] text-[9.5px]`,children:`Save 20%`},void 0,!1,{fileName:Y,lineNumber:861,columnNumber:21},this)]},void 0,!0,{fileName:Y,lineNumber:850,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:837,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:828,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`p-4 rounded-2xl bg-gradient-to-br from-[#7d2ae8]/10 via-[#0071e3]/10 to-transparent border border-[#7d2ae8]/30 flex flex-col sm:flex-row sm:items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full bg-[#7d2ae8] text-white text-[10.5px] font-bold uppercase tracking-wider mb-1`,children:[(0,M.jsxDEV)(me,{className:`w-3 h-3`},void 0,!1,{fileName:Y,lineNumber:870,columnNumber:21},this),` Active Workspace Plan: `,(b.plan||T.user?.plan||`pro`).toUpperCase()]},void 0,!0,{fileName:Y,lineNumber:869,columnNumber:19},this),(0,M.jsxDEV)(`h3`,{className:`text-base font-extrabold text-[#1d1d1f] dark:text-white`,children:`Full Studio Capabilities Enabled`},void 0,!1,{fileName:Y,lineNumber:872,columnNumber:19},this),(0,M.jsxDEV)(`p`,{className:`text-xs text-[#86868b] mt-0.5`,children:`Your workspace has unlimited artboards, multi-page routing, and code export enabled.`},void 0,!1,{fileName:Y,lineNumber:875,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:868,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`sm`,onClick:async()=>{try{let e=await Tl.getProvider().createCustomerPortalSession();e.portalUrl?window.location.href=e.portalUrl:E(e.message,`info`)}catch(e){E(e?.message||`Failed to open billing portal`,`error`)}},icon:(0,M.jsxDEV)(Hn,{className:`w-3.5 h-3.5 text-[#7d2ae8]`},void 0,!1,{fileName:Y,lineNumber:884,columnNumber:25},this),children:`Manage Stripe Portal`},void 0,!1,{fileName:Y,lineNumber:880,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:867,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-5 pt-2`,children:[`free`,`pro`,`team`].map(e=>{let t=vl[e],n=(b.plan||T.user?.plan||`pro`)===e,r=se===`yearly`?t.priceYearly:t.priceMonthly;return(0,M.jsxDEV)(`div`,{className:O(`p-5 rounded-2xl border flex flex-col justify-between transition-all relative`,t.highlighted?`border-[#7d2ae8] bg-gradient-to-b from-[#7d2ae8]/5 to-transparent shadow-lg`:`border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528]`),children:[t.badge&&(0,M.jsxDEV)(`div`,{className:`absolute -top-3 right-4 px-2.5 py-0.5 rounded-full bg-[#7d2ae8] text-white text-[10px] font-bold uppercase tracking-wider shadow-sm`,children:t.badge},void 0,!1,{fileName:Y,lineNumber:909,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`h3`,{className:`text-base font-bold text-[#1d1d1f] dark:text-white`,children:t.name},void 0,!1,{fileName:Y,lineNumber:917,columnNumber:29},this),n&&(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 text-[10px] font-bold uppercase`,children:`Current Plan`},void 0,!1,{fileName:Y,lineNumber:919,columnNumber:31},this)]},void 0,!0,{fileName:Y,lineNumber:916,columnNumber:27},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] mt-1 leading-snug`,children:t.tagline},void 0,!1,{fileName:Y,lineNumber:924,columnNumber:27},this)]},void 0,!0,{fileName:Y,lineNumber:915,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`flex items-baseline gap-1 my-1`,children:[(0,M.jsxDEV)(`span`,{className:`text-3xl font-extrabold text-[#1d1d1f] dark:text-white`,children:[`$`,r]},void 0,!0,{fileName:Y,lineNumber:929,columnNumber:27},this),(0,M.jsxDEV)(`span`,{className:`text-xs text-[#86868b]`,children:`/ month`},void 0,!1,{fileName:Y,lineNumber:930,columnNumber:27},this)]},void 0,!0,{fileName:Y,lineNumber:928,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2 pt-2 border-t border-[#e5e5ea] dark:border-[#38383a]`,children:t.featureBullets.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-start gap-2 text-xs text-[#1d1d1f] dark:text-[#f5f5f7]`,children:[(0,M.jsxDEV)(je,{className:`w-3.5 h-3.5 text-emerald-500 shrink-0 mt-0.5`},void 0,!1,{fileName:Y,lineNumber:937,columnNumber:31},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:Y,lineNumber:938,columnNumber:31},this)]},t,!0,{fileName:Y,lineNumber:936,columnNumber:29},this))},void 0,!1,{fileName:Y,lineNumber:934,columnNumber:25},this)]},void 0,!0,{fileName:Y,lineNumber:914,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`pt-5 mt-4`,children:(0,M.jsxDEV)(Hi,{variant:t.highlighted?`primary`:`secondary`,size:`md`,className:`w-full justify-center`,disabled:n||le===e,onClick:()=>fe(e),children:le===e?(0,M.jsxDEV)(`div`,{className:`w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin`},void 0,!1,{fileName:Y,lineNumber:954,columnNumber:29},this):n?`Active Plan`:e===`free`?`Downgrade to Free`:`Upgrade to ${t.name} ($${r}/mo)`},void 0,!1,{fileName:Y,lineNumber:946,columnNumber:25},this)},void 0,!1,{fileName:Y,lineNumber:945,columnNumber:23},this)]},e,!0,{fileName:Y,lineNumber:899,columnNumber:21},this)})},void 0,!1,{fileName:Y,lineNumber:891,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:827,columnNumber:13},this)]},void 0,!0,{fileName:Y,lineNumber:351,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:321,columnNumber:7},this),a&&(0,M.jsxDEV)(Ki,{isOpen:a,onClose:()=>o(!1),title:`Wipe Workspace & Storage`,subtitle:`This action is permanent. All saved projects and local database records will be erased.`,maxWidth:`sm`,footer:(0,M.jsxDEV)(`div`,{className:`flex items-center justify-end gap-2 w-full`,children:[(0,M.jsxDEV)(Hi,{variant:`secondary`,onClick:()=>o(!1),children:`Cancel`},void 0,!1,{fileName:Y,lineNumber:983,columnNumber:15},this),(0,M.jsxDEV)(Hi,{variant:`destructive`,disabled:s!==`DELETE`,onClick:async()=>{s===`DELETE`&&(await Ur(),localStorage.clear(),te(),o(!1),E(`Workspace data and cache wiped successfully`,`info`),e())},children:`Permanently Wipe`},void 0,!1,{fileName:Y,lineNumber:986,columnNumber:15},this)]},void 0,!0,{fileName:Y,lineNumber:982,columnNumber:13},this),children:(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b]`,children:[`Please type `,(0,M.jsxDEV)(`strong`,{className:`text-rose-600 font-mono`,children:`DELETE`},void 0,!1,{fileName:Y,lineNumber:998,columnNumber:27},this),` below to confirm.`]},void 0,!0,{fileName:Y,lineNumber:997,columnNumber:13},this),(0,M.jsxDEV)(Wi,{value:s,onChange:e=>c(e.target.value),placeholder:`DELETE`,className:`font-mono text-center`},void 0,!1,{fileName:Y,lineNumber:1e3,columnNumber:13},this)]},void 0,!0,{fileName:Y,lineNumber:996,columnNumber:11},this)},void 0,!1,{fileName:Y,lineNumber:975,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:289,columnNumber:5},this)}var X=`C:/Users/Shadow/Desktop/cyrus/src/runtime/RuntimeElement.tsx`,kl={ArrowRight:In,Sparkles:me,Zap:Jn,TrendingUp:_r,TrendingDown:Qe,Download:wn,Search:Bt,Layers:mr,Check:jr,User:rn,CreditCard:Hn,Layout:qe,Gauge:u,Sliders:Ve,FolderKanban:re,Smartphone:mt,ChevronLeft:we,ChevronRight:fe,Home:S,Activity:lr,Lock:Rt,Mail:kt,UploadCloud:Xe,Send:rr,CheckSquare:Wn,CircleDot:De,AlignLeft:ke,TextCursorInput:Te,UserPlus:$t};function Al({element:e,designTokens:t,childElements:n,formValues:r,onFormChange:i,onTriggerInteraction:a,itemContext:o,onExecuteForm:s}){let c=N(e=>e.activeProject?.variables),l=N(e=>e.activeProject?.useSampleData??!0),u=ts(e,c,l,o),d=u.content,f=u.styles,{type:p}=e;if(u.hidden)return null;if(e.collectionBinding&&!o&&!n){let n=$o(es(c,l),e.collectionBinding.variableKey);if(Array.isArray(n)&&n.length>0){let{layout:o=`grid`,columns:c=3,gap:l=16,itemAlias:u=`item`}=e.collectionBinding;return(0,M.jsxDEV)(`div`,{style:{display:o===`grid`?`grid`:`flex`,gridTemplateColumns:o===`grid`?`repeat(${c}, 1fr)`:void 0,flexDirection:o===`column`?`column`:`row`,gap:`${l}px`,width:`100%`,height:`100%`},children:n.map((n,o)=>(0,M.jsxDEV)(Al,{element:{...e,collectionBinding:void 0},designTokens:t,formValues:r,onFormChange:i,onTriggerInteraction:a,itemContext:{alias:u,data:n},onExecuteForm:s},`${e.id}_rep_${o}`,!1,{fileName:X,lineNumber:123,columnNumber:13},this))},void 0,!1,{fileName:X,lineNumber:112,columnNumber:9},this)}}let m=t?.components,h=m?.button,g=m?.card;m?.input;let _=h?.primaryBackground||t?.colors?.primary||`#0071e3`,v=g?.background||t?.colors?.surface||`#ffffff`;t?.colors?.text;let y=g?.border||t?.colors?.border||`#e5e5ea`,b=t?.typography?.body?.fontFamily,x={none:``,subtle:`shadow-apple-sm`,sm:`shadow-apple-sm`,md:`shadow-apple-md`,lg:`shadow-apple-lg`}[f.shadow||`none`]||``,C=(e.interactions||[]).find(e=>e.trigger===`onClick`),w=e=>{e&&e.stopPropagation(),C&&a(C)};switch(p){case`button`:{let e=f.backgroundColor===`#0071e3`||!f.backgroundColor?_:f.backgroundColor,n=f.textColor===`#ffffff`||!f.textColor?h?.primaryText||`#ffffff`:f.textColor,r=d.label||`Button`,i=d.icon,a=i&&i!==`none`?kl[i]:null,o=d.iconPosition||`right`,s=f.borderRadius??h?.borderRadius??t?.radius?.medium??10,c=f.paddingLeft??h?.paddingX??18;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,style:{width:`100%`,height:`100%`,fontFamily:f.fontFamily||b,background:f.backgroundGradient||e,color:n,fontSize:`${f.fontSize||h?.fontSize||14}px`,fontWeight:f.fontWeight||h?.fontWeight||`500`,fontStyle:f.fontStyle||`normal`,borderRadius:`${s}px`,borderWidth:`${f.borderWidth??0}px`,borderColor:f.borderColor||y,borderStyle:f.borderStyle||`solid`,paddingLeft:`${c}px`,paddingRight:`${c}px`,opacity:f.opacity??1,cursor:`pointer`},className:`inline-flex items-center justify-center gap-2 px-4 select-none active:scale-[0.98] hover:opacity-95 transition-all ${x}`,children:[a&&o===`left`&&(0,M.jsxDEV)(a,{className:`w-4 h-4 shrink-0`},void 0,!1,{fileName:X,lineNumber:206,columnNumber:51},this),(0,M.jsxDEV)(`span`,{className:`truncate`,children:r},void 0,!1,{fileName:X,lineNumber:207,columnNumber:11},this),a&&o===`right`&&(0,M.jsxDEV)(a,{className:`w-4 h-4 shrink-0`},void 0,!1,{fileName:X,lineNumber:208,columnNumber:52},this)]},void 0,!0,{fileName:X,lineNumber:183,columnNumber:9},this)}case`text`:case`heading`:{let e=d.text||`Heading Title`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,fontSize:`${f.fontSize||32}px`,fontWeight:f.fontWeight||`700`,fontStyle:f.fontStyle||`normal`,color:f.textColor||`#1d1d1f`,lineHeight:f.lineHeight||1.2,letterSpacing:f.letterSpacing||`-0.025em`,textAlign:f.textAlign||`left`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex items-center select-none overflow-hidden`,children:(0,M.jsxDEV)(`span`,{className:`w-full`,children:e},void 0,!1,{fileName:X,lineNumber:234,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:217,columnNumber:9},this)}case`paragraph`:{let e=d.text||`Body text content...`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,fontSize:`${f.fontSize||15}px`,fontWeight:f.fontWeight||`400`,fontStyle:f.fontStyle||`normal`,color:f.textColor||`#6e6e73`,lineHeight:f.lineHeight||1.5,letterSpacing:f.letterSpacing||`-0.01em`,textAlign:f.textAlign||`left`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex items-center select-none overflow-hidden`,children:(0,M.jsxDEV)(`span`,{className:`w-full`,children:e},void 0,!1,{fileName:X,lineNumber:259,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:242,columnNumber:9},this)}case`navbar`:{let e=d.brandName||`Cyrus`,t=d.links||[`Platform`,`Pricing`,`Docs`],n=d.ctaLabel||`Get Started`;return(0,M.jsxDEV)(`header`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||v,borderRadius:`${f.borderRadius??12}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||y,paddingLeft:`${f.paddingLeft??24}px`,paddingRight:`${f.paddingRight??24}px`,opacity:f.opacity??1},className:`flex items-center justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-6 h-6 rounded-[6px] bg-[#0071e3] text-white flex items-center justify-center font-bold text-[12px]`,children:`C`},void 0,!1,{fileName:X,lineNumber:285,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[15px] font-semibold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:288,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:284,columnNumber:11},this),(0,M.jsxDEV)(`nav`,{className:`flex items-center gap-6 text-[13px] font-medium text-[#6e6e73]`,children:t.map((e,t)=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`hover:text-[#1d1d1f] transition-colors cursor-pointer`,children:e},t,!1,{fileName:X,lineNumber:293,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:291,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`px-3.5 py-1.5 rounded-[8px] bg-[#0071e3] text-white text-[13px] font-medium shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:304,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:270,columnNumber:9},this)}case`hero`:case`heroSection`:{let e=d.badge,t=d.headline||`The visual engine for modern software.`,n=d.subhead||`Design and deploy production-grade software visually.`,r=d.primaryBtnText||`Get Started`,i=d.secondaryBtnText||`Learn More`;return(0,M.jsxDEV)(`section`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col items-center justify-center text-center p-6 select-none`,children:[e&&(0,M.jsxDEV)(`div`,{className:`inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-[#f4f4f6] text-[#6e6e73] text-[12px] font-medium mb-4 shadow-2xs border border-[#e5e5ea]`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5 text-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:334,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:335,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:333,columnNumber:13},this),(0,M.jsxDEV)(`h1`,{className:`text-[38px] font-extrabold tracking-tight text-[#1d1d1f] max-w-2xl leading-[1.1] mb-3`,children:t},void 0,!1,{fileName:X,lineNumber:338,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[16px] text-[#6e6e73] max-w-xl mb-6 leading-relaxed`,children:n},void 0,!1,{fileName:X,lineNumber:341,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`px-5 py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[14px] font-semibold shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:r},void 0,!1,{fileName:X,lineNumber:345,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`px-5 py-2.5 rounded-[10px] bg-white text-[#1d1d1f] text-[14px] font-semibold border border-[#e5e5ea] hover:bg-[#f4f4f6] active:scale-[0.98] transition-apple cursor-pointer`,children:i},void 0,!1,{fileName:X,lineNumber:352,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:344,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:324,columnNumber:9},this)}case`input`:case`searchBar`:{let t=`field_${e.id}`,n=d.label,a=d.placeholder||`Enter value...`,o=r[t]??``;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1.5`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-medium text-[#6e6e73]`,children:n},void 0,!1,{fileName:X,lineNumber:376,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[p===`searchBar`&&(0,M.jsxDEV)(Bt,{className:`w-3.5 h-3.5 text-[#86868b] absolute left-3 pointer-events-none`},void 0,!1,{fileName:X,lineNumber:379,columnNumber:15},this),(0,M.jsxDEV)(`input`,{type:d.inputType||`text`,value:o,onChange:e=>i(t,e.target.value),placeholder:a,className:`w-full h-9 rounded-[8px] bg-white border border-[#e5e5ea] text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:ring-2 focus:ring-[#0071e3]/20 transition-all ${p===`searchBar`?`pl-8 pr-3`:`px-3`}`},void 0,!1,{fileName:X,lineNumber:381,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:377,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:372,columnNumber:9},this)}case`switch`:{let t=`switch_${e.id}`,n=d.label||`Toggle Setting`,a=r[t]===void 0?d.enabled!==!1:r[t];return(0,M.jsxDEV)(`div`,{onClick:()=>i(t,!a),style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??12}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingLeft:`16px`,paddingRight:`16px`,opacity:f.opacity??1,cursor:`pointer`},className:`flex items-center justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:417,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`w-10 h-6 rounded-full transition-colors flex items-center p-0.5 ${a?`bg-[#34c759] justify-end`:`bg-[#e5e5ea] justify-start`}`,children:(0,M.jsxDEV)(`div`,{className:`w-5 h-5 rounded-full bg-white shadow-2xs`},void 0,!1,{fileName:X,lineNumber:423,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:418,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:401,columnNumber:9},this)}case`loginForm`:{let e=d.title||`Sign In`,t=d.subtitle||`Enter your credentials to continue`,n=d.buttonText||`Sign In`;return(0,M.jsxDEV)(`form`,{onSubmit:e=>{e.preventDefault(),w(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`,opacity:f.opacity??1},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:e},void 0,!1,{fileName:X,lineNumber:453,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-1`,children:t},void 0,!1,{fileName:X,lineNumber:454,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:452,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 my-4`,children:[(0,M.jsxDEV)(`input`,{type:`email`,required:!0,placeholder:`name@company.com`,className:`h-9 px-3 rounded-[8px] bg-[#f4f4f6] border border-[#e5e5ea] text-[12px] text-[#1d1d1f] focus:bg-white focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:457,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`password`,required:!0,placeholder:`••••••••••••`,className:`h-9 px-3 rounded-[8px] bg-[#f4f4f6] border border-[#e5e5ea] text-[12px] text-[#1d1d1f] focus:bg-white focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:463,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:456,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-medium text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:470,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:435,columnNumber:9},this)}case`video`:{let e=d.url||d.src||`https://assets.mixkit.co/videos/preview/mixkit-software-developer-working-on-code-screen-close-up-1728-large.mp4`,t=d.autoplay!==!1,n=d.loop!==!1,r=d.muted!==!1,i=d.controls===!0,a=f.objectFit||`cover`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,opacity:f.opacity??1},className:`overflow-hidden bg-[#1d1d1f] ${x}`,children:(0,M.jsxDEV)(`video`,{src:e,autoPlay:t,loop:n,muted:r,controls:i,style:{width:`100%`,height:`100%`,objectFit:a}},void 0,!1,{fileName:X,lineNumber:500,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:489,columnNumber:9},this)}case`image`:{let t=d.url||`https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=800&auto=format&fit=crop&q=80`,n=f.objectFit||`cover`,r=e.accessibility||{},i=r.isDecorative?``:r.altText||e.name||`Asset Image`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`overflow-hidden bg-[#f4f4f6] select-none ${x}`,children:(0,M.jsxDEV)(`img`,{src:t,alt:i,"aria-hidden":r.isDecorative?!0:void 0,style:{objectFit:n},className:`w-full h-full`},void 0,!1,{fileName:X,lineNumber:532,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:519,columnNumber:9},this)}case`pricingCard`:{let e=d.planName||`Pro Plan`,t=d.price||`$29`,n=d.period||`/month`,r=d.description||``,i=d.buttonText||`Subscribe`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`24px`,opacity:f.opacity??1},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h4`,{className:`text-[16px] font-semibold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:565,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-baseline gap-1 my-3`,children:[(0,M.jsxDEV)(`span`,{className:`text-[32px] font-extrabold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:567,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] text-[#86868b]`,children:n},void 0,!1,{fileName:X,lineNumber:568,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:566,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#6e6e73] leading-relaxed`,children:r},void 0,!1,{fileName:X,lineNumber:570,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:564,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-medium text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:i},void 0,!1,{fileName:X,lineNumber:572,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:551,columnNumber:9},this)}case`metricCard`:{let e=d.title||`KPI Metric`,t=d.value||`$0`,n=d.change||`+0.0%`,r=d.isPositive!==!1,i=d.timeframe||``;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#86868b] truncate`,children:e},void 0,!1,{fileName:X,lineNumber:610,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 text-[12px] font-semibold ${r?`text-[#34c759]`:`text-[#ff3b30]`}`,children:[r?(0,M.jsxDEV)(_r,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:616,columnNumber:24},this):(0,M.jsxDEV)(Qe,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:616,columnNumber:61},this),n]},void 0,!0,{fileName:X,lineNumber:611,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:609,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[26px] font-bold tracking-tight text-[#1d1d1f] leading-none`,children:t},void 0,!1,{fileName:X,lineNumber:621,columnNumber:13},this),i&&(0,M.jsxDEV)(`div`,{className:`text-[11px] text-[#86868b] mt-1 truncate`,children:i},void 0,!1,{fileName:X,lineNumber:624,columnNumber:20},this)]},void 0,!0,{fileName:X,lineNumber:620,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:591,columnNumber:9},this)}case`statCard`:{let e=d.title||`Total Revenue`,t=d.value||`$128,450.00`,n=d.change||`+14.2%`,r=d.isPositive!==!1,i=d.timeframe||`vs last month`,a=kl[d.icon]||_r;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#86868b]`,children:e},void 0,!1,{fileName:X,lineNumber:657,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-7 h-7 rounded-lg bg-[#0071e3]/10 text-[#0071e3] flex items-center justify-center`,children:(0,M.jsxDEV)(a,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:659,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:658,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:656,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[24px] font-extrabold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:664,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 mt-1 text-[11px]`,children:[(0,M.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 font-bold px-1.5 py-0.2 rounded-full ${r?`bg-[#34c759]/10 text-[#34c759]`:`bg-[#ff3b30]/10 text-[#ff3b30]`}`,children:[r?(0,M.jsxDEV)(_r,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:671,columnNumber:26},this):(0,M.jsxDEV)(Qe,{className:`w-3 h-3`},void 0,!1,{fileName:X,lineNumber:671,columnNumber:63},this),n]},void 0,!0,{fileName:X,lineNumber:666,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[#86868b]`,children:i},void 0,!1,{fileName:X,lineNumber:674,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:665,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:663,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:639,columnNumber:9},this)}case`kpiCard`:{let e=d.title||`Quarterly Goal`,t=d.current||`$84,200`,n=d.target||`$100,000`,r=d.percentage||84,i=d.status||`On Track`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#86868b]`,children:e},void 0,!1,{fileName:X,lineNumber:707,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full text-[10px] font-bold bg-[#34c759]/10 text-[#34c759]`,children:i},void 0,!1,{fileName:X,lineNumber:708,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:706,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-baseline justify-between mb-1.5`,children:[(0,M.jsxDEV)(`span`,{className:`text-[22px] font-extrabold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:715,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[11.5px] text-[#86868b] font-medium`,children:[`Goal: `,n]},void 0,!0,{fileName:X,lineNumber:716,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:714,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-full h-2 rounded-full bg-[#f4f4f6] overflow-hidden`,children:(0,M.jsxDEV)(`div`,{style:{width:`${Math.min(r,100)}%`},className:`h-full rounded-full bg-[#0071e3] transition-all`},void 0,!1,{fileName:X,lineNumber:720,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:719,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:713,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:689,columnNumber:9},this)}case`metric`:{let e=d.label||`Active Users`,t=d.value||`48,290`,n=d.badge;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,paddingLeft:`${f.paddingLeft??12}px`,paddingRight:`${f.paddingRight??12}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-center select-none`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[11px] font-semibold text-[#86868b]`,children:[(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:748,columnNumber:13},this),n&&(0,M.jsxDEV)(`span`,{className:`px-1.5 py-0.2 rounded-full text-[9px] font-bold bg-[#34c759]/15 text-[#34c759]`,children:n},void 0,!1,{fileName:X,lineNumber:750,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:747,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`text-[28px] font-extrabold text-[#1d1d1f] tracking-tight leading-none mt-1`,children:t},void 0,!1,{fileName:X,lineNumber:755,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:736,columnNumber:9},this)}case`chart`:case`lineChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`line`,title:d.title||`Revenue Growth`,subtitle:d.subtitle,data:d.data,format:d.format||`currency`,color:f.textColor||`#0071e3`,width:e.width-40,height:e.height-40,showGrid:d.showGrid!==!1,showAxes:d.showAxes!==!1,showLegend:d.showLegend!==!1},void 0,!1,{fileName:X,lineNumber:782,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:765,columnNumber:9},this);case`areaChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`area`,title:d.title||`Ingestion Volume`,subtitle:d.subtitle,data:d.data,format:d.format||`compact`,color:f.textColor||`#0071e3`,width:e.width-40,height:e.height-40,showGrid:d.showGrid!==!1,showAxes:d.showAxes!==!1},void 0,!1,{fileName:X,lineNumber:818,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:801,columnNumber:9},this);case`barChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`bar`,title:d.title||`Orders by Product Tier`,subtitle:d.subtitle,data:d.data,format:d.format||`number`,color:f.textColor||`#0071e3`,width:e.width-40,height:e.height-40,showGrid:d.showGrid!==!1,showAxes:d.showAxes!==!1},void 0,!1,{fileName:X,lineNumber:853,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:836,columnNumber:9},this);case`donutChart`:case`pieChart`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??20}px`,paddingRight:`${f.paddingRight??20}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:e.type===`pieChart`?`pie`:`donut`,title:d.title||`Traffic Acquisition`,subtitle:d.subtitle,data:d.data,format:d.format||`compact`,width:e.width-40,height:e.height-70,showLegend:d.showLegend!==!1},void 0,!1,{fileName:X,lineNumber:889,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:872,columnNumber:9},this);case`progressBar`:case`progress`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??14}px`,paddingBottom:`${f.paddingBottom??14}px`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-center select-none ${x}`,children:(0,M.jsxDEV)(ss,{type:`progress`,title:d.title||`Task Progress`,subtitle:d.subtitle,percentage:d.percentage??76,color:f.textColor||`#0071e3`},void 0,!1,{fileName:X,lineNumber:923,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:906,columnNumber:9},this);case`table`:case`dataTable`:{let e=d.title||`Data Table`,t=d.columns||[`Customer`,`Plan`,`Amount`,`Status`,`Date`],n=d.rows||[{customer:`Acme Corp`,plan:`Enterprise`,amount:`$4,800.00`,status:`Completed`,date:`Just now`},{customer:`Linear Labs`,plan:`Pro Studio`,amount:`$590.00`,status:`Completed`,date:`5m ago`},{customer:`Vercel Edge`,plan:`Enterprise`,amount:`$12,400.00`,status:`Processing`,date:`22m ago`}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`${f.paddingTop??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,M.jsxDEV)(`h4`,{className:`text-[13.5px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:961,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#0071e3] font-medium cursor-pointer`,children:`Export CSV`},void 0,!1,{fileName:X,lineNumber:962,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:960,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-full flex-1 flex flex-col justify-around text-[11.5px]`,children:[(0,M.jsxDEV)(`div`,{className:`grid grid-cols-5 pb-2 border-b border-[#f4f4f6] text-[#86868b] font-semibold`,children:t.map((e,t)=>(0,M.jsxDEV)(`span`,{children:e},t,!1,{fileName:X,lineNumber:969,columnNumber:17},this))},void 0,!1,{fileName:X,lineNumber:967,columnNumber:13},this),n.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`grid grid-cols-5 py-2 border-b border-[#f4f4f6] text-[#1d1d1f] items-center`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:e.customer||e.name},void 0,!1,{fileName:X,lineNumber:975,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[#6e6e73]`,children:e.plan||e.category||`-`},void 0,!1,{fileName:X,lineNumber:976,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`font-mono font-medium`,children:e.amount||e.value||`-`},void 0,!1,{fileName:X,lineNumber:977,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:(0,M.jsxDEV)(`span`,{className:`inline-flex items-center px-2 py-0.5 rounded-full text-[10px] font-bold ${e.status===`Completed`||e.status===`Paid`?`bg-[#34c759]/10 text-[#34c759]`:`bg-[#ff9500]/10 text-[#ff9500]`}`,children:e.status||`Active`},void 0,!1,{fileName:X,lineNumber:979,columnNumber:19},this)},void 0,!1,{fileName:X,lineNumber:978,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[#86868b] text-[10.5px]`,children:e.date||`Today`},void 0,!1,{fileName:X,lineNumber:989,columnNumber:17},this)]},t,!0,{fileName:X,lineNumber:974,columnNumber:15},this))]},void 0,!0,{fileName:X,lineNumber:966,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:945,columnNumber:9},this)}case`dataList`:{let e=d.title||`Top Performing Items`,t=d.items||[{label:`North America (us-east)`,value:`$64,200`,badge:`52%`},{label:`Europe (eu-west)`,value:`$42,800`,badge:`34%`},{label:`Asia Pacific (ap-northeast)`,value:`$18,450`,badge:`14%`}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] mb-2`,children:e},void 0,!1,{fileName:X,lineNumber:1023,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around divide-y divide-[#f4f4f6]`,children:t.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between py-1.5 text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-medium text-[#1d1d1f]`,children:e.label},void 0,!1,{fileName:X,lineNumber:1028,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`font-mono font-bold text-[#1d1d1f]`,children:e.value},void 0,!1,{fileName:X,lineNumber:1030,columnNumber:19},this),e.badge&&(0,M.jsxDEV)(`span`,{className:`px-1.5 py-0.2 rounded bg-[#f4f4f6] text-[#6e6e73] font-semibold text-[10px]`,children:e.badge},void 0,!1,{fileName:X,lineNumber:1032,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1029,columnNumber:17},this)]},t,!0,{fileName:X,lineNumber:1027,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1025,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1006,columnNumber:9},this)}case`activityFeed`:{let e=d.title||`Live Activity Feed`,t=d.events||[{user:`Alex Rivera`,action:`upgraded to Enterprise`,time:`2m ago`,icon:`Sparkles`},{user:`Sarah Chen`,action:`invited 4 collaborators`,time:`14m ago`,icon:`User`},{user:`Cloud Scheduler`,action:`deployed 3 edge nodes`,time:`1h ago`,icon:`Zap`}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] mb-2`,children:e},void 0,!1,{fileName:X,lineNumber:1070,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around`,children:t.map((e,t)=>{let n=kl[e.icon]||lr;return(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5 py-1`,children:[(0,M.jsxDEV)(`div`,{className:`w-7 h-7 rounded-full bg-[#f4f4f6] text-[#0071e3] flex items-center justify-center shrink-0`,children:(0,M.jsxDEV)(n,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1078,columnNumber:21},this)},void 0,!1,{fileName:X,lineNumber:1077,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`flex-1 min-w-0 text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:[e.user,` `]},void 0,!0,{fileName:X,lineNumber:1081,columnNumber:21},this),(0,M.jsxDEV)(`span`,{className:`text-[#6e6e73]`,children:e.action},void 0,!1,{fileName:X,lineNumber:1082,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1080,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-[#86868b] shrink-0`,children:e.time},void 0,!1,{fileName:X,lineNumber:1084,columnNumber:19},this)]},t,!0,{fileName:X,lineNumber:1076,columnNumber:17},this)})},void 0,!1,{fileName:X,lineNumber:1072,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1053,columnNumber:9},this)}case`timeline`:{let e=d.title||`Deployment Timeline`,t=d.steps||[{label:`Production V2.4 Released`,date:`Today, 14:30`,completed:!0},{label:`WCAG 2.1 AA Audit Passed`,date:`Yesterday`,completed:!0},{label:`Database Sharding Migration`,date:`Scheduled Friday`,completed:!1}];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col select-none ${x}`,children:[e&&(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] mb-2`,children:e},void 0,!1,{fileName:X,lineNumber:1119,columnNumber:21},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around`,children:t.map((e,t)=>(0,M.jsxDEV)(`div`,{className:`flex items-start gap-2.5 relative`,children:[(0,M.jsxDEV)(`div`,{className:`w-4 h-4 rounded-full border-2 flex items-center justify-center shrink-0 mt-0.5 ${e.completed?`border-[#0071e3] bg-[#0071e3] text-white`:`border-[#d1d1d6] bg-white`}`,children:e.completed&&(0,M.jsxDEV)(jr,{className:`w-2.5 h-2.5 stroke-[3]`},void 0,!1,{fileName:X,lineNumber:1131,columnNumber:36},this)},void 0,!1,{fileName:X,lineNumber:1124,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex-1`,children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:e.label},void 0,!1,{fileName:X,lineNumber:1134,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`text-[10px] text-[#86868b]`,children:e.date},void 0,!1,{fileName:X,lineNumber:1135,columnNumber:19},this)]},void 0,!0,{fileName:X,lineNumber:1133,columnNumber:17},this)]},t,!0,{fileName:X,lineNumber:1123,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1121,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1102,columnNumber:9},this)}case`calendar`:{let e=d.month||`August 2026`,t=d.selectedDay||15,n=d.eventDays||[3,8,15,22,28];return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`16px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:1166,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1 text-[#86868b]`,children:[(0,M.jsxDEV)(we,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1168,columnNumber:15},this),(0,M.jsxDEV)(fe,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1169,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1167,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1165,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-7 text-center text-[10px] font-semibold text-[#86868b] mb-1`,children:[`S`,`M`,`T`,`W`,`T`,`F`,`S`].map((e,t)=>(0,M.jsxDEV)(`span`,{children:e},t,!1,{fileName:X,lineNumber:1175,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1173,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-7 gap-1 text-center text-[11px]`,children:Array.from({length:31},(e,t)=>t+1).map(e=>{let r=e===t,i=n.includes(e);return(0,M.jsxDEV)(`div`,{className:`h-6 rounded-md flex items-center justify-center relative font-medium ${r?`bg-[#0071e3] text-white font-bold`:`text-[#1d1d1f] hover:bg-[#f4f4f6]`}`,children:[(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:1193,columnNumber:19},this),i&&!r&&(0,M.jsxDEV)(`span`,{className:`w-1 h-1 rounded-full bg-[#0071e3] absolute bottom-0.5`},void 0,!1,{fileName:X,lineNumber:1195,columnNumber:21},this)]},e,!0,{fileName:X,lineNumber:1185,columnNumber:17},this)})},void 0,!1,{fileName:X,lineNumber:1179,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1151,columnNumber:9},this)}case`featureCard`:{let e=d.title||`Feature Title`,t=d.description||`Feature description details`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??24}px`,paddingBottom:`${f.paddingBottom??24}px`,paddingLeft:`${f.paddingLeft??24}px`,paddingRight:`${f.paddingRight??24}px`,opacity:f.opacity??1,cursor:C?`pointer`:`default`},className:`flex flex-col select-none overflow-hidden ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#f4f4f6] border border-[#e5e5ea] flex items-center justify-center text-[#0071e3] mb-3.5 shrink-0`,children:(0,M.jsxDEV)(me,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1229,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:1228,columnNumber:11},this),(0,M.jsxDEV)(`h3`,{className:`text-[16px] font-semibold text-[#1d1d1f] tracking-tight mb-1.5 truncate`,children:e},void 0,!1,{fileName:X,lineNumber:1231,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#6e6e73] leading-relaxed line-clamp-3`,children:t},void 0,!1,{fileName:X,lineNumber:1234,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1210,columnNumber:9},this)}case`footer`:{let e=d.brandName||`Cyrus`,t=d.copyright||`© 2026 Cyrus Software.`,n=d.col1Title||`Product`,r=d.col1Links||[`Features`,`Engine`,`Templates`],i=d.col2Title||`Resources`,a=d.col2Links||[`Documentation`,`API`,`Changelog`];return(0,M.jsxDEV)(`footer`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`24px 32px`,opacity:f.opacity??1},className:`flex items-start justify-between select-none ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2 max-w-xs`,children:[(0,M.jsxDEV)(`div`,{className:`text-[16px] font-bold text-[#1d1d1f] flex items-center gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-5 h-5 rounded-[5px] bg-[#1d1d1f] text-white flex items-center justify-center text-[10px]`,children:`C`},void 0,!1,{fileName:X,lineNumber:1265,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:1268,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1264,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11px] text-[#86868b]`,children:t},void 0,!1,{fileName:X,lineNumber:1270,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1263,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-start gap-16`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:1275,columnNumber:15},this),r.map((e,t)=>(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#6e6e73]`,children:e},t,!1,{fileName:X,lineNumber:1277,columnNumber:17},this))]},void 0,!0,{fileName:X,lineNumber:1274,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:i},void 0,!1,{fileName:X,lineNumber:1283,columnNumber:15},this),a.map((e,t)=>(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#6e6e73]`,children:e},t,!1,{fileName:X,lineNumber:1285,columnNumber:17},this))]},void 0,!0,{fileName:X,lineNumber:1282,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1273,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1250,columnNumber:9},this)}case`form`:{let o=d.title||`Form`,c=d.subtitle||``,l=d.submitLabel||`Submit`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`${f.padding??24}px`,opacity:f.opacity??1,display:`flex`,flexDirection:`column`,justifyContent:`space-between`,gap:`16px`},className:x,children:[(0,M.jsxDEV)(`div`,{children:[o&&(0,M.jsxDEV)(`h3`,{className:`text-[17px] font-bold text-[#1d1d1f] tracking-tight`,children:o},void 0,!1,{fileName:X,lineNumber:1325,columnNumber:23},this),c&&(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-0.5`,children:c},void 0,!1,{fileName:X,lineNumber:1326,columnNumber:26},this)]},void 0,!0,{fileName:X,lineNumber:1324,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col gap-3`,children:n&&n.length>0?n.map(e=>(0,M.jsxDEV)(`div`,{className:`w-full`,children:(0,M.jsxDEV)(Al,{element:e,designTokens:t,formValues:r,onFormChange:i,onTriggerInteraction:a,onExecuteForm:s},void 0,!1,{fileName:X,lineNumber:1333,columnNumber:19},this)},e.id,!1,{fileName:X,lineNumber:1332,columnNumber:17},this)):(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsxDEV)(`input`,{type:`text`,placeholder:`Name`,value:r[`field_name_${e.id}`]||``,onChange:t=>i(`field_name_${e.id}`,t.target.value),className:`h-8.5 px-3 bg-white rounded-[8px] border border-[#e5e5ea] text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1345,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:`email`,placeholder:`Email`,value:r[`field_email_${e.id}`]||``,onChange:t=>i(`field_email_${e.id}`,t.target.value),className:`h-8.5 px-3 bg-white rounded-[8px] border border-[#e5e5ea] text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1352,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:1344,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1329,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:l},void 0,!1,{fileName:X,lineNumber:1363,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1306,columnNumber:9},this)}case`formField`:{let t=d.name||`field_${e.id}`,n=d.label,a=d.placeholder||`Enter value...`,o=d.required===!0,s=d.helperText,c=r[t]??``;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-semibold text-[#1d1d1f] flex items-center gap-1`,children:[(0,M.jsxDEV)(`span`,{children:n},void 0,!1,{fileName:X,lineNumber:1388,columnNumber:15},this),o&&(0,M.jsxDEV)(`span`,{className:`text-[#ff3b30] text-[11px]`,children:`*`},void 0,!1,{fileName:X,lineNumber:1389,columnNumber:25},this)]},void 0,!0,{fileName:X,lineNumber:1387,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:d.inputType||`text`,value:c,onChange:e=>i(t,e.target.value),placeholder:a,required:o,className:`w-full h-9 rounded-[8px] bg-white border border-[#e5e5ea] px-3 text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:ring-2 focus:ring-[#0071e3]/20 transition-all shadow-2xs`},void 0,!1,{fileName:X,lineNumber:1392,columnNumber:11},this),s&&(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:s},void 0,!1,{fileName:X,lineNumber:1400,columnNumber:22},this)]},void 0,!0,{fileName:X,lineNumber:1382,columnNumber:9},this)}case`textarea`:{let t=d.name||`field_${e.id}`,n=d.label||`Message`,a=d.placeholder||`Type here...`,o=d.required===!0,s=r[t]??``;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-semibold text-[#1d1d1f] flex items-center gap-1`,children:[(0,M.jsxDEV)(`span`,{children:n},void 0,!1,{fileName:X,lineNumber:1419,columnNumber:15},this),o&&(0,M.jsxDEV)(`span`,{className:`text-[#ff3b30] text-[11px]`,children:`*`},void 0,!1,{fileName:X,lineNumber:1420,columnNumber:25},this)]},void 0,!0,{fileName:X,lineNumber:1418,columnNumber:13},this),(0,M.jsxDEV)(`textarea`,{rows:d.rows||3,value:s,onChange:e=>i(t,e.target.value),placeholder:a,required:o,className:`w-full p-2.5 rounded-[8px] bg-white border border-[#e5e5ea] text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:ring-2 focus:ring-[#0071e3]/20 transition-all shadow-2xs resize-none`},void 0,!1,{fileName:X,lineNumber:1423,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1413,columnNumber:9},this)}case`select`:{let t=d.name||`field_${e.id}`,n=d.label,a=d.options||[`Option 1`,`Option 2`],o=r[t]??d.defaultValue??a[0];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,opacity:f.opacity??1},className:`flex flex-col justify-center gap-1`,children:[n&&(0,M.jsxDEV)(`label`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:1446,columnNumber:21},this),(0,M.jsxDEV)(`select`,{value:o,onChange:e=>i(t,e.target.value),className:`w-full h-9 rounded-[8px] bg-white border border-[#e5e5ea] px-3 text-[13px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] cursor-pointer shadow-2xs`,children:a.map(e=>(0,M.jsxDEV)(`option`,{value:e,children:e},e,!1,{fileName:X,lineNumber:1453,columnNumber:15},this))},void 0,!1,{fileName:X,lineNumber:1447,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1442,columnNumber:9},this)}case`checkbox`:{let t=d.name||`field_${e.id}`,n=d.label||`I agree`,a=r[t]===void 0?d.checked!==!1:!!r[t];return(0,M.jsxDEV)(`div`,{onClick:()=>i(t,!a),style:{width:`100%`,height:`100%`},className:`flex items-center gap-2.5 select-none cursor-pointer`,children:[(0,M.jsxDEV)(`div`,{className:`w-4.5 h-4.5 rounded-[5px] border flex items-center justify-center transition-colors ${a?`bg-[#0071e3] border-[#0071e3] text-white`:`bg-white border-[#d2d2d7]`}`,children:a&&(0,M.jsxDEV)(jr,{className:`w-3 h-3 stroke-[2.5]`},void 0,!1,{fileName:X,lineNumber:1478,columnNumber:25},this)},void 0,!1,{fileName:X,lineNumber:1473,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] text-[#1d1d1f] font-medium leading-none`,children:n},void 0,!1,{fileName:X,lineNumber:1480,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1468,columnNumber:9},this)}case`radioGroup`:{let t=d.name||`field_${e.id}`,n=d.label,a=d.options||[`Option A`,`Option B`],o=r[t]??a[d.selectedIndex??0];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`},className:`flex flex-col gap-2 select-none`,children:[n&&(0,M.jsxDEV)(`span`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:n},void 0,!1,{fileName:X,lineNumber:1496,columnNumber:21},this),a.map(e=>{let n=o===e;return(0,M.jsxDEV)(`div`,{onClick:()=>i(t,e),className:`flex items-center gap-2.5 cursor-pointer`,children:[(0,M.jsxDEV)(`div`,{className:`w-4.5 h-4.5 rounded-full border flex items-center justify-center ${n?`border-[#0071e3]`:`border-[#d2d2d7]`}`,children:n&&(0,M.jsxDEV)(`div`,{className:`w-2.5 h-2.5 rounded-full bg-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1510,columnNumber:29},this)},void 0,!1,{fileName:X,lineNumber:1505,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:1512,columnNumber:17},this)]},e,!0,{fileName:X,lineNumber:1500,columnNumber:15},this)})]},void 0,!0,{fileName:X,lineNumber:1492,columnNumber:9},this)}case`fileUpload`:{d.name||`${e.id}`;let t=d.label||`Upload Files`,n=d.helperText||`PNG, JPG or PDF`,r=d.buttonText||`Browse Files`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,borderRadius:`${f.borderRadius??12}px`,borderColor:f.borderColor||`#d2d2d7`,backgroundColor:f.backgroundColor||`#fbfbfd`},className:`border-1.5 border-dashed flex flex-col items-center justify-center p-4 text-center cursor-pointer hover:bg-[#f4f4f6] transition-apple gap-1.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-full bg-white shadow-2xs flex items-center justify-center text-[#0071e3] mb-1`,children:(0,M.jsxDEV)(Xe,{className:`w-5 h-5`},void 0,!1,{fileName:X,lineNumber:1538,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:1537,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] font-semibold text-[#1d1d1f]`,children:t},void 0,!1,{fileName:X,lineNumber:1540,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:n},void 0,!1,{fileName:X,lineNumber:1541,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`mt-1 px-3 py-1 rounded-[6px] bg-white border border-[#e5e5ea] text-[11.5px] font-medium text-[#1d1d1f] shadow-2xs`,children:r},void 0,!1,{fileName:X,lineNumber:1542,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1527,columnNumber:9},this)}case`submitButton`:{let t=d.label||`Submit`;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{s&&s(e),w()},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||_,color:f.textColor||`#ffffff`,borderRadius:`${f.borderRadius??10}px`},className:`flex items-center justify-center gap-2 font-semibold text-[13.5px] shadow-apple-sm hover:opacity-95 active:scale-[0.98] transition-apple cursor-pointer`,children:[(0,M.jsxDEV)(rr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1567,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:t},void 0,!1,{fileName:X,lineNumber:1568,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1552,columnNumber:9},this)}case`loginForm`:{let t=d.title||`Sign In to Cyrus`,n=d.subtitle||`Enter your email and password`,a=d.submitLabel||`Sign In`,o=`email_${e.id}`,c=`password_${e.id}`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#0071e3] text-white flex items-center justify-center mb-3 shadow-apple-sm`,children:(0,M.jsxDEV)(Rt,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1602,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1601,columnNumber:13},this),(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1604,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[12px] text-[#86868b] mt-0.5`,children:n},void 0,!1,{fileName:X,lineNumber:1605,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1600,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-3 my-2`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsxDEV)(`span`,{className:`text-[11.5px] font-medium text-[#6e6e73]`,children:`Email Address`},void 0,!1,{fileName:X,lineNumber:1610,columnNumber:15},this),(0,M.jsxDEV)(`input`,{type:`email`,required:!0,value:r[o]||``,onChange:e=>i(o,e.target.value),placeholder:`alex@apple.com`,className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1611,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1609,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsxDEV)(`div`,{className:`flex justify-between items-center text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-medium text-[#6e6e73]`,children:`Password`},void 0,!1,{fileName:X,lineNumber:1622,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium hover:underline cursor-pointer`,children:`Forgot?`},void 0,!1,{fileName:X,lineNumber:1623,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:1621,columnNumber:15},this),(0,M.jsxDEV)(`input`,{type:`password`,required:!0,value:r[c]||``,onChange:e=>i(c,e.target.value),placeholder:`••••••••••••`,className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1625,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1620,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1608,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:a},void 0,!1,{fileName:X,lineNumber:1637,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] text-center mt-2.5`,children:[`Don't have an account? `,(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium hover:underline cursor-pointer`,children:`Sign up`},void 0,!1,{fileName:X,lineNumber:1644,columnNumber:38},this)]},void 0,!0,{fileName:X,lineNumber:1643,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1636,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1587,columnNumber:9},this)}case`signupForm`:{let t=d.title||`Create Your Account`,n=d.submitLabel||`Create Account`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#0071e3] text-white flex items-center justify-center mb-3 shadow-apple-sm`,children:(0,M.jsxDEV)($t,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1676,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1675,columnNumber:13},this),(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1678,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1674,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 my-2`,children:[(0,M.jsxDEV)(`input`,{type:`text`,required:!0,placeholder:`Full Name`,value:r[`name_${e.id}`]||``,onChange:t=>i(`name_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1682,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`email`,required:!0,placeholder:`Work Email`,value:r[`email_${e.id}`]||``,onChange:t=>i(`email_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1690,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`password`,required:!0,placeholder:`Create Password`,value:r[`pass_${e.id}`]||``,onChange:t=>i(`pass_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1698,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1681,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:1709,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#86868b] text-center mt-2.5`,children:[`Already registered? `,(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium hover:underline cursor-pointer`,children:`Sign in`},void 0,!1,{fileName:X,lineNumber:1716,columnNumber:35},this)]},void 0,!0,{fileName:X,lineNumber:1715,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1708,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1661,columnNumber:9},this)}case`contactForm`:{let t=d.title||`Get in Touch`,n=d.submitLabel||`Send Inquiry`;return(0,M.jsxDEV)(`form`,{onSubmit:t=>{t.preventDefault(),s&&s(e)},style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,padding:`28px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-9 h-9 rounded-[10px] bg-[#0071e3] text-white flex items-center justify-center mb-3 shadow-apple-sm`,children:(0,M.jsxDEV)(kt,{className:`w-4.5 h-4.5`},void 0,!1,{fileName:X,lineNumber:1748,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:1747,columnNumber:13},this),(0,M.jsxDEV)(`h3`,{className:`text-[18px] font-bold text-[#1d1d1f] tracking-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1750,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1746,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 my-2`,children:[(0,M.jsxDEV)(`input`,{type:`text`,required:!0,placeholder:`Your Name`,value:r[`name_${e.id}`]||``,onChange:t=>i(`name_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1754,columnNumber:13},this),(0,M.jsxDEV)(`input`,{type:`email`,required:!0,placeholder:`Your Email`,value:r[`email_${e.id}`]||``,onChange:t=>i(`email_${e.id}`,t.target.value),className:`h-8.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] px-3 text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white`},void 0,!1,{fileName:X,lineNumber:1762,columnNumber:13},this),(0,M.jsxDEV)(`textarea`,{rows:3,required:!0,placeholder:`How can we help?`,value:r[`msg_${e.id}`]||``,onChange:t=>i(`msg_${e.id}`,t.target.value),className:`p-2.5 bg-[#f4f4f6] rounded-[8px] border border-[#e5e5ea] text-[12.5px] text-[#1d1d1f] focus:outline-none focus:border-[#0071e3] focus:bg-white resize-none`},void 0,!1,{fileName:X,lineNumber:1770,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1753,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`submit`,className:`w-full py-2.5 rounded-[10px] bg-[#0071e3] text-white text-[13px] font-semibold text-center shadow-apple-sm hover:bg-[#0077ed] active:scale-[0.98] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:1780,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1733,columnNumber:9},this)}case`mobileHeader`:{let e=d.title||`Screen Title`,t=d.actionLabel||`Edit`,n=d.showBack!==!1;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??14}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`},className:`flex items-center justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[#0071e3] font-medium text-[13px] cursor-pointer`,children:[n&&(0,M.jsxDEV)(we,{className:`w-4 h-4`},void 0,!1,{fileName:X,lineNumber:1811,columnNumber:26},this),(0,M.jsxDEV)(`span`,{className:`text-[12px]`,children:`Back`},void 0,!1,{fileName:X,lineNumber:1812,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1810,columnNumber:11},this),(0,M.jsxDEV)(`h4`,{className:`text-[14px] font-bold text-[#1d1d1f] tracking-tight truncate max-w-[160px]`,children:e},void 0,!1,{fileName:X,lineNumber:1815,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`text-[12px] font-semibold text-[#0071e3] cursor-pointer`,children:t},void 0,!1,{fileName:X,lineNumber:1819,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1796,columnNumber:9},this)}case`bottomNav`:case`tabBar`:{let e=d.activeTab||`Home`,t=d.tabs||[{label:`Home`,icon:`Home`,badge:``},{label:`Cards`,icon:`CreditCard`,badge:`2`},{label:`Transfer`,icon:`Send`,badge:``},{label:`Profile`,icon:`User`,badge:``}];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??20}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`},className:`flex items-center justify-around px-2 ${x}`,children:t.map((t,n)=>{let r=t.label===e,i=kl[t.icon]||S;return(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{C&&a(C)},className:`flex flex-col items-center gap-0.5 relative py-1 px-2.5 rounded-xl cursor-pointer transition-apple ${r?`text-[#0071e3] font-bold`:`text-[#86868b] hover:text-[#1d1d1f]`}`,children:[(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(i,{className:`w-5 h-5`},void 0,!1,{fileName:X,lineNumber:1864,columnNumber:19},this),t.badge&&(0,M.jsxDEV)(`span`,{className:`absolute -top-1 -right-2 px-1 py-0.2 rounded-full bg-[#ff3b30] text-white text-[9px] font-bold leading-none`,children:t.badge},void 0,!1,{fileName:X,lineNumber:1866,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1863,columnNumber:17},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] tracking-tight`,children:t.label},void 0,!1,{fileName:X,lineNumber:1871,columnNumber:17},this)]},n,!0,{fileName:X,lineNumber:1853,columnNumber:15},this)})},void 0,!1,{fileName:X,lineNumber:1837,columnNumber:9},this)}case`mobileCard`:{let e=d.subtitle||`Available Balance`,t=d.amount||`$14,250.80`,n=d.tag||`Checking •• 4092`,r=d.trend||`+12.4% this month`;return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#0071e3`,color:f.textColor||`#ffffff`,borderRadius:`${f.borderRadius??18}px`,borderWidth:`${f.borderWidth??0}px`,borderColor:f.borderColor||`transparent`,paddingTop:`${f.paddingTop??18}px`,paddingBottom:`${f.paddingBottom??18}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`,cursor:C?`pointer`:`default`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{className:`text-[11px] font-medium opacity-80`,children:e},void 0,!1,{fileName:X,lineNumber:1905,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`px-2 py-0.5 rounded-full text-[10px] font-semibold bg-white/20 backdrop-blur-xs`,children:n},void 0,!1,{fileName:X,lineNumber:1906,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1904,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[26px] font-extrabold tracking-tight leading-tight`,children:t},void 0,!1,{fileName:X,lineNumber:1912,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`text-[11px] font-medium opacity-85 mt-0.5 flex items-center gap-1`,children:[(0,M.jsxDEV)(_r,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:X,lineNumber:1914,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:r},void 0,!1,{fileName:X,lineNumber:1915,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1913,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:1911,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1886,columnNumber:9},this)}case`mobileList`:{let e=d.title||`Recent Transactions`,t=d.items||[{title:`Apple Store`,subtitle:`Hardware & Tech`,amount:`-$1,299.00`,icon:`ShoppingBag`,isDebit:!0},{title:`Stripe Payout`,subtitle:`Direct Deposit`,amount:`+$4,820.00`,icon:`ArrowDownLeft`,isDebit:!1},{title:`Uber Rides`,subtitle:`Transportation`,amount:`-$24.50`,icon:`Car`,isDebit:!0}];return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??16}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??14}px`,paddingBottom:`${f.paddingBottom??14}px`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`},className:`flex flex-col ${x}`,children:[e&&(0,M.jsxDEV)(`div`,{className:`text-[12px] font-bold text-[#1d1d1f] mb-2 flex items-center justify-between`,children:[(0,M.jsxDEV)(`span`,{children:e},void 0,!1,{fileName:X,lineNumber:1948,columnNumber:15},this),(0,M.jsxDEV)(`span`,{className:`text-[10.5px] text-[#0071e3] font-medium cursor-pointer`,children:`See All`},void 0,!1,{fileName:X,lineNumber:1949,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:1947,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex flex-col justify-around divide-y divide-[#f5f5f7]`,children:t.map((e,t)=>{let n=kl[e.icon]||Hn;return(0,M.jsxDEV)(`div`,{onClick:w,className:`flex items-center justify-between py-2 cursor-pointer hover:bg-[#f5f5f7]/60 rounded-lg px-1 transition-apple`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-8 h-8 rounded-xl bg-[#f5f5f7] text-[#1d1d1f] flex items-center justify-center`,children:(0,M.jsxDEV)(n,{className:`w-4 h-4 text-[#0071e3]`},void 0,!1,{fileName:X,lineNumber:1965,columnNumber:23},this)},void 0,!1,{fileName:X,lineNumber:1964,columnNumber:21},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-semibold text-[#1d1d1f]`,children:e.title},void 0,!1,{fileName:X,lineNumber:1968,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`text-[10px] text-[#86868b]`,children:e.subtitle},void 0,!1,{fileName:X,lineNumber:1969,columnNumber:23},this)]},void 0,!0,{fileName:X,lineNumber:1967,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1963,columnNumber:19},this),(0,M.jsxDEV)(`div`,{className:`text-right`,children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-bold ${e.isDebit?`text-[#1d1d1f]`:`text-[#34c759]`}`,children:e.amount},void 0,!1,{fileName:X,lineNumber:1974,columnNumber:21},this),(0,M.jsxDEV)(fe,{className:`w-3 h-3 text-[#c7c7cc] inline-block ml-1`},void 0,!1,{fileName:X,lineNumber:1981,columnNumber:21},this)]},void 0,!0,{fileName:X,lineNumber:1973,columnNumber:19},this)]},t,!0,{fileName:X,lineNumber:1958,columnNumber:17},this)})},void 0,!1,{fileName:X,lineNumber:1953,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1931,columnNumber:9},this)}case`mobileSheet`:{let e=d.title||`Transfer Money`,t=d.subtitle||`Select payment method or contact.`,n=d.primaryAction||`Send Money`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??24}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??14}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`w-10 h-1 rounded-full bg-[#d1d1d6] mx-auto mb-2`},void 0,!1,{fileName:X,lineNumber:2012,columnNumber:11},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h4`,{className:`text-[15px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:2015,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11px] text-[#86868b] mt-0.5`,children:t},void 0,!1,{fileName:X,lineNumber:2016,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2014,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`p-3 rounded-xl bg-[#f5f5f7] border border-[#e5e5ea] flex items-center justify-between text-[11.5px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:`Fast Wire Transfer`},void 0,!1,{fileName:X,lineNumber:2020,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-bold`,children:`Instant`},void 0,!1,{fileName:X,lineNumber:2021,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2019,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`w-full py-2.5 rounded-xl bg-[#0071e3] text-white text-[12.5px] font-semibold text-center shadow-2xs hover:bg-[#0077ed] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:2024,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:1997,columnNumber:9},this)}case`mobileModal`:{let e=d.title||`Confirm Payment`,t=d.message||`Are you sure you want to send $500.00 to Alex Rivera?`,n=d.confirmLabel||`Confirm & Send`,r=d.cancelLabel||`Cancel`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`${f.borderRadius??20}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??20}px`,paddingBottom:`${f.paddingBottom??20}px`,paddingLeft:`${f.paddingLeft??18}px`,paddingRight:`${f.paddingRight??18}px`},className:`flex flex-col justify-between text-center ${x}`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`w-10 h-10 rounded-2xl bg-[#0071e3]/10 text-[#0071e3] flex items-center justify-center mx-auto mb-2`,children:(0,M.jsxDEV)(rr,{className:`w-5 h-5`},void 0,!1,{fileName:X,lineNumber:2059,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:2058,columnNumber:13},this),(0,M.jsxDEV)(`h4`,{className:`text-[14px] font-bold text-[#1d1d1f]`,children:e},void 0,!1,{fileName:X,lineNumber:2061,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-[11.5px] text-[#6e6e73] mt-1 leading-relaxed`,children:t},void 0,!1,{fileName:X,lineNumber:2062,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2057,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`flex-1 py-2 rounded-xl bg-[#f5f5f7] text-[#1d1d1f] text-[11.5px] font-semibold text-center hover:bg-[#e5e5ea] transition-apple cursor-pointer`,children:r},void 0,!1,{fileName:X,lineNumber:2066,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:w,className:`flex-1 py-2 rounded-xl bg-[#0071e3] text-white text-[11.5px] font-semibold text-center shadow-2xs hover:bg-[#0077ed] transition-apple cursor-pointer`,children:n},void 0,!1,{fileName:X,lineNumber:2073,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2065,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:2042,columnNumber:9},this)}case`mobileScreen`:return(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#f5f5f7`,borderRadius:`${f.borderRadius??28}px`,borderWidth:`${f.borderWidth??1}px`,borderColor:f.borderColor||`#e5e5ea`,paddingTop:`${f.paddingTop??16}px`,paddingBottom:`${f.paddingBottom??16}px`,paddingLeft:`${f.paddingLeft??16}px`,paddingRight:`${f.paddingRight??16}px`},className:`flex flex-col justify-between ${x}`,children:[(0,M.jsxDEV)(`div`,{className:`w-full flex items-center justify-between text-[10px] font-bold text-[#1d1d1f] px-2 py-0.5`,children:[(0,M.jsxDEV)(`span`,{children:`9:41`},void 0,!1,{fileName:X,lineNumber:2104,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`w-20 h-4 rounded-full bg-black mx-auto`},void 0,!1,{fileName:X,lineNumber:2105,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`5G 100%`},void 0,!1,{fileName:X,lineNumber:2106,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:2103,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex-1 flex items-center justify-center text-[12px] text-[#86868b]`,children:e.name},void 0,!1,{fileName:X,lineNumber:2109,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`w-28 h-1 rounded-full bg-black mx-auto`},void 0,!1,{fileName:X,lineNumber:2113,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:2087,columnNumber:9},this);default:{let t=as.getCustomWidgetRenderer(e.type);return t?(0,M.jsxDEV)(`div`,{onClick:w,className:`w-full h-full`,children:(0,M.jsxDEV)(t,{element:e},void 0,!1,{fileName:X,lineNumber:2123,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:2122,columnNumber:11},this):(0,M.jsxDEV)(`div`,{onClick:w,style:{width:`100%`,height:`100%`,backgroundColor:f.backgroundColor||`#ffffff`,borderRadius:`10px`,borderWidth:`1px`,borderColor:`#e5e5ea`,cursor:C?`pointer`:`default`},className:`p-3 flex items-center justify-center text-[12px] text-[#86868b]`,children:e.name},void 0,!1,{fileName:X,lineNumber:2129,columnNumber:9},this)}}}var jl=`C:/Users/Shadow/Desktop/cyrus/src/runtime/RuntimeErrorBoundary.tsx`,Ml=class extends A.Component{state={hasError:!1};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`Cyrus Runtime Element Error:`,e,t)}render(){return this.state.hasError?(0,M.jsxDEV)(`div`,{className:`w-full h-full p-4 rounded-[10px] bg-[#fff2f2] border border-[#ffcdd2] flex flex-col items-center justify-center text-center text-[12px] text-[#d32f2f] select-none shadow-2xs`,children:[(0,M.jsxDEV)(ze,{className:`w-5 h-5 mb-1 text-[#d32f2f]`},void 0,!1,{fileName:jl,lineNumber:31,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`font-semibold text-[13px]`,children:this.props.fallbackName||`Element Rendering Error`},void 0,!1,{fileName:jl,lineNumber:32,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[10.5px] text-[#b71c1c] max-w-xs mt-0.5 line-clamp-2`,children:this.state.error?.message||`A runtime error occurred in this component.`},void 0,!1,{fileName:jl,lineNumber:35,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>this.setState({hasError:!1}),className:`mt-2.5 inline-flex items-center gap-1 px-2.5 py-1 bg-white border border-[#ffcdd2] rounded-[6px] text-[11px] font-medium text-[#d32f2f] hover:bg-[#ffebee] transition-apple cursor-pointer`,children:[(0,M.jsxDEV)(sn,{className:`w-3 h-3`},void 0,!1,{fileName:jl,lineNumber:43,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Retry Element`},void 0,!1,{fileName:jl,lineNumber:44,columnNumber:13},this)]},void 0,!0,{fileName:jl,lineNumber:38,columnNumber:11},this)]},void 0,!0,{fileName:jl,lineNumber:30,columnNumber:9},this):this.props.children}};async function Nl(e,t,n){let{actionType:r}=e;try{switch(r){case`api`:{if(!e.apiEndpoint)return{success:!1,message:`No API endpoint configured.`};let r=JSON.stringify(t);e.apiMethod===`GET`&&(r=void 0);let i=(e.apiMethod||`POST`).toUpperCase(),a=await fetch(e.apiEndpoint,{method:i,headers:{"Content-Type":`application/json`,...e.headers||{}},body:i===`GET`?void 0:r}),o=await a.json().catch(()=>null);if(!a.ok)throw Error(o&&(o.message||o.error)||`Request failed (${a.status})`);return n.addToast&&n.addToast(e.successMessage||`Form submitted successfully!`,`success`),e.targetVariable&&n.setVariable&&n.setVariable(e.targetVariable,o??t),e.targetPageId&&n.setActivePage&&n.setActivePage(e.targetPageId),{success:!0,message:e.successMessage||`Form submitted successfully!`,data:o??t}}case`setVariable`:return e.targetVariable&&n.setVariable&&n.setVariable(e.targetVariable,t),n.addToast&&n.addToast(e.successMessage||`Variables updated!`,`success`),e.targetPageId&&n.setActivePage&&n.setActivePage(e.targetPageId),{success:!0,message:`Updated variable state.`};case`navigate`:return e.targetPageId&&n.setActivePage&&n.setActivePage(e.targetPageId),e.targetUrl&&window.open(e.targetUrl,`_blank`),{success:!0};case`toast`:return n.addToast&&n.addToast(e.successMessage||`Action completed successfully!`,`success`),{success:!0};default:return n.addToast&&n.addToast(e.successMessage||`Submitted successfully!`,`success`),{success:!0}}}catch(t){let r=e.errorMessage||t?.message||`Failed to submit form.`;return n.addToast&&n.addToast(r,`error`),{success:!1,message:r}}}var Pl=`C:/Users/Shadow/Desktop/cyrus/src/runtime/RuntimeRenderer.tsx`;function Fl({project:e,initialPageId:t,viewportMode:n=`desktop`,previewTheme:r,onPageChange:i}){let{addToast:a}=Br(),o=N(e=>e.setVariableValue),s=e.pages||[],[c,l]=(0,A.useState)(t||s[0]?.id||``),[u,d]=(0,A.useState)(null),[f,p]=(0,A.useState)({}),[m,h]=(0,A.useState)({}),g=(0,A.useMemo)(()=>s.find(e=>e.id===c||e.slug===c)||s[0],[s,c]),_=di[n],v=r===`dark`||e.designSystem?.mode===`dark`,y=g?.settings?.backgroundColor===`#ffffff`||!g?.settings?.backgroundColor?v?`#1c1c1e`:`#ffffff`:g.settings.backgroundColor,b=(0,A.useMemo)(()=>g?g.elements.map(e=>Ns(e,n)):[],[g,n]),x=e=>{switch(e.action){case`navigate`:{let t=s.find(t=>t.id===e.target||t.slug===e.target);t?(l(t.id),i?.(t)):e.target&&l(e.target);break}case`openModal`:d({isOpen:!0,title:e.modalTitle||`Action Dialog`});break;case`closeModal`:d(null);break;case`openUrl`:e.target&&/^https?:\/\//i.test(e.target.trim())&&window.open(e.target.trim(),`_blank`,`noopener,noreferrer`);break;case`toggleVisibility`:e.target&&p(t=>({...t,[e.target]:!t[e.target]}));break;case`scrollTo`:e.target&&document.getElementById(`runtime_el_${e.target}`)?.scrollIntoView({behavior:`smooth`})}},S=(e,t)=>{h(n=>({...n,[e]:t}))},C=async e=>{let t=e.formConfig||{actionType:`api`,apiEndpoint:`/api/submit`,apiMethod:`POST`,successMessage:`Form submitted successfully!`,resetOnSuccess:!0};(await Nl(t,m,{setVariable:(e,t)=>o(e,t),addToast:(e,t)=>a(e,t),setActivePage:e=>{l(e);let t=s.find(t=>t.id===e);t&&i?.(t)}})).success&&t.resetOnSuccess!==!1&&h({})};if(!g)return(0,M.jsxDEV)(`div`,{className:`w-full h-full flex items-center justify-center text-[13px] text-[#86868b]`,children:`No pages found in this project.`},void 0,!1,{fileName:Pl,lineNumber:145,columnNumber:7},this);let w=(0,A.useMemo)(()=>{let e=_.height;return b.forEach(t=>{let n=(t.effectiveY??t.y)+(t.effectiveHeight??t.height)+140;n>e&&(e=n)}),e},[b,_.height]),ee=Math.max(_.height,g?.settings?.minHeight||0,w);return(0,M.jsxDEV)(`div`,{className:`w-full h-full relative overflow-y-auto flex flex-col items-center select-none bg-inherit`,children:[u&&(0,M.jsxDEV)(Cs,{title:u.title,isOpen:u.isOpen,onClose:()=>d(null)},void 0,!1,{fileName:Pl,lineNumber:172,columnNumber:9},this),(0,M.jsxDEV)(`div`,{id:`cyrus-runtime-artboard`,"data-theme":v?`dark`:`light`,style:{width:`${_.width}px`,minHeight:`${ee}px`,backgroundColor:y,color:v?`#f5f5f7`:`#1d1d1f`},className:`relative mx-auto rounded-[12px] shadow-artboard transition-apple shrink-0 ${v?`dark bg-[#1c1c1e] text-[#f5f5f7]`:`bg-white text-[#1d1d1f]`}`,children:b.map(t=>{let n=f[t.id];if(n===void 0?t.effectiveHidden:n)return null;let r=(t.animations||[]).find(e=>e.trigger===`load`),i=(t.animations||[]).find(e=>e.trigger===`hover`),a=Is(r),o=Is(i).className,s=t.children?g.elements.filter(e=>t.children?.includes(e.id)):void 0;return(0,M.jsxDEV)(`div`,{id:`runtime_el_${t.id}`,style:{position:`absolute`,left:`${t.effectiveX}px`,top:`${t.effectiveY}px`,width:`${t.effectiveWidth}px`,height:`${t.effectiveHeight}px`,transform:`rotate(${t.rotation}deg)`,zIndex:t.zIndex,...a.style},className:`${a.className} ${o}`,children:(0,M.jsxDEV)(Ml,{fallbackName:t.name,children:(0,M.jsxDEV)(Al,{element:{...t,x:t.effectiveX,y:t.effectiveY,width:t.effectiveWidth,height:t.effectiveHeight},designTokens:e.designSystem,childElements:s,formValues:m,onFormChange:S,onTriggerInteraction:x,onExecuteForm:C},void 0,!1,{fileName:Pl,lineNumber:224,columnNumber:17},this)},void 0,!1,{fileName:Pl,lineNumber:223,columnNumber:15},this)},t.id,!1,{fileName:Pl,lineNumber:208,columnNumber:13},this)})},void 0,!1,{fileName:Pl,lineNumber:180,columnNumber:7},this)]},void 0,!0,{fileName:Pl,lineNumber:169,columnNumber:5},this)}var Il=`C:/Users/Shadow/Desktop/cyrus/src/runtime/PreviewView.tsx`;function Ll({project:e,initialPageId:t,onExit:n}){let{addToast:r}=Br(),[i,a]=(0,A.useState)(`desktop`),[o,s]=(0,A.useState)(e.pages.find(e=>e.id===t)||e.pages[0]),[c,l]=(0,A.useState)(0);return(0,A.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,M.jsxDEV)(`div`,{className:`fixed inset-0 bg-[#e8e8ed] flex flex-col z-[9999999] select-none font-sans overflow-hidden`,children:[(0,M.jsxDEV)(`div`,{className:`h-12 bg-white/90 backdrop-blur-xl border-b border-[#e5e5ea] px-4 flex items-center justify-between shadow-2xs z-50`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`w-6 h-6 rounded-[6px] bg-[#0071e3] text-white flex items-center justify-center text-[11px] font-bold`,children:`C`},void 0,!1,{fileName:Il,lineNumber:61,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 text-[12px]`,children:[(0,M.jsxDEV)(`span`,{className:`font-semibold text-[#1d1d1f]`,children:e.name},void 0,!1,{fileName:Il,lineNumber:65,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[#86868b]`,children:`/`},void 0,!1,{fileName:Il,lineNumber:66,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-medium`,children:[o.name,` (/`,o.slug,`)`]},void 0,!0,{fileName:Il,lineNumber:67,columnNumber:13},this)]},void 0,!0,{fileName:Il,lineNumber:64,columnNumber:11},this)]},void 0,!0,{fileName:Il,lineNumber:60,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center p-0.5 rounded-[8px] bg-[#f4f4f6] border border-[#e5e5ea]`,children:[{id:`desktop`,label:`Desktop`,icon:(0,M.jsxDEV)(_e,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Il,lineNumber:76,columnNumber:70},this)},{id:`tablet`,label:`Tablet`,icon:(0,M.jsxDEV)(kr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Il,lineNumber:77,columnNumber:68},this)},{id:`mobile`,label:`Mobile`,icon:(0,M.jsxDEV)(mt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Il,lineNumber:78,columnNumber:68},this)}].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>a(e.id),className:O(`flex items-center gap-1.5 px-3 py-1 rounded-[6px] text-[11.5px] font-medium transition-apple cursor-pointer`,i===e.id?`bg-white text-[#1d1d1f] shadow-2xs`:`text-[#86868b] hover:text-[#1d1d1f]`),children:[e.icon,(0,M.jsxDEV)(`span`,{children:e.label},void 0,!1,{fileName:Il,lineNumber:92,columnNumber:15},this)]},e.id,!0,{fileName:Il,lineNumber:80,columnNumber:13},this))},void 0,!1,{fileName:Il,lineNumber:74,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{l(e=>e+1),s(e.pages[0]),r(`Prototype restarted`,`info`)},title:`Restart Prototype`,className:`p-1.5 rounded-[7px] text-[#6e6e73] hover:text-[#1d1d1f] hover:bg-[#f4f4f6] transition-apple cursor-pointer`,children:(0,M.jsxDEV)(sn,{className:`w-4 h-4`},void 0,!1,{fileName:Il,lineNumber:105,columnNumber:13},this)},void 0,!1,{fileName:Il,lineNumber:99,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{let t=`${window.location.origin}#/preview/${e.id}`;navigator.clipboard.writeText(t),r(`Preview link copied to clipboard`,`success`)},title:`Copy Share Link`,className:`flex items-center gap-1 px-2.5 py-1.5 rounded-[7px] bg-[#f4f4f6] hover:bg-[#ebebee] text-[#1d1d1f] text-[11.5px] font-medium border border-[#e5e5ea] transition-apple cursor-pointer`,children:[(0,M.jsxDEV)(fn,{className:`w-3.5 h-3.5 text-[#0071e3]`},void 0,!1,{fileName:Il,lineNumber:114,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Share`},void 0,!1,{fileName:Il,lineNumber:115,columnNumber:13},this)]},void 0,!0,{fileName:Il,lineNumber:108,columnNumber:11},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:n,className:`flex items-center gap-1 px-3 py-1.5 rounded-[7px] bg-[#1d1d1f] hover:bg-[#333336] text-white text-[11.5px] font-medium transition-apple shadow-2xs cursor-pointer ml-1`,children:[(0,M.jsxDEV)(cn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Il,lineNumber:123,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Exit Preview`},void 0,!1,{fileName:Il,lineNumber:124,columnNumber:13},this)]},void 0,!0,{fileName:Il,lineNumber:118,columnNumber:11},this)]},void 0,!0,{fileName:Il,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:Il,lineNumber:58,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto p-8 flex items-start justify-center`,children:(0,M.jsxDEV)(Fl,{project:e,initialPageId:o.id,viewportMode:i,onPageChange:e=>s(e)},c,!1,{fileName:Il,lineNumber:131,columnNumber:9},this)},void 0,!1,{fileName:Il,lineNumber:130,columnNumber:7},this)]},void 0,!0,{fileName:Il,lineNumber:56,columnNumber:5},this)}var Rl=`C:/Users/Shadow/Desktop/cyrus/src/pages/PreviewPage.tsx`;function zl({projectId:e,onExit:t}){let[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(!0);return(0,A.useEffect)(()=>{Kr(e).then(e=>{r(e),a(!1)})},[e]),i?(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] text-[#6e6e73] gap-3`,children:[(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#0071e3]`},void 0,!1,{fileName:Rl,lineNumber:27,columnNumber:9},this),(0,M.jsxDEV)(`span`,{className:`text-[13px] font-medium text-[#1d1d1f]`,children:`Loading Cyrus Prototype Runtime...`},void 0,!1,{fileName:Rl,lineNumber:28,columnNumber:9},this)]},void 0,!0,{fileName:Rl,lineNumber:26,columnNumber:7},this):n?(0,M.jsxDEV)(Ll,{project:n,onExit:t},void 0,!1,{fileName:Rl,lineNumber:49,columnNumber:10},this):(0,M.jsxDEV)(`div`,{className:`h-screen w-screen flex flex-col items-center justify-center bg-[#f5f5f7] p-6 text-center`,children:(0,M.jsxDEV)(`div`,{className:`p-5 rounded-[16px] bg-white border border-[#e5e5ea] shadow-apple-md max-w-sm flex flex-col items-center gap-3`,children:[(0,M.jsxDEV)(`div`,{className:`text-[16px] font-semibold text-[#1d1d1f]`,children:`Prototype Not Found`},void 0,!1,{fileName:Rl,lineNumber:37,columnNumber:11},this),(0,M.jsxDEV)(`p`,{className:`text-[13px] text-[#86868b]`,children:`The requested project preview could not be loaded.`},void 0,!1,{fileName:Rl,lineNumber:38,columnNumber:11},this),(0,M.jsxDEV)(Hi,{variant:`primary`,onClick:t,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Rl,lineNumber:41,columnNumber:60},this),children:`Return to Dashboard`},void 0,!1,{fileName:Rl,lineNumber:41,columnNumber:11},this)]},void 0,!0,{fileName:Rl,lineNumber:36,columnNumber:9},this)},void 0,!1,{fileName:Rl,lineNumber:35,columnNumber:7},this)}var Z=`C:/Users/Shadow/Desktop/cyrus/src/pages/LoginPage.tsx`;function Bl({onAuthenticated:e}){let{signIn:t,signUp:n,signInWithProvider:r}=Ri(),{addToast:i}=Br(),[a,o]=(0,A.useState)(`signin`),[s,c]=(0,A.useState)(``),[l,u]=(0,A.useState)(``),[d,f]=(0,A.useState)(``),[p,m]=(0,A.useState)(!1),[h,g]=(0,A.useState)(!1),[_,v]=(0,A.useState)(null),[y,b]=(0,A.useState)(null),x=async r=>{if(r.preventDefault(),!s.trim()){b(`Please enter a valid email address.`);return}if(d.length<8){b(`Password must be at least 8 characters.`);return}g(!0),b(null);try{a===`signup`?(await n(s,l,d),i(`Account created successfully`,`success`)):(await t(s,d),i(`Signed in to Cyrus Workspace`,`success`)),e()}catch(e){let t=e instanceof Error?e.message:`Authentication failed. Please try again.`;b(t)}finally{g(!1)}},S=async t=>{v(t),b(null);try{await r(t),i(`Successfully signed in with ${t.charAt(0).toUpperCase()+t.slice(1)}`,`success`),e()}catch(e){let n=e instanceof Error?e.message:`Failed to sign in with ${t}`;b(n)}finally{v(null)}};return(0,M.jsxDEV)(`div`,{className:`relative min-h-screen w-full overflow-x-hidden overflow-y-auto bg-[#080b11] text-slate-100 flex flex-col justify-between selection:bg-[#0071e3] selection:text-white font-sans`,children:[(0,M.jsxDEV)(`div`,{className:`fixed inset-0 pointer-events-none z-0`,children:[(0,M.jsxDEV)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 w-[1000px] h-[500px] bg-gradient-to-b from-[#0071e3]/15 via-[#7d2ae8]/08 to-transparent rounded-full blur-3xl`},void 0,!1,{fileName:Z,lineNumber:76,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`absolute bottom-0 right-0 w-[600px] h-[400px] bg-gradient-to-tl from-[#0071e3]/10 to-transparent rounded-full blur-3xl`},void 0,!1,{fileName:Z,lineNumber:77,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`absolute inset-0 opacity-[0.18]`,style:{backgroundImage:`radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.4) 1px, transparent 0)`,backgroundSize:`32px 32px`}},void 0,!1,{fileName:Z,lineNumber:80,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:74,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`relative z-10 min-h-screen flex flex-col items-center justify-center px-4 py-12`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3 mb-8`,children:[(0,M.jsxDEV)(`div`,{className:`p-2.5 rounded-2xl bg-slate-900/90 border border-slate-800 shadow-xl shadow-black/40 hover:scale-105 transition-all duration-300`,children:(0,M.jsxDEV)(Bi,{size:`md`},void 0,!1,{fileName:Z,lineNumber:94,columnNumber:13},this)},void 0,!1,{fileName:Z,lineNumber:93,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] font-mono font-semibold tracking-wider uppercase text-slate-300 bg-slate-800/80 px-3 py-1 rounded-full border border-slate-700/60 backdrop-blur-md shadow-xs flex items-center gap-1.5`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5 text-[#0071e3]`},void 0,!1,{fileName:Z,lineNumber:97,columnNumber:13},this),` Cyrus Studio`]},void 0,!0,{fileName:Z,lineNumber:96,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:92,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`w-full max-w-[420px] bg-[#111622]/85 backdrop-blur-2xl rounded-2xl border border-slate-800/90 shadow-[0_24px_80px_rgba(0,0,0,0.65)] p-7 relative overflow-hidden transition-all duration-300`,children:[(0,M.jsxDEV)(`div`,{className:`absolute top-0 inset-x-0 h-1 bg-gradient-to-r from-[#0071e3] via-[#7d2ae8] to-[#34c759]`},void 0,!1,{fileName:Z,lineNumber:104,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`text-center mb-6`,children:[(0,M.jsxDEV)(`h1`,{className:`text-2xl font-bold tracking-tight text-white`,children:a===`signin`?`Sign in to Cyrus`:`Create an Account`},void 0,!1,{fileName:Z,lineNumber:108,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`mt-2 text-xs text-slate-400 leading-relaxed max-w-xs mx-auto`,children:a===`signin`?`Welcome back. Access your projects and visual workspace.`:`Start designing visual products and generating clean code.`},void 0,!1,{fileName:Z,lineNumber:111,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:107,columnNumber:11},this),y&&(0,M.jsxDEV)(`div`,{className:`mb-5 p-3.5 rounded-xl bg-red-500/15 border border-red-500/40 text-red-300 text-xs flex items-start gap-2.5 leading-relaxed`,children:[(0,M.jsxDEV)(Qn,{className:`w-4 h-4 shrink-0 text-red-400 mt-0.5`},void 0,!1,{fileName:Z,lineNumber:121,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:y},void 0,!1,{fileName:Z,lineNumber:122,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:120,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5 mb-5`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`google`),disabled:_!==null||h,className:`w-full h-10 px-4 rounded-xl bg-slate-900/90 hover:bg-slate-800 active:bg-slate-800/80 border border-slate-700/80 text-slate-200 font-medium text-xs flex items-center justify-center gap-3 transition-all duration-150 shadow-xs cursor-pointer disabled:opacity-50 group`,children:[_===`google`?(0,M.jsxDEV)(`div`,{className:`w-4 h-4 border-2 border-slate-400 border-t-white rounded-full animate-spin`},void 0,!1,{fileName:Z,lineNumber:135,columnNumber:17},this):(0,M.jsxDEV)(`svg`,{className:`w-4 h-4 transition-transform group-hover:scale-110`,viewBox:`0 0 24 24`,children:[(0,M.jsxDEV)(`path`,{fill:`#4285F4`,d:`M23.745 12.27c0-.7-.06-1.4-.19-2.07H12v4.51h6.6c-.29 1.52-1.14 2.82-2.4 3.68v3.05h3.88c2.27-2.09 3.665-5.17 3.665-9.17z`},void 0,!1,{fileName:Z,lineNumber:138,columnNumber:19},this),(0,M.jsxDEV)(`path`,{fill:`#34A853`,d:`M12 24c3.24 0 5.95-1.08 7.93-2.91l-3.88-3.05c-1.08.72-2.45 1.16-4.05 1.16-3.12 0-5.77-2.1-6.72-4.93H1.29v3.15C3.26 21.3 7.31 24 12 24z`},void 0,!1,{fileName:Z,lineNumber:139,columnNumber:19},this),(0,M.jsxDEV)(`path`,{fill:`#FBBC05`,d:`M5.28 14.27A7.17 7.17 0 0 1 4.9 12c0-.79.14-1.56.38-2.27V6.58H1.29A11.96 11.96 0 0 0 0 12c0 1.92.46 3.74 1.29 5.42l3.99-3.15z`},void 0,!1,{fileName:Z,lineNumber:140,columnNumber:19},this),(0,M.jsxDEV)(`path`,{fill:`#EA4335`,d:`M12 4.75c1.77 0 3.35.61 4.6 1.8l3.42-3.42C17.95 1.19 15.24 0 12 0 7.31 0 3.26 2.7 1.29 6.58l3.99 3.15c.95-2.83 3.6-4.98 6.72-4.98z`},void 0,!1,{fileName:Z,lineNumber:141,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:137,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:`Continue with Google`},void 0,!1,{fileName:Z,lineNumber:144,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:128,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>S(`github`),disabled:_!==null||h,className:`w-full h-10 px-4 rounded-xl bg-slate-900/90 hover:bg-slate-800 active:bg-slate-800/80 border border-slate-700/80 text-slate-200 font-medium text-xs flex items-center justify-center gap-3 transition-all duration-150 shadow-xs cursor-pointer disabled:opacity-50 group`,children:[_===`github`?(0,M.jsxDEV)(`div`,{className:`w-4 h-4 border-2 border-slate-400 border-t-white rounded-full animate-spin`},void 0,!1,{fileName:Z,lineNumber:154,columnNumber:17},this):(0,M.jsxDEV)(`svg`,{className:`w-4 h-4 shrink-0 fill-current text-white transition-transform group-hover:scale-110`,viewBox:`0 0 24 24`,children:(0,M.jsxDEV)(`path`,{d:`M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z`},void 0,!1,{fileName:Z,lineNumber:157,columnNumber:19},this)},void 0,!1,{fileName:Z,lineNumber:156,columnNumber:17},this),(0,M.jsxDEV)(`span`,{children:`Continue with GitHub`},void 0,!1,{fileName:Z,lineNumber:160,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:147,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:127,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center justify-center my-5`,children:[(0,M.jsxDEV)(`div`,{className:`border-t border-slate-800 w-full`},void 0,!1,{fileName:Z,lineNumber:166,columnNumber:13},this),(0,M.jsxDEV)(`span`,{className:`bg-[#111622] px-3 text-[10px] uppercase tracking-wider text-slate-500 font-mono absolute`,children:`Or email`},void 0,!1,{fileName:Z,lineNumber:167,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:165,columnNumber:11},this),(0,M.jsxDEV)(`form`,{onSubmit:x,className:`flex flex-col gap-3.5`,children:[a===`signup`&&(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-medium text-slate-300`,children:`Full Name`},void 0,!1,{fileName:Z,lineNumber:177,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(rn,{className:`w-4 h-4 text-slate-500 absolute left-3.5 pointer-events-none`},void 0,!1,{fileName:Z,lineNumber:179,columnNumber:19},this),(0,M.jsxDEV)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Alex Rivera`,className:`w-full h-10 pl-10 pr-4 rounded-xl border border-slate-800 bg-slate-900/90 focus:bg-slate-900 focus:border-[#0071e3] text-xs text-slate-100 placeholder:text-slate-600 focus:outline-none transition-all duration-150`},void 0,!1,{fileName:Z,lineNumber:180,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:178,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:176,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-medium text-slate-300`,children:`Email Address`},void 0,!1,{fileName:Z,lineNumber:192,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(kt,{className:`w-4 h-4 text-slate-500 absolute left-3.5 pointer-events-none`},void 0,!1,{fileName:Z,lineNumber:194,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:`email`,value:s,onChange:e=>c(e.target.value),placeholder:`name@work-email.com`,required:!0,className:`w-full h-10 pl-10 pr-4 rounded-xl border border-slate-800 bg-slate-900/90 focus:bg-slate-900 focus:border-[#0071e3] text-xs text-slate-100 placeholder:text-slate-600 focus:outline-none transition-all duration-150`},void 0,!1,{fileName:Z,lineNumber:195,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:193,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:191,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-medium text-slate-300`,children:`Password`},void 0,!1,{fileName:Z,lineNumber:208,columnNumber:17},this),a===`signin`&&(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>i(`Password reset link sent to email.`,`info`),className:`text-[11px] text-[#0071e3] hover:underline transition-colors`,children:`Forgot?`},void 0,!1,{fileName:Z,lineNumber:210,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:207,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`relative flex items-center`,children:[(0,M.jsxDEV)(Rt,{className:`w-4 h-4 text-slate-500 absolute left-3.5 pointer-events-none`},void 0,!1,{fileName:Z,lineNumber:220,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:p?`text`:`password`,value:d,onChange:e=>f(e.target.value),placeholder:`••••••••••••`,required:!0,minLength:8,className:`w-full h-10 pl-10 pr-10 rounded-xl border border-slate-800 bg-slate-900/90 focus:bg-slate-900 focus:border-[#0071e3] text-xs text-slate-100 placeholder:text-slate-600 focus:outline-none transition-all duration-150`},void 0,!1,{fileName:Z,lineNumber:221,columnNumber:17},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>m(!p),className:`absolute right-3.5 text-slate-500 hover:text-slate-300 transition-colors cursor-pointer`,children:p?(0,M.jsxDEV)(At,{className:`w-4 h-4`},void 0,!1,{fileName:Z,lineNumber:235,columnNumber:35},this):(0,M.jsxDEV)(dn,{className:`w-4 h-4`},void 0,!1,{fileName:Z,lineNumber:235,columnNumber:68},this)},void 0,!1,{fileName:Z,lineNumber:230,columnNumber:17},this)]},void 0,!0,{fileName:Z,lineNumber:219,columnNumber:15},this)]},void 0,!0,{fileName:Z,lineNumber:206,columnNumber:13},this),(0,M.jsxDEV)(Hi,{variant:`primary`,size:`md`,type:`submit`,isLoading:h,icon:(0,M.jsxDEV)(In,{className:`w-4 h-4`},void 0,!1,{fileName:Z,lineNumber:245,columnNumber:21},this),className:`mt-2 w-full h-10 justify-center bg-[#0071e3] hover:bg-[#0077ed] active:bg-[#0062c4] text-white font-semibold text-xs rounded-xl shadow-md shadow-[#0071e3]/20 border border-white/10 transition-all duration-150 cursor-pointer`,children:a===`signin`?`Sign In`:`Create Account`},void 0,!1,{fileName:Z,lineNumber:240,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`pt-3 mt-1 border-t border-slate-800/80 text-center text-xs text-slate-400`,children:a===`signin`?(0,M.jsxDEV)(`span`,{children:[`Don't have an account?`,` `,(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{o(`signup`),b(null)},className:`text-[#0071e3] font-semibold hover:underline cursor-pointer transition-colors`,children:`Sign up`},void 0,!1,{fileName:Z,lineNumber:256,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:254,columnNumber:17},this):(0,M.jsxDEV)(`span`,{children:[`Already have an account?`,` `,(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{o(`signin`),b(null)},className:`text-[#0071e3] font-semibold hover:underline cursor-pointer transition-colors`,children:`Sign in`},void 0,!1,{fileName:Z,lineNumber:270,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:268,columnNumber:17},this)},void 0,!1,{fileName:Z,lineNumber:252,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:173,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:102,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`mt-8 flex items-center gap-4 text-[11px] text-slate-500 font-medium`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5`,children:[(0,M.jsxDEV)(je,{className:`w-3.5 h-3.5 text-emerald-500`},void 0,!1,{fileName:Z,lineNumber:289,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`256-bit SSL Encryption`},void 0,!1,{fileName:Z,lineNumber:290,columnNumber:13},this)]},void 0,!0,{fileName:Z,lineNumber:288,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:`•`},void 0,!1,{fileName:Z,lineNumber:292,columnNumber:11},this),(0,M.jsxDEV)(`span`,{children:`SOC2 Type II Certified`},void 0,!1,{fileName:Z,lineNumber:293,columnNumber:11},this)]},void 0,!0,{fileName:Z,lineNumber:287,columnNumber:9},this)]},void 0,!0,{fileName:Z,lineNumber:90,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:72,columnNumber:5},this)}var Vl=[{id:`rev_1`,name:`Elena Rostova`,role:`Lead UI/UX Designer`,rating:5,category:`experience`,comment:`The canvas speed and the Canva-style file downloads are phenomenal! It is super easy to draw and prototype ideas directly in browser.`,likes:14,createdAt:new Date(Date.now()-108e5).toISOString()},{id:`rev_2`,name:`Marcus Vance`,role:`Full-Stack Developer`,rating:5,category:`enhancement`,comment:`Real .cyrus and .html exports saved right onto my laptop disk. Would love to see even more tailwind micro-animations!`,likes:9,createdAt:new Date(Date.now()-432e5).toISOString()},{id:`rev_3`,name:`Sarah Chen`,role:`Product Manager`,rating:5,category:`praise`,comment:`This project is near completion and already feels like a native desktop app. The real-life pencil carving eraser is brilliant.`,likes:19,createdAt:new Date(Date.now()-864e5).toISOString()},{id:`rev_4`,name:`Devin Thorne`,role:`Frontend Architect`,rating:4,category:`feature`,comment:`Can you add custom sound themes for notifications? Overall, 10/10 experience on desktop and mobile.`,likes:6,createdAt:new Date(Date.now()-1296e5).toISOString()}],Hl=Lr()(Fr((e,t)=>({reviews:Vl,addReview:t=>{let n={id:k(`rev`),...t,likes:0,likedByMe:!1,createdAt:new Date().toISOString()};return e(e=>({reviews:[n,...e.reviews]})),n},toggleLikeReview:t=>{e(e=>({reviews:e.reviews.map(e=>{if(e.id===t){let t=!e.likedByMe;return{...e,likedByMe:t,likes:t?e.likes+1:Math.max(0,e.likes-1)}}return e})}))},deleteReview:t=>{e(e=>({reviews:e.reviews.filter(e=>e.id!==t)}))}}),{name:`cyrus_community_reviews_v1`})),Ul=`C:/Users/Shadow/Desktop/cyrus/src/pages/ComentosReviewPage.tsx`;function Wl(e){try{let t=new Date(e);return`${t.toLocaleDateString()} at ${t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}`}catch{return`Recently`}}function Gl({onBack:e}){let{reviews:t,deleteReview:n}=Hl(),{addToast:r}=Br(),[a,o]=(0,A.useState)(``),s=t.filter(e=>{let t=a.toLowerCase().trim();return!t||e.name.toLowerCase().includes(t)||e.comment.toLowerCase().includes(t)||e.role&&e.role.toLowerCase().includes(t)});return(0,M.jsxDEV)(`div`,{className:`min-h-screen w-full bg-[#0d0e15] text-[#f5f5f7] flex flex-col font-sans selection:bg-[#7d2ae8] selection:text-white`,children:[(0,M.jsxDEV)(`header`,{className:`sticky top-0 z-30 h-14 bg-[#141522]/90 backdrop-blur-md border-b border-white/10 px-6 sm:px-12 flex items-center justify-between shadow-sm`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(Hi,{variant:`ghost`,size:`sm`,onClick:e,icon:(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Ul,lineNumber:70,columnNumber:19},this),children:`Back`},void 0,!1,{fileName:Ul,lineNumber:66,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-4 w-[1px] bg-white/15`},void 0,!1,{fileName:Ul,lineNumber:74,columnNumber:11},this),(0,M.jsxDEV)(Bi,{size:`sm`},void 0,!1,{fileName:Ul,lineNumber:75,columnNumber:11},this)]},void 0,!0,{fileName:Ul,lineNumber:65,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:(0,M.jsxDEV)(`span`,{className:`text-[11px] font-mono text-emerald-400 bg-emerald-500/10 px-2.5 py-1 rounded-full border border-emerald-500/20 flex items-center gap-1`,children:[(0,M.jsxDEV)(Qn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Ul,lineNumber:80,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`/#/comentos/review`},void 0,!1,{fileName:Ul,lineNumber:81,columnNumber:13},this)]},void 0,!0,{fileName:Ul,lineNumber:79,columnNumber:11},this)},void 0,!1,{fileName:Ul,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:Ul,lineNumber:64,columnNumber:7},this),(0,M.jsxDEV)(`main`,{className:`flex-1 max-w-4xl w-full mx-auto px-4 sm:px-6 py-8 flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`h1`,{className:`text-xl font-bold text-white flex items-center gap-2`,children:[(0,M.jsxDEV)(i,{className:`w-5 h-5 text-[#9d52ff]`},void 0,!1,{fileName:Ul,lineNumber:92,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`User Comments & Feedback Submissions`},void 0,!1,{fileName:Ul,lineNumber:93,columnNumber:15},this)]},void 0,!0,{fileName:Ul,lineNumber:91,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-xs text-slate-400 mt-1`,children:`Read all experiences, suggestions, and enhancement reviews submitted by users.`},void 0,!1,{fileName:Ul,lineNumber:95,columnNumber:13},this)]},void 0,!0,{fileName:Ul,lineNumber:90,columnNumber:11},this),(0,M.jsxDEV)(Hi,{variant:`secondary`,size:`sm`,onClick:()=>{let e=JSON.stringify(t,null,2),n=new Blob([e],{type:`application/json`}),i=URL.createObjectURL(n),a=document.createElement(`a`);a.href=i,a.download=`cyrus_user_comments_${Date.now()}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>URL.revokeObjectURL(i),1e3),r(`Exported ${t.length} user comments to JSON file`,`success`)},icon:(0,M.jsxDEV)(wn,{className:`w-3.5 h-3.5 text-[#9d52ff]`},void 0,!1,{fileName:Ul,lineNumber:104,columnNumber:19},this),children:[`Export All to JSON (`,t.length,`)`]},void 0,!0,{fileName:Ul,lineNumber:100,columnNumber:11},this)]},void 0,!0,{fileName:Ul,lineNumber:89,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(Bt,{className:`w-4 h-4 text-slate-400 absolute left-3.5 top-1/2 -translate-y-1/2 pointer-events-none`},void 0,!1,{fileName:Ul,lineNumber:112,columnNumber:11},this),(0,M.jsxDEV)(`input`,{type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:`Search submitted comments or authors...`,className:`w-full h-10 pl-10 pr-4 rounded-xl bg-[#171826] border border-white/10 text-xs text-white placeholder-slate-500 focus:outline-none focus:border-[#7d2ae8]`},void 0,!1,{fileName:Ul,lineNumber:113,columnNumber:11},this)]},void 0,!0,{fileName:Ul,lineNumber:111,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:s.length===0?(0,M.jsxDEV)(`div`,{className:`p-8 text-center rounded-2xl bg-[#171826] border border-white/10 text-slate-400 text-xs`,children:`No comments match your search query.`},void 0,!1,{fileName:Ul,lineNumber:125,columnNumber:13},this):s.map(e=>(0,M.jsxDEV)(`div`,{className:`p-4 rounded-xl bg-[#171826] border border-white/10 flex flex-col gap-2.5 transition-all hover:border-white/20`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-start justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-8 h-8 rounded-full bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] text-white flex items-center justify-center font-bold text-xs shrink-0`,children:e.name.charAt(0).toUpperCase()},void 0,!1,{fileName:Ul,lineNumber:136,columnNumber:21},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`text-[13px] font-bold text-white`,children:e.name},void 0,!1,{fileName:Ul,lineNumber:141,columnNumber:25},this),e.role&&(0,M.jsxDEV)(`span`,{className:`text-[11px] text-slate-400`,children:[`• `,e.role]},void 0,!0,{fileName:Ul,lineNumber:143,columnNumber:27},this)]},void 0,!0,{fileName:Ul,lineNumber:140,columnNumber:23},this),(0,M.jsxDEV)(`div`,{className:`text-[10.5px] text-slate-500 flex items-center gap-1 mt-0.5`,children:[(0,M.jsxDEV)(y,{className:`w-3 h-3`},void 0,!1,{fileName:Ul,lineNumber:147,columnNumber:25},this),(0,M.jsxDEV)(`span`,{children:Wl(e.createdAt)},void 0,!1,{fileName:Ul,lineNumber:148,columnNumber:25},this)]},void 0,!0,{fileName:Ul,lineNumber:146,columnNumber:23},this)]},void 0,!0,{fileName:Ul,lineNumber:139,columnNumber:21},this)]},void 0,!0,{fileName:Ul,lineNumber:135,columnNumber:19},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>{window.confirm(`Delete comment from "${e.name}"?`)&&(n(e.id),r(`Comment removed`,`info`))},className:`p-1.5 rounded-lg text-slate-500 hover:text-rose-400 hover:bg-white/5 transition-colors cursor-pointer`,title:`Delete this comment`,children:(0,M.jsxDEV)(x,{className:`w-4 h-4`},void 0,!1,{fileName:Ul,lineNumber:164,columnNumber:21},this)},void 0,!1,{fileName:Ul,lineNumber:153,columnNumber:19},this)]},void 0,!0,{fileName:Ul,lineNumber:134,columnNumber:17},this),(0,M.jsxDEV)(`p`,{className:`text-xs text-slate-200 leading-relaxed pl-10`,children:e.comment},void 0,!1,{fileName:Ul,lineNumber:168,columnNumber:17},this)]},e.id,!0,{fileName:Ul,lineNumber:130,columnNumber:15},this))},void 0,!1,{fileName:Ul,lineNumber:123,columnNumber:9},this)]},void 0,!0,{fileName:Ul,lineNumber:87,columnNumber:7},this)]},void 0,!0,{fileName:Ul,lineNumber:62,columnNumber:5},this)}var Q=`C:/Users/Shadow/Desktop/cyrus/src/pages/FeedbackPage.tsx`,Kl=`cyrus_user_feedbacks`;function ql({onBack:e}){let{session:t}=Ri(),{addToast:n}=Br(),[r,i]=(0,A.useState)(`feature`),[a,o]=(0,A.useState)(``),[s,c]=(0,A.useState)(5),[l,u]=(0,A.useState)(null),[d,f]=(0,A.useState)(t.user?.email||``),[p,m]=(0,A.useState)(!1),[h,g]=(0,A.useState)(!1),_=[{id:`feature`,label:`Feature Request`,icon:(0,M.jsxDEV)(an,{className:`w-4 h-4 text-amber-500`},void 0,!1,{fileName:Q,lineNumber:54,columnNumber:13},this),desc:`Suggest new tools, canvas capabilities, or workflows`},{id:`bug`,label:`Bug Report`,icon:(0,M.jsxDEV)(Kn,{className:`w-4 h-4 text-rose-500`},void 0,!1,{fileName:Q,lineNumber:60,columnNumber:13},this),desc:`Report an issue, visual glitch, or unexpected behavior`},{id:`design`,label:`Design & UX`,icon:(0,M.jsxDEV)(lt,{className:`w-4 h-4 text-[#0071e3]`},void 0,!1,{fileName:Q,lineNumber:66,columnNumber:13},this),desc:`Share feedback about layout, themes, or ease of use`},{id:`general`,label:`General Feedback`,icon:(0,M.jsxDEV)(or,{className:`w-4 h-4 text-[#7d2ae8]`},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this),desc:`Tell us how you use Cyrus or what you love about it`}];return(0,M.jsxDEV)(`div`,{className:`h-full w-full overflow-y-auto bg-[#f4f4f7] dark:bg-[#000000] text-[#1d1d1f] dark:text-[#f5f5f7] flex flex-col font-sans selection:bg-[#7d2ae8] selection:text-white`,children:[(0,M.jsxDEV)(`header`,{className:`w-full bg-white dark:bg-[#1c1c1e] border-b border-[#e5e5ea] dark:border-[#38383a] px-6 py-3.5 flex items-center justify-between sticky top-0 z-30 shadow-xs`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-4`,children:(0,M.jsxDEV)(`button`,{type:`button`,onClick:e,className:`flex items-center gap-2 text-xs font-semibold text-[#6e6e73] dark:text-[#8e8e93] hover:text-[#1d1d1f] dark:hover:text-white px-3 py-1.5 rounded-lg hover:bg-[#f4f4f6] dark:hover:bg-[#2c2c2e] transition-all cursor-pointer`,children:[(0,M.jsxDEV)(er,{className:`w-4 h-4`},void 0,!1,{fileName:Q,lineNumber:131,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Back to Dashboard`},void 0,!1,{fileName:Q,lineNumber:132,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:126,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:125,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(Bi,{size:`sm`},void 0,!1,{fileName:Q,lineNumber:137,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-xs font-bold text-[#7d2ae8] dark:text-[#9d52ff]`,children:`Feedback Portal`},void 0,!1,{fileName:Q,lineNumber:138,columnNumber:11},this)]},void 0,!0,{fileName:Q,lineNumber:136,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:124,columnNumber:7},this),(0,M.jsxDEV)(`main`,{className:`flex-1 max-w-3xl w-full mx-auto px-6 py-10 flex flex-col items-center`,children:h?(0,M.jsxDEV)(`div`,{className:`w-full bg-white dark:bg-[#1c1c1e] rounded-3xl border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-md p-10 text-center flex flex-col items-center animate-in fade-in zoom-in-95 duration-200`,children:[(0,M.jsxDEV)(`div`,{className:`w-16 h-16 rounded-full bg-emerald-500/10 text-emerald-500 flex items-center justify-center mb-6`,children:(0,M.jsxDEV)(je,{className:`w-9 h-9`},void 0,!1,{fileName:Q,lineNumber:147,columnNumber:15},this)},void 0,!1,{fileName:Q,lineNumber:146,columnNumber:13},this),(0,M.jsxDEV)(`h2`,{className:`text-2xl font-extrabold text-[#1d1d1f] dark:text-white mb-2`,children:`Thank You for Your Feedback!`},void 0,!1,{fileName:Q,lineNumber:150,columnNumber:13},this),(0,M.jsxDEV)(`p`,{className:`text-sm text-[#6e6e73] dark:text-[#8e8e93] max-w-md mb-8 leading-relaxed`,children:`Your insights and ideas directly help us improve Cyrus Studio. We review every single submission to build the best product design platform for you.`},void 0,!1,{fileName:Q,lineNumber:153,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsxDEV)(Hi,{variant:`secondary`,onClick:()=>{g(!1),o(``)},children:`Send Another Response`},void 0,!1,{fileName:Q,lineNumber:158,columnNumber:15},this),(0,M.jsxDEV)(Hi,{variant:`primary`,onClick:e,className:`bg-[#7d2ae8] hover:bg-[#6b21ce] text-white`,children:`Return to Dashboard`},void 0,!1,{fileName:Q,lineNumber:167,columnNumber:15},this)]},void 0,!0,{fileName:Q,lineNumber:157,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:145,columnNumber:11},this):(0,M.jsxDEV)(`div`,{className:`w-full bg-white dark:bg-[#1c1c1e] rounded-3xl border border-[#e5e5ea] dark:border-[#38383a] shadow-apple-md p-8 sm:p-10 relative overflow-hidden`,children:[(0,M.jsxDEV)(`div`,{className:`mb-8`,children:[(0,M.jsxDEV)(`div`,{className:`inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-[#7d2ae8]/10 text-[#7d2ae8] dark:text-[#9d52ff] text-[11px] font-bold uppercase tracking-wider mb-3`,children:[(0,M.jsxDEV)(me,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Q,lineNumber:181,columnNumber:17},this),` Cyrus Studio Feedback`]},void 0,!0,{fileName:Q,lineNumber:180,columnNumber:15},this),(0,M.jsxDEV)(`h1`,{className:`text-2xl sm:text-3xl font-extrabold text-[#1d1d1f] dark:text-white tracking-tight`,children:`Share Your Thoughts & Ideas`},void 0,!1,{fileName:Q,lineNumber:183,columnNumber:15},this),(0,M.jsxDEV)(`p`,{className:`mt-1.5 text-xs sm:text-sm text-[#6e6e73] dark:text-[#8e8e93] leading-relaxed`,children:`Tell us what features you’d like to see, report an issue, or share your thoughts on the experience.`},void 0,!1,{fileName:Q,lineNumber:186,columnNumber:15},this)]},void 0,!0,{fileName:Q,lineNumber:179,columnNumber:13},this),(0,M.jsxDEV)(`form`,{onSubmit:async e=>{if(e.preventDefault(),!a.trim()){n(`Please enter your feedback message before submitting.`,`warning`);return}m(!0);try{let e={id:`fb_${Date.now()}_${Math.random().toString(36).substring(2,7)}`,type:r,message:a.trim(),rating:s,email:d.trim()||t.user?.email||`anonymous`,userName:t.user?.name||`Cyrus Creator`,userId:t.user?.id,timestamp:new Date().toISOString()};try{let t=localStorage.getItem(Kl),n=t?JSON.parse(t):[];n.unshift(e),localStorage.setItem(Kl,JSON.stringify(n.slice(0,100)))}catch(e){console.warn(`Could not save feedback to localStorage:`,e)}await new Promise(e=>setTimeout(e,600)),g(!0),n(`Thank you! Your feedback was submitted successfully.`,`success`)}catch(e){console.error(`Error submitting feedback:`,e),n(`Failed to submit feedback. Please try again.`,`error`)}finally{m(!1)}},className:`flex flex-col gap-6`,children:[(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`1. What kind of feedback do you have?`},void 0,!1,{fileName:Q,lineNumber:194,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2.5`,children:_.map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>i(e.id),className:`p-3.5 rounded-2xl border text-left flex items-start gap-3 transition-all cursor-pointer ${r===e.id?`border-[#7d2ae8] bg-[#7d2ae8]/5 dark:bg-[#7d2ae8]/15 ring-2 ring-[#7d2ae8]/30 shadow-xs`:`border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] hover:border-[#7d2ae8]/40`}`,children:[(0,M.jsxDEV)(`div`,{className:`p-2 rounded-xl bg-white dark:bg-[#1c1c1e] shadow-2xs shrink-0`,children:e.icon},void 0,!1,{fileName:Q,lineNumber:209,columnNumber:23},this),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-white`,children:e.label},void 0,!1,{fileName:Q,lineNumber:213,columnNumber:25},this),(0,M.jsxDEV)(`div`,{className:`text-[11px] text-[#86868b] dark:text-[#a1a1a6] mt-0.5 leading-tight`,children:e.desc},void 0,!1,{fileName:Q,lineNumber:216,columnNumber:25},this)]},void 0,!0,{fileName:Q,lineNumber:212,columnNumber:23},this)]},e.id,!0,{fileName:Q,lineNumber:199,columnNumber:21},this))},void 0,!1,{fileName:Q,lineNumber:197,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:193,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`2. Your Message / Feedback`},void 0,!1,{fileName:Q,lineNumber:228,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[11px] text-[#86868b]`,children:[a.length,` / 2000`]},void 0,!0,{fileName:Q,lineNumber:231,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:227,columnNumber:17},this),(0,M.jsxDEV)(`textarea`,{value:a,onChange:e=>o(e.target.value),placeholder:r===`bug`?`Describe what happened, the steps to reproduce, or what you expected to see...`:r===`feature`?`Describe the feature or tool you would love to see added in Cyrus...`:`Share your thoughts, suggestions, or comments with the team...`,required:!0,rows:6,maxLength:2e3,className:`w-full p-4 rounded-2xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] text-xs sm:text-sm text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] focus:outline-none focus:border-[#7d2ae8] focus:ring-2 focus:ring-[#7d2ae8]/20 transition-all resize-none shadow-2xs`},void 0,!1,{fileName:Q,lineNumber:235,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:226,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`3. How satisfied are you with Cyrus Studio so far?`},void 0,!1,{fileName:Q,lineNumber:254,columnNumber:17},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[[1,2,3,4,5].map(e=>(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>c(e),onMouseEnter:()=>u(e),onMouseLeave:()=>u(null),className:`p-1.5 transition-transform hover:scale-125 cursor-pointer`,children:(0,M.jsxDEV)(nt,{className:`w-6 h-6 transition-colors ${(l===null?s:l)>=e?`fill-amber-400 text-amber-400 drop-shadow-xs`:`text-slate-300 dark:text-slate-700`}`},void 0,!1,{fileName:Q,lineNumber:269,columnNumber:25},this)},e,!1,{fileName:Q,lineNumber:261,columnNumber:23},this)),(0,M.jsxDEV)(`span`,{className:`ml-2 text-xs font-semibold text-[#86868b]`,children:s===5?`⭐️ Amazing`:s===4?`Great`:s===3?`Good`:s===2?`Needs Work`:`Poor`},void 0,!1,{fileName:Q,lineNumber:279,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:257,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:253,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,M.jsxDEV)(`label`,{className:`text-xs font-bold text-[#1d1d1f] dark:text-[#f5f5f7] uppercase tracking-wider text-[11px]`,children:`4. Your Email (Optional for updates)`},void 0,!1,{fileName:Q,lineNumber:287,columnNumber:17},this),(0,M.jsxDEV)(`input`,{type:`email`,value:d,onChange:e=>f(e.target.value),placeholder:`you@company.com`,className:`w-full h-11 px-4 rounded-xl border border-[#e5e5ea] dark:border-[#38383a] bg-[#fbfbfd] dark:bg-[#252528] text-xs text-[#1d1d1f] dark:text-[#f5f5f7] placeholder:text-[#86868b] focus:outline-none focus:border-[#7d2ae8] transition-all shadow-2xs`},void 0,!1,{fileName:Q,lineNumber:290,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:286,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`pt-3 border-t border-[#e5e5ea] dark:border-[#38383a] flex items-center justify-between gap-4`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:e,className:`text-xs font-semibold text-[#86868b] hover:text-[#1d1d1f] dark:hover:text-white transition-colors cursor-pointer`,children:`Cancel`},void 0,!1,{fileName:Q,lineNumber:301,columnNumber:17},this),(0,M.jsxDEV)(Hi,{variant:`primary`,type:`submit`,isLoading:p,icon:(0,M.jsxDEV)(rr,{className:`w-4 h-4`},void 0,!1,{fileName:Q,lineNumber:313,columnNumber:25},this),className:`px-6 py-2.5 rounded-xl bg-[#7d2ae8] hover:bg-[#6b21ce] active:bg-[#5b19b5] text-white font-bold text-xs shadow-md shadow-[#7d2ae8]/25 cursor-pointer transition-all`,children:`Submit Feedback`},void 0,!1,{fileName:Q,lineNumber:309,columnNumber:17},this)]},void 0,!0,{fileName:Q,lineNumber:300,columnNumber:15},this)]},void 0,!0,{fileName:Q,lineNumber:191,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:177,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:143,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:122,columnNumber:5},this)}var Jl=`C:/Users/Shadow/Desktop/cyrus/src/components/ui/Toast.tsx`;function Yl(){let{toasts:e,removeToast:t}=Br();return e.length===0?null:(0,M.jsxDEV)(`div`,{className:`fixed bottom-5 right-5 z-50 flex flex-col gap-2 pointer-events-none`,children:e.map(e=>{let n={success:(0,M.jsxDEV)(je,{className:`w-4 h-4 text-[#34c759] shrink-0`},void 0,!1,{fileName:Jl,lineNumber:14,columnNumber:20},this),info:(0,M.jsxDEV)(m,{className:`w-4 h-4 text-[#0071e3] shrink-0`},void 0,!1,{fileName:Jl,lineNumber:15,columnNumber:17},this),warning:(0,M.jsxDEV)(p,{className:`w-4 h-4 text-[#ff9500] shrink-0`},void 0,!1,{fileName:Jl,lineNumber:16,columnNumber:20},this),error:(0,M.jsxDEV)(ze,{className:`w-4 h-4 text-[#ff3b30] shrink-0`},void 0,!1,{fileName:Jl,lineNumber:17,columnNumber:18},this)};return(0,M.jsxDEV)(`div`,{className:O(`pointer-events-auto flex items-center gap-2.5 px-3.5 py-2.5 bg-white border border-[#e5e5ea] rounded-[12px] shadow-apple-lg text-[13px] text-[#1d1d1f] max-w-sm animate-in slide-in-from-bottom-2 fade-in duration-200`),children:[n[e.type],(0,M.jsxDEV)(`span`,{className:`font-medium flex-1`,children:e.text},void 0,!1,{fileName:Jl,lineNumber:28,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>t(e.id),className:`p-1 text-[#86868b] hover:text-[#1d1d1f] rounded-[4px] hover:bg-[#f4f4f6] transition-apple`,children:(0,M.jsxDEV)(cn,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:Jl,lineNumber:33,columnNumber:15},this)},void 0,!1,{fileName:Jl,lineNumber:29,columnNumber:13},this)]},e.id,!0,{fileName:Jl,lineNumber:21,columnNumber:11},this)})},void 0,!1,{fileName:Jl,lineNumber:11,columnNumber:5},this)}var Xl=`C:/Users/Shadow/Desktop/cyrus/src/plugins/builtins/qrCodePlugin.tsx`,Zl={id:`com.cyrus.plugin.qr-generator`,name:`QR Code & Barcode Suite`,version:`1.0.0`,description:`Generates dynamic SVG QR codes, scan badges, and payment tickets.`,author:`Cyrus Ecosystem`,targetCyrusVersion:`^1.0.0`,permissions:[`widgets:register`],category:`widgets`,icon:`QrCode`},Ql=({element:e})=>{let{content:t,styles:n}=e,r=t.value||`https://cyrus.design`,i=t.title||`Scan to Preview`,a=t.subtitle||`Point phone camera at code`,o=n.color||`#0071e3`,s=n.backgroundColor||`#ffffff`;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:s,borderRadius:`${n.borderRadius??16}px`,borderWidth:`${n.borderWidth??1}px`,borderColor:n.borderColor||`#e5e5ea`,padding:`20px`},className:`flex flex-col items-center justify-between select-none pointer-events-none shadow-apple-sm`,children:[(0,M.jsxDEV)(`div`,{className:`text-center`,children:[(0,M.jsxDEV)(`h4`,{className:`text-[13px] font-bold text-[#1d1d1f] tracking-tight`,children:i},void 0,!1,{fileName:Xl,lineNumber:50,columnNumber:9},void 0),(0,M.jsxDEV)(`p`,{className:`text-[10px] text-[#86868b] mt-0.5`,children:a},void 0,!1,{fileName:Xl,lineNumber:51,columnNumber:9},void 0)]},void 0,!0,{fileName:Xl,lineNumber:49,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`p-3 bg-white rounded-xl border border-[#e5e5ea] shadow-2xs my-2 flex items-center justify-center`,children:(0,M.jsxDEV)(`svg`,{width:`120`,height:`120`,viewBox:`0 0 120 120`,className:`shape-rendering-crispEdges`,children:[(0,M.jsxDEV)(`rect`,{x:`10`,y:`10`,width:`30`,height:`30`,fill:o,rx:`4`},void 0,!1,{fileName:Xl,lineNumber:58,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`16`,y:`16`,width:`18`,height:`18`,fill:`#ffffff`,rx:`2`},void 0,!1,{fileName:Xl,lineNumber:59,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`20`,y:`20`,width:`10`,height:`10`,fill:o,rx:`1`},void 0,!1,{fileName:Xl,lineNumber:60,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`80`,y:`10`,width:`30`,height:`30`,fill:o,rx:`4`},void 0,!1,{fileName:Xl,lineNumber:63,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`86`,y:`16`,width:`18`,height:`18`,fill:`#ffffff`,rx:`2`},void 0,!1,{fileName:Xl,lineNumber:64,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`90`,y:`20`,width:`10`,height:`10`,fill:o,rx:`1`},void 0,!1,{fileName:Xl,lineNumber:65,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`10`,y:`80`,width:`30`,height:`30`,fill:o,rx:`4`},void 0,!1,{fileName:Xl,lineNumber:68,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`16`,y:`86`,width:`18`,height:`18`,fill:`#ffffff`,rx:`2`},void 0,!1,{fileName:Xl,lineNumber:69,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`20`,y:`90`,width:`10`,height:`10`,fill:o,rx:`1`},void 0,!1,{fileName:Xl,lineNumber:70,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`48`,y:`15`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:73,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`58`,y:`25`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:74,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`48`,y:`35`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:75,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`68`,y:`15`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:76,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`15`,y:`48`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:78,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`25`,y:`58`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:79,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`35`,y:`48`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:80,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`15`,y:`68`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:81,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`50`,y:`50`,width:`20`,height:`20`,fill:o,rx:`3`},void 0,!1,{fileName:Xl,lineNumber:83,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`55`,y:`55`,width:`10`,height:`10`,fill:`#ffffff`,rx:`1`},void 0,!1,{fileName:Xl,lineNumber:84,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`80`,y:`50`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:86,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`90`,y:`60`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:87,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`100`,y:`50`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:88,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`85`,y:`70`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:89,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`50`,y:`80`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:91,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`60`,y:`90`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:92,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`70`,y:`80`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:93,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`85`,y:`95`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:94,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`95`,y:`85`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:95,columnNumber:11},void 0),(0,M.jsxDEV)(`rect`,{x:`100`,y:`100`,width:`6`,height:`6`,fill:o},void 0,!1,{fileName:Xl,lineNumber:96,columnNumber:11},void 0)]},void 0,!0,{fileName:Xl,lineNumber:56,columnNumber:9},void 0)},void 0,!1,{fileName:Xl,lineNumber:55,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`w-full py-1.5 px-2.5 rounded-lg bg-[#f5f5f7] border border-[#e5e5ea] flex items-center justify-between text-[10px] text-[#6e6e73]`,children:[(0,M.jsxDEV)(`span`,{className:`truncate max-w-[140px] font-mono`,children:r},void 0,!1,{fileName:Xl,lineNumber:101,columnNumber:9},void 0),(0,M.jsxDEV)(`span`,{className:`text-[#0071e3] font-semibold`,children:`Active`},void 0,!1,{fileName:Xl,lineNumber:102,columnNumber:9},void 0)]},void 0,!0,{fileName:Xl,lineNumber:100,columnNumber:7},void 0)]},void 0,!0,{fileName:Xl,lineNumber:37,columnNumber:5},void 0)},$l={initialize:e=>{e.logger.info(`Initializing QR Code & Barcode Suite plugin...`),e.widgets.register({id:`qr_code_widget`,type:`qrCodeWidget`,name:`QR Code Card`,category:`cards`,description:`Dynamic scannable QR Code and action card.`,icon:`QrCode`,defaultWidth:240,defaultHeight:270,defaultStyles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,color:`#0071e3`},defaultContent:{title:`Scan with Camera`,subtitle:`Instant mobile preview link`,value:`https://cyrus.design/preview`},propSchemas:[{key:`title`,label:`Title`,type:`text`,defaultValue:`Scan with Camera`},{key:`subtitle`,label:`Subtitle`,type:`text`,defaultValue:`Instant mobile preview link`},{key:`value`,label:`QR Target URL`,type:`text`,defaultValue:`https://cyrus.design/preview`}],renderer:Ql})},destroy:()=>{console.log(`[Plugin: QR Code Suite] Cleaned up resources.`)}},eu=`C:/Users/Shadow/Desktop/cyrus/src/plugins/builtins/audioPlayerPlugin.tsx`,tu={id:`com.cyrus.plugin.audio-player`,name:`Audio Player Pro`,version:`1.0.0`,description:`Interactive audio player with waveform visuals and playback controls.`,author:`Cyrus Audio Labs`,targetCyrusVersion:`^1.0.0`,permissions:[`widgets:register`,`storage:read_write`],category:`widgets`,icon:`Music`},nu=({element:e})=>{let{content:t,styles:n}=e,r=t.title||`Ambient Soundscapes`,i=t.artist||`Cyrus Audio Studio`,a=t.duration||`3:45`,o=typeof t.progress==`number`?t.progress:45;return(0,M.jsxDEV)(`div`,{style:{width:`100%`,height:`100%`,backgroundColor:n.backgroundColor||`#1c1c1e`,borderRadius:`${n.borderRadius??18}px`,borderWidth:`${n.borderWidth??1}px`,borderColor:n.borderColor||`#2c2c2e`,color:n.color||`#ffffff`,padding:`16px`},className:`flex flex-col justify-between select-none pointer-events-none shadow-apple-md`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:[(0,M.jsxDEV)(`div`,{className:`w-8 h-8 rounded-lg bg-[#0071e3] text-white flex items-center justify-center shadow-apple-sm`,children:(0,M.jsxDEV)(pt,{className:`w-4 h-4`},void 0,!1,{fileName:eu,lineNumber:51,columnNumber:13},void 0)},void 0,!1,{fileName:eu,lineNumber:50,columnNumber:11},void 0),(0,M.jsxDEV)(`div`,{children:[(0,M.jsxDEV)(`div`,{className:`text-[12px] font-bold truncate max-w-[130px]`,children:r},void 0,!1,{fileName:eu,lineNumber:54,columnNumber:13},void 0),(0,M.jsxDEV)(`div`,{className:`text-[9.5px] text-[#86868b] truncate max-w-[130px]`,children:i},void 0,!1,{fileName:eu,lineNumber:55,columnNumber:13},void 0)]},void 0,!0,{fileName:eu,lineNumber:53,columnNumber:11},void 0)]},void 0,!0,{fileName:eu,lineNumber:49,columnNumber:9},void 0),(0,M.jsxDEV)(`div`,{className:`w-7 h-7 rounded-full bg-white/10 flex items-center justify-center text-white`,children:(0,M.jsxDEV)(w,{className:`w-3.5 h-3.5 fill-current ml-0.5`},void 0,!1,{fileName:eu,lineNumber:60,columnNumber:11},void 0)},void 0,!1,{fileName:eu,lineNumber:59,columnNumber:9},void 0)]},void 0,!0,{fileName:eu,lineNumber:48,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`flex items-end gap-1 h-8 my-1 px-1 justify-between`,children:[20,45,75,90,60,80,40,95,65,35,70,85,50,60,90,40,30].map((e,t)=>(0,M.jsxDEV)(`div`,{className:`w-1 rounded-full transition-all`,style:{height:`${e}%`,backgroundColor:t<8?`#0071e3`:`rgba(255,255,255,0.2)`}},t,!1,{fileName:eu,lineNumber:67,columnNumber:11},void 0))},void 0,!1,{fileName:eu,lineNumber:65,columnNumber:7},void 0),(0,M.jsxDEV)(`div`,{className:`space-y-1`,children:[(0,M.jsxDEV)(`div`,{className:`w-full h-1 bg-white/20 rounded-full overflow-hidden`,children:(0,M.jsxDEV)(`div`,{className:`h-full bg-[#0071e3] rounded-full`,style:{width:`${o}%`}},void 0,!1,{fileName:eu,lineNumber:81,columnNumber:11},void 0)},void 0,!1,{fileName:eu,lineNumber:80,columnNumber:9},void 0),(0,M.jsxDEV)(`div`,{className:`flex justify-between text-[9px] text-[#86868b]`,children:[(0,M.jsxDEV)(`span`,{children:`1:42`},void 0,!1,{fileName:eu,lineNumber:84,columnNumber:11},void 0),(0,M.jsxDEV)(`span`,{children:a},void 0,!1,{fileName:eu,lineNumber:85,columnNumber:11},void 0)]},void 0,!0,{fileName:eu,lineNumber:83,columnNumber:9},void 0)]},void 0,!0,{fileName:eu,lineNumber:79,columnNumber:7},void 0)]},void 0,!0,{fileName:eu,lineNumber:35,columnNumber:5},void 0)},ru=[{manifest:Zl,implementation:$l,isInstalledByDefault:!0},{manifest:tu,implementation:{initialize:e=>{e.logger.info(`Initializing Audio Player Pro plugin...`),e.widgets.register({id:`audio_player_widget`,type:`audioPlayerWidget`,name:`Audio Player`,category:`cards`,description:`Audio playback card with waveform visualizer.`,icon:`Music`,defaultWidth:260,defaultHeight:140,defaultStyles:{backgroundColor:`#1c1c1e`,borderRadius:18,borderWidth:1,borderColor:`#2c2c2e`,color:`#ffffff`},defaultContent:{title:`Ambient Soundscapes`,artist:`Cyrus Studio`,duration:`3:45`,progress:45},propSchemas:[{key:`title`,label:`Track Title`,type:`text`,defaultValue:`Ambient Soundscapes`},{key:`artist`,label:`Artist Name`,type:`text`,defaultValue:`Cyrus Studio`},{key:`duration`,label:`Duration`,type:`text`,defaultValue:`3:45`},{key:`progress`,label:`Progress (%)`,type:`number`,defaultValue:45}],renderer:nu})}},isInstalledByDefault:!0},{manifest:{id:`com.cyrus.plugin.lottie-player`,name:`Lottie Vector Animations`,version:`1.2.0`,description:`Embed dynamic lightweight JSON animations with interactive hover & scroll triggers.`,author:`Motion Labs`,targetCyrusVersion:`^1.0.0`,permissions:[`widgets:register`],category:`widgets`,icon:`Sparkles`},implementation:{initialize:()=>{}}},{manifest:{id:`com.cyrus.plugin.supabase-connector`,name:`Supabase Realtime Connector`,version:`1.0.0`,description:`Direct live synchronization with Supabase PostgreSQL tables & auth sessions.`,author:`Cloud Sync Team`,targetCyrusVersion:`^1.0.0`,permissions:[`data:connector`,`storage:read_write`],category:`data`,icon:`Database`},implementation:{initialize:()=>{}}}];async function iu(){for(let e of ru)e.isInstalledByDefault&&!as.isPluginInstalled(e.manifest.id)&&await as.installPlugin(e.manifest,e.implementation)}function au(e){let t=e;if(typeof e==`string`)try{let n=e.replace(/```json\s*/gi,``).replace(/```\s*$/gi,``).trim();t=JSON.parse(n)}catch{return cu(`AI Generated Application`)}if(!t||typeof t!=`object`)return cu(`AI Generated Application`);let n=String(t.projectTitle||t.name||t.title||`AI Generated Project`),r=[`webapp`,`website`,`dashboard`,`landing`,`mobile`].includes(t.type)?t.type:`webapp`,i=t.theme===`dark`?`dark`:`light`,a=Array.isArray(t.pages)?t.pages:[];a.length===0&&Array.isArray(t.elements)&&(a=[{name:`Home`,elements:t.elements}]),a.length===0&&(a=[{name:`Page 1`,elements:[]}]);let o=a.map((e,t)=>{let n=Array.isArray(e.elements)?e.elements:[],r=40,a=n.map((e,t)=>{let n=String(e.type||`button`),i=lu(n),a=typeof e.x==`number`?e.x:n===`navbar`?40:40+t%2*440,o=typeof e.y==`number`?e.y:r,s=typeof e.width==`number`?e.width:i.width,c=typeof e.height==`number`?e.height:i.height;return r=Math.max(r,o+c+20),{id:e.id||`el_ir_${k()}`,type:n,name:e.name||`${n.charAt(0).toUpperCase()+n.slice(1)} ${t+1}`,x:a,y:o,width:s,height:c,styles:{backgroundColor:e.styles?.backgroundColor||i.styles.backgroundColor,textColor:e.styles?.textColor||i.styles.textColor,borderRadius:e.styles?.borderRadius??i.styles.borderRadius,borderWidth:e.styles?.borderWidth??i.styles.borderWidth,borderColor:e.styles?.borderColor||i.styles.borderColor,fontSize:e.styles?.fontSize||i.styles.fontSize,fontWeight:e.styles?.fontWeight||i.styles.fontWeight,shadow:e.styles?.shadow||i.styles.shadow,...e.styles},content:{...e.content,...e.label?{label:e.label}:{},...e.title?{title:e.title}:{},...e.text?{text:e.text}:{},...e.brandName?{brandName:e.brandName}:{},...e.placeholder?{placeholder:e.placeholder}:{}}}});return{id:e.id||`page_ir_${t+1}`,name:e.name||`Page ${t+1}`,slug:e.slug||`page-${t+1}`,backgroundColor:e.backgroundColor||(i===`dark`?`#0f0f12`:`#ffffff`),elements:a}});return{version:`1.0`,projectTitle:n,type:r,theme:i,palette:{primary:t.palette?.primary||`#0071e3`,secondary:t.palette?.secondary||`#7d2ae8`,background:t.palette?.background||(i===`dark`?`#0f0f12`:`#ffffff`),surface:t.palette?.surface||(i===`dark`?`#1c1c1e`:`#f5f5f7`),text:t.palette?.text||(i===`dark`?`#f5f5f7`:`#1d1d1f`)},pages:o}}function ou(e){let t=au(e);return{id:`proj_ir_${k()}`,name:t.projectTitle,type:t.type||`webapp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),settings:{canvasBackground:t.theme===`dark`?`#0f0f12`:`#ffffff`,primaryColor:t.palette?.primary||`#0071e3`,accentColor:t.palette?.secondary||`#7d2ae8`,theme:t.theme},designSystem:{mode:t.theme||`light`,colors:{primary:t.palette?.primary||`#0071e3`,secondary:t.palette?.secondary||`#7d2ae8`,background:t.palette?.background||`#ffffff`,surface:t.palette?.surface||`#f5f5f7`,text:t.palette?.text||`#1d1d1f`,textSecondary:`#86868b`,border:`#e5e5ea`}},pages:t.pages.map(e=>({id:e.id||`p_${k()}`,name:e.name||`Page 1`,slug:e.slug||`page-1`,settings:{backgroundColor:e.backgroundColor||`#ffffff`,width:1440,height:900},elements:e.elements.map(e=>({id:e.id||`el_${k()}`,type:e.type,name:e.name||`Element`,x:e.x||40,y:e.y||40,width:e.width||200,height:e.height||50,rotation:0,zIndex:1,styles:e.styles,content:e.content||{}}))}))}}function su(e){return{version:`1.0`,projectTitle:e.name,type:e.type||`webapp`,theme:e.designSystem?.mode||`light`,palette:{primary:e.designSystem?.colors?.primary||`#0071e3`,secondary:e.designSystem?.colors?.secondary||`#7d2ae8`,background:e.designSystem?.colors?.background||`#ffffff`,surface:e.designSystem?.colors?.surface||`#f5f5f7`,text:e.designSystem?.colors?.text||`#1d1d1f`},pages:e.pages.map(e=>({id:e.id,name:e.name,slug:e.slug,backgroundColor:e.settings.backgroundColor,elements:(e.elements||[]).map(e=>({id:e.id,type:e.type,name:e.name,x:e.x,y:e.y,width:e.width,height:e.height,styles:e.styles,content:e.content}))}))}}function cu(e){return{version:`1.0`,projectTitle:e,type:`webapp`,theme:`light`,pages:[{id:`p_1`,name:`Page 1`,slug:`page-1`,elements:[]}]}}function lu(e){switch(e){case`navbar`:return{width:800,height:64,styles:{backgroundColor:`#ffffff`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`}};case`sidebar`:return{width:260,height:600,styles:{backgroundColor:`#ffffff`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`}};case`lineChart`:return{width:460,height:260,styles:{backgroundColor:`#ffffff`,textColor:`#0071e3`,borderRadius:16,borderWidth:1,borderColor:`#e5e5ea`,shadow:`sm`}};case`searchBar`:return{width:320,height:44,styles:{backgroundColor:`#ffffff`,textColor:`#1d1d1f`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`subtle`,fontSize:14}};case`toggleSwitch`:return{width:200,height:44,styles:{backgroundColor:`#ffffff`,textColor:`#1d1d1f`,borderRadius:12,borderWidth:1,borderColor:`#e5e5ea`,shadow:`subtle`}};case`heading`:return{width:480,height:50,styles:{fontSize:32,fontWeight:`700`,textColor:`#1d1d1f`}};case`paragraph`:return{width:480,height:40,styles:{fontSize:14,fontWeight:`400`,textColor:`#6e6e73`}};default:return{width:140,height:42,styles:{backgroundColor:`#0071e3`,textColor:`#ffffff`,borderRadius:10,fontSize:14,fontWeight:`600`,shadow:`sm`}}}}var uu={};function du(e,t){uu[e]=t}function fu(e){return uu[e]||null}async function pu(e,t,n,r=!1){if(!e)return{code:`// No active page selected`,source:`builtin`,providerName:`Cyrus Engine`};let i=fu(t);if(i&&!r)return{code:i,source:`host_ai`,providerName:`Host AI (Live)`};let a=ui.getState().ai;if(a?.apiKey&&(r||a.provider!==`builtin`))try{let r=await mu(e,t,a,n);if(r)return{code:r,source:`connected_ai`,providerName:`${a.provider.toUpperCase()} (${a.model})`}}catch(e){console.warn(`[AI Code Service] Failed to generate with connected AI, falling back to built-in:`,e)}return{code:Ic(e,t),source:`builtin`,providerName:`Built-in Engine`}}async function mu(e,t,n,r){let i=r?su(r):{pages:[e]},a=`You are a world-class frontend architect.
787
787
  Generate complete, clean, production-ready ${t} code matching this UI layout:
788
788
  ${JSON.stringify(i,null,2)}
789
789
 
790
790
  Requirements:
791
791
  - Emit ONLY the final, runnable code file.
792
792
  - Do NOT include conversational filler.
793
- - Use responsive layout and modern syntax.`;if(n.provider===`openai`)return((await(await fetch(`https://api.openai.com/v1/chat/completions`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n.apiKey}`},body:JSON.stringify({model:n.model||`gpt-4o`,messages:[{role:`user`,content:a}],temperature:.2})})).json()).choices?.[0]?.message?.content||``).replace(/^```[a-zA-Z]*\n/,``).replace(/\n```$/,``).trim();if(n.provider===`anthropic`)return((await(await fetch(`https://api.anthropic.com/v1/messages`,{method:`POST`,headers:{"Content-Type":`application/json`,"x-api-key":n.apiKey||``,"anthropic-version":`2023-06-01`},body:JSON.stringify({model:n.model||`claude-3-5-sonnet-20241022`,max_tokens:4096,messages:[{role:`user`,content:a}]})})).json()).content?.[0]?.text||``).replace(/^```[a-zA-Z]*\n/,``).replace(/\n```$/,``).trim();if(n.provider===`gemini`){let e=n.model||`gemini-1.5-pro`;return((await(await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${e}:generateContent?key=${n.apiKey}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({contents:[{parts:[{text:a}]}]})})).json()).candidates?.[0]?.content?.parts?.[0]?.text||``).replace(/^```[a-zA-Z]*\n/,``).replace(/\n```$/,``).trim()}return null}function vu(){let{activeProject:e,setProject:t}=N();(0,A.useEffect)(()=>{if(!e||typeof window>`u`||window.parent===window)return;let t=uu(e);window.parent.postMessage({type:`CYRUS_STATE_CHANGED`,payload:{projectId:e.id,name:e.name,document:t}},`*`)},[e]),(0,A.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{let n=e.data;if(!(!n||typeof n!=`object`))switch(n.type){case`CYRUS_LOAD_IR`:if(n.payload){let e=lu(cu(n.payload));t(e)}break;case`CYRUS_SET_AI_CODE`:{let{framework:e,code:t}=n.payload||{};e&&t&&(mu(e,t),window.dispatchEvent(new CustomEvent(`cyrus-ai-code-updated`,{detail:{framework:e,code:t}})));break}case`CYRUS_UPDATE_ELEMENT`:{let{elementId:e,updates:t}=n.payload||{};if(e&&t){let n=N.getState();t.styles&&n.updateElementStyles(e,t.styles),t.content&&n.updateElementContent(e,t.content)}break}}};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[t])}function yu(e,t){if(typeof window>`u`||window.parent===window)return;let n=uu(t);window.parent.postMessage({type:`CYRUS_REQUEST_AI_CODE`,payload:{framework:e,document:n}},`*`)}var $=`C:/Users/Shadow/Desktop/cyrus/src/embed/CyrusEmbedRuntime.tsx`,bu={react:`react-tailwind`,flutter:`flutter`,swiftui:`swiftui`,html:`html-css`};function xu({projectId:e,initialIR:t,theme:n=`dark`}){vu();let r=N(e=>e.activeProject),i=N(e=>e.activePageId),a=N(e=>e.setProject),o=N(e=>e.addElement),{viewportMode:s,setViewportMode:c,zoom:l,setZoom:u,resetZoom:d}=j(),[f,p]=(0,A.useState)(`design`),[m,h]=(0,A.useState)(!1),[g,_]=(0,A.useState)(`react`),[v,y]=(0,A.useState)(!1),[b,x]=(0,A.useState)(!1),[S,C]=(0,A.useState)(!1),[ee,te]=(0,A.useState)({code:`// Initializing code engine...`,source:`builtin`,providerName:`Cyrus Engine`});(0,A.useEffect)(()=>{if(t){let e=lu(t);a(e)}else e&&Kr(e).then(t=>{if(t)a(t);else{let t=lu({version:`1.0`,projectTitle:e===`demo`?`SaaS Analytics Studio`:`Interactive App`,type:`dashboard`,theme:`dark`,pages:[{name:`Overview`,elements:[{type:`navbar`,name:`Navbar`,content:{brandName:`Apex SaaS`}},{type:`heading`,name:`Header`,styles:{fontSize:36,fontWeight:`800`,textColor:`#ffffff`},content:{text:`Executive Dashboard`}},{type:`searchBar`,name:`Search`,content:{placeholder:`Search metrics or users...`}},{type:`lineChart`,name:`Revenue Chart`,content:{title:`Monthly Recurring Revenue (MRR)`}},{type:`button`,name:`CTA`,styles:{backgroundColor:`#0071e3`,textColor:`#ffffff`},content:{label:`Export Report`}}]}]});a(t)}})},[e,t,a]);let T=r?.pages.find(e=>e.id===i)||r?.pages[0],ne=(0,A.useCallback)(async(e=!1)=>{if(!T)return;let t=bu[g];e&&C(!0);try{let n=await gu(T,t,r||void 0,e);te(n)}finally{e&&C(!1)}},[T,g,r]);if((0,A.useEffect)(()=>{ne(!1);let e=()=>ne(!1);return window.addEventListener(`cyrus-ai-code-updated`,e),()=>window.removeEventListener(`cyrus-ai-code-updated`,e)},[ne]),!r||!T)return(0,M.jsxDEV)(`div`,{className:`w-full h-screen bg-[#09090b] text-white flex flex-col items-center justify-center font-sans`,children:(0,M.jsxDEV)(`div`,{className:`flex flex-col items-center gap-3 p-8 rounded-3xl bg-[#121215] border border-white/10 shadow-2xl animate-pulse`,children:[(0,M.jsxDEV)(`div`,{className:`w-12 h-12 rounded-2xl bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] flex items-center justify-center shadow-lg shadow-[#7d2ae8]/30`,children:(0,M.jsxDEV)(me,{className:`w-6 h-6 text-white`},void 0,!1,{fileName:$,lineNumber:125,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:124,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-sm font-semibold tracking-wide text-zinc-300`,children:`Initializing Cyrus Studio Engine...`},void 0,!1,{fileName:$,lineNumber:127,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-xs text-zinc-500 font-mono`,children:`Loading vector canvas & AI bridge`},void 0,!1,{fileName:$,lineNumber:128,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:123,columnNumber:9},this)},void 0,!1,{fileName:$,lineNumber:122,columnNumber:7},this);let E=e=>{if(!T)return;let t=`el_${k()}`,n=e===`toggleSwitch`||e===`switch`,r=e===`lineChart`,i=e===`navbar`,a=e===`searchBar`,s=e===`button`,c={id:t,type:n?`switch`:e,name:`${e.charAt(0).toUpperCase()+e.slice(1)}`,x:100,y:150,width:i?800:r?480:n?220:a?260:160,height:r?260:i?64:n?48:44,rotation:0,zIndex:(T.elements?.length||0)+1,styles:{backgroundColor:s?`#0071e3`:`#18181d`,textColor:`#ffffff`,borderRadius:12,shadow:`sm`,borderWidth:+!s,borderColor:`rgba(255, 255, 255, 0.1)`},content:{label:s?`New Button`:n?`Enable Feature`:void 0,title:r?`Analytics Overview`:void 0,placeholder:a?`Search anything...`:void 0,brandName:i?`Brand Studio`:void 0,enabled:!0}};o(c),x(!1)};return(0,M.jsxDEV)(`div`,{className:`w-full h-screen flex flex-col bg-[#09090b] text-[#f4f4f5] font-sans select-none overflow-hidden relative`,children:[(0,M.jsxDEV)(`header`,{className:`h-14 px-5 bg-[#121215]/90 backdrop-blur-xl border-b border-white/[0.08] flex items-center justify-between z-40 shrink-0`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[#34c759]/10 border border-[#34c759]/20 text-[#34c759] text-[11px] font-semibold`,children:[(0,M.jsxDEV)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-[#34c759] animate-pulse`},void 0,!1,{fileName:$,lineNumber:195,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`LIVE BRIDGE`},void 0,!1,{fileName:$,lineNumber:196,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:194,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:193,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 bg-[#18181b]/80 p-1 rounded-2xl border border-white/[0.08]`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>p(`design`),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-xl text-xs font-semibold transition cursor-pointer ${f===`design`?`bg-gradient-to-r from-[#7d2ae8] to-[#6019c7] text-white shadow-md`:`text-zinc-400 hover:text-zinc-200`}`,children:[(0,M.jsxDEV)(pe,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:210,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Canvas`},void 0,!1,{fileName:$,lineNumber:211,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:202,columnNumber:11},this),(0,M.jsxDEV)(`button`,{onClick:()=>p(`interactive`),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-xl text-xs font-semibold transition cursor-pointer ${f===`interactive`?`bg-gradient-to-r from-[#0071e3] to-[#005bb5] text-white shadow-md`:`text-zinc-400 hover:text-zinc-200`}`,children:[(0,M.jsxDEV)(w,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:222,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Live Test`},void 0,!1,{fileName:$,lineNumber:223,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:214,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-4 w-px bg-white/10 mx-1`},void 0,!1,{fileName:$,lineNumber:226,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-0.5`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>c(`desktop`),className:`p-1.5 rounded-lg transition cursor-pointer ${s===`desktop`?`bg-white/10 text-white`:`text-zinc-400 hover:text-zinc-200`}`,title:`Desktop View (1440px)`,children:(0,M.jsxDEV)(_e,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:236,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:229,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>c(`tablet`),className:`p-1.5 rounded-lg transition cursor-pointer ${s===`tablet`?`bg-white/10 text-white`:`text-zinc-400 hover:text-zinc-200`}`,title:`Tablet View (768px)`,children:(0,M.jsxDEV)(kr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:245,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:238,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>c(`mobile`),className:`p-1.5 rounded-lg transition cursor-pointer ${s===`mobile`?`bg-white/10 text-white`:`text-zinc-400 hover:text-zinc-200`}`,title:`Mobile View (390px)`,children:(0,M.jsxDEV)(mt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:254,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:247,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:228,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:201,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 relative`,children:[(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>x(!b),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-xl bg-white/5 hover:bg-white/10 border border-white/10 text-zinc-200 text-xs font-semibold transition cursor-pointer`,children:[(0,M.jsxDEV)(tt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:268,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Add Element`},void 0,!1,{fileName:$,lineNumber:269,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:264,columnNumber:13},this),b&&(0,M.jsxDEV)(`div`,{className:`absolute right-0 top-11 w-48 p-1.5 bg-[#18181b] border border-white/10 rounded-2xl shadow-2xl z-50 flex flex-col gap-1 text-xs font-sans animate-in fade-in zoom-in-95 duration-150`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>E(`button`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Button`},void 0,!1,{fileName:$,lineNumber:275,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`UI`},void 0,!1,{fileName:$,lineNumber:276,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:274,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`toggleSwitch`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Toggle Switch`},void 0,!1,{fileName:$,lineNumber:279,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Form`},void 0,!1,{fileName:$,lineNumber:280,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:278,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`searchBar`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Search Bar`},void 0,!1,{fileName:$,lineNumber:283,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Input`},void 0,!1,{fileName:$,lineNumber:284,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:282,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`lineChart`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Analytics Chart`},void 0,!1,{fileName:$,lineNumber:287,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Data`},void 0,!1,{fileName:$,lineNumber:288,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:286,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`navbar`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Navbar`},void 0,!1,{fileName:$,lineNumber:291,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Header`},void 0,!1,{fileName:$,lineNumber:292,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:290,columnNumber:17},this)]},void 0,!0,{fileName:$,lineNumber:273,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:263,columnNumber:11},this),(0,M.jsxDEV)(`button`,{onClick:()=>h(!m),className:`flex items-center gap-1.5 px-3.5 py-1.5 rounded-xl font-semibold text-xs transition cursor-pointer ${m?`bg-white text-black font-bold`:`bg-gradient-to-r from-[#0071e3] to-[#005bb5] hover:opacity-95 text-white shadow-lg shadow-[#0071e3]/20`}`,children:[(0,M.jsxDEV)(Pt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:307,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:m?`Hide Code`:`Inspect Code`},void 0,!1,{fileName:$,lineNumber:308,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:299,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:260,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:190,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 w-full h-full relative overflow-hidden bg-[#0c0c0e]`,children:[f===`design`?(0,M.jsxDEV)(Oc,{page:T},void 0,!1,{fileName:$,lineNumber:316,columnNumber:11},this):(0,M.jsxDEV)(`div`,{className:`w-full h-full overflow-auto flex justify-center p-6`,children:(0,M.jsxDEV)(`div`,{className:`w-full max-w-[1440px] bg-white rounded-3xl overflow-hidden shadow-2xl`,children:(0,M.jsxDEV)(Rl,{project:r,initialPageId:T.id},void 0,!1,{fileName:$,lineNumber:320,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:319,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:318,columnNumber:11},this),f===`design`&&(0,M.jsxDEV)(`div`,{className:`absolute bottom-6 left-6 flex items-center gap-1 p-1.5 rounded-2xl bg-[#18181b]/90 backdrop-blur-md border border-white/10 shadow-xl text-xs z-30`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>u(Math.max(.2,Number((l-.1).toFixed(2)))),className:`p-1.5 rounded-xl hover:bg-white/10 text-zinc-300 transition cursor-pointer`,title:`Zoom Out`,children:(0,M.jsxDEV)(ir,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:334,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:328,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>d(),className:`px-2 py-1 rounded-xl hover:bg-white/10 text-zinc-300 font-mono text-[11px] font-bold cursor-pointer`,title:`Reset Zoom to 100%`,children:[Math.round(l*100),`%`]},void 0,!0,{fileName:$,lineNumber:336,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>u(Math.min(3,Number((l+.1).toFixed(2)))),className:`p-1.5 rounded-xl hover:bg-white/10 text-zinc-300 transition cursor-pointer`,title:`Zoom In`,children:(0,M.jsxDEV)(An,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:350,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:344,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:327,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:314,columnNumber:7},this),m&&(0,M.jsxDEV)(`aside`,{className:`absolute right-0 top-14 bottom-0 w-full max-w-xl bg-[#121215]/95 backdrop-blur-2xl border-l border-white/10 shadow-2xl z-50 flex flex-col animate-in slide-in-from-right duration-200 font-mono`,children:[(0,M.jsxDEV)(`div`,{className:`h-12 px-4 border-b border-white/10 flex items-center justify-between text-xs bg-black/30`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>_(`react`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`react`?`bg-[#0071e3] text-white`:`text-zinc-400 hover:text-white`}`,children:`React + Tailwind`},void 0,!1,{fileName:$,lineNumber:363,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>_(`flutter`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`flutter`?`bg-[#7d2ae8] text-white`:`text-zinc-400 hover:text-white`}`,children:`Flutter`},void 0,!1,{fileName:$,lineNumber:371,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>_(`swiftui`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`swiftui`?`bg-[#ff5f56] text-white`:`text-zinc-400 hover:text-white`}`,children:`Swift / SwiftUI`},void 0,!1,{fileName:$,lineNumber:379,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>_(`html`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`html`?`bg-zinc-700 text-white`:`text-zinc-400 hover:text-white`}`,children:`HTML / CSS`},void 0,!1,{fileName:$,lineNumber:387,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:362,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>{navigator.clipboard.writeText(ee.code),y(!0),setTimeout(()=>y(!1),2e3)},className:`flex items-center gap-1.5 px-3 py-1 rounded-lg bg-white/10 hover:bg-white/20 text-white font-sans text-xs transition cursor-pointer`,children:[v?(0,M.jsxDEV)(jr,{className:`w-3.5 h-3.5 text-[#34c759]`},void 0,!1,{fileName:$,lineNumber:402,columnNumber:27},this):(0,M.jsxDEV)(on,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:402,columnNumber:78},this),(0,M.jsxDEV)(`span`,{children:v?`Copied`:`Copy`},void 0,!1,{fileName:$,lineNumber:403,columnNumber:17},this)]},void 0,!0,{fileName:$,lineNumber:398,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>h(!1),className:`p-1 rounded-lg text-zinc-400 hover:text-white cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:$,lineNumber:406,columnNumber:17},this)},void 0,!1,{fileName:$,lineNumber:405,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:397,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:361,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-9 px-4 bg-[#0a0a0c] border-b border-white/[0.06] flex items-center justify-between text-[11px] font-sans`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`text-zinc-500 font-medium`,children:`Source:`},void 0,!1,{fileName:$,lineNumber:414,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 px-2 py-0.5 rounded-md font-semibold text-[10.5px] ${ee.source===`host_ai`?`bg-[#34c759]/10 border border-[#34c759]/30 text-[#34c759]`:ee.source===`connected_ai`?`bg-[#7d2ae8]/15 border border-[#7d2ae8]/30 text-[#b37af7]`:`bg-white/5 border border-white/10 text-zinc-400`}`,children:[ee.source===`builtin`?(0,M.jsxDEV)(On,{className:`w-3 h-3`},void 0,!1,{fileName:$,lineNumber:422,columnNumber:52},this):(0,M.jsxDEV)(me,{className:`w-3 h-3`},void 0,!1,{fileName:$,lineNumber:422,columnNumber:82},this),(0,M.jsxDEV)(`span`,{children:ee.providerName},void 0,!1,{fileName:$,lineNumber:423,columnNumber:17},this)]},void 0,!0,{fileName:$,lineNumber:415,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:413,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>{r&&yu(bu[g],r),ne(!0)},disabled:S,className:`flex items-center gap-1.5 px-2.5 py-1 rounded-md bg-white/5 hover:bg-white/10 text-zinc-300 text-[11px] font-medium transition cursor-pointer disabled:opacity-50`,title:`Request live AI compilation from connected host or API key`,children:[(0,M.jsxDEV)(Or,{className:`w-3 h-3 ${S?`animate-spin text-[#0071e3]`:``}`},void 0,!1,{fileName:$,lineNumber:433,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:S?`Synthesizing...`:`Synthesize with AI`},void 0,!1,{fileName:$,lineNumber:434,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:427,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:412,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex-1 p-4 overflow-auto bg-[#0a0a0c] text-xs text-zinc-300 leading-relaxed font-mono`,children:(0,M.jsxDEV)(`pre`,{className:`whitespace-pre`,children:ee.code},void 0,!1,{fileName:$,lineNumber:440,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:439,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:358,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:187,columnNumber:5},this)}var Su=`C:/Users/Shadow/Desktop/cyrus/src/app/Router.tsx`;function Cu(){let e=window.location.hash.replace(/^#\/?/,``),t=window.location.pathname.replace(/^\//,``),n=e||t||`dashboard`;return n===`feedback`||n===`dashboard/feedback`||n.endsWith(`/feedback`)||n===`feedbacks`?{path:`feedback`}:n===`comentos`||n===`comentos/review`||n.startsWith(`comentos`)?{path:`comentos`}:n.startsWith(`embed/`)?{path:`embed`,projectId:n.replace(`embed/`,``)}:n.startsWith(`editor/`)?{path:`editor`,projectId:n.replace(`editor/`,``)}:n.startsWith(`preview/`)||n.startsWith(`share/`)?{path:`preview`,projectId:n.replace(/^(preview|share)\//,``)}:n===`settings`?{path:`settings`}:n===`login`||n===`signup`?{path:`login`}:{path:`dashboard`}}function wu(){let[e,t]=(0,A.useState)(Cu),{session:n,isLoading:r,initAuth:i}=Ri();(0,A.useEffect)(()=>{Hr(),su(),i();let e=()=>{t(Cu())};return window.addEventListener(`popstate`,e),window.addEventListener(`hashchange`,e),()=>{window.removeEventListener(`popstate`,e),window.removeEventListener(`hashchange`,e)}},[]);let a=e=>{t(e),e.path===`editor`?window.location.hash=`/editor/${e.projectId}`:e.path===`preview`?window.location.hash=`/preview/${e.projectId}`:e.path===`settings`?window.location.hash=`/settings`:e.path===`feedback`?window.location.hash=`/dashboard/feedback`:e.path===`comentos`?window.location.hash=`/comentos/review`:e.path===`login`?window.location.hash=`/login`:window.location.hash=`/dashboard`};return(0,A.useEffect)(()=>{!r&&e.path===`login`&&n.isAuthenticated&&a({path:`dashboard`})},[r,e.path,n.isAuthenticated]),r?(0,M.jsxDEV)(`div`,{className:`h-full w-full flex items-center justify-center bg-[#f5f5f7] dark:bg-black`,children:[(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#7d2ae8]`},void 0,!1,{fileName:Su,lineNumber:118,columnNumber:9},this),(0,M.jsxDEV)(Ql,{},void 0,!1,{fileName:Su,lineNumber:119,columnNumber:9},this)]},void 0,!0,{fileName:Su,lineNumber:117,columnNumber:7},this):e.path!==`login`&&e.path!==`preview`&&e.path!==`comentos`&&e.path!==`embed`&&!n.isAuthenticated?(0,M.jsxDEV)(`div`,{className:`h-full w-full`,children:[(0,M.jsxDEV)(Ul,{onAuthenticated:()=>a({path:`dashboard`})},void 0,!1,{fileName:Su,lineNumber:128,columnNumber:9},this),(0,M.jsxDEV)(Ql,{},void 0,!1,{fileName:Su,lineNumber:129,columnNumber:9},this)]},void 0,!0,{fileName:Su,lineNumber:127,columnNumber:7},this):(0,M.jsxDEV)(`div`,{className:`h-full w-full`,children:[e.path===`embed`?(0,M.jsxDEV)(xu,{projectId:e.projectId},void 0,!1,{fileName:Su,lineNumber:137,columnNumber:9},this):e.path===`feedback`?(0,M.jsxDEV)(Xl,{onBack:()=>a({path:`dashboard`})},void 0,!1,{fileName:Su,lineNumber:139,columnNumber:9},this):e.path===`comentos`?(0,M.jsxDEV)(Jl,{onBack:()=>a({path:n.isAuthenticated?`dashboard`:`login`})},void 0,!1,{fileName:Su,lineNumber:141,columnNumber:9},this):e.path===`login`?(0,M.jsxDEV)(Ul,{onAuthenticated:()=>a({path:`dashboard`})},void 0,!1,{fileName:Su,lineNumber:143,columnNumber:9},this):e.path===`dashboard`||e.path===`projects`?(0,M.jsxDEV)(Ka,{onOpenProject:e=>a({path:`editor`,projectId:e}),onOpenSettings:()=>a({path:`settings`}),onOpenFeedback:()=>a({path:`feedback`})},void 0,!1,{fileName:Su,lineNumber:145,columnNumber:9},this):e.path===`editor`?(0,M.jsxDEV)(gl,{projectId:e.projectId,onNavigateDashboard:()=>a({path:`dashboard`}),onNavigateSettings:()=>a({path:`settings`})},void 0,!1,{fileName:Su,lineNumber:151,columnNumber:9},this):e.path===`preview`?(0,M.jsxDEV)(Hl,{projectId:e.projectId,onExit:()=>a({path:`editor`,projectId:e.projectId})},void 0,!1,{fileName:Su,lineNumber:157,columnNumber:9},this):(0,M.jsxDEV)(jl,{onBack:()=>a({path:`dashboard`})},void 0,!1,{fileName:Su,lineNumber:162,columnNumber:9},this),(0,M.jsxDEV)(Ql,{},void 0,!1,{fileName:Su,lineNumber:166,columnNumber:7},this)]},void 0,!0,{fileName:Su,lineNumber:135,columnNumber:5},this)}var Tu=`C:/Users/Shadow/Desktop/cyrus/src/App.tsx`;function Eu(){let e=ui(e=>e.appearance.theme);return(0,A.useEffect)(()=>{if((e=>{let t=e===`dark`;e===`system`&&(t=window.matchMedia(`(prefers-color-scheme: dark)`).matches),t?(document.documentElement.classList.add(`dark`),document.documentElement.setAttribute(`data-theme`,`dark`)):(document.documentElement.classList.remove(`dark`),document.documentElement.setAttribute(`data-theme`,`light`))})(e),e===`system`){let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=e=>{e.matches?(document.documentElement.classList.add(`dark`),document.documentElement.setAttribute(`data-theme`,`dark`)):(document.documentElement.classList.remove(`dark`),document.documentElement.setAttribute(`data-theme`,`light`))};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}},[e]),(0,M.jsxDEV)(Ts,{children:(0,M.jsxDEV)(wu,{},void 0,!1,{fileName:Tu,lineNumber:46,columnNumber:7},this)},void 0,!1,{fileName:Tu,lineNumber:45,columnNumber:5},this)}var Du=`C:/Users/Shadow/Desktop/cyrus/src/main.tsx`;window.clsx=O,(0,ci.createRoot)(document.getElementById(`root`)).render((0,M.jsxDEV)(A.StrictMode,{children:(0,M.jsxDEV)(Eu,{},void 0,!1,{fileName:Du,lineNumber:11,columnNumber:5},void 0)},void 0,!1,{fileName:Du,lineNumber:10,columnNumber:3},void 0));export{Fi as _,gc as a,Ts as c,oa as d,Ki as f,Pi as g,Ri as h,nl as i,N as l,Hi as m,rl as n,hc as o,Wi as p,il as r,Cc as s,Rl as t,ca as u,j as v,ui as y};
793
+ - Use responsive layout and modern syntax.`;if(n.provider===`openai`)return((await(await fetch(`https://api.openai.com/v1/chat/completions`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n.apiKey}`},body:JSON.stringify({model:n.model||`gpt-4o`,messages:[{role:`user`,content:a}],temperature:.2})})).json()).choices?.[0]?.message?.content||``).replace(/^```[a-zA-Z]*\n/,``).replace(/\n```$/,``).trim();if(n.provider===`anthropic`)return((await(await fetch(`https://api.anthropic.com/v1/messages`,{method:`POST`,headers:{"Content-Type":`application/json`,"x-api-key":n.apiKey||``,"anthropic-version":`2023-06-01`},body:JSON.stringify({model:n.model||`claude-3-5-sonnet-20241022`,max_tokens:4096,messages:[{role:`user`,content:a}]})})).json()).content?.[0]?.text||``).replace(/^```[a-zA-Z]*\n/,``).replace(/\n```$/,``).trim();if(n.provider===`gemini`){let e=n.model||`gemini-1.5-pro`;return((await(await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${e}:generateContent?key=${n.apiKey}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({contents:[{parts:[{text:a}]}]})})).json()).candidates?.[0]?.content?.parts?.[0]?.text||``).replace(/^```[a-zA-Z]*\n/,``).replace(/\n```$/,``).trim()}return null}function hu(){let{activeProject:e,setProject:t}=N();(0,A.useEffect)(()=>{if(!e||typeof window>`u`||window.parent===window)return;let t=su(e);window.parent.postMessage({type:`CYRUS_STATE_CHANGED`,payload:{projectId:e.id,name:e.name,document:t}},`*`)},[e]),(0,A.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{let n=e.data;if(!(!n||typeof n!=`object`))switch(n.type){case`CYRUS_LOAD_IR`:if(n.payload){let e=ou(au(n.payload));t(e)}break;case`CYRUS_SET_AI_CODE`:{let{framework:e,code:t}=n.payload||{};e&&t&&(du(e,t),window.dispatchEvent(new CustomEvent(`cyrus-ai-code-updated`,{detail:{framework:e,code:t}})));break}case`CYRUS_UPDATE_ELEMENT`:{let{elementId:e,updates:t}=n.payload||{};if(e&&t){let n=N.getState();t.styles&&n.updateElementStyles(e,t.styles),t.content&&n.updateElementContent(e,t.content)}break}}};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[t])}function gu(e,t){if(typeof window>`u`||window.parent===window)return;let n=su(t);window.parent.postMessage({type:`CYRUS_REQUEST_AI_CODE`,payload:{framework:e,document:n}},`*`)}var $=`C:/Users/Shadow/Desktop/cyrus/src/embed/CyrusEmbedRuntime.tsx`,_u={react:`react-tailwind`,flutter:`flutter`,swiftui:`swiftui`,html:`html-css`};function vu({projectId:e,initialIR:t,theme:n=`dark`}){hu();let r=N(e=>e.activeProject),i=N(e=>e.activePageId),a=N(e=>e.setProject),o=N(e=>e.addElement),{viewportMode:s,setViewportMode:c,zoom:l,setZoom:u,resetZoom:d}=j(),[f,p]=(0,A.useState)(`design`),[m,h]=(0,A.useState)(!1),[g,_]=(0,A.useState)(`react`),[v,y]=(0,A.useState)(!1),[b,x]=(0,A.useState)(!1),[S,C]=(0,A.useState)(!1),[ee,te]=(0,A.useState)({code:`// Initializing code engine...`,source:`builtin`,providerName:`Cyrus Engine`});(0,A.useEffect)(()=>{if(t){let e=ou(t);a(e)}else e&&Kr(e).then(t=>{if(t)a(t);else{let t=ou({version:`1.0`,projectTitle:e===`demo`?`SaaS Analytics Studio`:`Interactive App`,type:`dashboard`,theme:`dark`,pages:[{name:`Overview`,elements:[{type:`navbar`,name:`Navbar`,content:{brandName:`Apex SaaS`}},{type:`heading`,name:`Header`,styles:{fontSize:36,fontWeight:`800`,textColor:`#ffffff`},content:{text:`Executive Dashboard`}},{type:`searchBar`,name:`Search`,content:{placeholder:`Search metrics or users...`}},{type:`lineChart`,name:`Revenue Chart`,content:{title:`Monthly Recurring Revenue (MRR)`}},{type:`button`,name:`CTA`,styles:{backgroundColor:`#0071e3`,textColor:`#ffffff`},content:{label:`Export Report`}}]}]});a(t)}})},[e,t,a]);let T=r?.pages.find(e=>e.id===i)||r?.pages[0],ne=(0,A.useCallback)(async(e=!1)=>{if(!T)return;let t=_u[g];e&&C(!0);try{let n=await pu(T,t,r||void 0,e);te(n)}finally{e&&C(!1)}},[T,g,r]);if((0,A.useEffect)(()=>{ne(!1);let e=()=>ne(!1);return window.addEventListener(`cyrus-ai-code-updated`,e),()=>window.removeEventListener(`cyrus-ai-code-updated`,e)},[ne]),!r||!T)return(0,M.jsxDEV)(`div`,{className:`w-full h-screen bg-[#09090b] text-white flex flex-col items-center justify-center font-sans`,children:(0,M.jsxDEV)(`div`,{className:`flex flex-col items-center gap-3 p-8 rounded-3xl bg-[#121215] border border-white/10 shadow-2xl animate-pulse`,children:[(0,M.jsxDEV)(`div`,{className:`w-12 h-12 rounded-2xl bg-gradient-to-tr from-[#7d2ae8] to-[#0071e3] flex items-center justify-center shadow-lg shadow-[#7d2ae8]/30`,children:(0,M.jsxDEV)(me,{className:`w-6 h-6 text-white`},void 0,!1,{fileName:$,lineNumber:125,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:124,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-sm font-semibold tracking-wide text-zinc-300`,children:`Initializing Cyrus Studio Engine...`},void 0,!1,{fileName:$,lineNumber:127,columnNumber:11},this),(0,M.jsxDEV)(`span`,{className:`text-xs text-zinc-500 font-mono`,children:`Loading vector canvas & AI bridge`},void 0,!1,{fileName:$,lineNumber:128,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:123,columnNumber:9},this)},void 0,!1,{fileName:$,lineNumber:122,columnNumber:7},this);let E=e=>{if(!T)return;let t=`el_${k()}`,n=e===`toggleSwitch`||e===`switch`,r=e===`lineChart`,i=e===`navbar`,a=e===`searchBar`,s=e===`button`,c={id:t,type:n?`switch`:e,name:`${e.charAt(0).toUpperCase()+e.slice(1)}`,x:100,y:150,width:i?800:r?480:n?220:a?260:160,height:r?260:i?64:n?48:44,rotation:0,zIndex:(T.elements?.length||0)+1,styles:{backgroundColor:s?`#0071e3`:`#18181d`,textColor:`#ffffff`,borderRadius:12,shadow:`sm`,borderWidth:+!s,borderColor:`rgba(255, 255, 255, 0.1)`},content:{label:s?`New Button`:n?`Enable Feature`:void 0,title:r?`Analytics Overview`:void 0,placeholder:a?`Search anything...`:void 0,brandName:i?`Brand Studio`:void 0,enabled:!0}};o(c),x(!1)};return(0,M.jsxDEV)(`div`,{className:`w-full h-screen flex flex-col bg-[#09090b] text-[#f4f4f5] font-sans select-none overflow-hidden relative`,children:[(0,M.jsxDEV)(`header`,{className:`h-14 px-5 bg-[#121215]/90 backdrop-blur-xl border-b border-white/[0.08] flex items-center justify-between z-40 shrink-0`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2.5`,children:(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[#34c759]/10 border border-[#34c759]/20 text-[#34c759] text-[11px] font-semibold`,children:[(0,M.jsxDEV)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-[#34c759] animate-pulse`},void 0,!1,{fileName:$,lineNumber:195,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`LIVE BRIDGE`},void 0,!1,{fileName:$,lineNumber:196,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:194,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:193,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 bg-[#18181b]/80 p-1 rounded-2xl border border-white/[0.08]`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>p(`design`),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-xl text-xs font-semibold transition cursor-pointer ${f===`design`?`bg-gradient-to-r from-[#7d2ae8] to-[#6019c7] text-white shadow-md`:`text-zinc-400 hover:text-zinc-200`}`,children:[(0,M.jsxDEV)(pe,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:210,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Canvas`},void 0,!1,{fileName:$,lineNumber:211,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:202,columnNumber:11},this),(0,M.jsxDEV)(`button`,{onClick:()=>p(`interactive`),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-xl text-xs font-semibold transition cursor-pointer ${f===`interactive`?`bg-gradient-to-r from-[#0071e3] to-[#005bb5] text-white shadow-md`:`text-zinc-400 hover:text-zinc-200`}`,children:[(0,M.jsxDEV)(w,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:222,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:`Live Test`},void 0,!1,{fileName:$,lineNumber:223,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:214,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-4 w-px bg-white/10 mx-1`},void 0,!1,{fileName:$,lineNumber:226,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-0.5`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>c(`desktop`),className:`p-1.5 rounded-lg transition cursor-pointer ${s===`desktop`?`bg-white/10 text-white`:`text-zinc-400 hover:text-zinc-200`}`,title:`Desktop View (1440px)`,children:(0,M.jsxDEV)(_e,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:236,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:229,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>c(`tablet`),className:`p-1.5 rounded-lg transition cursor-pointer ${s===`tablet`?`bg-white/10 text-white`:`text-zinc-400 hover:text-zinc-200`}`,title:`Tablet View (768px)`,children:(0,M.jsxDEV)(kr,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:245,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:238,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>c(`mobile`),className:`p-1.5 rounded-lg transition cursor-pointer ${s===`mobile`?`bg-white/10 text-white`:`text-zinc-400 hover:text-zinc-200`}`,title:`Mobile View (390px)`,children:(0,M.jsxDEV)(mt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:254,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:247,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:228,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:201,columnNumber:9},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2 relative`,children:[(0,M.jsxDEV)(`div`,{className:`relative`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>x(!b),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-xl bg-white/5 hover:bg-white/10 border border-white/10 text-zinc-200 text-xs font-semibold transition cursor-pointer`,children:[(0,M.jsxDEV)(tt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:268,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:`Add Element`},void 0,!1,{fileName:$,lineNumber:269,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:264,columnNumber:13},this),b&&(0,M.jsxDEV)(`div`,{className:`absolute right-0 top-11 w-48 p-1.5 bg-[#18181b] border border-white/10 rounded-2xl shadow-2xl z-50 flex flex-col gap-1 text-xs font-sans animate-in fade-in zoom-in-95 duration-150`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>E(`button`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Button`},void 0,!1,{fileName:$,lineNumber:275,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`UI`},void 0,!1,{fileName:$,lineNumber:276,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:274,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`toggleSwitch`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Toggle Switch`},void 0,!1,{fileName:$,lineNumber:279,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Form`},void 0,!1,{fileName:$,lineNumber:280,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:278,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`searchBar`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Search Bar`},void 0,!1,{fileName:$,lineNumber:283,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Input`},void 0,!1,{fileName:$,lineNumber:284,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:282,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`lineChart`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Analytics Chart`},void 0,!1,{fileName:$,lineNumber:287,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Data`},void 0,!1,{fileName:$,lineNumber:288,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:286,columnNumber:17},this),(0,M.jsxDEV)(`button`,{onClick:()=>E(`navbar`),className:`w-full px-3 py-2 rounded-xl text-left hover:bg-white/10 text-zinc-200 flex items-center justify-between cursor-pointer`,children:[(0,M.jsxDEV)(`span`,{children:`Navbar`},void 0,!1,{fileName:$,lineNumber:291,columnNumber:19},this),(0,M.jsxDEV)(`span`,{className:`text-[10px] text-zinc-500`,children:`Header`},void 0,!1,{fileName:$,lineNumber:292,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:290,columnNumber:17},this)]},void 0,!0,{fileName:$,lineNumber:273,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:263,columnNumber:11},this),(0,M.jsxDEV)(`button`,{onClick:()=>h(!m),className:`flex items-center gap-1.5 px-3.5 py-1.5 rounded-xl font-semibold text-xs transition cursor-pointer ${m?`bg-white text-black font-bold`:`bg-gradient-to-r from-[#0071e3] to-[#005bb5] hover:opacity-95 text-white shadow-lg shadow-[#0071e3]/20`}`,children:[(0,M.jsxDEV)(Pt,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:307,columnNumber:13},this),(0,M.jsxDEV)(`span`,{children:m?`Hide Code`:`Inspect Code`},void 0,!1,{fileName:$,lineNumber:308,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:299,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:260,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:190,columnNumber:7},this),(0,M.jsxDEV)(`div`,{className:`flex-1 w-full h-full relative overflow-hidden bg-[#0c0c0e]`,children:[f===`design`?(0,M.jsxDEV)(Oc,{page:T},void 0,!1,{fileName:$,lineNumber:316,columnNumber:11},this):(0,M.jsxDEV)(`div`,{className:`w-full h-full overflow-auto flex justify-center p-6`,children:(0,M.jsxDEV)(`div`,{className:`w-full max-w-[1440px] bg-white rounded-3xl overflow-hidden shadow-2xl`,children:(0,M.jsxDEV)(Fl,{project:r,initialPageId:T.id},void 0,!1,{fileName:$,lineNumber:320,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:319,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:318,columnNumber:11},this),f===`design`&&(0,M.jsxDEV)(`div`,{className:`absolute bottom-6 left-6 flex items-center gap-1 p-1.5 rounded-2xl bg-[#18181b]/90 backdrop-blur-md border border-white/10 shadow-xl text-xs z-30`,children:[(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>u(Math.max(.2,Number((l-.1).toFixed(2)))),className:`p-1.5 rounded-xl hover:bg-white/10 text-zinc-300 transition cursor-pointer`,title:`Zoom Out`,children:(0,M.jsxDEV)(ir,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:334,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:328,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>d(),className:`px-2 py-1 rounded-xl hover:bg-white/10 text-zinc-300 font-mono text-[11px] font-bold cursor-pointer`,title:`Reset Zoom to 100%`,children:[Math.round(l*100),`%`]},void 0,!0,{fileName:$,lineNumber:336,columnNumber:13},this),(0,M.jsxDEV)(`button`,{type:`button`,onClick:()=>u(Math.min(3,Number((l+.1).toFixed(2)))),className:`p-1.5 rounded-xl hover:bg-white/10 text-zinc-300 transition cursor-pointer`,title:`Zoom In`,children:(0,M.jsxDEV)(An,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:350,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:344,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:327,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:314,columnNumber:7},this),m&&(0,M.jsxDEV)(`aside`,{className:`absolute right-0 top-14 bottom-0 w-full max-w-xl bg-[#121215]/95 backdrop-blur-2xl border-l border-white/10 shadow-2xl z-50 flex flex-col animate-in slide-in-from-right duration-200 font-mono`,children:[(0,M.jsxDEV)(`div`,{className:`h-12 px-4 border-b border-white/10 flex items-center justify-between text-xs bg-black/30`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>_(`react`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`react`?`bg-[#0071e3] text-white`:`text-zinc-400 hover:text-white`}`,children:`React + Tailwind`},void 0,!1,{fileName:$,lineNumber:363,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>_(`flutter`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`flutter`?`bg-[#7d2ae8] text-white`:`text-zinc-400 hover:text-white`}`,children:`Flutter`},void 0,!1,{fileName:$,lineNumber:371,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>_(`swiftui`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`swiftui`?`bg-[#ff5f56] text-white`:`text-zinc-400 hover:text-white`}`,children:`Swift / SwiftUI`},void 0,!1,{fileName:$,lineNumber:379,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>_(`html`),className:`px-3 py-1.5 rounded-lg text-xs font-sans font-semibold transition cursor-pointer ${g===`html`?`bg-zinc-700 text-white`:`text-zinc-400 hover:text-white`}`,children:`HTML / CSS`},void 0,!1,{fileName:$,lineNumber:387,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:362,columnNumber:13},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`button`,{onClick:()=>{navigator.clipboard.writeText(ee.code),y(!0),setTimeout(()=>y(!1),2e3)},className:`flex items-center gap-1.5 px-3 py-1 rounded-lg bg-white/10 hover:bg-white/20 text-white font-sans text-xs transition cursor-pointer`,children:[v?(0,M.jsxDEV)(jr,{className:`w-3.5 h-3.5 text-[#34c759]`},void 0,!1,{fileName:$,lineNumber:402,columnNumber:27},this):(0,M.jsxDEV)(on,{className:`w-3.5 h-3.5`},void 0,!1,{fileName:$,lineNumber:402,columnNumber:78},this),(0,M.jsxDEV)(`span`,{children:v?`Copied`:`Copy`},void 0,!1,{fileName:$,lineNumber:403,columnNumber:17},this)]},void 0,!0,{fileName:$,lineNumber:398,columnNumber:15},this),(0,M.jsxDEV)(`button`,{onClick:()=>h(!1),className:`p-1 rounded-lg text-zinc-400 hover:text-white cursor-pointer`,children:(0,M.jsxDEV)(cn,{className:`w-4 h-4`},void 0,!1,{fileName:$,lineNumber:406,columnNumber:17},this)},void 0,!1,{fileName:$,lineNumber:405,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:397,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:361,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`h-9 px-4 bg-[#0a0a0c] border-b border-white/[0.06] flex items-center justify-between text-[11px] font-sans`,children:[(0,M.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxDEV)(`span`,{className:`text-zinc-500 font-medium`,children:`Source:`},void 0,!1,{fileName:$,lineNumber:414,columnNumber:15},this),(0,M.jsxDEV)(`div`,{className:`flex items-center gap-1.5 px-2 py-0.5 rounded-md font-semibold text-[10.5px] ${ee.source===`host_ai`?`bg-[#34c759]/10 border border-[#34c759]/30 text-[#34c759]`:ee.source===`connected_ai`?`bg-[#7d2ae8]/15 border border-[#7d2ae8]/30 text-[#b37af7]`:`bg-white/5 border border-white/10 text-zinc-400`}`,children:[ee.source===`builtin`?(0,M.jsxDEV)(On,{className:`w-3 h-3`},void 0,!1,{fileName:$,lineNumber:422,columnNumber:52},this):(0,M.jsxDEV)(me,{className:`w-3 h-3`},void 0,!1,{fileName:$,lineNumber:422,columnNumber:82},this),(0,M.jsxDEV)(`span`,{children:ee.providerName},void 0,!1,{fileName:$,lineNumber:423,columnNumber:17},this)]},void 0,!0,{fileName:$,lineNumber:415,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:413,columnNumber:13},this),(0,M.jsxDEV)(`button`,{onClick:()=>{r&&gu(_u[g],r),ne(!0)},disabled:S,className:`flex items-center gap-1.5 px-2.5 py-1 rounded-md bg-white/5 hover:bg-white/10 text-zinc-300 text-[11px] font-medium transition cursor-pointer disabled:opacity-50`,title:`Request live AI compilation from connected host or API key`,children:[(0,M.jsxDEV)(Or,{className:`w-3 h-3 ${S?`animate-spin text-[#0071e3]`:``}`},void 0,!1,{fileName:$,lineNumber:433,columnNumber:15},this),(0,M.jsxDEV)(`span`,{children:S?`Synthesizing...`:`Synthesize with AI`},void 0,!1,{fileName:$,lineNumber:434,columnNumber:15},this)]},void 0,!0,{fileName:$,lineNumber:427,columnNumber:13},this)]},void 0,!0,{fileName:$,lineNumber:412,columnNumber:11},this),(0,M.jsxDEV)(`div`,{className:`flex-1 p-4 overflow-auto bg-[#0a0a0c] text-xs text-zinc-300 leading-relaxed font-mono`,children:(0,M.jsxDEV)(`pre`,{className:`whitespace-pre`,children:ee.code},void 0,!1,{fileName:$,lineNumber:440,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:439,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:358,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:187,columnNumber:5},this)}var yu=`C:/Users/Shadow/Desktop/cyrus/src/app/Router.tsx`;function bu(){let e=window.location.hash.replace(/^#\/?/,``),t=window.location.pathname.replace(/^\//,``),n=e||t||`dashboard`;return n===`feedback`||n===`dashboard/feedback`||n.endsWith(`/feedback`)||n===`feedbacks`?{path:`feedback`}:n===`comentos`||n===`comentos/review`||n.startsWith(`comentos`)?{path:`comentos`}:n.startsWith(`embed/`)?{path:`embed`,projectId:n.replace(`embed/`,``)}:n.startsWith(`editor/`)?{path:`editor`,projectId:n.replace(`editor/`,``)}:n.startsWith(`preview/`)||n.startsWith(`share/`)?{path:`preview`,projectId:n.replace(/^(preview|share)\//,``)}:n===`settings`?{path:`settings`}:n===`login`||n===`signup`?{path:`login`}:{path:`dashboard`}}function xu(){let[e,t]=(0,A.useState)(bu),{session:n,isLoading:r,initAuth:i}=Ri();(0,A.useEffect)(()=>{Hr(),iu(),i();let e=()=>{t(bu())};return window.addEventListener(`popstate`,e),window.addEventListener(`hashchange`,e),()=>{window.removeEventListener(`popstate`,e),window.removeEventListener(`hashchange`,e)}},[]);let a=e=>{t(e),e.path===`editor`?window.location.hash=`/editor/${e.projectId}`:e.path===`preview`?window.location.hash=`/preview/${e.projectId}`:e.path===`settings`?window.location.hash=`/settings`:e.path===`feedback`?window.location.hash=`/dashboard/feedback`:e.path===`comentos`?window.location.hash=`/comentos/review`:e.path===`login`?window.location.hash=`/login`:window.location.hash=`/dashboard`};return(0,A.useEffect)(()=>{!r&&e.path===`login`&&n.isAuthenticated&&a({path:`dashboard`})},[r,e.path,n.isAuthenticated]),r?(0,M.jsxDEV)(`div`,{className:`h-full w-full flex items-center justify-center bg-[#f5f5f7] dark:bg-black`,children:[(0,M.jsxDEV)(ur,{className:`w-6 h-6 animate-spin text-[#7d2ae8]`},void 0,!1,{fileName:yu,lineNumber:118,columnNumber:9},this),(0,M.jsxDEV)(Yl,{},void 0,!1,{fileName:yu,lineNumber:119,columnNumber:9},this)]},void 0,!0,{fileName:yu,lineNumber:117,columnNumber:7},this):e.path!==`login`&&e.path!==`preview`&&e.path!==`comentos`&&e.path!==`embed`&&!n.isAuthenticated?(0,M.jsxDEV)(`div`,{className:`h-full w-full`,children:[(0,M.jsxDEV)(Bl,{onAuthenticated:()=>a({path:`dashboard`})},void 0,!1,{fileName:yu,lineNumber:128,columnNumber:9},this),(0,M.jsxDEV)(Yl,{},void 0,!1,{fileName:yu,lineNumber:129,columnNumber:9},this)]},void 0,!0,{fileName:yu,lineNumber:127,columnNumber:7},this):(0,M.jsxDEV)(`div`,{className:`h-full w-full`,children:[e.path===`embed`?(0,M.jsxDEV)(vu,{projectId:e.projectId},void 0,!1,{fileName:yu,lineNumber:137,columnNumber:9},this):e.path===`feedback`?(0,M.jsxDEV)(ql,{onBack:()=>a({path:`dashboard`})},void 0,!1,{fileName:yu,lineNumber:139,columnNumber:9},this):e.path===`comentos`?(0,M.jsxDEV)(Gl,{onBack:()=>a({path:n.isAuthenticated?`dashboard`:`login`})},void 0,!1,{fileName:yu,lineNumber:141,columnNumber:9},this):e.path===`login`?(0,M.jsxDEV)(Bl,{onAuthenticated:()=>a({path:`dashboard`})},void 0,!1,{fileName:yu,lineNumber:143,columnNumber:9},this):e.path===`dashboard`||e.path===`projects`?(0,M.jsxDEV)(Ka,{onOpenProject:e=>a({path:`editor`,projectId:e}),onOpenSettings:()=>a({path:`settings`}),onOpenFeedback:()=>a({path:`feedback`})},void 0,!1,{fileName:yu,lineNumber:145,columnNumber:9},this):e.path===`editor`?(0,M.jsxDEV)(gl,{projectId:e.projectId,onNavigateDashboard:()=>a({path:`dashboard`}),onNavigateSettings:()=>a({path:`settings`})},void 0,!1,{fileName:yu,lineNumber:151,columnNumber:9},this):e.path===`preview`?(0,M.jsxDEV)(zl,{projectId:e.projectId,onExit:()=>a({path:`editor`,projectId:e.projectId})},void 0,!1,{fileName:yu,lineNumber:157,columnNumber:9},this):(0,M.jsxDEV)(Ol,{onBack:()=>a({path:`dashboard`})},void 0,!1,{fileName:yu,lineNumber:162,columnNumber:9},this),(0,M.jsxDEV)(Yl,{},void 0,!1,{fileName:yu,lineNumber:166,columnNumber:7},this)]},void 0,!0,{fileName:yu,lineNumber:135,columnNumber:5},this)}var Su=`C:/Users/Shadow/Desktop/cyrus/src/App.tsx`;function Cu(){let e=ui(e=>e.appearance.theme);return(0,A.useEffect)(()=>{if((e=>{let t=e===`dark`;e===`system`&&(t=window.matchMedia(`(prefers-color-scheme: dark)`).matches),t?(document.documentElement.classList.add(`dark`),document.documentElement.setAttribute(`data-theme`,`dark`)):(document.documentElement.classList.remove(`dark`),document.documentElement.setAttribute(`data-theme`,`light`))})(e),e===`system`){let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=e=>{e.matches?(document.documentElement.classList.add(`dark`),document.documentElement.setAttribute(`data-theme`,`dark`)):(document.documentElement.classList.remove(`dark`),document.documentElement.setAttribute(`data-theme`,`light`))};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}},[e]),(0,M.jsxDEV)(Ts,{children:(0,M.jsxDEV)(xu,{},void 0,!1,{fileName:Su,lineNumber:46,columnNumber:7},this)},void 0,!1,{fileName:Su,lineNumber:45,columnNumber:5},this)}var wu=`C:/Users/Shadow/Desktop/cyrus/src/main.tsx`;window.clsx=O,(0,ci.createRoot)(document.getElementById(`root`)).render((0,M.jsxDEV)(A.StrictMode,{children:(0,M.jsxDEV)(Cu,{},void 0,!1,{fileName:wu,lineNumber:11,columnNumber:5},void 0)},void 0,!1,{fileName:wu,lineNumber:10,columnNumber:3},void 0));export{Fi as _,gc as a,Ts as c,oa as d,Ki as f,Pi as g,Ri as h,nl as i,N as l,Hi as m,rl as n,hc as o,Wi as p,il as r,Cc as s,Fl as t,ca as u,j as v,ui as y};