1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9941],{4602:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(45610).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},6279:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(45610).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},21648:(e,t,n)=>{"use strict";n.d(t,{Vp:()=>r,Wm:()=>l,_C:()=>i,lx:()=>a});let a=7,l="CREATOR_PLUS",r="Try ".concat(a," days free");function i(e){return"".concat(a," days free, then ").concat(e,"/mo. Cancel anytime.")}},40197:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(45610).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},42158:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(45610).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},53729:(e,t,n)=>{"use strict";n.d(t,{r:()=>r});var a=n(21381);let l={},r=(0,a.v)()((e,t,n)=>({...l,...((e,t)=>({setSizePickerModal:t=>e({sizePickerModal:t}),setShowWaitlistModal:t=>e({showWaitlistModal:t}),setShowProfileModal:t=>e({showProfileModal:t}),setShowLoginModal:t=>e({showLoginModal:t})}))(e,0,n)}))},54739:(e,t,n)=>{"use strict";n.d(t,{default:()=>L});var a=n(90703),l=n(52359),r=n(59184),i=n(42158),s=n(19117),o=n(34513),c=n(49446),d=n(53729),u=n(88049),m=n(6708);let p=Object.fromEntries(Object.values({gabi:{id:"gabi",icon:"\uD83C\uDF0A",shortName:"Gabi",fullTitle:"Gabi \xb7 Chief of Staff",bullets:["Runs your team and routes every request automatically","Sends you a daily brief with what needs your attention"]},design:{id:"design",icon:"âï¸",shortName:"Design",fullTitle:"Design Agent",bullets:["Designs your product â or takes your idea and explores new directions and colours","Creates graphics, prints, logos, and packaging"]},product:{id:"product",icon:"\uD83D\uDCE6",shortName:"Product",fullTitle:"Product Development",bullets:["Takes any prompt or image and turns it into a real product","Shows you real options â prices and lead times â before you commit"]},content:{id:"content",icon:"\uD83D\uDCDD",shortName:"Content",fullTitle:"Content & Storytelling",bullets:["Writes your captions, product descriptions, launch copy, and manifesto","Creates image and video content for your drops and campaigns"]},data:{id:"data",icon:"\uD83D\uDCCA",shortName:"Data",fullTitle:"Data & Trends",bullets:["Sends you daily intelligence â what is trending globally and for your community","Tells you what your community wants before you commit to production"]},ip:{id:"ip",icon:"âï¸",shortName:"IP",fullTitle:"IP Agent",bullets:["Scans every design before it goes live â protects you from using anyone elseâs IP","Protects your own designs so no one can copy what you create"]},creative:{id:"creative",icon:"\uD83C\uDFA8",shortName:"Creative",fullTitle:"Creative Director",bullets:["Builds your brand identity â visual direction, palette, and aesthetic","Keeps everything your brand produces consistent"]},brand:{id:"brand",icon:"\uD83D\uDCE3",shortName:"Marketing",fullTitle:"Brand & Marketing",bullets:["Tells you the single most valuable marketing move to make right now","Plans campaigns and manages collabs with other creators and brands"]},social:{id:"social",icon:"\uD83D\uDCF1",shortName:"Social",fullTitle:"Social Media",bullets:["Manages your content calendar and publishes across every platform","Shares the latest trends and sends a weekly performance report"]},garment:{id:"garment",icon:"\uD83E\uDDF5",shortName:"Garment",fullTitle:"Garment Technologist",bullets:["Turns your design into a factory-ready tech pack and BOM","Catches anything that canât be made before it reaches a factory"]},materials:{id:"materials",icon:"\uD83E\uDDEA",shortName:"Materials",fullTitle:"Materials Scientist",bullets:["Finds better, more innovative, responsibly made materials for your product","Pushes your quality beyond the conventional"]},sourcing:{id:"sourcing",icon:"\uD83D\uDD0D",shortName:"Sourcing",fullTitle:"Sourcing Agent",bullets:["Taps the Sparkit global materials network to find exactly what you need","Resolves every gap before it becomes a delay"]},supply:{id:"supply",icon:"\uD83D\uDD17",shortName:"Supply",fullTitle:"Supply Chain",bullets:["Connects your idea to production â options, prices, lead times, where to order","Runs quality control so every order meets the standard before it ships"]},cfo:{id:"cfo",icon:"\uD83D\uDCB9",shortName:"CFO",fullTitle:"CFO Agent",bullets:["Calculates your cost of goods and builds your retail price","Helps you make the right calls on pricing and margins"]},logistics:{id:"logistics",icon:"\uD83D\uDE9A",shortName:"Logistics",fullTitle:"Head of Logistics",bullets:["Tracks every shipment live from factory to your customerâs door","Handles customs and alerts you immediately if anything is delayed"]},sustainability:{id:"sustainability",icon:"\uD83C\uDF3F",shortName:"Sustain.",fullTitle:"Sustainability & Impact",bullets:["Calculates the carbon footprint of every product and verifies every claim","Plants one verified tree per product and keeps your stock out of landfill"]},growth:{id:"growth",icon:"\uD83D\uDCC8",shortName:"Growth",fullTitle:"Growth Agent",bullets:["Works on your brand and community growth every single day","Spots a trend and has a campaign live within 48 hours"]}}).map(e=>[e.id,{id:e.id,icon:e.icon,name:e.shortName,title:e.fullTitle,bullets:e.bullets}])),y=[{id:"tier-1",label:"TIER 1 \xb7 AGENTS REPORTING TO YOU",unlocksAt:"STARTER",agentIds:["design","product","content","data","ip"]},{id:"tier-2",label:"TIER 2 \xb7 AGENTS REPORTING TO YOU",unlocksAt:"CREATOR_PLUS",agentIds:["creative","brand","social"]},{id:"tier-3",label:"TIER 3 \xb7 AGENTS REPORTING TO YOU",unlocksAt:"CREATOR_PRO",agentIds:["garment","materials","sourcing","supply","cfo","logistics"]},{id:"tier-4",label:"TIER 4 \xb7 AGENTS REPORTING TO YOU",unlocksAt:"COUTURE",agentIds:["sustainability","growth"]}].map(e=>({id:e.id,label:e.label,unlocksAt:e.unlocksAt,agentIds:e.agentIds})),g={STARTER:0,CREATOR_PLUS:1,CREATOR_PRO:2,COUTURE:3,ENTERPRISE:4};var h=n(21648),f=n(6296);
1function x(e){let{value:t,onChange:n,accent:l="#0D8072",yearlyDiscountPct:r=20,testID:i}=e,s=(0,m.zG)(l,.82);return(0,a.jsx)("div",{"data-testid":i,className:"inline-flex items-center gap-0.5 rounded-full bg-[#E8E8E8] p-0.5",children:[{label:"Monthly",value:"monthly"},{label:"Yearly",value:"yearly"}].map(e=>{let i=e.value===t;return(0,a.jsxs)("button",{type:"button","data-testid":"billing-toggle-".concat(e.value),"aria-pressed":i,onClick:()=>n(e.value),className:"flex items-center gap-1 rounded-full px-3 py-1.5 text-[11.5px] font-mg transition-colors",style:{backgroundColor:i?l:"transparent",color:i?"#FFFFFF":"#000000",boxShadow:i?"0 1px 2px rgba(0,0,0,0.15)":"none"},children:[e.label,"yearly"===e.value&&(0,a.jsxs)("span",{className:"rounded-full px-1.5 py-0.5 text-[9px] font-semibold text-white",style:{backgroundColor:s},children:["-",r,"%"]})]},e.value)})})}var b=n(96298),v=n(71883),k=n(76270),w=n(30707),N=n(39816);let j=(0,b.c)("pk_live_51LVDpHIcweZTFoQHKVZFVVI5yQH34egLc2b2vQnkamWMpRs5DftcYaIsKE9i3xtOC5eYCTP3rwi0a7bYTDdO72fO00OgzDztBm");function T(e){let{clientSecret:t,planLabel:n,intentType:l="payment",trialPrice:r,trialCredits:i,onSetupComplete:s,onClose:o,onSuccess:c}=e,d="setup"===l;return(0,a.jsx)("div",{className:"fixed inset-0 z-[120] flex items-center justify-center bg-black-50 p-4",children:(0,a.jsxs)("div",{className:"w-full max-w-md rounded-sm bg-white p-6 shadow-xl",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-start justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-mg text-xs uppercase tracking-widest text-dark-grey",children:d?h.Vp:"Subscribe"}),(0,a.jsx)("h2",{className:"font-romie text-2xl text-app-primary",children:n})]}),(0,a.jsx)("button",{type:"button","aria-label":"Close","data-testid":"subscribe-modal-close",onClick:o,className:"rounded-full p-1 text-dark-grey hover:bg-light-grey",children:(0,a.jsx)(k.A,{className:"h-5 w-5",strokeWidth:1.5})})]}),(0,a.jsx)(v.Elements,{stripe:j,options:{clientSecret:t,appearance:w.$},children:(0,a.jsx)(S,{isTrial:d,trialPrice:r,trialCredits:i,onSetupComplete:s,onSuccess:c})})]})})}function S(e){let{isTrial:t,trialPrice:n,trialCredits:r,onSetupComplete:i,onSuccess:s}=e,o=(0,v.useStripe)(),c=(0,v.useElements)(),[d,u]=(0,l.useState)(!1),[m,p]=(0,l.useState)(null),[y,g]=(0,l.useState)(null),f=async e=>{var n,a,l;if(e.preventDefault(),!o||!c)return;if(u(!0),p(null),t){let e=y;if(!e){let{error:t,setupIntent:l}=await o.confirmSetup({elements:c,redirect:"if_required",confirmParams:{return_url:"".concat(window.location.origin,"/account/subscription")}});if((null==l?void 0:l.status)==="succeeded")e=l.id;else if((null==t?void 0:t.code)==="setup_intent_unexpected_state"&&(null==(n=t.setup_intent)?void 0:n.status)==="succeeded")e=t.setup_intent.id;else{p((null==l?void 0:l.status)==="processing"?"Your card is still being verified â please try again in a moment.":null!=(a=null==t?void 0:t.message)?a:"We couldn't save your card. Please try again."),u(!1);return}g(e)}try{await (null==i?void 0:i(e))}catch(e){p(e instanceof Error&&e.message?e.message:"Your card was saved but we couldn't start your free trial. Please try again."),u(!1);return}s();return}let{error:r}=await o.confirmPayment({elements:c,redirect:"if_required",confirmParams:{return_url:"".concat(window.location.origin,"/account/subscription")}});if(r){p(null!=(l=r.message)?l:"Payment failed. Please try again."),u(!1);return}s()};return(0,a.jsxs)("form",{onSubmit:f,"data-testid":"subscribe-payment-form",children:[(0,a.jsx)(v.PaymentElement,{}),m&&(0,a.jsx)("p",{className:"mt-2 font-mg text-xs text-cta-red",role:"alert",children:m}),(0,a.jsx)(N.default,{type:"submit",variant:"primary",size:"lg",disabled:!o||d,className:"mt-4 w-full rounded-sm","data-testid":"subscribe-confirm-button",children:d?"Processingâ¦":t?"Start my free trial":"Subscribe"}),(0,a.jsx)("p",{className:"mt-3 text-center font-mg text-[11px] text-dark-grey",children:t&&n?"".concat((0,h._C)(n)).concat(null!=r?" Includes ".concat(r," design credits during your free trial."):""," Secure payment by Stripe."):"Cancel anytime. Secure payment by Stripe."})]})}var C=n(6279),E=n(40197),A=n(4602);function _(e){let{kind:t="info",title:n,message:r,onClose:i,ctaLabel:s="Got it"}=e;(0,l.useEffect)(()=>{let e=e=>"Escape"===e.key&&i();return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i]);let o="success"===t?C.A:"error"===t?E.A:A.A;return(0,a.jsx)("div",{className:"fixed inset-0 z-[130] flex items-center justify-center bg-black-50 p-4",role:"presentation",onClick:i,children:(0,a.jsxs)("div",{role:"alertdialog","aria-modal":"true","aria-label":n,"data-testid":"subscription-notice-modal",className:"w-full max-w-sm rounded-lg bg-white p-6 text-center shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("button",{type:"button","aria-label":"Close","data-testid":"notice-modal-close",onClick:i,className:"rounded-full p-1 text-dark-grey hover:bg-light-grey",children:(0,a.jsx)(k.A,{className:"h-4 w-4",strokeWidth:1.5})})}),(0,a.jsx)("div",{className:"mx-auto -mt-2 flex h-12 w-12 items-center justify-center",children:(0,a.jsx)(o,{className:"h-9 w-9",strokeWidth:1.5,style:{color:"success"===t?"#0D8072":"error"===t?"#E34D50":"#47
15569"}})}),(0,a.jsx)("h2",{className:"mt-2 font-romie text-xl text-app-primary",children:n}),(0,a.jsx)("p",{className:"mt-2 font-mg text-sm text-dark-grey",children:r}),(0,a.jsx)(N.default,{variant:"primary",size:"lg",className:"mt-6 w-full rounded-sm","data-testid":"notice-modal-confirm",onClick:i,children:s})]})})}var R=n(78980);function I(e){let{agentId:t,accent:n,monthlyImages:r,isFree:i,onClose:s}=e;(0,l.useEffect)(()=>{let e=e=>"Escape"===e.key&&s();return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s]);let o=p[t];if(!o)return null;let c=[...o.bullets];return"design"===o.id&&c.push(i?"".concat(r," AI design generations"):"".concat(r," AI design generations / month")),(0,a.jsx)("div",{className:"fixed inset-0 z-[130] flex items-center justify-center bg-black-50 p-4",role:"presentation",onClick:s,children:(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":o.title,"data-testid":"agent-detail-modal-".concat(o.id),className:"w-full max-w-md rounded-lg bg-white p-6 shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"flex h-12 w-12 items-center justify-center rounded-xl text-2xl",style:{backgroundColor:"#E8FAF7",border:"1px solid ".concat(n)},children:o.icon}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"font-romie text-xl text-app-primary",children:o.title}),(0,a.jsx)("p",{className:"font-mg text-[10px] uppercase tracking-widest",style:{color:n},children:"Reporting directly to you"})]})]}),(0,a.jsx)("button",{type:"button","aria-label":"Close","data-testid":"agent-detail-close",onClick:s,className:"rounded-full p-1 text-dark-grey hover:bg-light-grey",children:(0,a.jsx)(k.A,{className:"h-4 w-4",strokeWidth:1.5})})]}),(0,a.jsx)("div",{className:"my-5 h-px w-full",style:{background:"linear-gradient(90deg, transparent, #D6D4CD, transparent)"}}),(0,a.jsx)("ul",{className:"space-y-2.5",children:c.map(e=>(0,a.jsxs)("li",{className:"flex items-start gap-2.5 rounded-xl border p-3",style:{borderColor:"".concat(n,"40")},children:[(0,a.jsx)("span",{className:"mt-2 h-1.5 w-1.5 flex-shrink-0 rounded-full",style:{backgroundColor:n}}),(0,a.jsx)("span",{className:"font-mg text-[13px] leading-relaxed text-dark-grey",children:e})]},e))})]})})}function P(e){let{tier:t,accent:n,onAgentOpen:l}=e,r=y.filter(e=>g[e.unlocksAt]<=g[t]);return(0,a.jsx)("div",{className:"flex flex-col items-center","data-testid":"org-chart-".concat(t),children:r.map((e,r)=>(0,a.jsxs)("div",{className:"flex w-full flex-col items-center",children:[r>0&&(0,a.jsx)("div",{className:"h-3 w-px",style:{backgroundColor:n}}),(0,a.jsx)("div",{className:"mt-1 h-1.5 w-1.5 rounded-full border-2 bg-white",style:{borderColor:n}}),(0,a.jsx)("p",{className:"mt-1.5 font-mg text-[8px] uppercase tracking-[0.12em]",style:{color:n},children:e.label}),(0,a.jsx)("div",{className:"mb-1 mt-2 flex flex-wrap justify-center gap-1.5",children:e.agentIds.map(e=>{let n=p[e];return n?(0,a.jsxs)("button",{type:"button","data-testid":"agent-chip-".concat(t,"-").concat(e),onClick:()=>l(e),className:"flex w-[68px] flex-col items-center rounded-md border border-black/10 bg-white px-1 py-1.5 text-center shadow-sm transition hover:-translate-y-0.5",children:[(0,a.jsx)("span",{className:"text-base leading-none",children:n.icon}),(0,a.jsx)("span",{className:"mt-1 font-mg text-[9px] font-medium leading-tight text-app-primary",children:n.name})]},e):null})})]},e.id))})}let O=["STARTER","CREATOR_PLUS","CREATOR_PRO","COUTURE"],M=["active","trialing","in_grace"];function F(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t.toUpperCase(),maximumFractionDigits:2*(e%1!=0)}).format(e)}function D(e){return e?new Date(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}):"the end of your billing period"}function L(e){var t,n,i;let{tiers:s,current:p,trialEligible:y}=e,g=(0,r.useRouter)(),b=(0,c.o)(e=>e.loggedInUser),v=(0,d.r)(e=>e.setShowLoginModal),[k,w]=(0,l.useState)(null!=(n=null==p?void 0:p.billingInterval)?n:"monthly"),[N,j]=(0,l.useState)(null),[S,C]=(0,l.useState)(null),[E,A]=(0,l.useState)(null),[P,L]=(0,l.useState)(!1),[Y,G]=(0,l.useState)(null),W=(0,l.useRef)(null),[q,V]=(0,l.useState)(null),B=!!b&&!b.is_anonymous,H=(0,l.useRef)(!1);(0,l.useEffect)(()=>{B&&H.current&&(H.current=!1,g.refresh())},[B,g]);let[K,Q]=(0,l.useState)(!1),Z=y&&!K,$=(0,l.useMemo)(()=>{let e={};for(let t of s)e[t.tier]=t;return e},[s]),J=!!p&&"stripe"!==p.provider&&M.includes(p.status),X=!!p&&"stripe"===p.provider&&M.includes(p.status);function ee(e){e instanceof f.o4?C({kind:"error",title:"manage_on_mobile"===e.code?"Manage in the app":"We couldn't update your plan",message:e.message}):C({kind:"error",title:"Something went wrong",message:"Please try again in a moment."})}async function et(e,t){var n,a;let l=Z&&e.tier===h.Wm&&"monthly"===k,{intentType:r,subscriptionId:i,clientSecret:s}=await (0,f.Ky)(t,l),c="setup"===r,d=null!=(n=e.prices[k])?n:e.prices.monthly,u=(null==d?void 0:d.unitAmou
1nt)!=null?d.unitAmount:void 0,m=null!=(a=null==d?void 0:d.currency)?a:"usd";o.z.track("begin_checkout",{currency:m,...c?{value:0,trial:!0}:null!=u?{value:u}:{},items:[{item_id:e.tier,item_name:e.displayName,item_category:"subscription",...c?{price:0}:null!=u?{price:u}:{},quantity:1}],billing_interval:k}),W.current=null,G({clientSecret:s,planLabel:"".concat(e.displayName," \xb7 ").concat("yearly"===k?"Yearly":"Monthly"),intentType:null!=r?r:"payment",priceId:t,subscriptionId:i,tier:e.tier,displayName:e.displayName,value:c?0:u,currency:m,interval:k,trialPrice:c&&(null==d?void 0:d.unitAmount)!=null?F(d.unitAmount,m):void 0,trialCredits:c?e.trialCreditBudget:void 0})}async function en(e,t,n){var a;let l,r=t?"downgrade_scheduled":"upgrade";try{l=await (0,f.nV)(e)}catch(e){throw o.z.track("subscription_plan_change",{action:r,from_tier:n.fromTier,to_tier:n.toTier,outcome:"error",...e instanceof f.o4?{error_code:e.code}:{}}),e}o.z.track("subscription_plan_change",{action:r,from_tier:n.fromTier,to_tier:n.toTier,outcome:"success"}),C("scheduled"===l.status||t?{kind:"success",title:"Change scheduled",message:"Your plan will change at the end of your current billing period (".concat(D(null!=(a=null==p?void 0:p.currentPeriodEnd)?a:null),"). You keep your current benefits until then.")}:{kind:"success",title:"Plan updated",message:"Your new plan is active right away. Enjoy!"}),g.refresh()}async function ea(){var e,t,n;await (0,f.M2)(),o.z.track("subscription_cancel_requested",{tier:null!=(e=null==p?void 0:p.tier)?e:"unknown",billing_interval:null!=(t=null==p?void 0:p.billingInterval)?t:"unknown",...(null==p?void 0:p.currentPeriodEnd)?{period_end:p.currentPeriodEnd}:{}}),C({kind:"success",title:"Subscription cancelled",message:"You'll keep your current benefits until ".concat(D(null!=(n=null==p?void 0:p.currentPeriodEnd)?n:null),", then move to the free Starter plan.")}),g.refresh()}function el(e,t){var n,a;if("action"===t.kind){if(!B){H.current=!0,v(!0);return}if("change-scheduled"===t.action)return void A({title:"Switch to ".concat(e.displayName,"?"),message:"You'll keep your current plan until ".concat(D(null!=(n=null==p?void 0:p.currentPeriodEnd)?n:null),", then move to ").concat(e.displayName,". No charge today."),confirmLabel:"Schedule change",run:async()=>{var n;return en(t.priceId,!0,{toTier:e.tier,fromTier:null!=(n=null==p?void 0:p.tier)?n:"unknown"})}});if("cancel"===t.action)return void A({title:"Move to the free plan?",message:"Cancelling keeps your current benefits until ".concat(D(null!=(a=null==p?void 0:p.currentPeriodEnd)?a:null),". After that you'll be on the free Starter plan."),confirmLabel:"Cancel subscription",destructive:!0,run:ea});(async()=>{j(e.tier);try{var n;"subscribe"===t.action?await et(e,t.priceId):await en(t.priceId,!1,{toTier:e.tier,fromTier:null!=(n=null==p?void 0:p.tier)?n:"unknown"})}catch(n){ee(n),"subscribe"===t.action&&o.z.track("subscription_purchase_failed",{plan:e.tier,billing_interval:k,error_code:n instanceof f.o4?n.code:"unknown",is_anonymous:!1}),n instanceof f.o4&&"trial_not_available"===n.code&&(Q(!0),g.refresh())}finally{j(null)}})()}}async function er(){if(E){L(!0);try{await E.run(),A(null)}catch(e){A(null),ee(e)}finally{L(!1)}}}return(0,a.jsxs)("div",{className:"bg-white py-12 tablet:py-20",children:[(0,a.jsxs)(u.A,{size:"xl",children:[(0,a.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,a.jsx)("p",{className:"font-mg text-xs uppercase tracking-widest text-dark-grey",children:"Membership"}),(0,a.jsx)("h1",{className:"mt-3 font-romie text-4xl text-app-primary tablet:text-5xl",children:"Design, drop, and grow your brand"}),(0,a.jsx)("p",{className:"mt-4 font-mg text-sm text-dark-grey",children:"Pick the plan that fits where you are. Cancel or change anytime. Web plans are priced below the app â no store fees. Each plan puts a team of AI agents to work for you â bigger plans grow the org."})]}),(0,a.jsx)("div",{className:"mt-8 flex justify-center",children:(0,a.jsx)(x,{value:k,onChange:w,testID:"pricing-billing-toggle"})}),(0,a.jsx)("div",{className:"mt-10 grid grid-cols-1 gap-6 tablet:grid-cols-2 laptop:grid-cols-4",children:O.map(e=>{let t=$[e];return t?(0,a.jsx)(U,{tier:t,interval:k,current:p,hasMobileSub:J,hasStripeSub:X,trialEligible:Z,busy:N===e,onCta:el,onManage:()=>g.push("/account/subscription"),onAgentOpen:(e,t)=>V({agentId:e,tier:t}),agentModalOpen:(null==q?void 0:q.tier)===e},e):null})}),$.ENTERPRISE&&(0,a.jsx)(z,{displayName:$.ENTERPRISE.displayName})]}),Y&&(0,a.jsx)(T,{clientSecret:Y.clientSecret,planLabel:Y.planLabel,intentType:Y.intentType,trialPrice:Y.trialPrice,trialCredits:Y.trialCredits,onSetupComplete:async e=>{try{let{subscriptionId:t}=await (0,f.pm)(Y.priceId,e);W.current=t}catch(e){throw o.z.track("subscription_purchase_failed",{plan:Y.tier,billing_interval:Y.interval,error_code:e instanceof f.o4?e.code:"unknown",is_anonymous:!1}),e instanceof f.o4&&"trial_not_available"===e.code&&(Q(!0),G(null),ee(e)),e}},onClose:()=>G(null),onSuccess:()=>{var e;let t="setup"===Y.intentType;o.z.track("purchase",{transaction_id:null!=(e=t?W.current:Y.subscriptionId)?e:"",currency:Y.currency,...t?{value:0,tri
1al:!0}:null!=Y.value?{value:Y.value}:{},items:[{item_id:Y.tier,item_name:Y.displayName,item_category:"subscription",...t?{price:0}:null!=Y.value?{price:Y.value}:{},quantity:1}],billing_interval:Y.interval}),G(null),g.push("/account/subscription")}}),E&&(0,a.jsx)(R.A,{title:E.title,message:E.message,confirmLabel:E.confirmLabel,destructive:E.destructive,busy:P,onConfirm:er,onClose:()=>!P&&A(null)}),S&&(0,a.jsx)(_,{kind:S.kind,title:S.title,message:S.message,onClose:()=>C(null)}),q&&(0,a.jsx)(I,{agentId:q.agentId,accent:m.mc[q.tier].accent,monthlyImages:null!=(i=null==(t=$[q.tier])?void 0:t.monthlyImages)?i:0,isFree:"STARTER"===q.tier,onClose:()=>V(null)})]})}function U(e){var t,n;let r,{tier:o,interval:c,current:d,hasMobileSub:u,hasStripeSub:p,trialEligible:y,busy:f,onCta:x,onManage:b,onAgentOpen:v,agentModalOpen:k}=e,[w,N]=(0,l.useState)(!1),[j,T]=(0,l.useState)(!1),S=(0,l.useRef)(null),[C,E]=(0,l.useState)(!1);(0,l.useEffect)(()=>{E(window.matchMedia("(hover: hover) and (pointer: fine)").matches)},[]);let A=(0,l.useRef)(!1);(0,l.useEffect)(()=>{let e=A.current&&!k;if(A.current=k,!e||!C)return;let t=requestAnimationFrame(()=>{var e;T(!!(null==(e=S.current)?void 0:e.matches(":hover")))});return()=>cancelAnimationFrame(t)},[k,C]);let _=(0,l.useRef)(null),R=()=>{let e=_.current;e&&(e.scrollTop=e.scrollHeight)};(0,l.useEffect)(()=>{let e=requestAnimationFrame(()=>requestAnimationFrame(R));return()=>cancelAnimationFrame(e)},[]);let I=m.mc[o.tier],O=function(e){var t;let n=m.mc[e.tier],a=" / mo",l=[];return(null==n?void 0:n.free)?l.push("".concat(m.UK," AI design generations every day (up to ").concat(m.n7,"/mo)")):l.push("".concat(e.monthlyImages," AI design generations").concat(a)),e.monthlyVideos>0&&l.push("".concat(e.monthlyVideos," AI video").concat(e.monthlyVideos>1?"s":"").concat(a)),l.push("Unlimited AI chat"),l.push(null===e.maxActiveDrops?"Unlimited active drops":"".concat(e.maxActiveDrops," active drop").concat(e.maxActiveDrops>1?"s":"")),l.push("".concat(e.platformFeeBps/100,"% platform fee")),l.push(...null!=(t=null==n?void 0:n.perks)?t:[]),l}(o),M=!!d&&d.tier===o.tier&&(null!=(t=d.billingInterval)?t:"monthly")===c,D=null!=(n=o.prices[c])?n:o.prices.monthly,L=o.prices.yearly,U=y&&!p&&!u&&o.tier===h.Wm&&"monthly"===c;if(I.free)r=(0,a.jsx)("span",{className:"font-romie text-4xl text-app-primary",children:"Free"});
1else if((null==D?void 0:D.unitAmount)!=null){let e="yearly"===c&&(null==L?void 0:L.unitAmount)!=null?L.unitAmount/12:D.unitAmount;r=(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"font-romie text-4xl text-app-primary",children:F(e,D.currency)}),(0,a.jsx)("span",{className:"font-mg text-sm text-dark-grey",children:" /mo"}),"yearly"===c&&(null==L?void 0:L.unitAmount)!=null&&(0,a.jsxs)("p",{className:"mt-1 font-mg text-[11px]",style:{color:I.accent},children:["Save ",20,"% \xb7"," ",F(L.unitAmount,L.currency)," billed yearly"]}),U&&(0,a.jsxs)("p",{className:"mt-1 font-mg text-[11px]",style:{color:I.accent},children:[h.lx," days free, then"," ",F(D.unitAmount,D.currency),"/mo"]})]})}else r=(0,a.jsx)("span",{className:"font-romie text-2xl text-dark-grey",children:"Coming soon"});let z=function(e){var t,n,a,l,r,i,s;let{tier:o,interval:c,current:d,hasMobileSub:u,hasStripeSub:m,trialEligible:p}=e,y=null!=(r=null!=(l=null==(t=o.prices[c])?void 0:t.priceId)?l:null==(n=o.prices.monthly)?void 0:n.priceId)?r:null,f=o.tier;if(u)return"STARTER"===f?{kind:"disabled",label:"Included"}:{kind:"open-app",label:"Manage on mobile"};if((null==d||null==(a=d.pending)?void 0:a.tier)===f&&(null!=(i=d.pending.billingInterval)?i:"monthly")===c)return{kind:"disabled",label:"Scheduled"};if(!m)return"STARTER"===f?{kind:"disabled",label:"Your plan"}:y?f===h.Wm&&p&&"monthly"===c?{kind:"action",label:h.Vp,action:"subscribe",priceId:y}:{kind:"action",label:"Subscribe",action:"subscribe",priceId:y}:{kind:"disabled",label:"Coming soon"};let x=d?g[d.tier]:-1,b=g[f],v=null!=(s=null==d?void 0:d.billingInterval)?s:"monthly";return"STARTER"===f?{kind:"action",label:"Cancel",action:"cancel",priceId:null}:b===x?c===v?{kind:"manage",label:"Current plan"}:y?"yearly"===c?{kind:"action",label:"Switch to yearly",action:"change-now",priceId:y}:{kind:"action",label:"Switch to monthly",action:"change-scheduled",priceId:y}:{kind:"disabled",label:"Coming soon"}:y?b>x?{kind:"action",label:"Upgrade",action:"change-now",priceId:y}:{kind:"action",label:"Downgrade",action:"change-scheduled",priceId:y}:{kind:"disabled",label:"Coming soon"}}({tier:o,interval:c,current:d,hasMobileSub:u,hasStripeSub:p,trialEligible:y}),Y=M?{text:"Current plan",color:I.accent}:I.recommended?{text:"Most popular",color:I.accent}:null,G={border:M||I.recommended?"2px solid ".concat(I.accent):"1px solid rgba(0,0,0,0.1)",boxShadow:M?"0 0 0 4px ".concat(I.accent,"1A"):void 0},W="absolute inset-0 flex flex-col rounded-lg bg-white p-6 [backface-visibility:hidden]";function q(e){return"disabled"===z.kind?(0,a.jsx)("button",{type:"button",disabled:!0,"data-testid":"plan-cta-".concat(o.tier).concat(e),className:"w-full rounded-sm border border-black/10 py-3 font-mg text-xs uppercase tracking-widest text-dark-grey",children:z.label}):"open-app"===z.kind?(0,a.jsx)("button",{type:"button","data-testid":"plan-cta-".concat(o.tier).concat(e),onClick:()=>(0,s.u_)({path:"subscription"}),className:"w-full rounded-sm border py-3 font-mg text-xs uppercase tracking-widest transition-colors",style:{borderColor:I.accent,color:I.accent},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=I.accent,e.currentTarget.style.color="#FFFFFF"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent",e.currentTarget.style.color=I.accent},children:z.label}):"manage"===z.kind?(0,a.jsx)("button",{type:"button","data-testid":"plan-cta-".concat(o.tier).concat(e),onClick:b,onMouseEnter:()=>N(!0),onMouseLeave:()=>N(!1),className:"w-full rounded-sm border py-3 font-mg text-xs uppercase tracking-widest transition-colors",style:{borderColor:I.accent,color:w?"#FFFFFF":I.accent,backgroundColor:w?I.accent:"transparent"},children:w?"Manage subscription":z.label}):(0,a.jsx)("button",{type:"button",disabled:f,"data-testid":"plan-cta-".concat(o.tier).concat(e),onClick:()=>x(o,z),className:"w-full rounded-sm py-3 font-mg text-xs uppercase tracking-widest text-white transition-opacity hover:opacity-90 disabled:opacity-50",style:{backgroundImage:"linear-gradient(120deg, ".concat(I.gradient[0],", ").concat(I.gradient[1],", ").concat(I.gradient[2],")")},children:f?"Please waitâ¦":z.label})}let V=j||k;return(0,a.jsxs)("div",{ref:S,"data-testid":"plan-card-".concat(o.tier),className:"group relative h-[500px] [perspective:1400px]",onMouseEnter:()=>
1{C&&!k&&(T(!0),R())},onMouseLeave:()=>{C&&!k&&T(!1)},children:[Y&&(0,a.jsx)("span",{className:"absolute -top-3 left-1/2 z-10 -translate-x-1/2 whitespace-nowrap rounded-full px-3 py-1 font-mg text-[10px] uppercase tracking-widest text-white",style:{backgroundColor:Y.color},children:Y.text}),(0,a.jsxs)("div",{className:"relative h-full w-full transition-transform duration-500 [transform-style:preserve-3d]",style:{transform:V?"rotateY(180deg)":"rotateY(0deg)"},children:[(0,a.jsxs)("div",{className:W,style:G,children:[(0,a.jsx)("h3",{className:"font-romie text-lg uppercase",style:{color:I.accent},children:o.displayName}),(0,a.jsx)("p",{className:"mt-1 min-h-[2.5rem] font-mg text-xs text-dark-grey",children:I.tagline}),(0,a.jsx)("div",{className:"mt-2 min-h-[4.5rem]",children:r}),(0,a.jsx)("ul",{className:"mt-2 flex-1 space-y-3 overflow-hidden",children:O.map(e=>(0,a.jsxs)("li",{className:"flex items-start gap-2",children:[(0,a.jsx)(i.A,{className:"mt-0.5 h-4 w-4 flex-shrink-0",strokeWidth:2,style:{color:I.accent}}),(0,a.jsx)("span",{className:"font-mg text-xs text-app-primary",children:e})]},e))}),(0,a.jsx)("button",{type:"button","data-testid":"plan-flip-".concat(o.tier),onClick:()=>{T(!0),R()},className:"mb-3 font-mg text-[10px] uppercase tracking-widest laptop:hidden",style:{color:I.accent},children:"Meet the team â"}),q("")]}),(0,a.jsxs)("div",{className:"".concat(W," [transform:rotateY(180deg)]"),style:G,children:[(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsx)("h3",{className:"font-romie text-lg uppercase",style:{color:I.accent},children:o.displayName}),(0,a.jsx)("button",{type:"button","data-testid":"plan-flip-back-".concat(o.tier),onClick:()=>T(!1),className:"mt-1 font-mg text-[10px] uppercase tracking-widest text-dark-grey laptop:hidden",children:"â Back"})]}),(0,a.jsx)("div",{className:"mt-1 min-h-[4.5rem]",children:r}),(0,a.jsx)("div",{ref:_,className:"mt-2 flex-1 overflow-y-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:(0,a.jsx)(P,{tier:o.tier,accent:I.accent,onAgentOpen:e=>v(e,o.tier)})}),(0,a.jsx)("div",{className:"mt-4",children:q("-back")})]})]})]})}function z(e){let{displayName:t}=e,n=m.mc.ENTERPRISE;return(0,a.jsxs)("div",{className:"mt-8 flex flex-col items-center justify-between gap-4 rounded-lg border border-black/10 bg-light-grey p-6 tablet:flex-row",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-romie text-lg uppercase text-app-primary",children:t}),(0,a.jsx)("p",{className:"mt-1 font-mg text-xs text-dark-grey",children:n.tagline})]}),(0,a.jsx)("a",{href:m.j,target:"_blank",rel:"noopener noreferrer","data-testid":"plan-cta-ENTERPRISE",onClick:()=>o.z.track("cta_click",{cta:"book_demo",placement:"pricing_enterprise_banner",destination:m.j,page:"pricing"}),className:"rounded-sm border border-app-primary px-8 py-3 font-mg text-xs uppercase tracking-widest text-app-primary transition-colors hover:bg-app-primary hover:text-white",children:"Book a demo"})]})}},86133:(e,t,n)=>{Promise.resolve().then(n.bind(n,54739))},88049:(e,t,n)=>{"use strict";n.d(t,{A:()=>i,m:()=>r});var a=n(90703);n(52359);let l={sm:"max-w-3xl",md:"max-w-5xl",lg:"max-w-6xl",xl:"max-w-7xl",full:"max-w-full"};function r(e){let{children:t,className:n="",size:r="xl"}=e;return(0,a.jsx)("div",{className:"mx-auto w-full px-5 tablet:px-8 laptop:px-12 ".concat(l[r]," ").concat(n),children:t})}let i=r}},e=>{e.O(0,[8986,2243,5516,4513,9654,4753,6139,5827,7358],()=>e(e.s=86133)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.