1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7762],{8835:(e,t,n)=>{n.d(t,{p:()=>o});var i=n(54568),a=n(8910),r=n(51376),s=n(7620),l=n(29789);let o=e=>{let{isFree:t,isSubscription:n,subscriptionDate:o}=e,c=(0,s.useMemo)(()=>new Intl.DateTimeFormat("en",{dateStyle:"medium"}).format(o||new Date),[o]);return(0,i.jsxs)("div",{className:"flex flex-col gap-xs",children:[n&&(0,i.jsxs)(a.E,{size:"s",color:"secondary",children:["".concat("monthly"===n?"Monthly":"Annually"," recurring charges start on ").concat(c,". Cancel anytime on your "),(0,i.jsx)(r.N,{href:"/account/subscriptions",quiet:!0,target:"_blank",variant:"accent",children:(0,i.jsx)(a.E,{size:"s",tag:"span",color:"accent",children:"Subscriptions page"})}),". Your saved payment method will be used for recurring subscription payments."]}),(0,i.jsxs)(a.E,{size:"s",color:"secondary",children:[t?l.A.disclaimerFree:l.A.disclaimer," ",(0,i.jsx)(r.N,{href:"https://elgato.com/terms-of-sale",quiet:!0,target:"_blank",children:(0,i.jsx)(a.E,{size:"s",tag:"span",color:"accent",children:l.A.tos})}),n&&(0,i.jsxs)(i.Fragment,{children:[" and ",(0,i.jsx)(r.N,{href:"https://elgato.com/s/marketplace-subscription-policy",quiet:!0,target:"_blank",children:(0,i.jsx)(a.E,{size:"s",tag:"span",color:"accent",children:l.A.subscriptionPolicy})})]}),"."]}),(0,i.jsxs)(a.E,{size:"s",color:"secondary",children:[l.A.nonRefundable,(0,i.jsx)(r.N,{href:"https://elgato.com/s/refund-policy-marketplace",quiet:!0,target:"_blank",children:(0,i.jsx)(a.E,{size:"s",tag:"span",color:"accent",children:"Returns & Refunds"})}),l.A.nonRefundableEnd,"."]})]})}},21108:(e,t,n)=>{n.d(t,{dZ:()=>d,kR:()=>u,mu:()=>c});var i=n(27736),a=n(81562),r=n(4869),s=n(7620),l=n(78476),o=n(80803);let c=e=>{let{userId:t,enabled:n=!0}=e,[r,c]=(0,s.useState)(),{data:d,isLoading:u,isSuccess:m}=(0,i.useQuery)({queryKey:["paymentMethods",t],queryFn:async()=>(0,l.J5)().then(e=>(null==e?void 0:e.data)||[]),enabled:n,gcTime:0});(0,s.useEffect)(()=>{n&&m&&d&&c(d[0])},[n,m,d]);let{setPaymentState:x}=(0,o.Vn)();return{paymentMethods:d,isPaymentMethodsLoading:u,isPaymentMethodsSuccess:m,selectedPaymentMethod:r,setSelectedPaymentMethod:c,addPaymentMethod:(0,a.useMutation)({mutationFn:async()=>(0,l.oX)(),onSuccess:e=>{let t=(null==e?void 0:e.client_secret)||"";return x(e=>({...e,view:"addPaymentMethod",showElements:!0,clientSecret:t})),t}})}},d=e=>{let t=(0,r.useQueryClient)();return(0,a.useMutation)({mutationFn:async e=>(0,l.PF)(e),onSuccess:(n,i)=>{let a=t.getQueryData(["paymentMethods",e]);t.setQueryData(["paymentMethods",e],a.filter(e=>e.id!==i))}})},u=e=>{let t=(0,r.useQueryClient)();return(0,a.useMutation)({mutationFn:async e=>{let{paymentMethodId:t,paymentMethodData:n}=e;return(0,l.xm)(t,n)},onSuccess:(n,i)=>{let{paymentMethodId:a,paymentMethodData:r}=i,s=t.getQueryData(["paymentMethods",e]);t.setQueryData(["paymentMethods",e],s.map(e=>e.id===a?{...e,...r,card:{...e.card,...r.card}}:e))}})}},25963:(e,t,n)=>{n.d(t,{I:()=>u});var i=n(54568),a=n(83631),r=n(8910),s=n(75376),l=n(73036),o=n(73886),c=n(75192),d=n(58379);function u(e){let{discount:t,discountItems:n,loading:u,error:m,onApply:x,onRemove:v,label:p="Discount code"}=e,{handleSubmit:h,resetField:f,control:y,formState:{isDirty:g}}=(0,a.mN)({defaultValues:{discountCode:""}}),{formatCurrency:j}=(0,d.H2)(),b=!!(null==t?void 0:t.amount)||!!(null==t?void 0:t.percentage_off),w=1===(n||[]).filter(e=>e.discount).length;return(0,i.jsxs)("div",{children:[(0,i.jsx)("label",{htmlFor:"discountCode",children:(0,i.jsx)(r.E,{className:"mb-3xs",children:p})}),(0,i.jsx)("form",{className:"flex items-start gap-xs",onSubmit:h(e=>{let{discountCode:t}=e;x(t)}),children:b&&(null==t?void 0:t.code)?(0,i.jsxs)("div",{className:"flex w-full flex-col gap-xs",children:[(0,i.jsx)(s.Chip,{label:null==t?void 0:t.code,size:"m",removable:!0,onRemove:()=>{f("discountCode"),null==v||v()}}),(0,i.jsx)(l.Banner,{title:w?"Discount applied":"Discounts applied",...w&&{body:(null==t?void 0:t.amount)!=null?"Get up to ".concat(j({amount:t.amount})," off eligible products. Unused\n amount wonât carry over to future orders."):(null==t?void 0:t.percentage_off)!=null?"Get ".concat(t.percentage_off,"% off eligible products."):""},variant:"positive",size:"m",compact:!1})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.xI,{name:"discountCode",control:y,render:e=>{let{field:t}=e;return(0,i.jsx)(o.TextField,{...t,id:"discountCode",validation:m?"error":void 0,description:null==m?void 0:m.message})}}),(0,i.jsx)(c.Button,{type:"submit",loading:u,disabled:!g,children:"Apply"})]})})]})}},26509:(e,t,n)=>{n.d(t,{A:()=>p,D:()=>v});var i=n(54568),a=n(8910),r=n(29994),s=n(75192),l=n(26424),o=n(48678),c=n(7620),d=n(15280),u=n(79428),m=n(37786),x=n(80803);function v(e){var t,n;let{paymentMethod:l,isDefault:o=!1,selected:d=!1,loading:u=!1,disabled:x=!1,variant:v="standard",onSelect:p,onChange:h}=e,f=(0,c.useMemo)(()=>{var e;let t=(null==l||null==(e=l.card)?void 0:e.brand)||"unknown";return m.Ay[t]},[l]),y=p?"button":"div";return(0,i.jsxs)(y,{className:"flex items-center rounded-m border border-border p-m",...p&&{onClick:p},children:[(0,i.jsxs)("div",{className:"flex grow items-center gap-s",children:[f,(0,i.jsx)(a.E,{className:"font-bold capitalize",children:"".concat(null==l||null==(t=l.card)?void 0:t.brand," â¢â¢â¢â¢ ").concat(null==l||null==(n=l.card)?void 0:n.last4)}),o&&(0,i.jsx)("div",{className:"rounded-2xs bg-surface-subtle px-2xs py-3xs",children:(0,i.jsx)(a.E,{size:"s",color:"secondary",children:"Default"})})]}),p&&(0,i.jsx)(r.RadioButton,{name:"paymentMethod",value:l.id,checked:d,readOnly:!0}),h&&(0,i.jsx)(s.Button,{onClick:h,loading:u,disabled:x,variant:v,children:"Change"})]})}let p=function(e){let{payment:{paymentMethods:t,setSelectedPaymentMethod:n,selectedPaymentMethod:a},onAddPaymentMethod:r,onSelectPaymentMethod:m}=e,{setPaymentState:p}=(0,x.Vn)(),h=(0,c.useCallback)(()=>{a&&(null==m||m(a),p(e=>({...e,view:"default",error:!1,failed:!1})))},[m,a,p]),f=(0,u.useIsMutating)({mutationKey:["subscription"]})>0;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.DialogBody,{children:(0,i.jsx)(o.ChoiceList,{className:"gap-xs",children:null==t?void 0:t.map(e=>(0,i.jsx)(v,{paymentMethod:e,onSelect:()=>{n(e)},selected:(null==a?void 0:a.id)===e.id,disabled:!0},e.id))})}),(0,i.jsx)(l.DialogFooter,{children:(0,i.jsxs)(l.DialogActions,{className:"flex-nowrap",children:[(0,i.jsx)(s.Button,{iconStart:d.IconAdd,full:!0,onClick:r,children:"Add payment method"}),(null==a?void 0:a.id)&&(0,i.jsx)(s.Button,{full:!0,variant:"accent",loading:f,onClick:h,children:"Save"})]})})]})}},34575:(e,t,n)=>{n.d(t,{T3:()=>x,o2:()=>v});var i=n(4869),a=n(81562),r=n(27736),s=n(7620),l=n(88106),o=n(66484),c=n(79138),d=n(80803);let u=e=>{let{mutationFn:t,queryKey:n,onMutate:r,onSuccess:s}=e,l=(0,i.useQueryClient)();return(0,a.useMutation)({mutationFn:async e=>{var n;let i;try{i=await t(e)}catch(e){if(e instanceof o.j$)throw Error((0,o.CK)(e.status,e.data,"Failed to apply discount. Please try again."));throw e}if(!i)throw Error("Failed to apply discount. Please try again.");let a=null==i||null==(n=i.discount)?void 0:n.rejection_reasons;
1if(null==a?void 0:a.length)throw Error((0,c.v)(a,!0));return i},onMutate:async()=>{null==r||r()},onSuccess:(e,t)=>{n&&l.setQueryData(n,e),l.setQueryData(["discount"],t),null==s||s(e)},onError:e=>{console.error("Discount mutation failed:",e)}})};function m(e){var t;let{hasReappliedRef:n,item:i,persistedDiscountCode:a,applyDiscount:r}=e,l=(0,s.useMemo)(()=>{var e;return null==i||null==(e=i.discount)?void 0:e.code},[null==i||null==(t=i.discount)?void 0:t.code]);(0,s.useEffect)(()=>{if(n.current||!a||!i||l||r.isPending)return()=>{};n.current=!0;let e=setTimeout(()=>{r.mutate(a),n.current=!1},200);return()=>clearTimeout(e)},[a,l,r.isPending]),(0,s.useEffect)(()=>()=>{n.current=!1},[n])}let x=e=>{var t,n;let{userId:a}=e,o=(0,i.useQueryClient)(),c=(0,s.useRef)(null),d=(0,s.useRef)(!1),x=u({queryKey:["cart-tax",a],onMutate:()=>{var e;c.current=null!=(e=o.getQueryData(["cart-tax",a]))?e:null,o.invalidateQueries({queryKey:["cart-tax",a],refetchType:"none"})},mutationFn:async e=>{let t=o.getQueryData(["cart",a]);if(!t)throw Error("Cart not found.");return(0,l.yt)({items:t.items,discount:e})},onSuccess:e=>{o.setQueryData(["cart-tax",a],e)}}),{data:v}=(0,r.useQuery)({queryKey:["cart-tax",a],queryFn:()=>null,enabled:!1,staleTime:1/0}),{data:p}=(0,r.useQuery)({queryKey:["discount"],queryFn:()=>void 0,enabled:!1,staleTime:1/0});m({hasReappliedRef:d,item:v,persistedDiscountCode:p,applyDiscount:x});let h=null==v?void 0:v.discount;return{discount:h,discountItems:null==v||null==(t=v.item_discounts)?void 0:t.items,discountCode:p,applyDiscount:x.mutate,discountLoading:x.isPending,discountError:null!=(n=x.error)?n:null,isDiscountValid:!!(null==h?void 0:h.amount)||!!(null==h?void 0:h.percentage_off),removeDiscount:()=>{if(o.invalidateQueries({queryKey:["cart-tax",a],refetchType:"none"}),c.current)o.setQueryData(["cart-tax",a],c.current);else{let e=o.getQueryData(["cart-tax",a]);if(e){let{discount:t,...n}=e;o.setQueryData(["cart-tax",a],n)}}o.removeQueries({queryKey:["discount"]})}}},v=function(e){var t,n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"once",r=(0,i.useQueryClient)(),o=(0,s.useRef)(null),c=(0,s.useRef)(!1),{instabuyTax:x}=(0,d.GX)({variantId:e,enabled:!!e&&"once"===a,plan:a}),v=u({queryKey:["instabuy-tax",e,a],onMutate:()=>{var t;o.current=null!=(t=r.getQueryData(["instabuy-tax",e,a]))?t:null},mutationFn:async t=>(0,l.yt)({items:[{variant_id:e,plan:a}],discount:t}),onSuccess:t=>{t&&r.setQueryData(["instabuy-tax",e,a],e=>{var n,i,a;return e?{...e,discount:null!=(n=t.discount)?n:null,total_price_with_tax:null!=(i=t.total_price_with_tax)?i:e.total_price_with_tax,total_tax:null!=(a=t.total_tax)?a:e.total_tax,price_before_discount:e.subtotal}:t})}});return m({hasReappliedRef:c,persistedDiscountCode:r.getQueryData(["discount"]),item:x,applyDiscount:v}),{discount:null==x?void 0:x.discount,discountItems:null==x||null==(t=x.item_discounts)?void 0:t.items,applyDiscount:v.mutate,discountLoading:v.isPending,discountError:null!=(n=v.error)?n:null,removeDiscount:()=>{if(o.current)r.setQueryData(["instabuy-tax",e,a],o.current);else{let t=r.getQueryData(["instabuy-tax",e,a]);if(t){let{discount:n,...i}=t;r.setQueryData(["instabuy-tax",e,a],i)}}r.removeQueries({queryKey:["discount"]}),v.reset()}}}},36105:(e,t,n)=>{n.d(t,{default:()=>Q});var i=n(54568),a=n(7620),r=n(75192),s=n(8910),l=n(26424),o=n(83982),c=n(15280),d=n(95820);function u(e){let{view:t="default",children:n}=e,i=(Array.isArray(n)?n:[n]).find(e=>e.props.view===t);return i||null}u.View=e=>{let{view:t,children:n}=e;return(0,i.jsx)(a.Fragment,{children:n},t)};var m=n(21108),x=n(80803),v=n(94892),p=n(69766),h=n(73036),f=n(29789),y=n(41546),g=n(58379),j=n(26426),b=n(8835),w=n(84145),_=n(63500),N=n(68737);let A=function(e){var t,n;let{item:a,variantInfo:{id:o,name:d,isFree:u,buyNow:m},payment:{selectedPaymentMethod:v},instabuy:{createOrder:A},showLoadingButton:S,setShowLoadingButton:D,onAddPaymentMethod:P,discountInfo:M}=e,{instabuyTax:E,isInstabuyTaxLoading:C}=(0,x.GX)({variantId:o,enabled:!0}),{formatCurrency:k}=(0,g.H2)(),{paymentState:z}=(0,x.Vn)(),{isRestricted:I,isGeolocating:F}=(0,y.h)(),T=(0,_.LP)({price:{...m,unit_amount:(null==m?void 0:m.unitAmou
1nt)||0,unit_amount_discounted:(null==m?void 0:m.unitAmountDiscounted)||0,currency:(null==m?void 0:m.currency)||"USD",plan:(null==m?void 0:m.plan)||"once"}}),U=(0,i.jsxs)("div",{className:"flex flex-col justify-center",children:[C?(0,i.jsx)(p.E,{variant:"body",lines:1}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.E,{alignment:"right",children:k({amount:null!=(n=null!=(t=null==E?void 0:E.price_before_discount)?t:null==E?void 0:E.total_price_without_tax)?n:0})}),T.has_discount&&(0,i.jsxs)("div",{className:"flex items-center justify-end gap-s",children:[(0,i.jsx)(w.A,{price:T}),T.original&&(0,i.jsx)(s.E,{size:"s",color:"secondary",alignment:"right",className:"line-through",children:T.original})]})]}),(0,i.jsxs)(s.E,{size:"s",color:"secondary",alignment:"right",children:["+"," ",k({amount:(null==E?void 0:E.total_tax)||0})," ","tax"]})]}),B=u?f.A.getNow:f.A.buy;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.DialogBody,{children:(0,i.jsxs)("div",{className:"flex flex-col gap-m",children:[I&&!u&&(0,i.jsx)(h.Banner,{variant:"warning",title:f.A.regionRestricted,size:"m",compact:!1}),(0,i.jsx)(j.J,{product:a,footer:U,variantName:d&&"default"!==d?d:void 0}),(0,i.jsx)(N.A,{discountData:M,taxData:E,isFree:u,selectedPaymentMethod:v}),(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsx)(s.E,{size:"l",className:"font-bold",children:f.A.total}),C?(0,i.jsx)(p.E,{variant:"body",lines:1}):(0,i.jsx)(s.E,{size:"l",className:"font-bold",children:k({amount:(null==E?void 0:E.total_price_with_tax)||0})})]}),(0,i.jsx)(b.p,{})]})}),(0,i.jsx)(l.DialogFooter,{children:v||u?(0,i.jsx)(r.Button,{iconStart:c.IconLock,variant:"accent",onClick:()=>{o&&(u||v)&&(A(),D(!0))},loading:z.processing||S||C||!u&&F,disabled:I&&!u,full:!0,children:B}):(0,i.jsx)(r.Button,{variant:"accent",full:!0,onClick:P,children:"Continue to payment method"})})]})};var S=n(26509),D=n(82906),P=n(70282),M=n(66948),E=n(37292),C=n(11689),k=n(79243);let z=function(e){let{item:t,variantId:n,needsLicense:s,isFree:o,priceType:u,surface:m}=e,{data:x}=(0,d.wV)(),{refetchDownloadLinks:p,isRefetchingDownloadLinks:h,isLoadingDownloadLinks:f,downloadLinks:y,isFetched:g}=(0,v.zv)({id:n,enabled:!0}),{open:b}=(0,M.useDeepLinkModal)(),w=e=>{n&&(e&&e.preventDefault(),p().then(e=>{var i,a;(null==e||null==(i=e.data)?void 0:i.direct_link)&&(window.document.location=e.data.direct_link,(0,k.J3)({productId:t.id,variantId:n,isFree:o,priceType:u,surface:m,userId:null==x||null==(a=x.user)?void 0:a.id}))}))};return(0,a.useEffect)(()=>{if(g){var e,i,a;if(!y)return;let r=y.deep_link||y.direct_link;r&&(null==(i=window)||null==(e=i.document)?void 0:e.location.href)!==r&&(window.document.location=r,(0,k.J3)({productId:t.id,variantId:n,isFree:o,priceType:u,surface:m,userId:null==x||null==(a=x.user)?void 0:a.id}))}},[g]),(0,i.jsx)(l.DialogBody,{children:(0,i.jsxs)("div",{className:"flex flex-col gap-xl",children:[(0,i.jsx)(j.J,{product:t}),s&&(0,i.jsx)(E.A,{variantId:n}),(0,i.jsx)("div",{children:t.deeplink_enabled&&(null==y?void 0:y.deep_link)?(0,i.jsxs)(D.ButtonGroup,{label:"Product actions",variant:"accent",children:[(0,i.jsx)(r.Button,{full:!0,loading:h,onClick:()=>
1{y&&y.deep_link&&b(y.deep_link,{name:t.name,icon:t.app_icon_cdn||t.thumbnail_cdn})},children:"Open in ".concat(t.application_name)}),y.direct_link&&(0,i.jsx)(r.IconButton,{className:"relative",onClick:e=>{e.preventDefault()},children:(0,i.jsxs)(P.ActionMenu,{onSelected:e=>{"download"===e?w():console.warn("unknown action",e)},className:"absolute left-none top-none flex size-2xl items-center justify-center",children:[(0,i.jsx)(P.ActionMenuButton,{as:C.F}),(0,i.jsx)(P.ActionMenuPanel,{anchor:"bottom end",children:(0,i.jsx)(P.ActionMenuContent,{children:(0,i.jsx)(P.ActionMenuItem,{label:"Download",prefixEl:(0,i.jsx)(P.ActionMenuItemIcon,{icon:c.IconDownload}),value:"download",disabled:h||f})})})]})})]}):(0,i.jsx)(r.Button,{iconStart:c.IconDownload,full:!0,variant:"accent",disabled:h||f,loading:h||f,onClick:w,children:"Download"})})]})})};var I=n(53684),F=n(69641),T=n(34575),U=n(2285),B=n(98933);function Q(e){var t,n,p;let{...h}=e,{data:f}=(0,d.wV)(),y=null==f||null==(t=f.user)?void 0:t.id,j=!!y,[b,w]=(0,a.useState)(!1),{paymentState:_,setPaymentState:N,resetPaymentState:D}=(0,x.Vn)(),{instabuyItem:P,instabuyType:M,showInstabuyDialog:E,closeInstabuyDialog:C}=(0,U.Z)(),Q=(0,v.rn)(P.product,P.variant),R=(0,m.mu)({userId:y,enabled:!Q.isFree&&j}),[V,q]=(0,a.useState)(),L=(0,a.useMemo)(()=>{var e,t;return("buyNow"===M?null==(e=Q[M])?void 0:e.plan:V||(null==(t=Q[M])?void 0:t.plan))||"once"},[M,V,Q]),K=(0,a.useMemo)(()=>[{variant_id:Q.id,plan:L}],[Q.id,L]),H=(0,a.useMemo)(()=>{var e;let t=null==(e=Q.prices)?void 0:e.find(e=>e.plan===L);return{product_id:P.product.id,price:{unit_amount:(null==t?void 0:t.unit_amount)||0,currency:(null==t?void 0:t.currency)||"USD",plan:L},isFree:!!Q.isFree}},[P.product.id,L,Q]),J=(0,T.o2)(Q.id,null==(n=Q[M])?void 0:n.plan),O=(0,x.sj)({userId:y,items:K,paymentMethodId:null==(p=R.selectedPaymentMethod)?void 0:p.id,type:"instabuy",instabuyItem:H,surface:P.surface,...J.discount&&{discount:J.discount}}),{state3DS:G,open3DS:W}=(0,F.l)({clientSecret:_.clientSecret,onFail:O.onOrderFail}),{order:X,isOrderLoading:Y,orderRetrievalStatus:Z}=(0,x.SC)({orderId:O.orderId,enabled:j&&!G.show}),{refetchMyProducts:$}=(0,v.i5)({userId:y,enabled:!1});(0,a.useEffect)(()=>{if(X&&!Y)switch(X.status){case"succeeded":b?(O.onOrderSuccess(X),N(e=>({...e,view:"succeeded"}))):$();break;case"failed":O.onOrderFail();break;case"requires_action":G.done||W();break;default:"error"===Z&&O.onOrderFail()}},[X,Y,Z,G.done,b]);let ee=(0,a.useCallback)(()=>{C(),$(),J.removeDiscount(),w(!1),setTimeout(D,500)},[C,$,J,D]);(0,a.useEffect)(()=>{b&&O.errorState.show&&(w(!1),"subscription"===M&&window.location.assign("/account/subscriptions?variant=".concat(Q.id)))},[O.errorState,M,b,Q.id]);let{amountToUSD:et}=(0,g.H2)(),en=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!E||Q.isFree||!Q.resolvedVariant)return;let e="".concat(P.product.id,":").concat(L);en.current!==e&&(en.current=e,(0,k.Ye)({product:P.product,variantId:Q.id,price:H.price,userId:y||"",amountToUSD:et}))},[E,Q.isFree,Q.resolvedVariant,Q.id,P.product.id,L,H.price,y]);let ei=(0,a.useCallback)(e=>{var t;(null==(t=e.card)?void 0:t.brand)&&(0,k.us)({paymentType:e.card.brand})},[]),ea=(0,a.useCallback)(async()=>{try{let e=await R.addPaymentMethod.mutateAsync();(null==e?void 0:e.client_secret)&&N(t=>({...t,view:"addPaymentMethod",clientSecret:null==e?void 0:e.client_secret}))}catch(e){console.error("Failed to add payment method:",e)}},[R.addPaymentMethod,N]),er=(0,a.useMemo)(()=>({item:P.product,variantInfo:Q,payment:R,instabuy:O,showLoadingButton:b,setShowLoadingButton:w,onAddPaymentMethod:ea,discountInfo:J}),[J,ea,O,P.product,R,b,Q]);return(0,i.jsxs)(l.Dialog,{open:E&&!!H&&!R.isPaymentMethodsLoading,onClose:ee,size:"m",...h,children:[(0,i.jsx)(l.DialogHeader,{children:(()=>{switch(_.view){case"addPaymentMethod":case"selectPaymentMethod":return(0,i.jsxs)("div",{className:"flex items-center",children:[(0,i.jsx)(r.IconButton,{icon:c.IconArrowLeft,variant:"quiet",onClick:()=>N(e=>({...e,view:"default"}))}),(0,i.jsx)(s.E,{variant:"heading",tag:"h2",size:"s",className:"px-xs py-3xs",children:"addPaymentMethod"===_.view?"Add payment method":"Select payment method"})]});
1case"succeeded":return"Thank you for your purchase";default:if("subscription"===M)return"Choose a plan";return Q.isFree?"Get now":"Buy now"}})()}),(0,i.jsxs)(u,{view:_.view,children:[(0,i.jsx)(u.View,{view:"default",children:"buyNow"===M?(0,i.jsx)(A,{...er}):(0,i.jsx)(B.A,{...er,onSelectSubscriptionPlan:e=>{q(e.plan)},selectedSubscriptionPlan:V||H.price.plan})}),(0,i.jsx)(u.View,{view:"selectPaymentMethod",children:(0,i.jsx)(S.A,{payment:R,onAddPaymentMethod:ea,onSelectPaymentMethod:ei})}),(0,i.jsx)(u.View,{view:"addPaymentMethod",children:(0,i.jsx)(I.A,{})}),(0,i.jsx)(u.View,{view:"processing",children:(0,i.jsx)(l.DialogBody,{children:(0,i.jsxs)("div",{className:"flex h-9xl w-full flex-col items-center justify-center gap-2xl",children:[(0,i.jsx)(s.E,{size:"l",children:"Processing your payment..."}),(0,i.jsx)(o.a,{indeterminate:!0})]})})}),(0,i.jsx)(u.View,{view:"succeeded",children:(0,i.jsx)(z,{item:P.product,variantId:Q.id,needsLicense:Q.needsLicense,isFree:!!Q.isFree,priceType:(0,k.Ir)(!!Q.isFree,"subscription"===M),surface:P.surface})})]})]})}},37786:(e,t,n)=>{n.d(t,{Ay:()=>v,T4:()=>x});var i=n(54568),a=n(94639),r=n(94474),s=n(55599),l=n(25890),o=n(39947),c=n(25952),d=n(79058),u=n(58447);let m={amex:(0,i.jsx)(a.A,{}),diners:(0,i.jsx)(r.A,{}),discover:(0,i.jsx)(s.A,{}),jcb:(0,i.jsx)(l.A,{}),mastercard:(0,i.jsx)(o.A,{}),unionpay:(0,i.jsx)(c.A,{}),visa:(0,i.jsx)(d.A,{}),unknown:(0,i.jsx)(u.A,{})};a.A,r.A,s.A,l.A,o.A,c.A,d.A,u.A;let x=e=>{let{badge:t,size:n="m"}=e;switch(t){case"amex":return(0,i.jsx)(a.A,{size:n});case"diners":return(0,i.jsx)(r.A,{size:n});case"discover":return(0,i.jsx)(s.A,{size:n});case"jcb":return(0,i.jsx)(l.A,{size:n});case"mastercard":return(0,i.jsx)(o.A,{size:n});case"unionpay":return(0,i.jsx)(c.A,{size:n});case"visa":return(0,i.jsx)(d.A,{size:n});default:return(0,i.jsx)(u.A,{size:n})}},v=m},53684:(e,t,n)=>{n.d(t,{A:()=>o});var i=n(54568),a=n(26424),r=n(83982),s=n(96058),l=n(80803);let o=function(){let{paymentState:e,setPaymentState:t}=(0,l.Vn)();return(0,i.jsx)(a.DialogBody,{children:e.clientSecret?(0,i.jsx)(s.D,{clientSecret:e.clientSecret,children:(0,i.jsx)(s.n,{handleCancel:()=>t(e=>({...e,view:"selectPaymentMethod"})),handleSuccess:()=>t(e=>({...e,view:"default",clientSecret:""}))})}):(0,i.jsx)("div",{className:"flex h-full min-h-9xl w-full justify-center",children:(0,i.jsx)(r.a,{indeterminate:!0})})})}},56755:(e,t,n)=>{n.d(t,{H:()=>i});function i(e){let t="";return e.first_name&&(t=e.first_name),e.last_name&&(""!==t&&(t+=" "),t+=e.last_name),t}},68737:(e,t,n)=>{n.d(t,{A:()=>m});var i=n(54568),a=n(15280),r=n(8910),s=n(25963),l=n(58379),o=n(79138),c=n(80803),d=n(26509),u=n(29789);let m=function(e){var t,n,m;let{selectedPaymentMethod:x,isFree:v=!1,taxData:p,discountData:h}=e,{paymentState:f,setPaymentState:y}=(0,c.Vn)(),{formatCurrency:g}=(0,l.H2)(),j=(null==h?void 0:h.discount)&&(0,o.W)({discountItems:h.discountItems})||0;return(0,i.jsxs)(i.Fragment,{children:[x&&!v&&(0,i.jsxs)("div",{className:"flex flex-col gap-3xs",children:[(0,i.jsx)(r.E,{variant:"heading",tag:"h2",size:"s",children:"Payment method"}),(0,i.jsx)(d.D,{paymentMethod:x,onChange:()=>y(e=>({...e,view:"selectPaymentMethod"}))})]}),(null==f?void 0:f.failed)&&(0,i.jsxs)("div",{className:"flex items-center gap-m pb-m",children:[(0,i.jsx)(a.IconWarning,{size:"l",className:"text-content-negative"}),(0,i.jsx)(r.E,{color:"negative",children:"Payment was declined"})]}),(null==f?void 0:f.error)&&(0,i.jsxs)("div",{className:"flex items-center gap-m pb-m",children:[(0,i.jsx)(a.IconWarning,{size:"l",className:"text-content-negative"}),(0,i.jsx)(r.E,{color:"negative",children:"There was an error with the purchase"})]}),(h||p)&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.I,{discount:null==h?void 0:h.discount,discountItems:null==h?void 0:h.discountItems,loading:null==h?void 0:h.discountLoading,error:null!=(m=null==h?void 0:h.discountError)?m:null,onApply:e=>null==h?void 0:h.applyDiscount(e),onRemove:null==h?void 0:h.removeDiscount}),h&&((null==(t=h.discount)?void 0:t.amount)||(null==(n=h.discount)?void 0:n.percentage_off))&&(0,i.jsxs)("div",{className:"flex justify-between pt-[16px]",children:[(0,i.jsx)(r.E,{children:u.A.discount})," ",(0,i.jsxs)(r.E,{children:["-",g({amount:j})]})]})]})]})}},69641:(e,t,n)=>{n.d(t,{l:()=>r});var i=n(7620),a=n(13508);let r=e=>{let{clientSecret:t,onFail:n}=e,[r,s]=(0,i.useState)({show:!1,done:!1}),l=(0,i.useCallback)(()=>{s({show:!1,done:!1}),n()},[n]);return{state3DS:r,open3DS:(0,i.useCallback)(async()=>{s({show:!0,done:!1});let e=await (0,a.c)("pk_live_51LI9sgJ091CwhHnmde77OcQQtCDnJBzUuq6RmwStfWtU7LKwYcFVD8tu19NMcVBejjvbop752PLhmTKota94RSTU00MlAeaJ0e");null==e||e.confirmPayment({clientSecret:t,redirect:"if_required"}).then(e=>{if(e.error)throw Error();s({show:!1,done:!0})}).catch(l)},[t,l])}}},77044:(e,t,n)=>{n.d(t,{H:()=>c,o:()=>o});var i=n(54568),a=n(8910),r=n(55810),s=n(22197),l=n(56755);let o=()=>{let{data:e,isLoading:t}=(0,s.xc)();return t||!e?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.E,{color:"primary",variant:"heading",size:"xs",tag:"h3",children:(0,l.H)(e)}
1),(0,i.jsx)(a.E,{color:"secondary",variant:"body",size:"m",children:e.email})]})},c=e=>{var t;let{data:n,isLoading:a}=(0,s.xc)(),l=n?n.default_avatar_color:void 0;return(0,i.jsx)(r.Avatar,{color:l,isLoading:a,name:null==n?void 0:n.first_name,image:null==n||null==(t=n.avatar_resolutions[0])?void 0:t.asset,...e})}},78159:(e,t,n)=>{n.d(t,{A:()=>a});let i={year:"numeric",month:"long",day:"numeric"},a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{year:"numeric",month:"long",day:"numeric"},n=arguments.length>2?arguments[2]:void 0;if(!e||"boolean"==typeof e)return;let a=new Intl.DateTimeFormat(n||"en-US",{...i,...t}),r=Number.isNaN(new Date(e).getTime())?void 0:new Date(e);return r?a.format(r):void 0}},79138:(e,t,n)=>{n.d(t,{W:()=>r,v:()=>a});let i=[{reason:"discount_code_invalid",message:"Enter a valid discount code"},{reason:"invalid-date",message:"This discount code has expired"},{reason:"max-uses-exceeded",message:"This discount code has been fully used"},{reason:"already-used-by-user",message:"This discount code has already been used"},{reason:"not-applicable-to-cart",message:"This discount code doesnât apply to products in your cart",messageSingle:"This discount code doesnât apply to this product"}];function a(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=i.find(t=>{let{reason:n}=t;return e.includes(n)});return n?t&&n.messageSingle?n.messageSingle:n.message:"Enter a valid discount code"}function r(e){let{discountItems:t=[]}=e;return Array.isArray(t)?t.reduce((e,t)=>t.discount?e+t.discount.reduction:e,0):0}},96058:(e,t,n)=>{n.d(t,{D:()=>d,n:()=>y});var i=n(54568),a=n(17333),r=n(13508),s=n(7620),l=n(24560);let o=(0,r.c)("pk_live_51LI9sgJ091CwhHnmde77OcQQtCDnJBzUuq6RmwStfWtU7LKwYcFVD8tu19NMcVBejjvbop752PLhmTKota94RSTU00MlAeaJ0e"),c=[{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-Regular.ttf)",weight:"normal",style:"normal"},{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-Regular.woff)",weight:"normal",style:"normal"},{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-Italic.ttf)",weight:"normal",style:"italic"},{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-Italic.woff)",weight:"normal",style:"italic"},{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-Medium.ttf)",weight:"bold",style:"normal"},{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-Medium.woff)",weight:"bold",style:"normal"},{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-MediumItalic.ttf)",weight:"bold",style:"italic"},{family:"Univers Next Pro",src:"url(/fonts/UniversNextPro/UniversNextPro-MediumItalic.woff)",weight:"bold",style:"italic"}];function d(e){let{clientSecret:t,children:n}=e,r=(()=>{let{theme:e}=(0,l.D)(),t=(0,s.useMemo)(()=>window.getComputedStyle(document.documentElement),[]),n=e=>(null==t?void 0:t.getPropertyValue(e))||"0",[i,a]=(0,s.useState)({}),r=(0,s.useCallback)(()=>Object.entries({colorBackground:"var(--surface-overlay)",colorText:"var(--content-primary)",colorPrimary:"var(--content-primary)",colorPrimaryText:"var(--content-primary)",colorDanger:"var(--content-negative)",colorDangerText:"var(--content-negative)",colorSuccess:"var(--background-positive)",colorSuccessText:"var(--content-positive)",fontFamily:"Univers Next Pro, Arial",fontSizeSm:"var(--font-size-m)",borderRadius:"var(--rounding-control-m)",gridRowSpacing:"var(--space-m)",gridColumnSpacing:"var(--space-m)"}).reduce((e,t)=>{let[n,i]=t;return{...e,[n]:i.startsWith("var(--")?getComputedStyle(document.body).getPropertyValue(i.slice(4,i.length-1)):i}},{}),[e]);return(0,s.useEffect)(()=>{setTimeout(()=>a(r()),0)},[r,e]),{variables:i,rules:{".Input":{transition:"none",backgroundColor:n("--surface-overlay"),color:n("--content-primary"),padding:n("--space-control-m-padding"),height:n("--size-control-m"),fontSize:n("--font-size-m"),lineHeight:n("--font-line-height-m"),boxShadow:"none"},".Input::placeholder":{color:n("--content-secondary")}
1,".Input:focus-within":{outline:"2px solid ".concat(n("--focus")),outlineOffset:"2px",boxShadow:"none"},".Input:focus":{outline:"2px solid ".concat(n("--focus")),outlineOffset:"2px",boxShadow:"none"},".Input--invalid":{outline:"none",boxShadow:"none"},".Label":{color:n("--content-primary"),marginBottom:"0.5rem"},".Error":{marginTop:n("--space-control-m-gap"),fontSize:n("--font-size-s")},".AccordionButton":{paddingLeft:n("--space-xs"),paddingRight:n("--space-xs"),paddingTop:n("--space-3xs"),paddingBottom:n("--space-3xs"),borderRadius:n("--rounding-control-m")},".TermsText":{fontSize:n("--font-size-s")}}}})();return(0,i.jsx)(a.Elements,{options:{clientSecret:t,appearance:r,fonts:c,loader:"never"},stripe:o,children:n})}var u=n(4869),m=n(83982),x=n(73886),v=n(73036),p=n(75192),h=n(72902),f=n(95820);function y(e){var t;let{handleCancel:n,handleSuccess:r,redirectUrl:l="/account/payments"}=e,o=(0,a.useStripe)(),c=(0,a.useElements)(),[d,y]=(0,s.useState)(null),{data:g}=(0,f.wV)(),[j,b]=(0,s.useState)(!0),[w,_]=(0,s.useState)(!1),[N,A]=(0,s.useState)({error:"",value:""}),S=(0,u.useQueryClient)();return(0,i.jsxs)("form",{id:"payment-form",onSubmit:e=>{if(e.preventDefault(),o&&c&&(null==g?void 0:g.user)){if(!N.value||0===N.value.trim().length)return void A(e=>({...e,error:"This field is required"}));_(!0),y(null),(async()=>{let{error:e}=await o.confirmSetup({elements:c,confirmParams:{return_url:"".concat("https://marketplace.elgato.com").concat(l),payment_method_data:{billing_details:{name:N.value}}},redirect:"if_required"});e?y(e):(S.invalidateQueries({queryKey:["paymentMethods"]}).catch(e=>console.error(e)),r&&r()),_(!1)})().catch(e=>console.error(e))}},className:(0,h.A)("relative flex w-full flex-col gap-m",j&&"items-center justify-center"),children:[j&&(0,i.jsx)("div",{className:"size-full absolute flex items-center justify-center",children:(0,i.jsx)(m.a,{indeterminate:!0})}),!j&&(0,i.jsx)("div",{className:"gap-m",children:(0,i.jsx)(x.TextField,{label:"Name on card",name:"name",onChange:e=>A({error:"",value:e.target.value}),...(null==N||null==(t=N.error)?void 0:t.length)>0&&{validation:"error"},description:N.error})}),(0,i.jsx)(a.PaymentElement,{id:"payment-element",onReady:()=>b(!1),options:{readOnly:w},className:"min-h-9xl"}),(null==d?void 0:d.code)==="processing_error"&&d.message&&(0,i.jsx)(v.Banner,{title:d.message,compact:!0,variant:"negative"}),!j&&o&&c&&(0,i.jsxs)("div",{className:"flex justify-end gap-xs",children:[(0,i.jsx)(p.Button,{disabled:w||!o||!c,id:"submit",size:"m",onClick:n,children:"Cancel"}),(0,i.jsx)(p.Button,{disabled:w||!o||!c,id:"submit",variant:"accent",type:"submit",size:"m",children:"Add card"})]})]})}},98933:(e,t,n)=>{n.d(t,{A:()=>b,R:()=>j});var i=n(54568),a=n(8910),r=n(69766),s=n(26424),l=n(73036),o=n(75192),c=n(72902),d=n(7620),u=n(15280),m=n(80803),x=n(29789),v=n(41546),p=n(26426),h=n(68737),f=n(58379),y=n(55554),g=n(8835);function j(e){let{variantId:t,plan:n,disabled:s=!1,selected:l=!1,percentSaving:o,onSelect:d}=e,{formatCurrency:u}=(0,f.H2)(),{instabuyTax:x,isInstabuyTaxLoading:v}=(0,m.GX)({variantId:t,plan:n,enabled:!0});return(0,i.jsxs)("button",{type:"button",className:(0,c.A)("flex flex-col gap-4xs rounded-m px-xs pb-xs pt-s outline",l?"outline-2":"outline-1",s?"outline-border-disabled":(0,c.A)(l?"outline-2 outline-border-inverse":"outline-border")),onClick:d,disabled:s,children:[(0,i.jsxs)("div",{className:"flex items-center justify-between pl-xs pr-3xs",children:[(0,i.jsx)(a.E,{className:"font-medium",...s&&{color:"disabled"},children:y.Uh[n].title}),o&&(0,i.jsx)("div",{className:"flex rounded-2xs bg-surface-subtle px-2xs py-3xs",children:(0,i.jsxs)(a.E,{size:"s",color:"secondary",children:["Save ",o,"% vs monthly"]})})]}),(0,i.jsxs)("div",{className:"flex flex-col gap-3xs pb-xs pl-xs pr-3xs",children:[(0,i.jsxs)("div",{className:"flex items-end gap-2xs",children:[v?(0,i.jsx)(r.E,{variant:"heading",lines:1,className:"min-w-[64px]"}):(0,i.jsx)(a.E,{variant:"heading",tag:"h4",size:"m",...s&&{color:"disabled"},children:u({amount:(null==x?void 0:x.total_price_with_tax)||0})}),(0,i.jsxs)(a.E,{color:s?"disabled":"secondary",children:["/",y.Uh[n].period]})]}
1),(0,i.jsx)("div",{children:v?(0,i.jsx)(r.E,{variant:"body",size:"s",lines:1,className:"max-w-[33.33%]"}):(0,i.jsxs)(a.E,{color:s?"disabled":"secondary",size:"s",children:[u({amount:(null==x?void 0:x.price_before_discount)||(null==x?void 0:x.total_price_without_tax)||0})," ","+"," ",u({amount:(null==x?void 0:x.total_tax)||0})," ","tax"]})})]})]})}let b=function(e){let{item:t,variantInfo:{id:n,name:r,isFree:f,prices:b},payment:{selectedPaymentMethod:w},instabuy:{createOrder:_},showLoadingButton:N,selectedSubscriptionPlan:A,setShowLoadingButton:S,onAddPaymentMethod:D,onSelectSubscriptionPlan:P}=e,{paymentState:M}=(0,m.Vn)(),{isRestricted:E}=(0,v.h)(),C=(0,d.useMemo)(()=>{if(!b)return[];let e=b.filter(e=>"once"!==e.plan);return e.sort(e=>"monthly"===e.plan?-1:1),e},[b]),k=(0,d.useMemo)(()=>(0,y.v9)(C),[C]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.DialogBody,{children:(0,i.jsxs)("div",{className:"flex flex-col gap-m",children:[E&&(0,i.jsx)(l.Banner,{variant:"warning",title:x.A.regionRestricted,size:"m",compact:!1}),(0,i.jsx)(p.J,{product:t,variantName:r&&"default"!==r?r:void 0}),(0,i.jsxs)("div",{className:"flex flex-col gap-3xs",children:[(0,i.jsx)(a.E,{variant:"heading",tag:"h3",size:"s",children:"Plans"}),C.length>0?(0,i.jsx)("div",{className:"flex flex-col gap-xs",children:C.map(e=>(0,i.jsx)(j,{variantId:n,plan:e.plan,selected:e.plan===A,onSelect:()=>P(e),...k&&"annually"===e.plan&&{percentSaving:k}},e.plan))}):(0,i.jsx)("div",{className:(0,c.A)("flex flex-col gap-4xs rounded-xs px-xs pb-xs pt-s outline outline-1 outline-border","items-center justify-between pl-xs pr-3xs"),children:(0,i.jsx)(a.E,{color:"secondary",children:"No plans available"})})]}),(0,i.jsx)(h.A,{isFree:f,selectedPaymentMethod:w}),(0,i.jsx)(g.p,{isSubscription:A})]})}),(0,i.jsx)(s.DialogFooter,{children:(0,i.jsx)("div",{className:"flex items-center justify-end gap-s",children:w||f?(0,i.jsx)(o.Button,{iconStart:u.IconLock,variant:"accent",full:!0,onClick:()=>{n&&(f||w)&&(_(),S(!0))},loading:M.processing||N,disabled:E&&!f||!A||"once"===A,children:"Subscribe"}):(0,i.jsx)(o.Button,{variant:"accent",full:!0,onClick:D,children:"Continue to payment method"})})})]})}}}]);
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.