bitsnap-react 1.11.1 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/dist/CartProvider-XNFSUOCB.js +2 -0
- package/dist/CartProvider-XNFSUOCB.js.map +1 -0
- package/dist/CartProvider-YMJ7RFO4.mjs +2 -0
- package/dist/analytics.js +1 -1
- package/dist/analytics.mjs +1 -1
- package/dist/catalog.js +1 -1
- package/dist/catalog.mjs +1 -1
- package/dist/{chunk-ETGHIHWR.mjs → chunk-3QG7H2AI.mjs} +2 -2
- package/dist/chunk-4BW6J7FP.js +4 -0
- package/dist/{chunk-FBTYZHXM.js.map → chunk-4BW6J7FP.js.map} +1 -1
- package/dist/{chunk-HWQNT6XU.mjs → chunk-5R3WR22A.mjs} +2 -2
- package/dist/{chunk-UFIOJGJZ.js → chunk-6IACFTJR.js} +2 -2
- package/dist/{chunk-UFIOJGJZ.js.map → chunk-6IACFTJR.js.map} +1 -1
- package/dist/{chunk-WGJTXDIS.js → chunk-DF2IK2GN.js} +2 -2
- package/dist/{chunk-WGJTXDIS.js.map → chunk-DF2IK2GN.js.map} +1 -1
- package/dist/{chunk-3IVLQILF.js → chunk-DGUIG334.js} +2 -2
- package/dist/{chunk-3IVLQILF.js.map → chunk-DGUIG334.js.map} +1 -1
- package/dist/{chunk-JUDR4EZA.mjs → chunk-E5DCEFI2.mjs} +2 -2
- package/dist/chunk-ERL4Z7M7.js +2 -0
- package/dist/{chunk-Q25D7OAO.js.map → chunk-ERL4Z7M7.js.map} +1 -1
- package/dist/{chunk-IJLHU2MA.mjs → chunk-FF2ICGFQ.mjs} +2 -2
- package/dist/{chunk-IJLHU2MA.mjs.map → chunk-FF2ICGFQ.mjs.map} +1 -1
- package/dist/{chunk-VPBFEAFQ.js → chunk-ICFYSZTV.js} +2 -2
- package/dist/{chunk-VPBFEAFQ.js.map → chunk-ICFYSZTV.js.map} +1 -1
- package/dist/{chunk-UCL4Y7L3.js → chunk-MLSKHOA3.js} +2 -2
- package/dist/{chunk-UCL4Y7L3.js.map → chunk-MLSKHOA3.js.map} +1 -1
- package/dist/chunk-P4Q5KXKS.mjs +2 -0
- package/dist/{chunk-G2UOTVS5.mjs.map → chunk-P4Q5KXKS.mjs.map} +1 -1
- package/dist/chunk-PNTO3L2C.mjs +4 -0
- package/dist/chunk-PNTO3L2C.mjs.map +1 -0
- package/dist/chunk-QSIKRVZL.mjs +2 -0
- package/dist/chunk-QSIKRVZL.mjs.map +1 -0
- package/dist/{chunk-DWRBPP32.mjs → chunk-UCESDAEC.mjs} +2 -2
- package/dist/chunk-XTIY6PXH.js +2 -0
- package/dist/{chunk-YBGAYEJQ.js.map → chunk-XTIY6PXH.js.map} +1 -1
- package/dist/course.js +1 -1
- package/dist/course.mjs +1 -1
- package/dist/embed/analytics.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +49 -1
- package/dist/index.d.ts +49 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/methods-DDGOXLP6.mjs +2 -0
- package/dist/methods-RQPDIUUN.js +2 -0
- package/dist/{methods-ZBX4BTDE.js.map → methods-RQPDIUUN.js.map} +1 -1
- package/dist/returns.js +1 -1
- package/dist/returns.mjs +1 -1
- package/package.json +51 -26
- package/dist/CartProvider-QY2DMNCC.js +0 -2
- package/dist/CartProvider-QY2DMNCC.js.map +0 -1
- package/dist/CartProvider-XMHPQRWC.mjs +0 -2
- package/dist/chunk-2PK36NGB.mjs +0 -4
- package/dist/chunk-2PK36NGB.mjs.map +0 -1
- package/dist/chunk-2X32DDUM.mjs +0 -2
- package/dist/chunk-2X32DDUM.mjs.map +0 -1
- package/dist/chunk-FBTYZHXM.js +0 -4
- package/dist/chunk-G2UOTVS5.mjs +0 -2
- package/dist/chunk-Q25D7OAO.js +0 -2
- package/dist/chunk-YBGAYEJQ.js +0 -2
- package/dist/methods-ALO22YWQ.mjs +0 -2
- package/dist/methods-ZBX4BTDE.js +0 -2
- /package/dist/{CartProvider-XMHPQRWC.mjs.map → CartProvider-YMJ7RFO4.mjs.map} +0 -0
- /package/dist/{chunk-ETGHIHWR.mjs.map → chunk-3QG7H2AI.mjs.map} +0 -0
- /package/dist/{chunk-HWQNT6XU.mjs.map → chunk-5R3WR22A.mjs.map} +0 -0
- /package/dist/{chunk-JUDR4EZA.mjs.map → chunk-E5DCEFI2.mjs.map} +0 -0
- /package/dist/{chunk-DWRBPP32.mjs.map → chunk-UCESDAEC.mjs.map} +0 -0
- /package/dist/{methods-ALO22YWQ.mjs.map → methods-DDGOXLP6.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkFBTYZHXMjs = require('./chunk-FBTYZHXM.js');var _chunkVPBFEAFQjs = require('./chunk-VPBFEAFQ.js');var _chunkUCL4Y7L3js = require('./chunk-UCL4Y7L3.js');var _chunkYBGAYEJQjs = require('./chunk-YBGAYEJQ.js');var _chunkKOYBZORLjs = require('./chunk-KOYBZORL.js');var _chunk3IVLQILFjs = require('./chunk-3IVLQILF.js');var _chunkUFIOJGJZjs = require('./chunk-UFIOJGJZ.js');var _chunkQ25D7OAOjs = require('./chunk-Q25D7OAO.js');var _chunkWGJTXDISjs = require('./chunk-WGJTXDIS.js');require('./chunk-XIHGWNTS.js');require('./chunk-JSDGZ4NY.js');var _applepaybutton = require('apple-pay-button'); var _applepaybutton2 = _interopRequireDefault(_applepaybutton);function Lt(){try{return _chunkFBTYZHXMjs.G.call(void 0, )}catch (e2){return}}var _reactquery = require('@tanstack/react-query');var _jsxruntime = require('react/jsx-runtime');var Lr=_nullishCoalesce(_applepaybutton2.default.default, () => (_applepaybutton2.default));function Ur({style:t,buttonType:e,colorType:a,items:o,onClick:c}){let{checkIfApplePayIsAvailable:d,getApplePayPaymentRequest:i,completeApplePayPayment:w,setCountry:h,setCouponCodeIfPossible:u,setDeliveryMethod:v,setEmail:k,setPostalCode:S,clearCart:x}=_chunkFBTYZHXMjs.H.call(void 0, ),b=_chunkWGJTXDISjs.m.call(void 0, ),{data:g}=_reactquery.useQuery.call(void 0, {queryKey:["is-apple-pay-available"],queryFn:d});if(g!=!0)return null;let C=o.map(p=>({productID:p.id,quantity:p.quantity,metadata:p.metadata}));async function y(){let p=!1,s=n=>{p||(p=!0,b.track("apple_pay_result",{outcome:n}))};b.track("apple_pay_clicked",{}),b.track("payment_method_selected",{gateway:"apple_pay",method:"apple_pay"}),_chunkFBTYZHXMjs.t.call(void 0, {event:"initiateCheckout",items:o.map(n=>({id:n.id,name:n.name,price:n.price,quantity:n.quantity,currency:"PLN"}))});let P=o.find(n=>n.isDeliverable===!0)!=null,f=new ApplePaySession(14,{countryCode:"PL",merchantCapabilities:["supports3DS"],supportedNetworks:["visa","masterCard"],currencyCode:"PLN",total:{amount:`${_chunkFBTYZHXMjs.r.call(void 0, o.reduce((n,l)=>n+l.price*l.quantity,0)/100,2)}`,label:"P\u0142atno\u015B\u0107 za koszyk",type:"pending"},lineItems:[...o.map(n=>({amount:`${_chunkFBTYZHXMjs.r.call(void 0, n.price*n.quantity/100,2)}`,label:n.name,type:"final"})),P?{amount:"16.99",type:"pending",label:"Dostawa"}:void 0].filter(n=>n!=null),...P?{shippingMethods:[],supportsCouponCode:!0,requiredBillingContactFields:["name","email","postalAddress","phone"],requiredShippingContactFields:["name","email","postalAddress","phone"]}:{}});await _optionalChain([c, 'optionalCall', _2 => _2()]);let B=await i({expectedItems:C});if(_chunkFBTYZHXMjs.u.call(void 0, B)){console.error("Error creating ApplePaySession:",B.error),s("fail");return}f.oncancel=n=>{console.log("ApplePaySession cancelled",n),s("cancel")},f.onvalidatemerchant=async n=>{try{let l=await _chunkFBTYZHXMjs.a.get(_chunkQ25D7OAOjs.f).applePayValidateMerchant({validationUrl:n.validationURL,projectId:_chunkFBTYZHXMjs.G.call(void 0, )});console.log("merchantSession",l.merchantSession),l.merchantSession.length>0?(console.log("completing merchant session"),f.completeMerchantValidation(JSON.parse(l.merchantSession))):f.abort()}catch (e3){f.abort}},f.onshippingmethodselected=async n=>{console.log("shipping method selected",n),b.track("delivery_method_selected",{method:n.shippingMethod.identifier}),await v(n.shippingMethod.identifier);let l=await i({expectedItems:C});if(console.log("apRequest",l),_chunkFBTYZHXMjs.u.call(void 0, l))throw f.abort(),new Error("Failed to get Apple Pay payment request");f.completeShippingMethodSelection({newTotal:l.total,newLineItems:l.lineItems,newShippingMethods:l.shippingMethods})},f.onshippingcontactselected=async n=>{try{n.shippingContact.countryCode!=null&&await h(n.shippingContact.countryCode),n.shippingContact.postalCode!=null&&await S(n.shippingContact.postalCode),n.shippingContact.phoneNumber!=null&&await k(n.shippingContact.emailAddress);let l=await i({expectedItems:C});if(_chunkFBTYZHXMjs.u.call(void 0, l))throw f.abort(),new Error("Failed to get Apple Pay payment request");console.log("apRequest",l),f.completeShippingContactSelection({newLineItems:l.lineItems,newTotal:l.total,newShippingMethods:l.shippingMethods})}catch(l){console.log("shipping contact selected error",l),f.abort()}},f.oncouponcodechanged=async n=>{try{console.log("coupon code changed",n);let l=await u(n.couponCode),N=await i({expectedItems:C});if(console.log("apRequest",N),_chunkFBTYZHXMjs.u.call(void 0, N))throw f.abort(),new Error("Failed to get Apple Pay payment request");f.completeCouponCodeChange({errors:_chunkFBTYZHXMjs.u.call(void 0, l)?[new ApplePayError("couponCodeInvalid")]:void 0,newTotal:N.total,newLineItems:N.lineItems,newShippingMethods:N.shippingMethods})}catch(l){console.log("coupon code changed error",l),f.abort()}},f.onpaymentauthorized=async n=>{b.track("payment_submitted",{gateway:"apple_pay",method:"apple_pay"});try{let l=await w({token:n.payment.token,billingContact:n.payment.billingContact,shippingContact:n.payment.shippingContact});if(_chunkFBTYZHXMjs.u.call(void 0, l)){console.log("apple pay error",l),s("fail"),f.completePayment({status:ApplePaySession.STATUS_FAILURE});return}l.redirectURL&&setTimeout(()=>{open(l.redirectURL,"_self")},2e3),s(l.isSuccess?"success":"fail"),f.completePayment({status:l.isSuccess?ApplePaySession.STATUS_SUCCESS:ApplePaySession.STATUS_FAILURE}),l.isSuccess&&x()}catch (e4){s("fail"),f.completePayment({status:ApplePaySession.STATUS_FAILURE})}},f.begin()}return _jsxruntime.jsx.call(void 0, Lr,{style:t,buttonStyle:a,type:e,onClick:y})}function Br(t){let e=_chunkWGJTXDISjs.n.call(void 0, Lt(),t.analytics,"cart");return _jsxruntime.jsx.call(void 0, _chunkWGJTXDISjs.l,{value:e,children:_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.I,{children:_jsxruntime.jsx.call(void 0, Ur,{...t})})})}var Se=Br;var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);var _react3 = require('@formkit/auto-animate/react');var _reactdom = require('react-dom');var Or=["root","overlay","panel","header","title","closeButton","productList","product","productImage","productName","productPrice","quantityControl","quantityInput","quantityButton","removeButton","summary","totalLabel","totalValue","deliveryText","countryLabel","countryTrigger","countryDropdown","countrySearch","countryOption","paymentButtons","checkoutButton","emptyState","error","skeleton"],Gr={fontFamily:"--bitsnap-checkout-font-family",fontSize:"--bitsnap-checkout-font-size",background:"--bitsnap-checkout-background",surface:"--bitsnap-checkout-surface",foreground:"--bitsnap-checkout-foreground",mutedForeground:"--bitsnap-checkout-muted-foreground",border:"--bitsnap-checkout-border",buttonBackground:"--bitsnap-checkout-button-background",buttonForeground:"--bitsnap-checkout-button-foreground",buttonHoverBackground:"--bitsnap-checkout-button-hover-background",hoverSurface:"--bitsnap-checkout-hover-surface",focusRing:"--bitsnap-checkout-focus-ring",error:"--bitsnap-checkout-error",overlay:"--bitsnap-checkout-overlay",radius:"--bitsnap-checkout-radius"},jr={dark:{},light:{background:"#ffffff",surface:"#f9fafb",foreground:"#18181b",mutedForeground:"#71717a",border:"#e4e4e7",buttonBackground:"#18181b",buttonForeground:"#fafafa",buttonHoverBackground:"#000000",hoverSurface:"#e4e4e7",focusRing:"#71717a",error:"#dc2626",overlay:"rgb(0 0 0 / 0.35)"}},Mr=[{token:"background",variable:"--background"},{token:"foreground",variable:"--foreground"},{token:"surface",variable:"--card"},{token:"surface",variable:"--popover"},{token:"foreground",variable:"--popover-foreground"},{token:"mutedForeground",variable:"--muted-foreground"},{token:"border",variable:"--border"},{token:"border",variable:"--input"},{token:"focusRing",variable:"--ring"},{token:"error",variable:"--destructive"},{token:"radius",variable:"--radius"}];function qr(t){return{"--popover":_nullishCoalesce(t.surface, () => ("var(--color-neutral-800)")),"--popover-foreground":_nullishCoalesce(t.foreground, () => ("var(--color-neutral-200)"))}}function Pe(t){let e=_chunkKOYBZORLjs.a.call(void 0, t,{defaultTheme:"dark",presets:jr,variables:Gr,shadcnVariables:Mr});return{theme:e.theme,isCustomized:e.isCustomized,tokens:e.tokens,elements:e.elements,boundaryClassName:e.theme,boundaryStyle:e.boundaryStyle,dropdownStyle:qr(e.tokens)}}function Ye(t,e){return _chunkKOYBZORLjs.b.call(void 0, t.elements,e)}var Je=_react.createContext.call(void 0, Pe());function ta({appearance:t,children:e}){let a=_react.useMemo.call(void 0, ()=>Pe(t),[t]);return _jsxruntime.jsx.call(void 0, Je.Provider,{value:a,children:e})}function qt(){return _react.useContext.call(void 0, Je)}function T(t){let e=qt();return _nullishCoalesce(Ye(e,t), () => ({}))}var _reactselect = require('@radix-ui/react-select'); var I = _interopRequireWildcard(_reactselect);var _lucidereact = require('lucide-react');function aa({...t}){return _jsxruntime.jsx.call(void 0, I.Root,{"data-slot":"select",...t})}function ra({...t}){return _jsxruntime.jsx.call(void 0, I.Value,{"data-slot":"select-value",...t})}var $r="border-input dark:bg-input/30 dark:hover:bg-input/50 bg-transparent";function oa({className:t,size:e="default",theme:a="default",children:o,...c}){return _jsxruntime.jsxs.call(void 0, I.Trigger,{"data-slot":"select-trigger","data-size":e,className:_chunkQ25D7OAOjs.d.call(void 0, "data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-fit items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a==="bare"?"":$r,t),...c,children:[o,_jsxruntime.jsx.call(void 0, I.Icon,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function ia({className:t,children:e,position:a="popper",align:o="center",...c}){return _jsxruntime.jsx.call(void 0, I.Portal,{children:_jsxruntime.jsxs.call(void 0, I.Content,{"data-slot":"select-content",className:_chunkQ25D7OAOjs.d.call(void 0, "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:a,align:o,...c,children:[_jsxruntime.jsx.call(void 0, Zr,{}),_jsxruntime.jsx.call(void 0, I.Viewport,{className:_chunkQ25D7OAOjs.d.call(void 0, "p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:e}),_jsxruntime.jsx.call(void 0, Xr,{})]})})}function na({className:t,children:e,...a}){return _jsxruntime.jsxs.call(void 0, I.Item,{"data-slot":"select-item",className:_chunkQ25D7OAOjs.d.call(void 0, "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...a,children:[_jsxruntime.jsx.call(void 0, "span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:_jsxruntime.jsx.call(void 0, I.ItemIndicator,{children:_jsxruntime.jsx.call(void 0, _lucidereact.CheckIcon,{className:"size-4"})})}),_jsxruntime.jsx.call(void 0, I.ItemText,{children:e})]})}function Zr({className:t,...e}){return _jsxruntime.jsx.call(void 0, I.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:_chunkQ25D7OAOjs.d.call(void 0, "flex cursor-default items-center justify-center py-1",t),...e,children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronUpIcon,{className:"size-4"})})}function Xr({className:t,...e}){return _jsxruntime.jsx.call(void 0, I.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:_chunkQ25D7OAOjs.d.call(void 0, "flex cursor-default items-center justify-center py-1",t),...e,children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon,{className:"size-4"})})}function to({id:t,open:e,disabled:a=!1,onToggle:o,onChange:c,selectedValue:d,countries:i}){let[w,h]=_react.useState.call(void 0, ""),{isCustomized:u,boundaryClassName:v,boundaryStyle:k,dropdownStyle:S}=qt(),x=T("countryTrigger"),b=T("countryDropdown"),g=T("countrySearch"),C=T("countryOption");_react.useEffect.call(void 0, ()=>{d==null&&i.length>0&&c(i[0].code)},[]);let y=i.filter(s=>s.name.toLowerCase().startsWith(w.toLowerCase())),p=i.find(s=>s.code===d);return _jsxruntime.jsxs.call(void 0, aa,{value:d,onValueChange:s=>{c(s),h("")},open:e,onOpenChange:s=>{s!==e&&o(),s||h("")},disabled:a,children:[_jsxruntime.jsx.call(void 0, oa,{"data-bitsnap-checkout-slot":"countryTrigger",theme:"bare",className:_chunkQ25D7OAOjs.d.call(void 0, a?"bg-neutral-100 dark:bg-neutral-800 dark:border-neutral-700":"","w-full rounded-md",x.className),style:x.style,children:_jsxruntime.jsx.call(void 0, ra,{children:p&&_jsxruntime.jsxs.call(void 0, "span",{className:"truncate flex items-center",children:[_jsxruntime.jsx.call(void 0, "img",{alt:d,src:`https://purecatamphetamine.github.io/country-flag-icons/3x2/${d}.svg`,className:"inline mr-2 h-4 rounded-sm"}),p.name]})})}),_jsxruntime.jsxs.call(void 0, ia,{"data-bitsnap-checkout":u?"dropdown":void 0,"data-bitsnap-checkout-slot":u?"countryDropdown":void 0,className:_chunkQ25D7OAOjs.d.call(void 0, u?"bitsnap-react":"",v,"w-full max-h-80 max-w-[350px] z-[999999]",b.className),style:{...u?{...k,...S}:void 0,...b.style},position:"popper",children:[_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"countrySearch",className:_chunkQ25D7OAOjs.d.call(void 0, "sticky top-0 z-10 p-1 border-b",g.className),style:g.style,children:_jsxruntime.jsx.call(void 0, "input",{type:"search",name:"search",autoComplete:"off",className:"block w-full outline-none sm:text-body-regular bg-transparent rounded-md px-2 py-1.5",placeholder:"Znajd\u017A kraj",value:w,onChange:s=>h(s.target.value),onClick:s=>s.stopPropagation(),onKeyDown:s=>s.stopPropagation()})}),_jsxruntime.jsx.call(void 0, "div",{className:"max-h-64 overflow-y-auto",children:y.length===0?_jsxruntime.jsx.call(void 0, "div",{className:"cursor-default select-none relative py-2 pl-3 pr-9 text-sm",children:"No countries found"}):y.map(s=>_jsxruntime.jsxs.call(void 0, na,{"data-bitsnap-checkout-slot":"countryOption",value:s.code,className:_chunkQ25D7OAOjs.d.call(void 0, "cursor-default select-none relative py-2 pl-3 pr-9 flex items-center transition",C.className),style:C.style,children:[_jsxruntime.jsx.call(void 0, "img",{alt:s.code,src:`https://purecatamphetamine.github.io/country-flag-icons/3x2/${s.code}.svg`,className:"inline mr-2 h-4 rounded-sm"}),_jsxruntime.jsx.call(void 0, "span",{className:"font-normal truncate",children:s.name})]},`${t}-${s.code}`))})]})]})}var sa=to;var _reactslot = require('@radix-ui/react-slot');var _classvarianceauthority = require('class-variance-authority');var ao=_classvarianceauthority.cva.call(void 0, "flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2",{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"}},defaultVariants:{orientation:"horizontal"}});function ca({className:t,orientation:e,...a}){return _jsxruntime.jsx.call(void 0, "div",{role:"group","data-slot":"button-group","data-orientation":e,className:_chunkQ25D7OAOjs.d.call(void 0, ao({orientation:e}),t),...a})}function la({price:t,currency:e,pricing:a,quantity:o=1}){let c=_nullishCoalesce(_optionalChain([a, 'optionalAccess', _3 => _3.regularPrice]), () => (t)),d=_nullishCoalesce(_optionalChain([a, 'optionalAccess', _4 => _4.effectivePrice]), () => (t)),i=_optionalChain([a, 'optionalAccess', _5 => _5.discount, 'optionalAccess', _6 => _6.status])==="ACTIVE"&&d<c;return _jsxruntime.jsx.call(void 0, "span",{children:i?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "span",{className:"mr-2 text-neutral-500 line-through",children:_chunkFBTYZHXMjs.s.call(void 0, c*o,e)}),_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold text-red-700",children:_chunkFBTYZHXMjs.s.call(void 0, d*o,e)}),_jsxruntime.jsx.call(void 0, "span",{className:"mt-1 block text-xs text-neutral-600",children:_optionalChain([a, 'optionalAccess', _7 => _7.referencePrice, 'access', _8 => _8.historyAvailable])&&a.referencePrice.amount!=null?`Najni\u017Csza cena z 30 dni: ${_chunkFBTYZHXMjs.s.call(void 0, a.referencePrice.amount,e)}`:"Brak danych o cenie z ostatnich 30 dni"})]}):_chunkFBTYZHXMjs.s.call(void 0, d*o,e)})}var lo=({isNotAvailable:t,quantity:e,details:a,shouldUpdate:o})=>{let c=T("product"),d=T("productImage"),i=T("productName"),w=T("productPrice"),h=T("removeButton");return _jsxruntime.jsxs.call(void 0, "div",{"data-bitsnap-checkout-slot":"product","data-bitsnap-checkout-unavailable":t?"":void 0,className:_chunkQ25D7OAOjs.d.call(void 0, "flex items-center gap-3 mx-3",t?"outline outline-1 rounded-md m-1":"",c.className),style:c.style,children:[_jsxruntime.jsx.call(void 0, "img",{"data-bitsnap-checkout-slot":"productImage",className:_chunkQ25D7OAOjs.d.call(void 0, "aspect-auto max-w-[30%] max-w-32 max-h-32 py-2 overflow-hidden",d.className),style:d.style,src:_nullishCoalesce(a.image_url, () => ("")),alt:a.name}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col w-full",children:[_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"productName",className:_chunkQ25D7OAOjs.d.call(void 0, "font-medium",i.className),style:i.style,children:a.name}),_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"productPrice",className:_chunkQ25D7OAOjs.d.call(void 0, "text-sm",w.className),style:w.style,suppressHydrationWarning:!0,children:_jsxruntime.jsx.call(void 0, la,{price:a.price,currency:a.currency,pricing:a.pricing,quantity:e})}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex justify-between",children:[_jsxruntime.jsx.call(void 0, po,{className:"",quantity:e,shouldUpdate:o}),_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{"data-bitsnap-checkout-slot":"removeButton",variant:"ghost",size:"sm",className:h.className,style:h.style,onClick:()=>o(0),children:"Usu\u0144"})]})]})]})},da=lo,po=({quantity:t,shouldUpdate:e,className:a})=>{let[o,c]=_react.useState.call(void 0, t.toString()),[d,i]=_react.useState.call(void 0, t),w=T("quantityControl"),h=T("quantityInput"),u=T("quantityButton");_react.useEffect.call(void 0, ()=>{e(d)},[d]);function v(x){if(c(x),x.length==0)return;let b=parseInt(x);if(isNaN(b)){i(1),c("");return}if(b==0||b<0){i(1),c("1");return}i(b),c(b.toString())}function k(){i(t+1),c((t+1).toString())}function S(){if(t>1){c((t-1).toString()),i(t-1);return}c(t.toString()),i(t)}return _jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"quantityControl",className:_chunkQ25D7OAOjs.d.call(void 0, "flex",a,w.className),style:w.style,children:_jsxruntime.jsxs.call(void 0, ca,{"aria-label":"Ilo\u015B\u0107",children:[_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{"data-bitsnap-checkout-slot":"quantityButton",className:u.className,style:u.style,onClick:S,children:_jsxruntime.jsx.call(void 0, _lucidereact.MinusIcon,{})}),_jsxruntime.jsx.call(void 0, "input",{"data-bitsnap-checkout-slot":"quantityInput",className:_chunkQ25D7OAOjs.d.call(void 0, "w-8 bg-transparent text-center",h.className),style:h.style,value:o,onInput:x=>{v(x.currentTarget.value)},type:"text"}),_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{"data-bitsnap-checkout-slot":"quantityButton",className:u.className,style:u.style,onClick:k,children:_jsxruntime.jsx.call(void 0, _lucidereact.PlusIcon,{})})]})})};function Te({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{"data-slot":"skeleton",className:"bg-neutral-700 animate-pulse rounded-md "+t,...e})}var ze=_react.createContext.call(void 0, {});function ma({texts:t,locale:e,children:a}){let o=_react.useMemo.call(void 0, ()=>({texts:t,locale:e}),[t,e]);return _jsxruntime.jsx.call(void 0, ze.Provider,{value:o,children:a})}function dt(t){let{texts:e,locale:a}=_react.useContext.call(void 0, ze);return _chunkQ25D7OAOjs.j.call(void 0, t,_nullishCoalesce(a, () => (_chunkQ25D7OAOjs.m.call(void 0, ))),e)}function ga(){let{texts:t,locale:e}=_react.useContext.call(void 0, ze),a=_nullishCoalesce(e, () => (_chunkQ25D7OAOjs.m.call(void 0, )));return _react.useMemo.call(void 0, ()=>o=>_chunkQ25D7OAOjs.j.call(void 0, o,a,t),[a,t])}var ho=({className:t,locale:e})=>{let a=_chunkFBTYZHXMjs.H.call(void 0, ),o=_chunkWGJTXDISjs.m.call(void 0, ),c=_nullishCoalesce(e, () => (_chunkQ25D7OAOjs.m.call(void 0, ))),d=T("productList"),i=T("summary"),w=T("totalLabel"),h=T("totalValue"),u=T("deliveryText"),v=T("countryLabel"),k=T("paymentButtons"),S=T("checkoutButton"),x=T("emptyState"),b=T("error"),g=T("skeleton"),C=dt("unavailableProducts"),y=ga(),p=dt("emptyCart"),s=dt("total"),P=dt("delivery"),f=dt("chooseCountry"),B=dt("nextStep"),{mutateAsync:n}=_reactquery.useMutation.call(void 0, {mutationFn:a.removeProductFromCart}),{mutateAsync:l}=_reactquery.useMutation.call(void 0, {mutationFn:a.updateQuantity}),{mutateAsync:N}=_reactquery.useMutation.call(void 0, {mutationFn:a.setCountry}),{mutateAsync:z}=_reactquery.useMutation.call(void 0, {mutationFn:a.clearCart}),[Q,j]=_react2.default.useState(""),[O,q]=_react2.default.useState([]),[Zt,ue]=_react2.default.useState(!1),{mutateAsync:be,isPending:Xt}=_reactquery.useMutation.call(void 0, {mutationFn:a.redirectToNextStep}),{data:Ot}=_reactquery.useQuery.call(void 0, {queryKey:["cart-available-countries"],queryFn:a.getAvailableCountries}),{data:Yt}=_reactquery.useQuery.call(void 0, {queryKey:["cart-one-click-payment"],queryFn:a.checkIfApplePayIsAvailable}),{data:M,isLoading:G,refetch:X}=_reactquery.useQuery.call(void 0, {queryKey:["cart",c],queryFn:a.getProducts}),{data:Jt,refetch:Oa}=_reactquery.useQuery.call(void 0, {queryKey:["cart-country"],queryFn:a.getCountry}),[Ga]=_react3.useAutoAnimate.call(void 0, ),U=_chunkFBTYZHXMjs.u.call(void 0, M)?void 0:M,me=_chunkFBTYZHXMjs.u.call(void 0, Ot)?[]:Ot,Gt=_nullishCoalesce(_optionalChain([U, 'optionalAccess', _9 => _9.reduce, 'call', _10 => _10((m,R)=>R.details==null?m:m+(_nullishCoalesce(_optionalChain([R, 'access', _11 => _11.details, 'access', _12 => _12.pricing, 'optionalAccess', _13 => _13.effectivePrice]), () => (R.details.price)))*R.quantity,0)]), () => (0)),jt=_nullishCoalesce(_optionalChain([U, 'optionalAccess', _14 => _14[0], 'optionalAccess', _15 => _15.details, 'optionalAccess', _16 => _16.currency]), () => ("PLN")),ja=_nullishCoalesce(_optionalChain([U, 'optionalAccess', _17 => _17.some, 'call', _18 => _18(m=>_optionalChain([m, 'access', _19 => _19.details, 'optionalAccess', _20 => _20.isDeliverable])===!0)]), () => (!1)),Be=Jt!=null&&!_chunkFBTYZHXMjs.u.call(void 0, Jt)&&Jt!=""?Jt:void 0,Oe=_react2.default.useRef(!1);_react2.default.useEffect(()=>{Oe.current||G||(Oe.current=!0,o.track("cart_opened",{item_count:_nullishCoalesce(_optionalChain([U, 'optionalAccess', _21 => _21.reduce, 'call', _22 => _22((m,R)=>m+R.quantity,0)]), () => (0)),value_minor:Gt,currency:jt}))},[G,o,U,Gt,jt]);let ge=_react2.default.useRef(new Map);_react2.default.useEffect(()=>{ge.current.clear()},[U]);function Ma(m,R){let tt=_optionalChain([U, 'optionalAccess', _23 => _23.find, 'call', _24 => _24(Va=>Va.id===m)]);if(_optionalChain([tt, 'optionalAccess', _25 => _25.details])==null)return;let te=R-(_nullishCoalesce(ge.current.get(m), () => (tt.quantity)));if(ge.current.set(m,R),te===0)return;let Ha=_nullishCoalesce(_optionalChain([tt, 'access', _26 => _26.details, 'access', _27 => _27.pricing, 'optionalAccess', _28 => _28.effectivePrice]), () => (tt.details.price)),je=_nullishCoalesce(tt.catalogProductID, () => (tt.productID));o.track(te>0?"add_to_cart":"remove_from_cart",{qty:Math.abs(te),value_minor:Math.round(Ha*Math.abs(te)),currency:tt.details.currency},{product_id:je,variant_id:je!==tt.productID?tt.productID:null})}let Ge=_react2.default.useRef(!1);async function qa(m,R){if(R!=null){if(Ma(m,Math.max(0,R)),R<=0){await n({id:m}),await X();return}await l({id:m,quantity:R}),await X();return}}async function Fa(){try{if(j(""),q([]),U!=null){!Ge.current&&U.length>0&&(Ge.current=!0,o.track("checkout_started",{item_count:U.reduce((R,tt)=>R+tt.quantity,0),checkout_type:"cart",value_minor:Gt,currency:jt}));try{_chunkFBTYZHXMjs.t.call(void 0, {event:"initiateCheckout",items:_optionalChain([U, 'optionalAccess', _29 => _29.map, 'call', _30 => _30(R=>({id:R.productID,name:_nullishCoalesce(_optionalChain([R, 'access', _31 => _31.details, 'optionalAccess', _32 => _32.name]), () => ("")),price:_nullishCoalesce(_optionalChain([R, 'access', _33 => _33.details, 'optionalAccess', _34 => _34.price]), () => (0)),quantity:R.quantity,currency:_nullishCoalesce(_optionalChain([R, 'access', _35 => _35.details, 'optionalAccess', _36 => _36.currency]), () => ("PLN"))}))])})}catch (e5){}}let m=await be();if(_chunkFBTYZHXMjs.u.call(void 0, m)){m.error=="item-ids-not-found"?(j(C),"data"in m&&Array.isArray(m.data)&&q(m.data)):j(_chunkFBTYZHXMjs.w.call(void 0, m,y));return}await z(),window.location.href=m.url}catch(m){console.warn("checkout failed",m),j(y("checkoutFailed"))}}return _jsxruntime.jsxs.call(void 0, "div",{className:`${t} flex flex-col`,ref:Ga,children:[G&&_jsxruntime.jsxs.call(void 0, "div",{className:"relative flex w-full justify-center flex-col gap-4",children:[_jsxruntime.jsx.call(void 0, Te,{"data-bitsnap-checkout-slot":"skeleton",className:_chunkQ25D7OAOjs.d.call(void 0, "w-full h-32",g.className),style:g.style}),_jsxruntime.jsx.call(void 0, Te,{"data-bitsnap-checkout-slot":"skeleton",className:_chunkQ25D7OAOjs.d.call(void 0, "w-full h-32",g.className),style:g.style})]}),!G&&(U==null||U.length==0)&&_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-col gap-4 p-4",children:_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"emptyState",className:_chunkQ25D7OAOjs.d.call(void 0, x.className),style:x.style,children:p})}),_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"productList",className:_chunkQ25D7OAOjs.d.call(void 0, "max-h-[70vh] overflow-clip overflow-y-scroll",d.className),style:d.style,children:U!=null&&U.length>0&&_jsxruntime.jsx.call(void 0, "ul",{className:"mt-5",children:U.map(m=>_jsxruntime.jsx.call(void 0, _react2.default.Fragment,{children:m.details!=null&&_jsxruntime.jsxs.call(void 0, "li",{className:"mb-3",children:[_jsxruntime.jsx.call(void 0, da,{isNotAvailable:O.includes(m.productID),quantity:m.quantity,details:m.details,shouldUpdate:R=>{qa(m.id,R).then().catch()}}),_jsxruntime.jsx.call(void 0, "hr",{className:"h-1"})]})},m.id))})}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),Gt>0&&jt!=null&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"summary",className:_chunkQ25D7OAOjs.d.call(void 0, "mx-3 flex flex-col",i.className),style:i.style,children:_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-row justify-between text-lg",children:[_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"totalLabel",className:_chunkQ25D7OAOjs.d.call(void 0, "text-xl",w.className),style:w.style,children:s}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-end",children:[_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"totalValue",className:_chunkQ25D7OAOjs.d.call(void 0, "font-medium",h.className),style:h.style,children:_chunkFBTYZHXMjs.s.call(void 0, Gt,jt)}),ja&&_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"deliveryText",className:_chunkQ25D7OAOjs.d.call(void 0, "opacity-70 text-right text-base",u.className),style:u.style,children:P})]})]})}),me&&_optionalChain([me, 'optionalAccess', _37 => _37.length])>1&&_jsxruntime.jsxs.call(void 0, "div",{children:[_jsxruntime.jsx.call(void 0, "h4",{"data-bitsnap-checkout-slot":"countryLabel",className:_chunkQ25D7OAOjs.d.call(void 0, "ml-3 text-sm",v.className),style:v.style,children:f}),_jsxruntime.jsx.call(void 0, sa,{id:Math.random().toString(),open:Zt,onToggle:()=>{ue(!Zt)},onChange:m=>{N(m).then(()=>{Oa().then().catch()})},selectedValue:_nullishCoalesce(Be, () => ("")),countries:me})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"mb-3 flex flex-col",children:[Yt&&U!=null&&U.length>0&&_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"paymentButtons",className:_chunkQ25D7OAOjs.d.call(void 0, "w-full px-2",k.className),style:k.style,children:_jsxruntime.jsx.call(void 0, Se,{colorType:"white",style:{width:"100%"},items:_optionalChain([U, 'optionalAccess', _38 => _38.map, 'call', _39 => _39(m=>({name:_nullishCoalesce(_optionalChain([m, 'access', _40 => _40.details, 'optionalAccess', _41 => _41.name]), () => ("")),id:m.productID,price:_nullishCoalesce(_nullishCoalesce(_optionalChain([m, 'access', _42 => _42.details, 'optionalAccess', _43 => _43.pricing, 'optionalAccess', _44 => _44.effectivePrice]), () => (_optionalChain([m, 'access', _45 => _45.details, 'optionalAccess', _46 => _46.price]))), () => (0)),quantity:m.quantity,isDeliverable:_nullishCoalesce(_optionalChain([m, 'access', _47 => _47.details, 'optionalAccess', _48 => _48.isDeliverable]), () => (!1)),metadata:m.metadata}))])})}),U!=null&&U.length>0&&_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"paymentButtons",className:_chunkQ25D7OAOjs.d.call(void 0, "w-full px-2",k.className),style:k.style,children:_jsxruntime.jsx.call(void 0, Ee,{buttonSizeMode:"fill",buttonColor:"white",style:{width:"100%"},items:_optionalChain([U, 'optionalAccess', _49 => _49.map, 'call', _50 => _50(m=>({name:_nullishCoalesce(_optionalChain([m, 'access', _51 => _51.details, 'optionalAccess', _52 => _52.name]), () => ("")),id:m.productID,price:_nullishCoalesce(_nullishCoalesce(_optionalChain([m, 'access', _53 => _53.details, 'optionalAccess', _54 => _54.pricing, 'optionalAccess', _55 => _55.effectivePrice]), () => (_optionalChain([m, 'access', _56 => _56.details, 'optionalAccess', _57 => _57.price]))), () => (0)),quantity:m.quantity,isDeliverable:_nullishCoalesce(_optionalChain([m, 'access', _58 => _58.details, 'optionalAccess', _59 => _59.isDeliverable]), () => (!1)),metadata:m.metadata}))])})}),_jsxruntime.jsx.call(void 0, "button",{"data-bitsnap-checkout-slot":"checkoutButton",onClick:Fa,disabled:G||Xt||Be==null,className:_chunkQ25D7OAOjs.d.call(void 0, "px-3 py-2 my-2 mx-2 rounded-md disabled:opacity-40 disabled:cursor-not-allowed transition font-bold",S.className),style:S.style,children:Xt?_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{}):B}),Q.length>0&&_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"error",className:_chunkQ25D7OAOjs.d.call(void 0, "text-sm text-center",b.className),style:b.style,children:Q})]})]})]})},ha=ho;function yo({isVisible:t,shouldHide:e,locale:a}){let[o]=_react3.useAutoAnimate.call(void 0, ),{boundaryClassName:c,boundaryStyle:d}=qt(),i=T("root"),w=T("overlay"),h=T("panel"),u=T("header"),v=T("title"),k=T("closeButton"),S=dt("cart");return _jsxruntime.jsx.call(void 0, "div",{ref:o,"data-bitsnap-checkout":"root","data-bitsnap-checkout-slot":"root",className:_chunkQ25D7OAOjs.d.call(void 0, "bitsnap-react",c,i.className),style:{zIndex:999999,...d,...i.style},children:t&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"overlay",className:_chunkQ25D7OAOjs.d.call(void 0, "fixed top-0 right-0 left-0 bottom-0 cursor-pointer z-10",w.className),style:w.style,onClick:e}),_jsxruntime.jsxs.call(void 0, "div",{"data-bitsnap-checkout-slot":"panel",className:_chunkQ25D7OAOjs.d.call(void 0, "fixed z-20 top-0 right-0 bottom-0 w-full md:w-[350px] xl:w-[420px] flex flex-col",h.className),style:h.style,children:[_jsxruntime.jsxs.call(void 0, "div",{"data-bitsnap-checkout-slot":"header",className:_chunkQ25D7OAOjs.d.call(void 0, "mx-3 mt-7 flex justify-between items-center",u.className),style:u.style,children:[_jsxruntime.jsx.call(void 0, "h1",{"data-bitsnap-checkout-slot":"title",className:_chunkQ25D7OAOjs.d.call(void 0, "text-2xl font-medium",v.className),style:v.style,children:S}),_jsxruntime.jsx.call(void 0, "button",{"data-bitsnap-checkout-slot":"closeButton",className:_chunkQ25D7OAOjs.d.call(void 0, "rounded-xl p-2 transition",k.className),style:k.style,onClick:e,children:_jsxruntime.jsxs.call(void 0, "svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x",children:[_jsxruntime.jsx.call(void 0, "line",{x1:"18",y1:"6",x2:"6",y2:"18"}),_jsxruntime.jsx.call(void 0, "line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),_jsxruntime.jsx.call(void 0, ha,{className:"grow",locale:a})]})]})})}var xo=t=>typeof window>"u"?null:_reactdom.createPortal.call(void 0, _jsxruntime.jsx.call(void 0, ta,{appearance:t.appearance,children:_jsxruntime.jsx.call(void 0, ma,{texts:t.texts,locale:t.locale,children:_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.I,{locale:t.locale,children:_jsxruntime.jsx.call(void 0, yo,{...t})})})}),document.body),fa=xo;var Co=_zod2.default.object({id:_zod2.default.string(),isSubscription:_zod2.default.boolean().default(!1),quantity:_zod2.default.number(),metadata:_zod2.default.record(_zod2.default.string(),_zod2.default.string().optional()).optional()});function So({projectID:t,locale:e,children:a,onVisibleChange:o,className:c,numberOfProductsInCartOptions:d,appearance:i,texts:w,analytics:h}){let u=_chunkWGJTXDISjs.n.call(void 0, t,h,"cart");_chunkWGJTXDISjs.q.call(void 0, u);let{isCartVisible:v,showCart:k,hideCart:S,numberOfProductsInCart:x}=_chunkFBTYZHXMjs.x.call(void 0, );function b(p){document.querySelectorAll("iframe").forEach(P=>{_optionalChain([P, 'access', _60 => _60.contentWindow, 'optionalAccess', _61 => _61.postMessage, 'call', _62 => _62(p,"*")])})}_react.useEffect.call(void 0, ()=>{_optionalChain([o, 'optionalCall', _63 => _63(v)]),v&&_chunkFBTYZHXMjs.t.call(void 0, {event:"viewCart"})},[v]),_react.useEffect.call(void 0, ()=>{_chunkFBTYZHXMjs.F.call(void 0, t)},[t]),_react.useEffect.call(void 0, ()=>{_chunkQ25D7OAOjs.l.call(void 0, e)},[e]),_react.useEffect.call(void 0, ()=>{if(!("cart"in window)){let p=_chunkFBTYZHXMjs.G.call(void 0, );if(p==null){console.warn("There is no project ID configured.");return}window.cart={buyProduct:async s=>{try{let P=_zod2.default.object({productID:_zod2.default.string(),email:_zod2.default.string().optional(),name:_zod2.default.string().optional(),country:_zod2.default.string().optional(),marketingAgreement:_zod2.default.boolean().optional(),locale:_zod2.default.string().optional()}).parse(s),f=_chunkFBTYZHXMjs.J.call(void 0, p);try{let n=await f.getProducts();_chunkFBTYZHXMjs.u.call(void 0, n)==!1&&_chunkFBTYZHXMjs.t.call(void 0, {event:"initiateCheckout",items:n.map(l=>({id:l.productID,name:_nullishCoalesce(_optionalChain([l, 'access', _64 => _64.details, 'optionalAccess', _65 => _65.name]), () => ("")),price:_nullishCoalesce(_optionalChain([l, 'access', _66 => _66.details, 'optionalAccess', _67 => _67.price]), () => (0)),quantity:l.quantity,currency:_nullishCoalesce(_optionalChain([l, 'access', _68 => _68.details, 'optionalAccess', _69 => _69.currency]), () => ("PLN"))}))})}catch (e6){}let B=await f.justRedirectToPayment(P);console.log("result",B),_chunkFBTYZHXMjs.u.call(void 0, B)==!1?window.location.href=B.url:alert("Nie uda\u0142o si\u0119 przekierowa\u0107 do p\u0142atno\u015Bci. Spr\xF3buj ponownie p\xF3\u017Aniej.")}catch(P){console.warn(P)}}}}},[]);async function g(p,s){let P=_chunkFBTYZHXMjs.G.call(void 0, );if(P==null){console.warn("There is no project ID configured.");return}try{let f=Co.parse(s);if(f.isSubscription){await C(P,f);return}await _chunkFBTYZHXMjs.J.call(void 0, P).addProduct({productID:f.id,quantity:f.quantity,metadata:f.metadata}),b({id:p,type:"ADD_TO_CART",success:!0}),k()}catch(f){console.warn("cannot add item to cart",f)}}async function C(p,s){alert(`TODO, nie jest to jeszcze zrobione ${p} ${s.id} ${s.quantity}`)}function y(){"__cart_is_listening"in window||(window.__cart_is_listening=!0,window.addEventListener("message",p=>{if(typeof p.data.id<"u"&&typeof p.data.type<"u"){let{id:s,type:P}=p.data;switch(P){case"ADD_TO_CART".toString():g(s,p.data.payload).then().catch();break;default:break}}}))}return _react.useEffect.call(void 0, ()=>{if(y(),typeof window<"u")try{let p=new URLSearchParams(window.location.search),s=_nullishCoalesce(p.get("ref"), () => (p.get("utm-source")));typeof localStorage<"u"&&s&&s.length>0&&localStorage.setItem("bitsnap-ref",s)}catch (e7){return}},[]),_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "button",{onClick:()=>v?S():k(),style:{position:"relative"},className:["bitsnap-react",_nullishCoalesce(c, () => ("rounded-full hover:bg-neutral-300 transition p-1"))].join(" "),children:[a?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:a}):_jsxruntime.jsxs.call(void 0, "svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-shopping-cart",children:[_jsxruntime.jsx.call(void 0, "circle",{cx:"8",cy:"21",r:"1"}),_jsxruntime.jsx.call(void 0, "circle",{cx:"19",cy:"21",r:"1"}),_jsxruntime.jsx.call(void 0, "path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"})]}),_optionalChain([d, 'optionalAccess', _70 => _70.isVisible])!=!1&&x>0&&_jsxruntime.jsx.call(void 0, "div",{style:{position:"absolute",bottom:-5,right:-5,background:"black",color:"white",borderRadius:"50%",width:"22px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"13px",fontWeight:600,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.25)",..._optionalChain([d, 'optionalAccess', _71 => _71.style])},children:x})]}),_jsxruntime.jsx.call(void 0, _chunkWGJTXDISjs.l,{value:u,children:_jsxruntime.jsx.call(void 0, fa,{isVisible:v,locale:e,appearance:i,texts:w,shouldHide:()=>{S()}})})]})}var Po=So;var _buttonreact = require('@google-pay/button-react'); var _buttonreact2 = _interopRequireDefault(_buttonreact);function Eo({items:t,style:e,buttonColor:a,buttonSizeMode:o,test:c}){let{getGooglePayConfiguration:d,completeGooglePayPayment:i,setCountry:w,setCouponCodeIfPossible:h,setDeliveryMethod:u,setEmail:v,setPostalCode:k,clearCart:S}=_chunkFBTYZHXMjs.H.call(void 0, ),x=_chunkWGJTXDISjs.m.call(void 0, ),{data:b}=_reactquery.useQuery.call(void 0, {queryKey:["get-google-pay-configuration",t.map(y=>y.id).join(",")],queryFn:()=>d({items:t.map(y=>({...y,id:void 0,productID:y.id}))})}),{mutateAsync:g,isPending:C}=_reactquery.useMutation.call(void 0, {mutationFn:i});return b==null||b.isAvailable!=!0?(console.log("google pay configuration is not available",b),null):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _buttonreact2.default,{buttonSizeMode:o,buttonColor:a,style:e,existingPaymentMethodRequired:!0,onClick:()=>x.track("payment_method_selected",{gateway:"google_pay",method:"google_pay"}),environment:c===!0?"TEST":"PRODUCTION",onPaymentDataChanged:async y=>{_chunkFBTYZHXMjs.t.call(void 0, {event:"initiateCheckout",items:t.map(s=>({id:s.id,name:s.name,price:s.price,quantity:s.quantity,currency:"PLN"}))}),console.log("payment data changed",y),_optionalChain([y, 'access', _72 => _72.shippingAddress, 'optionalAccess', _73 => _73.postalCode])!=null&&await k(_optionalChain([y, 'access', _74 => _74.shippingAddress, 'optionalAccess', _75 => _75.postalCode])),_optionalChain([y, 'access', _76 => _76.shippingAddress, 'optionalAccess', _77 => _77.countryCode])!=null&&await w(_optionalChain([y, 'access', _78 => _78.shippingAddress, 'optionalAccess', _79 => _79.countryCode])),_optionalChain([y, 'access', _80 => _80.shippingOptionData, 'optionalAccess', _81 => _81.id])!=null&&await u(y.shippingOptionData.id);let p=await d({items:[]});return console.log("PAYMENT DATA CHANGED CONFIG",p),p.isAvailable?{error:void 0,newShippingOptionParameters:p.config.shippingOptionParameters,newTransactionInfo:p.config.transactionInfo}:{error:void 0}},paymentRequest:b.config,onLoadPaymentData:async y=>{x.track("payment_submitted",{gateway:"google_pay",method:"google_pay"});try{let p=await g({paymentData:y});if(_chunkFBTYZHXMjs.u.call(void 0, p)){console.log("apple pay error",p);return}p.isSuccess&&S(),p.redirectURL&&open(p.redirectURL,"_self")}catch(p){console.warn("error completing google pay payment",p)}}}),C?_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{}):null]})}function Io(t){let e=_chunkWGJTXDISjs.n.call(void 0, Lt(),t.analytics,"cart");return _jsxruntime.jsx.call(void 0, _chunkWGJTXDISjs.l,{value:e,children:_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.I,{children:_jsxruntime.jsx.call(void 0, Eo,{...t})})})}var Ee=Io;var E={title:null,description:null,managingDescription:"Zarz\u0105dzaj rodzajami powiadomie\u0144 i sposobem dostarczania.",formTitle:"Podaj Email aby zapisa\u0107 si\u0119\xA0do powiadomie\u0144",formEmailLabel:"Email",formPhoneLabel:"Numer telefonu",formPhoneOptional:"(opcjonalnie)",formEmailPlaceholder:"np. mail@gmail...",formPhonePlaceholder:"np. 663...",formSubmitButton:"Zapisz si\u0119",formSuccessMessage:"Zapisa\u0142e\u015B si\u0119 do powiadomie\u0144.",agreementText:_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "span",{style:{color:"red"},children:"*"}),"Wyra\u017Cam zgod\u0119 na przetwarzanie moich danych w celach marketingowych zgodnie z"," ",_jsxruntime.jsx.call(void 0, "a",{href:"/regulations/polityka-prywatnosci",target:"_blank",className:"cursor-alias font-bold hover:font-medium",children:"regulaminem"})," ",_jsxruntime.jsx.call(void 0, "span",{className:"text-xs font-light",children:"(zgod\u0119 mo\u017Cna w ka\u017Cdej chwili wycofa\u0107)"})]}),qrCodeTitle:"lub zainstaluj aplikacj\u0119 mobiln\u0105",qrCodeSubtitle:"Aplikacja mobilna",qrCodeScanText:"zeskanuj kod QR",groupsNoSelectionWarning:"Je\u015Bli \u017Cadna z grup nie jest zaznaczona, nie otrzymasz \u017Cadnych powiadomie\u0144.",groupsSelectAllButton:"Zaznacz wszystkie",groupsUpdateButton:"Aktualizuj",groupsUpdateSuccess:"Zaktualizowano pomy\u015Blnie.",groupsTitle:"Zarz\u0105dzaj grupami z kt\xF3rych chcesz otrzymywa\u0107 powiadomienia",manageDataTitle:"Ustawienia powiadomie\u0144",manageDataDescription:"W jaki spos\xF3b chcesz otrzymywa\u0107 powiadomienia?",manageDataUnsubscribeButton:"Odsubskrybuj",manageDataUpdatedMessage:"Zaktualizowano",manageDataUnsubscribeDescription:"Wypisz mnie z wszystkich powiadomie\u0144 i grup.",loginEmailLabel:"Email",loginEmailPlaceholder:"Wprowad\u017A sw\xF3j email",loginSendCodeButton:"Wy\u015Blij kod weryfikacyjny",loginSendingButton:"Wysy\u0142anie...",loginCodeLabel:"Wprowad\u017A kod weryfikacyjny",loginCodeSentMessage:"Wys\u0142ali\u015Bmy kod weryfikacyjny na adres",loginChangeEmailButton:"Popraw email",loginResendCodeButton:"Wy\u015Blij kod ponownie",loginInvalidEmailError:"Wprowad\u017A prawid\u0142owy adres email",loginSlugRequiredError:"Wymagany jest identyfikator projektu",loginInvalidCodeError:"Nieprawid\u0142owy kod weryfikacyjny",loginVerificationFailedError:"Weryfikacja nie powiod\u0142a si\u0119. Sprawd\u017A sw\xF3j kod.",loginSendEmailError:"Nie uda\u0142o si\u0119 wys\u0142a\u0107 kodu weryfikacyjnego",loginVerifyCodeError:"Nie uda\u0142o si\u0119 zweryfikowa\u0107 kodu",loginResendEmailError:"Nie uda\u0142o si\u0119 ponownie wys\u0142a\u0107 kodu weryfikacyjnego",loginTitle:"Wpisz email aby zarz\u0105dza\u0107 powiadomieniami",loginDescription:"Dostaniesz kod weryfikacyjny na email.",loginIHaveCode:"Mam ju\u017C kod"};function ya({projectName:t,projectLogo:e,projectLogoDark:a,description:o,className:c,onLogout:d}){return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[e!=null||t!=null&&_jsxruntime.jsxs.call(void 0, "h2",{className:_chunkQ25D7OAOjs.d.call(void 0, "flex max-w-44 items-center gap-3 text-lg font-medium text-black sm:max-w-none md:text-xl lg:text-2xl xl:text-3xl dark:text-neutral-100",_optionalChain([c, 'optionalAccess', _82 => _82.headerTitle])),children:[e!=null&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "img",{src:e,alt:"",className:_chunkQ25D7OAOjs.d.call(void 0, "h-12 w-auto dark:hidden",_optionalChain([c, 'optionalAccess', _83 => _83.headerLogo]))}),_jsxruntime.jsx.call(void 0, "img",{src:_nullishCoalesce(a, () => (e)),alt:"",className:_chunkQ25D7OAOjs.d.call(void 0, "hidden h-12 w-auto dark:inline",_optionalChain([c, 'optionalAccess', _84 => _84.headerLogo]))})]}),_jsxruntime.jsx.call(void 0, "span",{children:t})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-2",children:[o&&_jsxruntime.jsx.call(void 0, "p",{className:_chunkQ25D7OAOjs.d.call(void 0, "mt-4 font-medium text-left",_optionalChain([c, 'optionalAccess', _85 => _85.headerDescription])),children:o}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),d&&_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{variant:"ghost",size:"icon-sm",onClick:d,children:_jsxruntime.jsx.call(void 0, _lucidereact.LogOutIcon,{className:"h-5 w-5"})})]})]})}var _reactpopover = require('@radix-ui/react-popover'); var bt = _interopRequireWildcard(_reactpopover);function xa({...t}){return _jsxruntime.jsx.call(void 0, bt.Root,{"data-slot":"popover",...t})}function ka({...t}){return _jsxruntime.jsx.call(void 0, bt.Trigger,{"data-slot":"popover-trigger",...t})}function Ca({className:t,align:e="center",sideOffset:a=4,...o}){return _jsxruntime.jsx.call(void 0, bt.Portal,{children:_jsxruntime.jsx.call(void 0, bt.Content,{"data-slot":"popover-content",align:e,sideOffset:a,className:_chunkQ25D7OAOjs.d.call(void 0, "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...o})})}function Sa({regularity:t}){let e="";switch(t){case"rarely":e="rzadko";break;case"often":e="cz\u0119sto";break;case"very_often":e="codzienne";break}return _jsxruntime.jsxs.call(void 0, xa,{children:[_jsxruntime.jsx.call(void 0, ka,{onClick:a=>{a.stopPropagation()},children:_jsxruntime.jsxs.call(void 0, "button",{type:"button",className:"flex w-[30%] cursor-help flex-col items-center justify-center text-xs md:w-[25%] xl:w-[20%]",children:[_jsxruntime.jsx.call(void 0, _lucidereact.ClockIcon,{size:12}),_jsxruntime.jsx.call(void 0, "span",{children:e})]})}),_jsxruntime.jsx.call(void 0, Ca,{className:"w-80",children:_jsxruntime.jsxs.call(void 0, "div",{className:"grid gap-4",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"space-y-2",children:[_jsxruntime.jsx.call(void 0, "h4",{className:"leading-none font-medium",children:"Co to oznacza?"}),_jsxruntime.jsxs.call(void 0, "ul",{className:"list-inside list-disc text-sm",children:[_jsxruntime.jsxs.call(void 0, "li",{children:[_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold",children:"Rzadko"})," \u2013 powiadomienia b\u0119d\u0105 wysy\u0142ane maksymalnie kilka razy w miesi\u0105cu."]}),_jsxruntime.jsxs.call(void 0, "li",{children:[_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold",children:"Cz\u0119sto"})," \u2013 powiadomienia mog\u0119 by\u0107 wysy\u0142ane kilka razy w tygodniu."]}),_jsxruntime.jsxs.call(void 0, "li",{children:[_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold",children:"Codzienne"})," \u2013 powiadomienia b\u0119d\u0105 wysy\u0142ane nawet codziennie."]})]})]}),_jsxruntime.jsx.call(void 0, "div",{className:"grid gap-2"})]})})]})}function pe({groups:t=[],isManaging:e,onToggle:a,onCheckAll:o,onUpdate:c,isUpdating:d,wasChanged:i,isUserGroupsUpdated:w,className:h,texts:u}){let[v]=_react3.useAutoAnimate.call(void 0, ),[k]=_react3.useAutoAnimate.call(void 0, ),S=t.filter(g=>g.isOn===!1).length>0,x=t.filter(g=>g.isOn===!1).length>0;if(t.length<=1&&e!=!0)return null;let b=_jsxruntime.jsxs.call(void 0, "div",{ref:v,className:_chunkQ25D7OAOjs.d.call(void 0, "my-5 flex flex-col gap-3",_optionalChain([h, 'optionalAccess', _86 => _86.groupsList])),children:[t.map(g=>_jsxruntime.jsxs.call(void 0, "div",{id:g.id,role:"button",className:_chunkQ25D7OAOjs.d.call(void 0, g.isOn?"bg-neutral-50 hover:bg-transparent shadow-sm border-transparent dark:bg-neutral-800":"border-neutral-200 hover:bg-neutral-50 dark:hover:border-neutral-800 shadow-sm dark:border-neutral-800","active:bg-beige-300 flex w-full cursor-pointer items-center gap-3 rounded-xl border px-3 py-2 transition active:dark:bg-neutral-900",_optionalChain([h, 'optionalAccess', _87 => _87.groupItem])),onClick:C=>{C.target instanceof HTMLButtonElement||a(g.id)},children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.o,{checked:g.isOn,className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-700",onCheckedChange:()=>{a(g.id)}}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start justify-start",children:[_jsxruntime.jsx.call(void 0, "p",{className:"font-medium text-sm",children:g.name}),g.description&&_jsxruntime.jsx.call(void 0, "p",{className:"text-xs font-light",children:g.description})]}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),g.howOften&&_jsxruntime.jsx.call(void 0, Sa,{regularity:g.howOften})]},g.id)),_jsxruntime.jsxs.call(void 0, "div",{className:"flex gap-2",children:[e===!0&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "div",{ref:k,className:"flex flex-col items-start justify-start",children:[i&&_jsxruntime.jsxs.call(void 0, _chunkUFIOJGJZjs.q,{variant:"default",size:"sm",className:"relative",disabled:d,onClick:c,children:[_nullishCoalesce(_optionalChain([u, 'optionalAccess', _88 => _88.groupsUpdateButton]), () => (E.groupsUpdateButton)),d&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{})})]}),w&&_jsxruntime.jsxs.call(void 0, "p",{className:"mt-3 flex items-center gap-2 text-sm text-green-500",children:[_jsxruntime.jsx.call(void 0, _lucidereact.CheckCircleIcon,{color:"var(--color-green-500",size:16})," ",_nullishCoalesce(_optionalChain([u, 'optionalAccess', _89 => _89.groupsUpdateSuccess]), () => (E.groupsUpdateSuccess))]})]}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"})]}),x&&_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-start",children:_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{className:"cursor-pointer dark:bg-neutral-700",onClick:o,size:"sm",variant:"secondary",type:"button",children:_nullishCoalesce(_optionalChain([u, 'optionalAccess', _90 => _90.groupsSelectAllButton]), () => (E.groupsSelectAllButton))})})]}),S&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex text-left gap-2 text-xs text-yellow-500",children:[_jsxruntime.jsx.call(void 0, _lucidereact.TriangleAlertIcon,{color:"orange",size:16}),_nullishCoalesce(_optionalChain([u, 'optionalAccess', _91 => _91.groupsNoSelectionWarning]), () => (E.groupsNoSelectionWarning))]})]});return e==!0?_jsxruntime.jsxs.call(void 0, _chunkFBTYZHXMjs.b,{className:"mt-5 text-left",children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.c,{children:_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.d,{children:_nullishCoalesce(_optionalChain([u, 'optionalAccess', _92 => _92.groupsTitle]), () => (E.groupsTitle))})}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.f,{children:b})]}):b}function Na({showQRCode:t=!0,isManaging:e,className:a,texts:o}){let c=typeof window<"u",d=c?!!_optionalChain([window, 'access', _93 => _93.matchMedia, 'optionalCall', _94 => _94("(prefers-color-scheme: dark)"), 'access', _95 => _95.matches]):!1;function i(w){return w?window.location.href:""}return t?_jsxruntime.jsxs.call(void 0, _chunkFBTYZHXMjs.b,{className:_chunkQ25D7OAOjs.d.call(void 0, "bg-beige-100 rounded-xl p-4 dark:bg-neutral-700",_optionalChain([a, 'optionalAccess', _96 => _96.qrCodeSection])),children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.c,{children:_jsxruntime.jsxs.call(void 0, _chunkFBTYZHXMjs.d,{className:_chunkQ25D7OAOjs.d.call(void 0, "mb-3 text-base font-medium lg:text-lg",_optionalChain([a, 'optionalAccess', _97 => _97.qrCodeTitle])),children:[_nullishCoalesce(_optionalChain([o, 'optionalAccess', _98 => _98.qrCodeSubtitle]), () => (E.qrCodeSubtitle))," "+(_nullishCoalesce(_optionalChain([o, 'optionalAccess', _99 => _99.qrCodeTitle]), () => (E.qrCodeTitle)))]})}),_jsxruntime.jsxs.call(void 0, _chunkFBTYZHXMjs.f,{className:"flex flex-col items-center gap-2",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"mt-1.5 mb-3 flex items-center gap-x-2",children:[_jsxruntime.jsx.call(void 0, "a",{href:"https://apps.apple.com/us/app/bitsnap/id6741902807",target:"_blank",className:"max-w-28 flex-1 basis-1/2 lg:max-w-36",children:_jsxruntime.jsx.call(void 0, "img",{className:"h-auto w-full",src:_chunkQ25D7OAOjs.f+"/app-store-logo.png",alt:"Download on App Store"})}),_jsxruntime.jsx.call(void 0, "a",{href:"https://play.google.com/store/apps/details?id=com.bitsnap.Bitsnap&pli=1",target:"_blank",className:"max-w-28 flex-1 basis-1/2 lg:max-w-36",children:_jsxruntime.jsx.call(void 0, "img",{className:"h-auto w-full",src:_chunkQ25D7OAOjs.f+"/google-play-logo.png",alt:"Get in on Google Play"})})]}),c&&_jsxruntime.jsx.call(void 0, "div",{className:"flex items-center justify-center",children:_jsxruntime.jsxs.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, "flex min-w-[40%] flex-col items-center gap-2 rounded-xl bg-white p-2 dark:bg-neutral-900",_optionalChain([a, 'optionalAccess', _100 => _100.qrCodeContainer])),children:[_jsxruntime.jsx.call(void 0, "img",{className:"mt-3 w-[80%] p-1 pt-3",src:_chunkQ25D7OAOjs.f+`/api/qr-gen?url=${i(c)}&bgColor=${d?"171717":"F6F4F0"}&textColor=${d?"ffffff":"000000"}&margin=0`}),_jsxruntime.jsx.call(void 0, "p",{className:"text-xs md:text-sm",children:_nullishCoalesce(_optionalChain([o, 'optionalAccess', _101 => _101.qrCodeScanText]), () => (E.qrCodeScanText))})]})})]})]}):null}var _reactphonenumberinput = require('react-phone-number-input');var _reactlabel = require('@radix-ui/react-label');function za({submit:t,isLoading:e,errMsg:a,emailLack:o,warnMsg:c,isSubmited:d,agreementLack:i,showPhoneInput:w=!1,agreementText:h,className:u,texts:v}){let[k,S]=_react.useState.call(void 0, ""),[x,b]=_react.useState.call(void 0, ""),[g,C]=_react.useState.call(void 0, !1),[y]=_react3.useAutoAnimate.call(void 0, );function p(s){s.preventDefault(),t(k,x,g)}return _jsxruntime.jsxs.call(void 0, "form",{ref:y,onSubmit:p,className:_chunkQ25D7OAOjs.d.call(void 0, "flex flex-col gap-3 text-left",_optionalChain([u, 'optionalAccess', _102 => _102.formContainer])),children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col gap-1 text-left",children:[_jsxruntime.jsx.call(void 0, _reactlabel.Label,{className:"text-sm",htmlFor:"bts-notifications-form-email",children:_nullishCoalesce(_optionalChain([v, 'optionalAccess', _103 => _103.formEmailLabel]), () => (E.formEmailLabel))}),_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.r,{value:k,onChange:s=>{S(s.currentTarget.value)},id:"bts-notifications-form-email",className:_chunkQ25D7OAOjs.d.call(void 0, o===!0?"border-red-400":""),type:"email",placeholder:_nullishCoalesce(_optionalChain([v, 'optionalAccess', _104 => _104.formEmailPlaceholder]), () => (E.formEmailPlaceholder))})]}),w&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col gap-1 text-left",children:[_jsxruntime.jsxs.call(void 0, _reactlabel.Label,{className:"text-sm",htmlFor:"bts-notifications-form-phone",children:[_nullishCoalesce(_optionalChain([v, 'optionalAccess', _105 => _105.formPhoneLabel]), () => (E.formPhoneLabel))," ",_jsxruntime.jsx.call(void 0, "span",{className:"text-neutral-500 dark:text-neutral-500",children:_nullishCoalesce(_optionalChain([v, 'optionalAccess', _106 => _106.formPhoneOptional]), () => (E.formPhoneOptional))})]}),_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.r,{value:x,onChange:s=>{b(s.currentTarget.value)},id:"bts-notifications-form-phone",className:"",type:"tel",autoComplete:"tel",autoCorrect:"off",placeholder:_nullishCoalesce(_optionalChain([v, 'optionalAccess', _107 => _107.formPhonePlaceholder]), () => (E.formPhonePlaceholder))})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-start gap-x-1.5",children:[_jsxruntime.jsx.call(void 0, "input",{className:"cursor-pointer",id:"bts-notifications-form-marketing-consent",type:"checkbox",checked:g,onChange:()=>{C(!g)}}),_jsxruntime.jsx.call(void 0, "label",{htmlFor:"bts-notifications-form-marketing-consent",className:_chunkQ25D7OAOjs.d.call(void 0, "cursor-pointer text-xs leading-4 transition-colors md:text-sm md:leading-4",i===!0?"text-yellow-700":""),children:h})]}),a.length>0&&_jsxruntime.jsxs.call(void 0, "p",{className:"mb-3 flex items-center gap-1 text-sm text-red-400",children:[_jsxruntime.jsx.call(void 0, _lucidereact.TriangleAlertIcon,{color:"#ff6467",size:16})," ",a]}),c.length>0&&_jsxruntime.jsxs.call(void 0, "p",{className:"mb-3 flex items-center gap-1 text-sm text-amber-400",children:[_jsxruntime.jsx.call(void 0, _lucidereact.CircleAlertIcon,{color:"var(--color-amber-400)",size:16})," ",c]}),d==!1&&_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-start",children:_jsxruntime.jsxs.call(void 0, _chunkUFIOJGJZjs.q,{variant:"default",disabled:e,className:_chunkQ25D7OAOjs.d.call(void 0, e?"cursor-not-allowed text-transparent":"","relative"),children:[_nullishCoalesce(_optionalChain([v, 'optionalAccess', _108 => _108.formSubmitButton]), () => (E.formSubmitButton)),e&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{})})]})}),d&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3 text-sm text-green-400",children:[_jsxruntime.jsx.call(void 0, _lucidereact.CheckCircleIcon,{size:16})," ",_nullishCoalesce(_optionalChain([v, 'optionalAccess', _109 => _109.formSuccessMessage]), () => (E.formSuccessMessage))]})]})}var Vo=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;function Ea({groups:t,onToggle:e,onCheckAll:a,slug:o,showPhoneInput:c=!1,agreementText:d,className:i,texts:w,isUpdating:h,wasChanged:u,onSuccess:v}){let[k,S]=_react.useState.call(void 0, ""),[x,b]=_react.useState.call(void 0, ""),[g,C]=_react.useState.call(void 0, !1),[y,p]=_react.useState.call(void 0, !1),[s,P]=_react.useState.call(void 0, !1),{mutateAsync:f,isPending:B}=_chunkUFIOJGJZjs.l.call(void 0, _chunkUFIOJGJZjs.j.notifications.createNotificationUser);function n(z){return z==null?!1:_reactphonenumberinput.isValidPhoneNumber.call(void 0, z,"PL")}async function l(z,Q,j){if(S(""),b(""),P(!1),C(!1),p(!1),!j){p(!0),S("Zgoda w tym przypadku jest wymagana.");return}if(Vo.test(z)===!1){S("Email jest nieprawid\u0142owy."),P(!0);return}Q.length>0&&n(Q)===!1&&b("Numer telefonu mo\u017Ce by\u0107 nieprawid\u0142owy. Zapisali\u015Bmy go ale je\u015Bli jest nieprawid\u0142owy to wpisz jeszcze raz i kliknij przycisk.");try{let O=await f({slug:o,email:z,phone:Q,groups:t.filter(q=>q.isOn==!0).map(q=>q.id),mobileNotificationEnabled:!0,emailNotificationEnabled:!0,smsNotificationEnabled:!0});if(O.result.case==="success"){C(!0),setTimeout(()=>{_optionalChain([v, 'optionalCall', _110 => _110(!1,O.userId,O.accessToken)])},1e3);return}else{C(!0);let q=O.result.value;if(q!=null){if(q==32){_optionalChain([v, 'optionalCall', _111 => _111(!0,void 0,void 0)]);return}console.log(`Code error: ${_chunkUFIOJGJZjs.g[q]}`),S("Wyst\u0105pi\u0142 b\u0142\u0105d: "+_chunkUFIOJGJZjs.g[q]);return}return}}catch(O){S("Wyst\u0105pi\u0142 b\u0142\u0105d podczas zapisywania. Spr\xF3buj ponownie."),console.log(`Error: ${O}`)}}let N=_nullishCoalesce(_optionalChain([w, 'optionalAccess', _112 => _112.formTitle]), () => (E.formTitle));return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, "bg-beige-100 rounded-xl p-4 dark:bg-neutral-700",_optionalChain([i, 'optionalAccess', _113 => _113.formSection])),children:[N.length>0&&_jsxruntime.jsx.call(void 0, "h3",{className:_chunkQ25D7OAOjs.d.call(void 0, "mb-3 text-base font-medium lg:text-lg",_optionalChain([i, 'optionalAccess', _114 => _114.formTitle])),children:N}),_jsxruntime.jsx.call(void 0, pe,{groups:t,isManaging:!1,onToggle:_nullishCoalesce(e, () => ((()=>{}))),onCheckAll:_nullishCoalesce(a, () => ((()=>{}))),isUpdating:_nullishCoalesce(h, () => (!1)),wasChanged:_nullishCoalesce(u, () => (!1)),isUserGroupsUpdated:!1,className:i,texts:w}),_jsxruntime.jsx.call(void 0, za,{errMsg:k,emailLack:s,warnMsg:x,submit:l,isLoading:B,isSubmited:g,agreementLack:y,showPhoneInput:c,agreementText:_nullishCoalesce(_nullishCoalesce(d, () => (_optionalChain([w, 'optionalAccess', _115 => _115.agreementText]))), () => (E.agreementText)),className:i,texts:w})]})}var _usedebounce = require('use-debounce');function Aa({open:t,onOpenChange:e,onConfirm:a,isDeleting:o=!1}){let[c,d]=_react.useState.call(void 0, !1);if(_react.useEffect.call(void 0, ()=>(d(!0),()=>d(!1)),[]),_react.useEffect.call(void 0, ()=>(t?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[t]),!c||!t)return null;let i=h=>{h.target===h.currentTarget&&e(!1)},w=()=>{a()};return _reactdom.createPortal.call(void 0, _jsxruntime.jsx.call(void 0, "div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/50 p-4",onClick:i,children:_jsxruntime.jsxs.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, "relative w-full max-w-md rounded-2xl bg-white p-6 shadow-lg","dark:bg-neutral-800","animate-in fade-in-0 zoom-in-95 duration-200"),onClick:h=>h.stopPropagation(),children:[_jsxruntime.jsxs.call(void 0, "button",{onClick:()=>e(!1),className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none dark:ring-offset-neutral-950 dark:focus:ring-neutral-300",disabled:o,children:[_jsxruntime.jsx.call(void 0, _lucidereact.XIcon,{className:"h-4 w-4"}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Zamknij"})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col gap-4",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-start gap-3",children:[_jsxruntime.jsx.call(void 0, "div",{className:"flex-shrink-0",children:_jsxruntime.jsx.call(void 0, _lucidereact.TriangleAlertIcon,{className:"h-6 w-6 text-amber-500","aria-hidden":"true"})}),_jsxruntime.jsx.call(void 0, "div",{className:"flex-1",children:_jsxruntime.jsx.call(void 0, "h2",{className:"text-lg font-semibold text-black dark:text-neutral-100",children:"Czy na pewno chcesz si\u0119 wypisa\u0107?"})})]}),_jsxruntime.jsx.call(void 0, "p",{className:"text-sm text-neutral-600 dark:text-neutral-400",children:"Klikni\u0119cie tego przycisku spowoduje wypisanie z wszelkich powiadomie\u0144 i grup, kt\xF3re zapisa\u0142e\u015B."}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{type:"button",variant:"ghost",onClick:()=>e(!1),disabled:o,className:"sm:min-w-[100px]",children:"Anuluj"}),_jsxruntime.jsxs.call(void 0, _chunkUFIOJGJZjs.q,{type:"button",variant:"destructive",onClick:w,disabled:o,className:_chunkQ25D7OAOjs.d.call(void 0, o&&"cursor-not-allowed text-transparent","relative sm:min-w-[100px]"),children:["Usu\u0144",o&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, "div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-white border-t-transparent"})})]})]})]})]})}),document.body)}function Da({accessToken:t,slug:e,userID:a,className:o,texts:c}){let[d]=_react3.useAutoAnimate.call(void 0, ),[i]=_react3.useAutoAnimate.call(void 0, ),{mutateAsync:w,isPending:h}=_chunkUFIOJGJZjs.l.call(void 0, _chunkUFIOJGJZjs.j.notifications.deleteNotificationUser),{mutateAsync:u,isPending:v}=_chunkUFIOJGJZjs.l.call(void 0, _chunkUFIOJGJZjs.j.notifications.updateNotificationUser),{data:k,isFetching:S}=_chunkUFIOJGJZjs.k.call(void 0, _chunkUFIOJGJZjs.j.notifications.getNotificationUserSettings,{userId:a,slug:e,accessToken:t}),[x,b]=_react.useState.call(void 0, !1),[g,C]=_react.useState.call(void 0, !1),[y,p]=_react.useState.call(void 0, !1),[s,P]=_react.useState.call(void 0, !1),[f,B]=_react.useState.call(void 0, !1),n=_optionalChain([k, 'optionalAccess', _116 => _116.result, 'access', _117 => _117.case])==="success"?_optionalChain([k, 'optionalAccess', _118 => _118.result, 'optionalAccess', _119 => _119.value]):void 0;function l(){B(!0)}async function N(){await w({accessToken:t,slug:e,userId:a}),B(!1)}async function z(){await u({accessToken:t,slug:e,notificationUserId:a,mobileNotificationEnabled:s,emailNotificationEnabled:x,smsNotificationEnabled:g}),p(!0),setTimeout(()=>{p(!1)},3e3)}let Q=_usedebounce.useDebouncedCallback.call(void 0, O=>{z()},300);_react.useEffect.call(void 0, ()=>{let O=_optionalChain([k, 'optionalAccess', _120 => _120.result, 'access', _121 => _121.case])==="success"?_optionalChain([k, 'optionalAccess', _122 => _122.result, 'optionalAccess', _123 => _123.value]):void 0;b(_nullishCoalesce(_optionalChain([O, 'optionalAccess', _124 => _124.emailNotificationEnabled]), () => (!1))),C(_nullishCoalesce(_optionalChain([O, 'optionalAccess', _125 => _125.smsNotificationEnabled]), () => (!1))),P(_nullishCoalesce(_optionalChain([O, 'optionalAccess', _126 => _126.mobileNotificationEnabled]), () => (!1)))},[k]);function j(O,q){O==="email"&&b(q),O==="phone"&&C(q),O==="push"&&P(q),Q(!0)}return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, "bg-beige-100 rounded-xl p-4 dark:bg-neutral-700",_optionalChain([o, 'optionalAccess', _127 => _127.manageDataSection])),children:[_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-start",children:_jsxruntime.jsx.call(void 0, "h3",{className:_chunkQ25D7OAOjs.d.call(void 0, "mb-3 text-base font-medium lg:text-lg",_optionalChain([o, 'optionalAccess', _128 => _128.manageDataTitle])),children:_nullishCoalesce(_optionalChain([c, 'optionalAccess', _129 => _129.manageDataTitle]), () => (E.manageDataTitle))})}),S?_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.u,{className:"h-64 w-full"}):_jsxruntime.jsxs.call(void 0, _chunkFBTYZHXMjs.b,{ref:i,className:_chunkQ25D7OAOjs.d.call(void 0, v&&"relative"),children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.c,{children:_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.d,{children:_jsxruntime.jsx.call(void 0, "p",{className:"text-sm text-left",children:_nullishCoalesce(_optionalChain([c, 'optionalAccess', _130 => _130.manageDataDescription]), () => (E.manageDataDescription))})})}),_jsxruntime.jsxs.call(void 0, _chunkFBTYZHXMjs.f,{ref:d,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, v&&"opacity-50 pointer-events-none","flex flex-col gap-2"),children:_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start gap-5 gap-x-2",children:[_optionalChain([n, 'optionalAccess', _131 => _131.emailNotificationAvailable])&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.o,{id:"email-enabled",className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-600",checked:x,onCheckedChange:()=>{j("email",!x)}}),_jsxruntime.jsx.call(void 0, _reactlabel.Label,{htmlFor:"email-enabled",className:"text-sm",children:"Email"})]}),_optionalChain([n, 'optionalAccess', _132 => _132.smsNotificationAvailable])&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.o,{id:"sms-enabled",className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-600",checked:g,onCheckedChange:()=>{j("phone",!g)}}),_jsxruntime.jsx.call(void 0, _reactlabel.Label,{htmlFor:"sms-enabled",className:"text-sm",children:"SMS"})]}),_optionalChain([n, 'optionalAccess', _133 => _133.mobileNotificationAvailable])&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.o,{id:"push-enabled",className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-600",checked:s,onCheckedChange:()=>{j("push",!s)}}),_jsxruntime.jsx.call(void 0, _reactlabel.Label,{htmlFor:"push-enabled",className:"text-sm",children:"Powiadomienia na telefon"})]}),_optionalChain([n, 'optionalAccess', _134 => _134.hasUserInstalledApp])===!1&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _lucidereact.MessageCircleWarningIcon,{color:"var(--color-amber-500)",size:26}),_jsxruntime.jsx.call(void 0, "p",{className:"text-xs text-amber-500",children:"Wygl\u0105da na to, \u017Ce nie masz zainstalowanej aplikacji mobilnej. Zainstaluj i wyra\u017A zgod\u0119 na otrzymywanie powiadomie\u0144 na telefon."})]})]})]})}),_jsxruntime.jsxs.call(void 0, "div",{className:"mt-5 flex flex-col gap-2 text-left",children:[_jsxruntime.jsx.call(void 0, "hr",{}),y&&_jsxruntime.jsx.call(void 0, "p",{className:"text-xs text-green-500",children:_nullishCoalesce(_optionalChain([c, 'optionalAccess', _135 => _135.manageDataUpdatedMessage]), () => (E.manageDataUpdatedMessage))}),_jsxruntime.jsx.call(void 0, "div",{className:"flex items-center gap-x-2",children:_jsxruntime.jsxs.call(void 0, _chunkUFIOJGJZjs.q,{size:"sm",variant:"link",className:_chunkQ25D7OAOjs.d.call(void 0, "pl-0 ml-0",h&&"cursor-not-allowed"),onClick:l,children:[_nullishCoalesce(_optionalChain([c, 'optionalAccess', _136 => _136.manageDataUnsubscribeButton]), () => (E.manageDataUnsubscribeButton)),h&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{})})]})})]})]}),v&&_jsxruntime.jsx.call(void 0, "div",{className:"bg-black/30 absolute inset-0 rounded-xl",children:_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{})})})]}),_jsxruntime.jsx.call(void 0, Aa,{open:f,onOpenChange:B,onConfirm:N,isDeleting:h})]})}var _reactdialog = require('@radix-ui/react-dialog'); var Z = _interopRequireWildcard(_reactdialog);function _a({...t}){return _jsxruntime.jsx.call(void 0, Z.Root,{"data-slot":"dialog",...t})}function ai({...t}){return _jsxruntime.jsx.call(void 0, Z.Portal,{"data-slot":"dialog-portal",...t})}function ri({className:t,...e}){return _jsxruntime.jsx.call(void 0, Z.Overlay,{"data-slot":"dialog-overlay",className:_chunkQ25D7OAOjs.d.call(void 0, "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...e})}function La({className:t,children:e,showCloseButton:a=!0,...o}){return _jsxruntime.jsxs.call(void 0, ai,{"data-slot":"dialog-portal",children:[_jsxruntime.jsx.call(void 0, ri,{}),_jsxruntime.jsxs.call(void 0, Z.Content,{"data-slot":"dialog-content",className:_chunkQ25D7OAOjs.d.call(void 0, "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...o,children:[e,a&&_jsxruntime.jsxs.call(void 0, Z.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[_jsxruntime.jsx.call(void 0, _lucidereact.XIcon,{}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Close"})]})]})]})}function Ba({slug:t,onSuccess:e,onError:a,className:o,isOpen:c,onClose:d,texts:i}){let[w]=_react3.useAutoAnimate.call(void 0, ),[h]=_react3.useAutoAnimate.call(void 0, ),[u,v]=_react.useState.call(void 0, ""),[k,S]=_react.useState.call(void 0, ""),[x,b]=_react.useState.call(void 0, !1),[g,C]=_react.useState.call(void 0, null),{mutateAsync:y,isPending:p}=_chunkUFIOJGJZjs.l.call(void 0, _chunkUFIOJGJZjs.j.notifications.verifyUserEmail),s=async n=>{if(n.preventDefault(),C(null),!u||!u.includes("@")){C(_nullishCoalesce(i.loginInvalidEmailError, () => ("")));return}try{await y({email:u,slug:t}),b(!0)}catch(l){let N=l instanceof Error?l:new Error(i.loginSendEmailError);C(N.message),_optionalChain([a, 'optionalCall', _137 => _137(N)])}},P=async n=>{if(S(n),C(null),n.length===6)try{let l=await y({email:void 0,code:n,slug:t});l.ok&&l.accessToken?_optionalChain([e, 'optionalCall', _138 => _138(l.userId,l.accessToken)]):(C(_nullishCoalesce(i.loginVerificationFailedError, () => (""))),_optionalChain([a, 'optionalCall', _139 => _139(new Error(i.loginVerificationFailedError))]))}catch(l){let N=l instanceof Error?l:new Error(i.loginVerifyCodeError);if(N.message.includes("Invalid code")){C(_nullishCoalesce(i.loginInvalidCodeError, () => (N.message))),S("");return}C(N.message),_optionalChain([a, 'optionalCall', _140 => _140(N)]),S("")}},f=async()=>{if(S(""),C(null),!u||!t){C(_nullishCoalesce(i.loginSlugRequiredError, () => ("")));return}try{await y({email:u,slug:t})}catch(n){let l=n instanceof Error?n:new Error(i.loginResendEmailError);C(l.message),_optionalChain([a, 'optionalCall', _141 => _141(l)])}},B=()=>{b(!1),S(""),C(null)};return _jsxruntime.jsx.call(void 0, _a,{open:c,onOpenChange:d,children:_jsxruntime.jsx.call(void 0, La,{className:"sm:max-w-[425px] min-h-[250px]",children:_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col min-h-[250px] h-full",children:[_jsxruntime.jsxs.call(void 0, "div",{ref:h,className:"flex items-start gap-2 mb-2",children:[x&&_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{variant:"ghost",size:"icon-sm",onClick:()=>{b(!1)},children:_jsxruntime.jsx.call(void 0, _lucidereact.ArrowLeft,{className:"h-5 w-5"})}),_jsxruntime.jsx.call(void 0, "div",{children:_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.d,{children:x?_nullishCoalesce(i.loginCodeLabel, () => ("")):_nullishCoalesce(i.loginTitle, () => (""))})})]}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.e,{className:"mb-4",children:x?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_nullishCoalesce(i.loginCodeSentMessage, () => (""))," ",u]}):_nullishCoalesce(i.loginDescription, () => (""))}),_jsxruntime.jsx.call(void 0, "div",{className:"flex-1 flex flex-col",children:x?_jsxruntime.jsxs.call(void 0, "form",{onSubmit:n=>n.preventDefault(),className:"flex flex-col flex-1",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"space-y-2",children:[_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.a,{children:_nullishCoalesce(i.loginCodeLabel, () => (""))}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.g,{maxLength:6,value:k,onChange:P,disabled:p,children:_jsxruntime.jsxs.call(void 0, _chunkFBTYZHXMjs.h,{children:[_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.i,{index:0}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.i,{index:1}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.i,{index:2}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.i,{index:3}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.i,{index:4}),_jsxruntime.jsx.call(void 0, _chunkFBTYZHXMjs.i,{index:5})]})}),p&&_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{})]}),g&&_jsxruntime.jsx.call(void 0, "div",{className:"text-sm text-destructive mt-2 mb-1",role:"alert",children:g}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start gap-2 pt-2",children:[u.length>0&&_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{variant:"link",size:"sm",onClick:f,disabled:p,className:"flex-1 ml-0 pl-0",children:_nullishCoalesce(i.loginResendCodeButton, () => (""))}),_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{variant:"link",size:"sm",onClick:B,disabled:p,className:"flex-1 ml-0 pl-0",children:_nullishCoalesce(i.loginChangeEmailButton, () => (""))})]})]}):_jsxruntime.jsxs.call(void 0, "form",{onSubmit:s,className:"flex flex-col flex-1",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"space-y-2",children:[_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.a,{htmlFor:"email",children:_nullishCoalesce(i.loginEmailLabel, () => (""))}),_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.r,{id:"email",type:"email",placeholder:_nullishCoalesce(i.loginEmailPlaceholder, () => ("")),value:u,onChange:n=>v(n.target.value),required:!0,disabled:p,"aria-invalid":g?"true":"false"})]}),g&&_jsxruntime.jsx.call(void 0, "div",{className:"text-sm text-destructive mt-2 mb-1",role:"alert",children:g}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start gap-0 pt-2",children:[_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{type:"submit",size:"sm",disabled:p,children:p?_nullishCoalesce(i.loginSendingButton, () => ("")):_nullishCoalesce(i.loginSendCodeButton, () => (""))}),_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{type:"button",variant:"link",className:"ml-0 pl-0",size:"sm",onClick:()=>{b(!0)},children:_nullishCoalesce(i.loginIHaveCode, () => (""))})]})]})})]})})})}function di(t,e){switch(e.type){case"SET_IS_LOGGED_IN":return{...t,isLoggedIn:e.value};case"SET_USER_ID":return{...t,userID:e.value};case"SET_LOADING":return{...t,isLoading:e.value};case"SET_PUBLIC_GROUPS":return{...t,groupsProvided:e.value,groups:e.value!=null&&e.value.length>0?t.groups.filter(a=>_optionalChain([e, 'access', _142 => _142.value, 'optionalAccess', _143 => _143.find, 'call', _144 => _144(o=>o.id===a.id)])!=null):t.groups};case"SET_GROUPS":{let a=t.isLoggedIn==!1||t.groupsProvided!=null,o=e.value.map(c=>t.isLoggedIn==!0?c:{...c,isOn:_nullishCoalesce(_optionalChain([t, 'access', _145 => _145.groupsProvided, 'optionalAccess', _146 => _146.find, 'call', _147 => _147(d=>d.id===c.id), 'optionalAccess', _148 => _148.isOn]), () => (a))});return{...t,groups:o}}case"TOGGLE_GROUP":{let a=t.groups.map(o=>o.id===e.groupID?{...o,isOn:!o.isOn}:o);return{...t,wasChanged:!0,groups:a}}case"CHECK_ALL_GROUPS":{let a=t.groups.map(o=>({...o,isOn:!0}));return{...t,groups:a,wasChanged:!0}}case"SET_WAS_CHANGED":return{...t,wasChanged:e.value};case"SET_IS_USER_GROUPS_UPDATED":return{...t,isUserGroupsUpdated:e.value};case"RESET_UPDATE_STATE":return{...t,wasChanged:!1,isUserGroupsUpdated:!0};case"SHOW_SETTINGS":return{...t,showSettings:!0};case"HIDE_SETTINGS":return{...t,showSettings:!1};default:return t}}function ui({slug:t,userID:e,productID:a,projectID:o,analytics:c,projectName:d,projectLogo:i,projectLogoDark:w,groups:h,isManaging:u=!1,texts:v,showQRCode:k=!1,showPhoneInput:S=!1,hiddenGroupIds:x=[],className:b}){let[g]=_react3.useAutoAnimate.call(void 0, ),C=_chunkWGJTXDISjs.n.call(void 0, _nullishCoalesce(o, () => (Lt())),c),y=_nullishCoalesce(_nullishCoalesce(t, () => (_chunkFBTYZHXMjs.G.call(void 0, ))), () => ((typeof window<"u"?window.location.hostname:""))),{mutateAsync:p,isPending:s}=_chunkUFIOJGJZjs.l.call(void 0, _chunkUFIOJGJZjs.j.notifications.updateUserGroups),{data:P,refetch:f}=_reactquery.useQuery.call(void 0, {queryKey:["notifications_accessToken"],queryFn:()=>{if(typeof window<"u")return{accessToken:_nullishCoalesce(localStorage.getItem("notifications_accessToken"), () => (void 0)),userID:_nullishCoalesce(localStorage.getItem("notifications_userID"), () => (void 0))}}}),{data:B,isPending:n,refetch:l}=_chunkUFIOJGJZjs.k.call(void 0, _chunkUFIOJGJZjs.j.notifications.getUserGroups,{slug:y,accessToken:_optionalChain([P, 'optionalAccess', _149 => _149.accessToken])}),[N,z]=_react.useReducer.call(void 0, di,{isLoading:n,isUserGroupsUpdated:!1,wasChanged:!1,groupsProvided:h,groups:[],showSettings:P!=null&&u==!0,isLoggedIn:P!=null,userID:void 0});_react.useEffect.call(void 0, ()=>{z({type:"SET_LOADING",value:s||n})},[s,n]),_react.useEffect.call(void 0, ()=>{z({type:"SET_IS_LOGGED_IN",value:_optionalChain([P, 'optionalAccess', _150 => _150.accessToken])!=null}),z({type:"SET_USER_ID",value:_optionalChain([P, 'optionalAccess', _151 => _151.userID])}),_optionalChain([P, 'optionalAccess', _152 => _152.accessToken])!=null&&u==!0&&z({type:"SHOW_SETTINGS"})},[P,u]),_react.useEffect.call(void 0, ()=>{if(B==null)return;let M=B.groups.map(G=>{let X="rarely";switch(G.howOften){case 0:X="rarely";break;case 1:X="often";break;case 2:X="veryOften";break}return{id:G.id,name:G.name,description:G.description,howOften:X,isOn:_nullishCoalesce(G.isOn, () => (void 0))}});z({type:"SET_GROUPS",value:M})},[B,n,h]);let Q=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{let M=_optionalChain([h, 'optionalAccess', _153 => _153.map, 'call', _154 => _154(G=>(G.id.startsWith("group_")||(G.id=`group_${G.id}`),G))]);z({type:"SET_PUBLIC_GROUPS",value:M})},[h]);let j={...E,...v};async function O(){await p({accessToken:_optionalChain([P, 'optionalAccess', _155 => _155.accessToken]),slug:y,userId:e,groupIds:N.groups.filter(M=>M.isOn===!0).map(M=>M.id)}),z({type:"RESET_UPDATE_STATE"}),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{z({type:"SET_IS_USER_GROUPS_UPDATED",value:!1})},2e3)}function q(M){z({type:"TOGGLE_GROUP",groupID:M})}function Zt(){z({type:"CHECK_ALL_GROUPS"})}function ue(){z({type:"SHOW_SETTINGS"})}function be(){z({type:"HIDE_SETTINGS"})}function Xt(){localStorage.removeItem("notifications_accessToken"),localStorage.removeItem("notifications_userID"),f(),z({type:"SET_USER_ID",value:void 0}),z({type:"SET_IS_LOGGED_IN",value:!1}),z({type:"HIDE_SETTINGS"})}async function Ot(M,G){typeof window<"u"&&(localStorage.setItem("notifications_accessToken",G),M!=null&&localStorage.setItem("notifications_userID",M)),z({type:"SET_USER_ID",value:M});try{await f(),l().then().catch().finally(()=>{u==!0&&z({type:"SHOW_SETTINGS"})})}catch(X){console.log(`Error: ${X}`)}}_react.useEffect.call(void 0, ()=>()=>{Q.current&&clearTimeout(Q.current)},[]);let Yt=u==!0&&N.userID!=null&&_optionalChain([P, 'optionalAccess', _156 => _156.accessToken])!=null;return _jsxruntime.jsxs.call(void 0, "main",{className:_chunkQ25D7OAOjs.d.call(void 0, "bitsnap-react relative",_optionalChain([b, 'optionalAccess', _157 => _157.container])),children:[j.title!=null&&_jsxruntime.jsx.call(void 0, "h1",{className:"text-2xl font-semibold text-black md:text-3xl lg:text-4xl xl:text-5xl dark:text-neutral-100",children:j.title}),!N.showSettings&&u&&_jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.q,{onClick:ue,variant:"outline",size:"icon",className:"absolute bottom-6 right-6 z-50 h-12 w-12 rounded-full shadow-lg hover:shadow-xl md:bottom-8 md:right-8","aria-label":"Settings",children:_jsxruntime.jsx.call(void 0, _lucidereact.Settings,{className:"h-5 w-5"})}),_jsxruntime.jsx.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, "md:pt8 relative z-0 mt-6 overflow-hidden rounded-2xl bg-white px-3 pt-6 pb-3 md:px-5 md:pb-5 dark:bg-neutral-800",_optionalChain([b, 'optionalAccess', _158 => _158.header])),children:N.showSettings?_jsxruntime.jsx.call(void 0, "div",{className:"space-y-6",children:N.isLoggedIn&&_jsxruntime.jsxs.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, "grid grid-cols-1 gap-3 lg:gap-6",Yt?"md:grid-cols-2":""),children:[_jsxruntime.jsxs.call(void 0, "div",{className:_optionalChain([b, 'optionalAccess', _159 => _159.groupsContainer]),children:[_jsxruntime.jsx.call(void 0, ya,{projectName:d,projectLogo:i,projectLogoDark:w,description:j.managingDescription,className:b,onLogout:Xt}),n&&_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-center items-center py-8",children:_jsxruntime.jsx.call(void 0, _chunkUCL4Y7L3js.b,{})}),_jsxruntime.jsx.call(void 0, pe,{groups:N.groups,hiddenGroupIds:x,isManaging:u,onToggle:q,onCheckAll:Zt,onUpdate:O,isUpdating:s,wasChanged:N.wasChanged,isUserGroupsUpdated:N.isUserGroupsUpdated,className:b,texts:j})]}),Yt&&_jsxruntime.jsx.call(void 0, Da,{accessToken:_nullishCoalesce(P.accessToken, () => ("")),slug:y,userID:_nullishCoalesce(N.userID, () => ("")),className:b,texts:j}),k!=!1&&_jsxruntime.jsx.call(void 0, Na,{showQRCode:k,isManaging:!0,className:b,texts:j})]})}):_jsxruntime.jsx.call(void 0, "div",{className:_chunkQ25D7OAOjs.d.call(void 0, "grid grid-cols-1 gap-3 lg:gap-6"),children:_jsxruntime.jsx.call(void 0, Ea,{slug:y,onToggle:M=>{z({type:"TOGGLE_GROUP",groupID:M})},onCheckAll:()=>{z({type:"CHECK_ALL_GROUPS"})},onSuccess:(M,G,X)=>{C.track("availability_signup",{},{product_id:_nullishCoalesce(a, () => (null))}),X!=null&&Ot(G,X),M&&z({type:"SHOW_SETTINGS"})},groups:N.groups,showPhoneInput:S,agreementText:j.agreementText,className:b,texts:j,wasChanged:N.wasChanged,isUpdating:s})})}),_jsxruntime.jsx.call(void 0, Ba,{isOpen:N.showSettings&&!N.isLoggedIn,slug:y,onSuccess:Ot,texts:j,onClose:be})]})}function bi({slug:t,userID:e,productID:a,projectID:o,analytics:c,projectName:d,projectLogo:i,projectLogoDark:w,groups:h,isManaging:u,texts:v,showQRCode:k,showPhoneInput:S,hiddenGroupIds:x,className:b}){return _jsxruntime.jsx.call(void 0, _chunkUFIOJGJZjs.o,{children:_jsxruntime.jsx.call(void 0, ui,{slug:t,userID:e,productID:a,projectID:o,analytics:c,projectName:d,projectLogo:i,projectLogoDark:w,groups:h,isManaging:u,texts:v,showQRCode:k,showPhoneInput:S,hiddenGroupIds:x,className:b})})}var mi=bi;exports.ApplePayButton = Se; exports.Bitsnap = _chunkFBTYZHXMjs.y; exports.BitsnapCheckout = Po; exports.BitsnapReturns = _chunkVPBFEAFQjs.a; exports.BitsnapReturnsProvider = _chunkUCL4Y7L3js.l; exports.CHECKOUT_SLOT_NAMES = Or; exports.Environment = _chunkUFIOJGJZjs.h; exports.GooglePayButton = Ee; exports.ITEM_IDS_NOT_FOUND = _chunkFBTYZHXMjs.v; exports.NotificationsComponent = mi; exports.PRODUCT_LIST_SLOT_NAMES = _chunkYBGAYEJQjs.a; exports.Panel = _chunkFBTYZHXMjs.q; exports.PanelLogin = _chunkFBTYZHXMjs.n; exports.PanelProvider = _chunk3IVLQILFjs.i; exports.ProductList = _chunkYBGAYEJQjs.d; exports.PublicOrderPage = _chunkFBTYZHXMjs.p; exports.RETURNS_SLOT_NAMES = _chunkUCL4Y7L3js.c; exports.ReturnsAppearanceProvider = _chunkUCL4Y7L3js.d; exports.ReturnsCodeStep = _chunkUCL4Y7L3js.u; exports.ReturnsConfirmation = _chunkUCL4Y7L3js.x; exports.ReturnsEmailStep = _chunkUCL4Y7L3js.t; exports.ReturnsMyReturnDetail = _chunkUCL4Y7L3js.A; exports.ReturnsMyReturnsList = _chunkUCL4Y7L3js.z; exports.ReturnsOrderDetail = _chunkUCL4Y7L3js.w; exports.ReturnsOrderList = _chunkUCL4Y7L3js.v; exports.ReturnsProvider = _chunkUCL4Y7L3js.k; exports.ReturnsResult = _chunkUCL4Y7L3js.y; exports.buildAccessTokenRedirect = _chunkFBTYZHXMjs.m; exports.createCheckout = _chunkFBTYZHXMjs.A; exports.createPaymentURL = _chunkFBTYZHXMjs.z; exports.formatProductPrice = _chunkYBGAYEJQjs.b; exports.getAllowedReturnOrigins = _chunk3IVLQILFjs.h; exports.getLocale = _chunkQ25D7OAOjs.m; exports.getPanelConfig = _chunk3IVLQILFjs.b; exports.getReferenceIfPossible = _chunkFBTYZHXMjs.B; exports.getReturnURLFromSearch = _chunkFBTYZHXMjs.j; exports.injectReferenceToRequestIfNeeded = _chunkFBTYZHXMjs.C; exports.persistReturnURL = _chunkFBTYZHXMjs.k; exports.readPersistedReturnURL = _chunkFBTYZHXMjs.l; exports.setAllowedReturnOrigins = _chunk3IVLQILFjs.g; exports.setCustomHost = _chunkQ25D7OAOjs.g; exports.setHost = _chunk3IVLQILFjs.f; exports.setLocale = _chunkQ25D7OAOjs.l; exports.setLoginURL = _chunk3IVLQILFjs.e; exports.setPanelConfig = _chunk3IVLQILFjs.a; exports.setPanelProjectID = _chunk3IVLQILFjs.c; exports.setProjectID = _chunkFBTYZHXMjs.F; exports.setTheme = _chunk3IVLQILFjs.d; exports.useCreateReturn = _chunkUCL4Y7L3js.p; exports.useMyReturn = _chunkUCL4Y7L3js.r; exports.useMyReturns = _chunkUCL4Y7L3js.q; exports.usePanelConfig = _chunk3IVLQILFjs.j; exports.useProducts = _chunkYBGAYEJQjs.c; exports.useReturnOrders = _chunkUCL4Y7L3js.n; exports.useReturnSession = _chunkUCL4Y7L3js.m; exports.useReturnableOrder = _chunkUCL4Y7L3js.o; exports.useReturnsAppearance = _chunkUCL4Y7L3js.e; exports.useReturnsSlot = _chunkUCL4Y7L3js.f; exports.useReturnsText = _chunkUCL4Y7L3js.i;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunk4BW6J7FPjs = require('./chunk-4BW6J7FP.js');var _chunkICFYSZTVjs = require('./chunk-ICFYSZTV.js');var _chunkMLSKHOA3js = require('./chunk-MLSKHOA3.js');var _chunkXTIY6PXHjs = require('./chunk-XTIY6PXH.js');var _chunkKOYBZORLjs = require('./chunk-KOYBZORL.js');var _chunkDGUIG334js = require('./chunk-DGUIG334.js');var _chunk6IACFTJRjs = require('./chunk-6IACFTJR.js');var _chunkERL4Z7M7js = require('./chunk-ERL4Z7M7.js');var _chunkDF2IK2GNjs = require('./chunk-DF2IK2GN.js');require('./chunk-XIHGWNTS.js');require('./chunk-JSDGZ4NY.js');var _applepaybutton = require('apple-pay-button'); var _applepaybutton2 = _interopRequireDefault(_applepaybutton);function Ht(){try{return _chunk4BW6J7FPjs.K.call(void 0, )}catch (e2){return}}var _reactquery = require('@tanstack/react-query');var _jsxruntime = require('react/jsx-runtime');var Jr=_nullishCoalesce(_applepaybutton2.default.default, () => (_applepaybutton2.default));function to({style:t,buttonType:e,colorType:a,items:o,onClick:c}){let{checkIfApplePayIsAvailable:s,getApplePayPaymentRequest:n,completeApplePayPayment:y,setCountry:u,setCouponCodeIfPossible:d,setDeliveryMethod:w,setEmail:k,setPostalCode:x,clearCart:b,getApplePayPreview:l}=_chunk4BW6J7FPjs.O.call(void 0, ),i=_chunkDF2IK2GNjs.m.call(void 0, ),S=_chunk4BW6J7FPjs.E.call(void 0, "paymentForCart"),{data:C}=_reactquery.useQuery.call(void 0, {queryKey:["is-apple-pay-available"],queryFn:s}),N=o.map(m=>`${m.id}:${m.quantity}`).join(","),f=_chunk4BW6J7FPjs.L.call(void 0, ),{data:R}=_reactquery.useQuery.call(void 0, {queryKey:["apple-pay-preview",N,_nullishCoalesce(f.country, () => ("")),_nullishCoalesce(f.couponCode, () => ("")),_nullishCoalesce(f.selectedDeliveryMethod, () => ("")),_nullishCoalesce(f.postalCode, () => (""))],queryFn:()=>l({items:o.map(m=>({productID:m.id,quantity:m.quantity,metadata:m.metadata}))}),enabled:C===!0});if(C!=!0)return null;let I=R!=null&&!_chunk4BW6J7FPjs.u.call(void 0, R)?R:{countryCode:f.country||"PL",currencyCode:_nullishCoalesce(_optionalChain([o, 'access', _2 => _2[0], 'optionalAccess', _3 => _3.currency]), () => ("PLN")),totalAmount:`${_chunk4BW6J7FPjs.r.call(void 0, o.reduce((m,g)=>m+g.price*g.quantity,0)/100,2)}`},T=o.map(m=>({productID:m.id,quantity:m.quantity,metadata:m.metadata}));async function P(){let m=!1,g=p=>{m||(m=!0,i.track("apple_pay_result",{outcome:p}))};i.track("apple_pay_clicked",{}),i.track("payment_method_selected",{gateway:"apple_pay",method:"apple_pay"}),_chunk4BW6J7FPjs.t.call(void 0, {event:"initiateCheckout",items:o.map(p=>({id:p.id,name:p.name,price:p.price,quantity:p.quantity,currency:I.currencyCode}))});let z=o.find(p=>p.isDeliverable===!0)!=null,E=new ApplePaySession(14,{countryCode:I.countryCode,merchantCapabilities:["supports3DS"],supportedNetworks:["visa","masterCard"],currencyCode:I.currencyCode,total:{amount:I.totalAmount,label:S,type:"pending"},lineItems:o.map(p=>({amount:`${_chunk4BW6J7FPjs.r.call(void 0, p.price*p.quantity/100,2)}`,label:p.name,type:"final"})),...z?{shippingMethods:[],supportsCouponCode:!0,requiredBillingContactFields:["name","email","postalAddress","phone"],requiredShippingContactFields:["name","email","postalAddress","phone"]}:{}});await _optionalChain([c, 'optionalCall', _4 => _4()]);let O=await n({expectedItems:T});if(_chunk4BW6J7FPjs.u.call(void 0, O)){console.error("Error creating ApplePaySession:",O.error),g("fail");return}E.oncancel=p=>{console.log("ApplePaySession cancelled",p),g("cancel")},E.onvalidatemerchant=async p=>{try{let v=await _chunk4BW6J7FPjs.a.get(_chunkERL4Z7M7js.f).applePayValidateMerchant({validationUrl:p.validationURL,projectId:_chunk4BW6J7FPjs.K.call(void 0, )});console.log("merchantSession",v.merchantSession),v.merchantSession.length>0?(console.log("completing merchant session"),E.completeMerchantValidation(JSON.parse(v.merchantSession))):E.abort()}catch (e3){E.abort()}},E.onshippingmethodselected=async p=>{console.log("shipping method selected",p),i.track("delivery_method_selected",{method:p.shippingMethod.identifier}),await w(p.shippingMethod.identifier);let v=await n({expectedItems:T});if(console.log("apRequest",v),_chunk4BW6J7FPjs.u.call(void 0, v))throw E.abort(),new Error("Failed to get Apple Pay payment request");E.completeShippingMethodSelection({newTotal:v.total,newLineItems:v.lineItems,newShippingMethods:v.shippingMethods})},E.onshippingcontactselected=async p=>{try{p.shippingContact.countryCode!=null&&await u(p.shippingContact.countryCode),p.shippingContact.postalCode!=null&&await x(p.shippingContact.postalCode),p.shippingContact.phoneNumber!=null&&await k(p.shippingContact.emailAddress);let v=await n({expectedItems:T});if(_chunk4BW6J7FPjs.u.call(void 0, v))throw E.abort(),new Error("Failed to get Apple Pay payment request");console.log("apRequest",v),E.completeShippingContactSelection({newLineItems:v.lineItems,newTotal:v.total,newShippingMethods:v.shippingMethods})}catch(v){console.log("shipping contact selected error",v),E.abort()}},E.oncouponcodechanged=async p=>{try{console.log("coupon code changed",p);let v=await d(p.couponCode),bt=await n({expectedItems:T});if(console.log("apRequest",bt),_chunk4BW6J7FPjs.u.call(void 0, bt))throw E.abort(),new Error("Failed to get Apple Pay payment request");E.completeCouponCodeChange({errors:_chunk4BW6J7FPjs.u.call(void 0, v)?[new ApplePayError("couponCodeInvalid")]:void 0,newTotal:bt.total,newLineItems:bt.lineItems,newShippingMethods:bt.shippingMethods})}catch(v){console.log("coupon code changed error",v),E.abort()}},E.onpaymentauthorized=async p=>{i.track("payment_submitted",{gateway:"apple_pay",method:"apple_pay"});try{let v=await y({token:p.payment.token,billingContact:p.payment.billingContact,shippingContact:p.payment.shippingContact});if(_chunk4BW6J7FPjs.u.call(void 0, v)){console.log("apple pay error",v),g("fail"),E.completePayment({status:ApplePaySession.STATUS_FAILURE});return}v.redirectURL&&setTimeout(()=>{open(v.redirectURL,"_self")},2e3),g(v.isSuccess?"success":"fail"),E.completePayment({status:v.isSuccess?ApplePaySession.STATUS_SUCCESS:ApplePaySession.STATUS_FAILURE}),v.isSuccess&&b()}catch (e4){g("fail"),E.completePayment({status:ApplePaySession.STATUS_FAILURE})}},E.begin()}return _jsxruntime.jsx.call(void 0, Jr,{style:t,buttonStyle:a,type:e,onClick:P})}function eo(t){let e=_chunkDF2IK2GNjs.n.call(void 0, Ht(),t.analytics,"cart");return _jsxruntime.jsx.call(void 0, _chunkDF2IK2GNjs.l,{value:e,children:_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.P,{children:_jsxruntime.jsx.call(void 0, to,{...t})})})}var ze=eo;var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);var _react3 = require('@formkit/auto-animate/react');var _reactdialog = require('@radix-ui/react-dialog'); var pt = _interopRequireWildcard(_reactdialog); var et = _interopRequireWildcard(_reactdialog);var _reactdom = require('react-dom');var ao=["root","overlay","panel","header","title","closeButton","productList","product","productImage","productName","productPrice","quantityControl","quantityInput","quantityButton","removeButton","summary","totalLabel","totalValue","deliveryText","summaryNote","countryLabel","countryTrigger","countryDropdown","countrySearch","countryOption","paymentButtons","checkoutButton","emptyState","error","skeleton"],ro={fontFamily:"--bitsnap-checkout-font-family",fontSize:"--bitsnap-checkout-font-size",background:"--bitsnap-checkout-background",surface:"--bitsnap-checkout-surface",foreground:"--bitsnap-checkout-foreground",mutedForeground:"--bitsnap-checkout-muted-foreground",border:"--bitsnap-checkout-border",buttonBackground:"--bitsnap-checkout-button-background",buttonForeground:"--bitsnap-checkout-button-foreground",buttonHoverBackground:"--bitsnap-checkout-button-hover-background",hoverSurface:"--bitsnap-checkout-hover-surface",focusRing:"--bitsnap-checkout-focus-ring",error:"--bitsnap-checkout-error",overlay:"--bitsnap-checkout-overlay",radius:"--bitsnap-checkout-radius"},oo={dark:{},light:{background:"#ffffff",surface:"#f9fafb",foreground:"#18181b",mutedForeground:"#71717a",border:"#e4e4e7",buttonBackground:"#18181b",buttonForeground:"#fafafa",buttonHoverBackground:"#000000",hoverSurface:"#e4e4e7",focusRing:"#71717a",error:"#dc2626",overlay:"rgb(0 0 0 / 0.35)"}},no=[{token:"background",variable:"--background"},{token:"foreground",variable:"--foreground"},{token:"surface",variable:"--card"},{token:"surface",variable:"--popover"},{token:"foreground",variable:"--popover-foreground"},{token:"mutedForeground",variable:"--muted-foreground"},{token:"border",variable:"--border"},{token:"border",variable:"--input"},{token:"focusRing",variable:"--ring"},{token:"error",variable:"--destructive"},{token:"radius",variable:"--radius"}];function io(t){return{"--popover":_nullishCoalesce(t.surface, () => ("var(--color-neutral-800)")),"--popover-foreground":_nullishCoalesce(t.foreground, () => ("var(--color-neutral-200)"))}}function Ae(t){let e=_chunkKOYBZORLjs.a.call(void 0, t,{defaultTheme:"dark",presets:oo,variables:ro,shadcnVariables:no});return{theme:e.theme,isCustomized:e.isCustomized,tokens:e.tokens,elements:e.elements,boundaryClassName:e.theme,boundaryStyle:e.boundaryStyle,dropdownStyle:io(e.tokens)}}function ha(t,e){return _chunkKOYBZORLjs.b.call(void 0, t.elements,e)}var fa=_react.createContext.call(void 0, Ae());function va({appearance:t,children:e}){let a=_react.useMemo.call(void 0, ()=>Ae(t),[t]);return _jsxruntime.jsx.call(void 0, fa.Provider,{value:a,children:e})}function Zt(){return _react.useContext.call(void 0, fa)}function A(t){let e=Zt();return _nullishCoalesce(ha(e,t), () => ({}))}var _reactselect = require('@radix-ui/react-select'); var L = _interopRequireWildcard(_reactselect);var _lucidereact = require('lucide-react');function ya({...t}){return _jsxruntime.jsx.call(void 0, L.Root,{"data-slot":"select",...t})}function xa({...t}){return _jsxruntime.jsx.call(void 0, L.Value,{"data-slot":"select-value",...t})}var mo="border-input dark:bg-input/30 dark:hover:bg-input/50 bg-transparent";function ka({className:t,size:e="default",theme:a="default",children:o,...c}){return _jsxruntime.jsxs.call(void 0, L.Trigger,{"data-slot":"select-trigger","data-size":e,className:_chunkERL4Z7M7js.d.call(void 0, "data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-fit items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a==="bare"?"":mo,t),...c,children:[o,_jsxruntime.jsx.call(void 0, L.Icon,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function Ca({className:t,children:e,position:a="popper",align:o="center",...c}){return _jsxruntime.jsx.call(void 0, L.Portal,{children:_jsxruntime.jsxs.call(void 0, L.Content,{"data-slot":"select-content",className:_chunkERL4Z7M7js.d.call(void 0, "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:a,align:o,...c,children:[_jsxruntime.jsx.call(void 0, go,{}),_jsxruntime.jsx.call(void 0, L.Viewport,{className:_chunkERL4Z7M7js.d.call(void 0, "p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:e}),_jsxruntime.jsx.call(void 0, ho,{})]})})}function Sa({className:t,children:e,...a}){return _jsxruntime.jsxs.call(void 0, L.Item,{"data-slot":"select-item",className:_chunkERL4Z7M7js.d.call(void 0, "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...a,children:[_jsxruntime.jsx.call(void 0, "span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:_jsxruntime.jsx.call(void 0, L.ItemIndicator,{children:_jsxruntime.jsx.call(void 0, _lucidereact.CheckIcon,{className:"size-4"})})}),_jsxruntime.jsx.call(void 0, L.ItemText,{children:e})]})}function go({className:t,...e}){return _jsxruntime.jsx.call(void 0, L.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:_chunkERL4Z7M7js.d.call(void 0, "flex cursor-default items-center justify-center py-1",t),...e,children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronUpIcon,{className:"size-4"})})}function ho({className:t,...e}){return _jsxruntime.jsx.call(void 0, L.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:_chunkERL4Z7M7js.d.call(void 0, "flex cursor-default items-center justify-center py-1",t),...e,children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon,{className:"size-4"})})}function wo({id:t,open:e,disabled:a=!1,onToggle:o,onChange:c,selectedValue:s,countries:n}){let[y,u]=_react.useState.call(void 0, ""),{isCustomized:d,boundaryClassName:w,boundaryStyle:k,dropdownStyle:x}=Zt(),b=A("countryTrigger"),l=A("countryDropdown"),i=A("countrySearch"),S=A("countryOption"),C=_chunk4BW6J7FPjs.E.call(void 0, "searchCountry"),N=_chunk4BW6J7FPjs.E.call(void 0, "noCountriesFound");_react.useEffect.call(void 0, ()=>{s==null&&n.length>0&&c(n[0].code)},[]);let f=n.filter(I=>I.name.toLowerCase().startsWith(y.toLowerCase())),R=n.find(I=>I.code===s);return _jsxruntime.jsxs.call(void 0, ya,{value:s,onValueChange:I=>{c(I),u("")},open:e,onOpenChange:I=>{I!==e&&o(),I||u("")},disabled:a,children:[_jsxruntime.jsx.call(void 0, ka,{"data-bitsnap-checkout-slot":"countryTrigger",theme:"bare",className:_chunkERL4Z7M7js.d.call(void 0, a?"bg-neutral-100 dark:bg-neutral-800 dark:border-neutral-700":"","w-full rounded-md",b.className),style:b.style,children:_jsxruntime.jsx.call(void 0, xa,{children:R&&_jsxruntime.jsxs.call(void 0, "span",{className:"truncate flex items-center",children:[_jsxruntime.jsx.call(void 0, "img",{alt:s,src:`https://purecatamphetamine.github.io/country-flag-icons/3x2/${s}.svg`,className:"inline mr-2 h-4 rounded-sm"}),R.name]})})}),_jsxruntime.jsxs.call(void 0, Ca,{"data-bitsnap-checkout":d?"dropdown":void 0,"data-bitsnap-checkout-slot":d?"countryDropdown":void 0,className:_chunkERL4Z7M7js.d.call(void 0, d?"bitsnap-react":"",w,"w-full max-h-80 max-w-[350px] z-[999999]",l.className),style:{...d?{...k,...x}:void 0,...l.style},position:"popper",children:[_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"countrySearch",className:_chunkERL4Z7M7js.d.call(void 0, "sticky top-0 z-10 p-1 border-b",i.className),style:i.style,children:_jsxruntime.jsx.call(void 0, "input",{type:"search",name:"search",autoComplete:"off",className:"block w-full outline-none sm:text-body-regular bg-transparent rounded-md px-2 py-1.5",placeholder:C,"aria-label":C,value:y,onChange:I=>u(I.target.value),onClick:I=>I.stopPropagation(),onKeyDown:I=>I.stopPropagation()})}),_jsxruntime.jsx.call(void 0, "div",{className:"max-h-64 overflow-y-auto",children:f.length===0?_jsxruntime.jsx.call(void 0, "div",{className:"cursor-default select-none relative py-2 pl-3 pr-9 text-sm",children:N}):f.map(I=>_jsxruntime.jsxs.call(void 0, Sa,{"data-bitsnap-checkout-slot":"countryOption",value:I.code,className:_chunkERL4Z7M7js.d.call(void 0, "cursor-default select-none relative py-2 pl-3 pr-9 flex items-center transition",S.className),style:S.style,children:[_jsxruntime.jsx.call(void 0, "img",{alt:I.code,src:`https://purecatamphetamine.github.io/country-flag-icons/3x2/${I.code}.svg`,className:"inline mr-2 h-4 rounded-sm"}),_jsxruntime.jsx.call(void 0, "span",{className:"font-normal truncate",children:I.name})]},`${t}-${I.code}`))})]})]})}var Pa=wo;var _reactslot = require('@radix-ui/react-slot');var _classvarianceauthority = require('class-variance-authority');var xo=_classvarianceauthority.cva.call(void 0, "flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2",{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"}},defaultVariants:{orientation:"horizontal"}});function Na({className:t,orientation:e,...a}){return _jsxruntime.jsx.call(void 0, "div",{role:"group","data-slot":"button-group","data-orientation":e,className:_chunkERL4Z7M7js.d.call(void 0, xo({orientation:e}),t),...a})}function Ta({price:t,currency:e,pricing:a,quantity:o=1}){let c=_chunk4BW6J7FPjs.E.call(void 0, "lowestPrice30Days"),s=_chunk4BW6J7FPjs.E.call(void 0, "noPriceHistory"),n=_nullishCoalesce(_optionalChain([a, 'optionalAccess', _5 => _5.regularPrice]), () => (t)),y=_nullishCoalesce(_optionalChain([a, 'optionalAccess', _6 => _6.effectivePrice]), () => (t)),u=_optionalChain([a, 'optionalAccess', _7 => _7.discount, 'optionalAccess', _8 => _8.status])==="ACTIVE"&&y<n;return _jsxruntime.jsx.call(void 0, "span",{children:u?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "span",{className:"mr-2 text-neutral-500 line-through",children:_chunk4BW6J7FPjs.s.call(void 0, n*o,e)}),_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold text-red-700",children:_chunk4BW6J7FPjs.s.call(void 0, y*o,e)}),_jsxruntime.jsx.call(void 0, "span",{className:"mt-1 block text-xs text-neutral-600",children:_optionalChain([a, 'optionalAccess', _9 => _9.referencePrice, 'access', _10 => _10.historyAvailable])&&a.referencePrice.amount!=null?`${c} ${_chunk4BW6J7FPjs.s.call(void 0, a.referencePrice.amount,e)}`:s})]}):_chunk4BW6J7FPjs.s.call(void 0, y*o,e)})}function de(t){return Number.isFinite(t)?Math.min(99,Math.max(1,Math.trunc(t))):1}function De(t,e){let a=parseInt(t,10);return Number.isNaN(a)?e:de(a)}var Eo=({isNotAvailable:t,quantity:e,details:a,url:o,shouldUpdate:c})=>{let s=A("product"),n=A("productImage"),y=A("productName"),u=A("productPrice"),d=A("removeButton"),w=_chunk4BW6J7FPjs.E.call(void 0, "remove"),k=_nullishCoalesce(a.image_url, () => (_optionalChain([a, 'access', _11 => _11.images, 'optionalAccess', _12 => _12[0]]))),[x,b]=_react.useState.call(void 0, ),l=k!=null&&k.length>0&&k!==x,i=_nullishCoalesce(a.baseName, () => (a.name));return _jsxruntime.jsxs.call(void 0, "div",{"data-bitsnap-checkout-slot":"product","data-bitsnap-checkout-unavailable":t?"":void 0,className:_chunkERL4Z7M7js.d.call(void 0, "flex items-center gap-3 mx-3",t?"outline outline-1 rounded-md m-1":"",s.className),style:s.style,children:[l&&_jsxruntime.jsx.call(void 0, Ia,{url:o,tabIndex:-1,"aria-hidden":"true",className:"contents",children:_jsxruntime.jsx.call(void 0, "img",{"data-bitsnap-checkout-slot":"productImage",className:_chunkERL4Z7M7js.d.call(void 0, "aspect-auto max-w-[30%] max-w-32 max-h-32 py-2 overflow-hidden",n.className),style:n.style,src:k,alt:"",onError:()=>b(k)})}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col w-full",children:[_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"productName",className:_chunkERL4Z7M7js.d.call(void 0, "font-medium",y.className),style:y.style,children:_jsxruntime.jsx.call(void 0, Ia,{url:o,className:"text-inherit no-underline hover:underline",children:i})}),a.variantName!=null&&a.variantName.length>0&&_jsxruntime.jsx.call(void 0, "p",{className:"text-sm opacity-70",children:a.variantName}),_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"productPrice",className:_chunkERL4Z7M7js.d.call(void 0, "text-sm",u.className),style:u.style,suppressHydrationWarning:!0,children:_jsxruntime.jsx.call(void 0, Ta,{price:a.price,currency:a.currency,pricing:a.pricing,quantity:e})}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex justify-between",children:[_jsxruntime.jsx.call(void 0, Io,{className:"",quantity:e,shouldUpdate:c}),_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{"data-bitsnap-checkout-slot":"removeButton",type:"button",variant:"ghost",size:"sm",className:d.className,style:d.style,"aria-label":`${w}: ${a.name}`,onClick:()=>{Promise.resolve(c(0)).catch(()=>{})},children:w})]})]})]})},Aa=Eo,Ia=({url:t,children:e,...a})=>t==null?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):_jsxruntime.jsx.call(void 0, "a",{href:t,...a,children:e}),Io=({quantity:t,shouldUpdate:e,className:a})=>{let[o,c]=_react.useState.call(void 0, t.toString()),s=_react.useRef.call(void 0, t),n=A("quantityControl"),y=A("quantityInput"),u=A("quantityButton"),d=_chunk4BW6J7FPjs.E.call(void 0, "quantity"),w=_chunk4BW6J7FPjs.E.call(void 0, "increaseQuantity"),k=_chunk4BW6J7FPjs.E.call(void 0, "decreaseQuantity"),x=_react.useRef.call(void 0, t);x.current=t,_react.useEffect.call(void 0, ()=>{s.current=t,c(t.toString())},[t]);function b(l){c(l.toString()),l!==s.current&&(s.current=l,Promise.resolve(e(l)).catch(()=>{s.current===l&&(s.current=x.current,c(x.current.toString()))}))}return _jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"quantityControl",className:_chunkERL4Z7M7js.d.call(void 0, "flex",a,n.className),style:n.style,children:_jsxruntime.jsxs.call(void 0, Na,{"aria-label":d,children:[_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{"data-bitsnap-checkout-slot":"quantityButton",type:"button",className:u.className,style:u.style,"aria-label":k,onClick:()=>b(de(s.current-1)),children:_jsxruntime.jsx.call(void 0, _lucidereact.MinusIcon,{"aria-hidden":"true"})}),_jsxruntime.jsx.call(void 0, "input",{"data-bitsnap-checkout-slot":"quantityInput",className:_chunkERL4Z7M7js.d.call(void 0, "w-8 bg-transparent text-center",y.className),style:y.style,value:o,"aria-label":d,inputMode:"numeric",pattern:"[0-9]*",onChange:l=>c(l.currentTarget.value),onBlur:l=>b(De(l.currentTarget.value,s.current)),onKeyDown:l=>{l.key==="Enter"&&b(De(l.currentTarget.value,s.current))},type:"text"}),_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{"data-bitsnap-checkout-slot":"quantityButton",type:"button",className:u.className,style:u.style,"aria-label":w,onClick:()=>b(de(s.current+1)),children:_jsxruntime.jsx.call(void 0, _lucidereact.PlusIcon,{"aria-hidden":"true"})})]})})};function _e({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{"data-slot":"skeleton",className:"bg-neutral-700 animate-pulse rounded-md "+t,...e})}var Do=({className:t,locale:e})=>{let a=_chunk4BW6J7FPjs.O.call(void 0, ),o=_chunkDF2IK2GNjs.m.call(void 0, ),c=_nullishCoalesce(e, () => (_chunkERL4Z7M7js.m.call(void 0, ))),s=A("productList"),n=A("summary"),y=A("totalLabel"),u=A("totalValue"),d=A("deliveryText"),w=A("summaryNote"),k=A("countryLabel"),x=A("paymentButtons"),b=A("checkoutButton"),l=A("emptyState"),i=A("error"),S=A("skeleton"),C=_chunk4BW6J7FPjs.E.call(void 0, "unavailableProducts"),N=_chunk4BW6J7FPjs.F.call(void 0, ),f=_chunk4BW6J7FPjs.E.call(void 0, "emptyCart"),R=_chunk4BW6J7FPjs.E.call(void 0, "total"),I=_chunk4BW6J7FPjs.E.call(void 0, "delivery"),T=_chunk4BW6J7FPjs.E.call(void 0, "chooseCountry"),P=_chunk4BW6J7FPjs.E.call(void 0, "nextStep"),m=_chunk4BW6J7FPjs.E.call(void 0, "loadFailed"),g=_chunk4BW6J7FPjs.E.call(void 0, "retry"),z=_chunk4BW6J7FPjs.E.call(void 0, "countryRequired"),E=_chunk4BW6J7FPjs.E.call(void 0, "extrasCalculatedNext"),O=_react2.default.useId(),p=_react2.default.useId(),{mutateAsync:v}=_reactquery.useMutation.call(void 0, {mutationFn:a.removeProductFromCart}),{mutateAsync:bt}=_reactquery.useMutation.call(void 0, {mutationFn:a.updateQuantity}),{mutateAsync:ne}=_reactquery.useMutation.call(void 0, {mutationFn:a.setCountry}),{mutateAsync:ye}=_reactquery.useMutation.call(void 0, {mutationFn:a.clearCart}),[ie,Pt]=_react2.default.useState(""),lt=_chunk4BW6J7FPjs.x.call(void 0, h=>h.notice);_react2.default.useEffect(()=>()=>_chunk4BW6J7FPjs.x.getState().setNotice(void 0),[]);let H=ie.length>0?ie:_nullishCoalesce(lt, () => ("")),[W,at]=_react2.default.useState([]),[qe,tr]=_react2.default.useState(!1),{mutateAsync:er,isPending:Fe}=_reactquery.useMutation.call(void 0, {mutationFn:a.redirectToNextStep}),{data:He}=_reactquery.useQuery.call(void 0, {queryKey:["cart-available-countries"],queryFn:a.getAvailableCountries}),{data:ar}=_reactquery.useQuery.call(void 0, {queryKey:["cart-one-click-payment"],queryFn:a.checkIfApplePayIsAvailable}),{data:xe,isLoading:Rt,isError:rr,refetch:Ve}=_reactquery.useQuery.call(void 0, {queryKey:["cart",c],queryFn:a.getProducts}),{data:Nt,refetch:We}=_reactquery.useQuery.call(void 0, {queryKey:["cart-country"],queryFn:a.getCountry}),[or]=_react3.useAutoAnimate.call(void 0, ),q=_chunk4BW6J7FPjs.u.call(void 0, xe)?void 0:xe,Ke=!Rt&&(rr||_chunk4BW6J7FPjs.u.call(void 0, xe)),yt=_chunk4BW6J7FPjs.u.call(void 0, He)?[]:He,Kt=_nullishCoalesce(_optionalChain([q, 'optionalAccess', _13 => _13.reduce, 'call', _14 => _14((h,M)=>M.details==null?h:h+(_nullishCoalesce(_optionalChain([M, 'access', _15 => _15.details, 'access', _16 => _16.pricing, 'optionalAccess', _17 => _17.effectivePrice]), () => (M.details.price)))*M.quantity,0)]), () => (0)),Qt=_nullishCoalesce(_optionalChain([q, 'optionalAccess', _18 => _18[0], 'optionalAccess', _19 => _19.details, 'optionalAccess', _20 => _20.currency]), () => ("PLN")),nr=_nullishCoalesce(_optionalChain([q, 'optionalAccess', _21 => _21.some, 'call', _22 => _22(h=>_optionalChain([h, 'access', _23 => _23.details, 'optionalAccess', _24 => _24.isDeliverable])===!0)]), () => (!1)),Dt=Nt!=null&&!_chunk4BW6J7FPjs.u.call(void 0, Nt)&&Nt!=""?Nt:void 0,Qe=Nt!==void 0&&Dt==null,$e=_react2.default.useRef(!1);_react2.default.useEffect(()=>{$e.current||yt==null||yt.length===0||Nt==null||Dt!=null&&yt.some(h=>h.code===Dt)||($e.current=!0,ne(yt[0].code).then(()=>We()).catch(()=>{}))},[yt,Nt,Dt]);let Xe=_react2.default.useRef(!1);_react2.default.useEffect(()=>{Xe.current||Rt||(Xe.current=!0,o.track("cart_opened",{item_count:_nullishCoalesce(_optionalChain([q, 'optionalAccess', _25 => _25.reduce, 'call', _26 => _26((h,M)=>h+M.quantity,0)]), () => (0)),value_minor:Kt,currency:Qt}))},[Rt,o,q,Kt,Qt]);let ke=_react2.default.useRef(new Map);_react2.default.useEffect(()=>{ke.current.clear()},[q]);function ir(h,M){let F=_optionalChain([q, 'optionalAccess', _27 => _27.find, 'call', _28 => _28(pr=>pr.id===h)]);if(_optionalChain([F, 'optionalAccess', _29 => _29.details])==null)return;let _t=M-(_nullishCoalesce(ke.current.get(h), () => (F.quantity)));if(ke.current.set(h,M),_t===0)return;let lr=_nullishCoalesce(_optionalChain([F, 'access', _30 => _30.details, 'access', _31 => _31.pricing, 'optionalAccess', _32 => _32.effectivePrice]), () => (F.details.price)),Ye=_nullishCoalesce(F.catalogProductID, () => (F.productID));o.track(_t>0?"add_to_cart":"remove_from_cart",{qty:Math.abs(_t),value_minor:Math.round(lr*Math.abs(_t)),currency:F.details.currency},{product_id:Ye,variant_id:Ye!==F.productID?F.productID:null})}let Ze=_react2.default.useRef(!1);async function sr(h,M){if(M!=null){ir(h,Math.max(0,M));try{let F=M<=0?await v({id:h}):await bt({id:h,quantity:M});if(_chunk4BW6J7FPjs.u.call(void 0, F))throw new Error(`cannot change the cart: ${F.error}`)}finally{await Ve().catch(()=>{})}}}async function cr(){try{if(Pt(""),at([]),_chunk4BW6J7FPjs.x.getState().setNotice(void 0),q!=null){!Ze.current&&q.length>0&&(Ze.current=!0,o.track("checkout_started",{item_count:q.reduce((F,_t)=>F+_t.quantity,0),checkout_type:"cart",value_minor:Kt,currency:Qt}));try{_chunk4BW6J7FPjs.t.call(void 0, {event:"initiateCheckout",items:_optionalChain([q, 'optionalAccess', _33 => _33.map, 'call', _34 => _34(F=>({id:F.productID,name:_nullishCoalesce(_optionalChain([F, 'access', _35 => _35.details, 'optionalAccess', _36 => _36.name]), () => ("")),price:_nullishCoalesce(_optionalChain([F, 'access', _37 => _37.details, 'optionalAccess', _38 => _38.price]), () => (0)),quantity:F.quantity,currency:_nullishCoalesce(_optionalChain([F, 'access', _39 => _39.details, 'optionalAccess', _40 => _40.currency]), () => ("PLN"))}))])})}catch (e5){}}let h=_chunk4BW6J7FPjs.M.call(void 0, ),M=await er();if(_chunk4BW6J7FPjs.u.call(void 0, M)){M.error=="item-ids-not-found"?(Pt(C),"data"in M&&Array.isArray(M.data)&&at(M.data)):Pt(_chunk4BW6J7FPjs.w.call(void 0, M,N));return}_chunk4BW6J7FPjs.G.call(void 0, M,{cartProjectId:_chunk4BW6J7FPjs.K.call(void 0, ),lines:h})||await ye(),window.location.href=M.url}catch(h){console.warn("checkout failed",h),Pt(N("checkoutFailed"))}}return _jsxruntime.jsxs.call(void 0, "div",{className:`${t} flex flex-col`,ref:or,children:[Rt&&_jsxruntime.jsxs.call(void 0, "div",{className:"relative flex w-full justify-center flex-col gap-4",children:[_jsxruntime.jsx.call(void 0, _e,{"data-bitsnap-checkout-slot":"skeleton",className:_chunkERL4Z7M7js.d.call(void 0, "w-full h-32",S.className),style:S.style}),_jsxruntime.jsx.call(void 0, _e,{"data-bitsnap-checkout-slot":"skeleton",className:_chunkERL4Z7M7js.d.call(void 0, "w-full h-32",S.className),style:S.style})]}),Ke&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start gap-3 p-4",children:[_jsxruntime.jsx.call(void 0, "p",{role:"alert","data-bitsnap-checkout-slot":"error",className:_chunkERL4Z7M7js.d.call(void 0, i.className),style:i.style,children:m}),lt!=null&<.length>0&&_jsxruntime.jsx.call(void 0, "p",{role:"alert","data-bitsnap-checkout-slot":"error",className:_chunkERL4Z7M7js.d.call(void 0, "text-sm",i.className),style:i.style,children:lt}),_jsxruntime.jsx.call(void 0, "button",{type:"button","data-bitsnap-checkout-slot":"checkoutButton",onClick:()=>{Ve().then().catch()},className:_chunkERL4Z7M7js.d.call(void 0, "px-3 py-2 rounded-md transition font-bold",b.className),style:b.style,children:g})]}),!Rt&&!Ke&&(q==null||q.length==0)&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col gap-4 p-4",children:[_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"emptyState",className:_chunkERL4Z7M7js.d.call(void 0, l.className),style:l.style,children:f}),lt!=null&<.length>0&&_jsxruntime.jsx.call(void 0, "p",{role:"alert","data-bitsnap-checkout-slot":"error",className:_chunkERL4Z7M7js.d.call(void 0, "text-sm",i.className),style:i.style,children:lt})]}),_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"productList",className:_chunkERL4Z7M7js.d.call(void 0, "max-h-[70vh] overflow-clip overflow-y-scroll",s.className),style:s.style,children:q!=null&&q.length>0&&_jsxruntime.jsx.call(void 0, "ul",{className:"mt-5",children:q.map(h=>_jsxruntime.jsx.call(void 0, _react2.default.Fragment,{children:h.details!=null&&_jsxruntime.jsxs.call(void 0, "li",{className:"mb-3",children:[_jsxruntime.jsx.call(void 0, Aa,{isNotAvailable:W.includes(h.productID),quantity:h.quantity,details:h.details,url:h.url,shouldUpdate:M=>sr(h.id,M)}),_jsxruntime.jsx.call(void 0, "hr",{className:"h-1"})]})},h.id))})}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),Kt>0&&Qt!=null&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "div",{"data-bitsnap-checkout-slot":"summary",className:_chunkERL4Z7M7js.d.call(void 0, "mx-3 flex flex-col",n.className),style:n.style,children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-row justify-between text-lg",children:[_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"totalLabel",className:_chunkERL4Z7M7js.d.call(void 0, "text-xl",y.className),style:y.style,children:R}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-end",children:[_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"totalValue",className:_chunkERL4Z7M7js.d.call(void 0, "font-medium",u.className),style:u.style,children:_chunk4BW6J7FPjs.s.call(void 0, Kt,Qt)}),nr&&_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"deliveryText",className:_chunkERL4Z7M7js.d.call(void 0, "opacity-70 text-right text-base",d.className),style:d.style,children:I})]})]}),_jsxruntime.jsx.call(void 0, "p",{"data-bitsnap-checkout-slot":"summaryNote",className:_chunkERL4Z7M7js.d.call(void 0, "opacity-70 text-sm",w.className),style:w.style,children:E})]}),yt&&_optionalChain([yt, 'optionalAccess', _41 => _41.length])>1&&_jsxruntime.jsxs.call(void 0, "div",{children:[_jsxruntime.jsx.call(void 0, "h4",{"data-bitsnap-checkout-slot":"countryLabel",className:_chunkERL4Z7M7js.d.call(void 0, "ml-3 text-sm",k.className),style:k.style,children:T}),_jsxruntime.jsx.call(void 0, Pa,{id:O,open:qe,onToggle:()=>{tr(!qe)},onChange:h=>{ne(h).then(()=>{We().then().catch()})},selectedValue:_nullishCoalesce(Dt, () => ("")),countries:yt})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"mb-3 flex flex-col",children:[ar&&q!=null&&q.length>0&&_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"paymentButtons",className:_chunkERL4Z7M7js.d.call(void 0, "w-full px-2",x.className),style:x.style,children:_jsxruntime.jsx.call(void 0, ze,{colorType:"white",style:{width:"100%"},items:_optionalChain([q, 'optionalAccess', _42 => _42.map, 'call', _43 => _43(h=>({name:_nullishCoalesce(_optionalChain([h, 'access', _44 => _44.details, 'optionalAccess', _45 => _45.name]), () => ("")),id:h.productID,price:_nullishCoalesce(_nullishCoalesce(_optionalChain([h, 'access', _46 => _46.details, 'optionalAccess', _47 => _47.pricing, 'optionalAccess', _48 => _48.effectivePrice]), () => (_optionalChain([h, 'access', _49 => _49.details, 'optionalAccess', _50 => _50.price]))), () => (0)),currency:_optionalChain([h, 'access', _51 => _51.details, 'optionalAccess', _52 => _52.currency]),quantity:h.quantity,isDeliverable:_nullishCoalesce(_optionalChain([h, 'access', _53 => _53.details, 'optionalAccess', _54 => _54.isDeliverable]), () => (!1)),metadata:h.metadata}))])})}),q!=null&&q.length>0&&_jsxruntime.jsx.call(void 0, "div",{"data-bitsnap-checkout-slot":"paymentButtons",className:_chunkERL4Z7M7js.d.call(void 0, "w-full px-2",x.className),style:x.style,children:_jsxruntime.jsx.call(void 0, Le,{buttonSizeMode:"fill",buttonColor:"white",style:{width:"100%"},items:_optionalChain([q, 'optionalAccess', _55 => _55.map, 'call', _56 => _56(h=>({name:_nullishCoalesce(_optionalChain([h, 'access', _57 => _57.details, 'optionalAccess', _58 => _58.name]), () => ("")),id:h.productID,price:_nullishCoalesce(_nullishCoalesce(_optionalChain([h, 'access', _59 => _59.details, 'optionalAccess', _60 => _60.pricing, 'optionalAccess', _61 => _61.effectivePrice]), () => (_optionalChain([h, 'access', _62 => _62.details, 'optionalAccess', _63 => _63.price]))), () => (0)),quantity:h.quantity,isDeliverable:_nullishCoalesce(_optionalChain([h, 'access', _64 => _64.details, 'optionalAccess', _65 => _65.isDeliverable]), () => (!1)),metadata:h.metadata}))])})}),_jsxruntime.jsx.call(void 0, "button",{"data-bitsnap-checkout-slot":"checkoutButton",onClick:cr,disabled:Rt||Fe||Dt==null,"aria-describedby":Qe?p:void 0,className:_chunkERL4Z7M7js.d.call(void 0, "px-3 py-2 my-2 mx-2 rounded-md disabled:opacity-40 disabled:cursor-not-allowed transition font-bold",b.className),style:b.style,children:Fe?_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{}):P}),Qe&&_jsxruntime.jsx.call(void 0, "p",{id:p,className:"text-sm text-center opacity-70",children:z}),H.length>0&&_jsxruntime.jsx.call(void 0, "p",{role:"alert","data-bitsnap-checkout-slot":"error",className:_chunkERL4Z7M7js.d.call(void 0, "text-sm text-center",i.className),style:i.style,children:H})]})]})]})},Ra=Do;function Go({isVisible:t,shouldHide:e,panelId:a,locale:o}){let[c]=_react3.useAutoAnimate.call(void 0, ),[s,n]=_react.useState.call(void 0, null),y=_react.useCallback.call(void 0, f=>{c(f),n(f)},[c]),u=_react.useRef.call(void 0, null),{boundaryClassName:d,boundaryStyle:w}=Zt(),k=A("root"),x=A("overlay"),b=A("panel"),l=A("header"),i=A("title"),S=A("closeButton"),C=_chunk4BW6J7FPjs.E.call(void 0, "cart"),N=_chunk4BW6J7FPjs.E.call(void 0, "close");return _jsxruntime.jsx.call(void 0, "div",{ref:y,"data-bitsnap-checkout":"root","data-bitsnap-checkout-slot":"root",className:_chunkERL4Z7M7js.d.call(void 0, "bitsnap-react",d,k.className),style:{zIndex:999999,...w,...k.style},children:s!=null&&_jsxruntime.jsx.call(void 0, pt.Root,{open:t,onOpenChange:f=>{f||e()},children:_jsxruntime.jsxs.call(void 0, pt.Portal,{container:s,children:[_jsxruntime.jsx.call(void 0, pt.Overlay,{"data-bitsnap-checkout-slot":"overlay","aria-hidden":"true",className:_chunkERL4Z7M7js.d.call(void 0, "fixed top-0 right-0 left-0 bottom-0 cursor-pointer z-10",x.className),style:x.style,onClick:e}),_jsxruntime.jsxs.call(void 0, pt.Content,{id:a,"data-bitsnap-checkout-slot":"panel","aria-modal":"true","aria-describedby":void 0,onOpenAutoFocus:()=>{let f=document.activeElement;u.current=f instanceof HTMLElement?f:null},onCloseAutoFocus:f=>{f.preventDefault(),_optionalChain([u, 'access', _66 => _66.current, 'optionalAccess', _67 => _67.focus, 'call', _68 => _68()]),u.current=null},className:_chunkERL4Z7M7js.d.call(void 0, "fixed z-20 top-0 right-0 bottom-0 w-full md:w-[350px] xl:w-[420px] flex flex-col",b.className),style:b.style,onPointerDownOutside:f=>f.preventDefault(),children:[_jsxruntime.jsxs.call(void 0, "div",{"data-bitsnap-checkout-slot":"header",className:_chunkERL4Z7M7js.d.call(void 0, "mx-3 mt-7 flex justify-between items-center",l.className),style:l.style,children:[_jsxruntime.jsx.call(void 0, pt.Title,{asChild:!0,children:_jsxruntime.jsx.call(void 0, "h1",{"data-bitsnap-checkout-slot":"title",className:_chunkERL4Z7M7js.d.call(void 0, "text-2xl font-medium",i.className),style:i.style,children:C})}),_jsxruntime.jsx.call(void 0, "button",{type:"button","data-bitsnap-checkout-slot":"closeButton",className:_chunkERL4Z7M7js.d.call(void 0, "rounded-xl p-2 transition",S.className),style:S.style,"aria-label":N,onClick:e,children:_jsxruntime.jsxs.call(void 0, "svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x","aria-hidden":"true",focusable:"false",children:[_jsxruntime.jsx.call(void 0, "line",{x1:"18",y1:"6",x2:"6",y2:"18"}),_jsxruntime.jsx.call(void 0, "line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),_jsxruntime.jsx.call(void 0, Ra,{className:"grow",locale:o})]})]})})})}var jo=t=>typeof window>"u"?null:_reactdom.createPortal.call(void 0, _jsxruntime.jsx.call(void 0, va,{appearance:t.appearance,children:_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.D,{texts:t.texts,locale:t.locale,children:_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.P,{locale:t.locale,children:_jsxruntime.jsx.call(void 0, Go,{...t})})})}),document.body),Da=jo;var Ho=_zod2.default.object({id:_zod2.default.string(),isSubscription:_zod2.default.boolean().default(!1),quantity:_zod2.default.number(),metadata:_zod2.default.record(_zod2.default.string(),_zod2.default.string().optional()).optional(),url:_zod2.default.string().optional()}),Vo={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0};function Wo({projectID:t,locale:e,children:a,onVisibleChange:o,className:c,numberOfProductsInCartOptions:s,appearance:n,texts:y,analytics:u}){let d=_chunkDF2IK2GNjs.n.call(void 0, t,u,"cart");_chunkDF2IK2GNjs.q.call(void 0, d);let{isCartVisible:w,showCart:k,hideCart:x,numberOfProductsInCart:b}=_chunk4BW6J7FPjs.x.call(void 0, ),l=`bitsnap-cart-${_react.useId.call(void 0, )}`,i=T=>_chunkERL4Z7M7js.j.call(void 0, T,_nullishCoalesce(e, () => (_chunkERL4Z7M7js.m.call(void 0, ))),y),S=_react.useRef.call(void 0, i);S.current=i;function C(T){_chunk4BW6J7FPjs.x.getState().setNotice(S.current(T)),k()}function N(T){document.querySelectorAll("iframe").forEach(m=>{_optionalChain([m, 'access', _69 => _69.contentWindow, 'optionalAccess', _70 => _70.postMessage, 'call', _71 => _71(T,"*")])})}_react.useEffect.call(void 0, ()=>{_optionalChain([o, 'optionalCall', _72 => _72(w)]),w&&_chunk4BW6J7FPjs.t.call(void 0, {event:"viewCart"})},[w]),_react.useEffect.call(void 0, ()=>{_chunk4BW6J7FPjs.J.call(void 0, t)},[t]),_react.useEffect.call(void 0, ()=>{_chunkERL4Z7M7js.l.call(void 0, e)},[e]),_react.useEffect.call(void 0, ()=>{if(!("cart"in window)){let T=_chunk4BW6J7FPjs.K.call(void 0, );if(T==null){console.warn("There is no project ID configured.");return}window.cart={buyProduct:async P=>{try{let m=_zod2.default.object({productID:_zod2.default.string(),email:_zod2.default.string().optional(),name:_zod2.default.string().optional(),country:_zod2.default.string().optional(),marketingAgreement:_zod2.default.boolean().optional(),locale:_zod2.default.string().optional()}).parse(P),g=_chunk4BW6J7FPjs.Q.call(void 0, T);try{let E=await g.getProducts();_chunk4BW6J7FPjs.u.call(void 0, E)==!1&&_chunk4BW6J7FPjs.t.call(void 0, {event:"initiateCheckout",items:E.map(O=>({id:O.productID,name:_nullishCoalesce(_optionalChain([O, 'access', _73 => _73.details, 'optionalAccess', _74 => _74.name]), () => ("")),price:_nullishCoalesce(_optionalChain([O, 'access', _75 => _75.details, 'optionalAccess', _76 => _76.price]), () => (0)),quantity:O.quantity,currency:_nullishCoalesce(_optionalChain([O, 'access', _77 => _77.details, 'optionalAccess', _78 => _78.currency]), () => ("PLN"))}))})}catch (e6){}let z=await g.justRedirectToPayment(m);_chunk4BW6J7FPjs.u.call(void 0, z)==!1?window.location.href=z.url:C("redirectFailed")}catch(m){console.warn(m)}}}}},[]);async function f(T,P){let m=_chunk4BW6J7FPjs.K.call(void 0, );if(m==null){console.warn("There is no project ID configured.");return}try{let g=Ho.parse(P);if(g.isSubscription){await R(m,g);return}await _chunk4BW6J7FPjs.Q.call(void 0, m).addProduct({productID:g.id,quantity:g.quantity,metadata:g.metadata,url:g.url}),N({id:T,type:"ADD_TO_CART",success:!0}),k()}catch(g){console.warn("cannot add item to cart",g)}}async function R(T,P){console.warn("subscriptions cannot be added to the cart yet",T,P.id),C("subscriptionUnsupported")}function I(){"__cart_is_listening"in window||(window.__cart_is_listening=!0,window.addEventListener("message",T=>{if(typeof T.data.id<"u"&&typeof T.data.type<"u"){let{id:P,type:m}=T.data;switch(m){case"ADD_TO_CART".toString():f(P,T.data.payload).then().catch();break;default:break}}}))}return _react.useEffect.call(void 0, ()=>{if(I(),typeof window<"u")try{let T=new URLSearchParams(window.location.search),P=_nullishCoalesce(T.get("ref"), () => (T.get("utm-source")));typeof localStorage<"u"&&P&&P.length>0&&localStorage.setItem("bitsnap-ref",P)}catch (e7){return}},[]),_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "button",{type:"button",onClick:()=>w?x():k(),"aria-label":a?void 0:b>0?`${i("openCart")}. ${i("cartItemsCount")}: ${b}`:i("openCart"),"aria-expanded":w,"aria-haspopup":"dialog","aria-controls":w?l:void 0,style:{position:"relative"},className:["bitsnap-react",_nullishCoalesce(c, () => ("rounded-full hover:bg-neutral-300 transition p-1"))].join(" "),children:[a?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:a}):_jsxruntime.jsxs.call(void 0, "svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-shopping-cart","aria-hidden":"true",focusable:"false",children:[_jsxruntime.jsx.call(void 0, "circle",{cx:"8",cy:"21",r:"1"}),_jsxruntime.jsx.call(void 0, "circle",{cx:"19",cy:"21",r:"1"}),_jsxruntime.jsx.call(void 0, "path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"})]}),b>0&&_jsxruntime.jsxs.call(void 0, "span",{style:Vo,children:[i("cartItemsCount"),": ",b]}),_optionalChain([s, 'optionalAccess', _79 => _79.isVisible])!=!1&&b>0&&_jsxruntime.jsx.call(void 0, "div",{"aria-hidden":"true",style:{position:"absolute",bottom:-5,right:-5,background:"black",color:"white",borderRadius:"50%",width:"22px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"13px",fontWeight:600,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.25)",..._optionalChain([s, 'optionalAccess', _80 => _80.style])},children:b})]}),_jsxruntime.jsx.call(void 0, _chunkDF2IK2GNjs.l,{value:d,children:_jsxruntime.jsx.call(void 0, Da,{isVisible:w,locale:e,appearance:n,texts:y,panelId:l,shouldHide:()=>{x()}})})]})}var Ko=Wo;var _buttonreact = require('@google-pay/button-react'); var _buttonreact2 = _interopRequireDefault(_buttonreact);function Zo({items:t,style:e,buttonColor:a,buttonSizeMode:o,test:c}){let{getGooglePayConfiguration:s,completeGooglePayPayment:n,setCountry:y,setCouponCodeIfPossible:u,setDeliveryMethod:d,setEmail:w,setPostalCode:k,clearCart:x}=_chunk4BW6J7FPjs.O.call(void 0, ),b=_chunkDF2IK2GNjs.m.call(void 0, ),{data:l}=_reactquery.useQuery.call(void 0, {queryKey:["get-google-pay-configuration",t.map(C=>C.id).join(",")],queryFn:()=>s({items:t.map(C=>({...C,id:void 0,productID:C.id}))})}),{mutateAsync:i,isPending:S}=_reactquery.useMutation.call(void 0, {mutationFn:n});return l==null||l.isAvailable!=!0?(console.log("google pay configuration is not available",l),null):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _buttonreact2.default,{buttonSizeMode:o,buttonColor:a,style:e,existingPaymentMethodRequired:!0,onClick:()=>b.track("payment_method_selected",{gateway:"google_pay",method:"google_pay"}),environment:c===!0?"TEST":"PRODUCTION",onPaymentDataChanged:async C=>{_chunk4BW6J7FPjs.t.call(void 0, {event:"initiateCheckout",items:t.map(f=>({id:f.id,name:f.name,price:f.price,quantity:f.quantity,currency:"PLN"}))}),console.log("payment data changed",C),_optionalChain([C, 'access', _81 => _81.shippingAddress, 'optionalAccess', _82 => _82.postalCode])!=null&&await k(_optionalChain([C, 'access', _83 => _83.shippingAddress, 'optionalAccess', _84 => _84.postalCode])),_optionalChain([C, 'access', _85 => _85.shippingAddress, 'optionalAccess', _86 => _86.countryCode])!=null&&await y(_optionalChain([C, 'access', _87 => _87.shippingAddress, 'optionalAccess', _88 => _88.countryCode])),_optionalChain([C, 'access', _89 => _89.shippingOptionData, 'optionalAccess', _90 => _90.id])!=null&&await d(C.shippingOptionData.id);let N=await s({items:[]});return console.log("PAYMENT DATA CHANGED CONFIG",N),N.isAvailable?{error:void 0,newShippingOptionParameters:N.config.shippingOptionParameters,newTransactionInfo:N.config.transactionInfo}:{error:void 0}},paymentRequest:l.config,onLoadPaymentData:async C=>{b.track("payment_submitted",{gateway:"google_pay",method:"google_pay"});try{let N=await i({paymentData:C});if(_chunk4BW6J7FPjs.u.call(void 0, N)){console.log("apple pay error",N);return}N.isSuccess&&x(),N.redirectURL&&open(N.redirectURL,"_self")}catch(N){console.warn("error completing google pay payment",N)}}}),S?_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{}):null]})}function Yo(t){let e=_chunkDF2IK2GNjs.n.call(void 0, Ht(),t.analytics,"cart");return _jsxruntime.jsx.call(void 0, _chunkDF2IK2GNjs.l,{value:e,children:_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.P,{children:_jsxruntime.jsx.call(void 0, Zo,{...t})})})}var Le=Yo;var D={title:null,description:null,managingDescription:"Zarz\u0105dzaj rodzajami powiadomie\u0144 i sposobem dostarczania.",formTitle:"Podaj Email aby zapisa\u0107 si\u0119\xA0do powiadomie\u0144",formEmailLabel:"Email",formPhoneLabel:"Numer telefonu",formPhoneOptional:"(opcjonalnie)",formEmailPlaceholder:"np. mail@gmail...",formPhonePlaceholder:"np. 663...",formSubmitButton:"Zapisz si\u0119",formSuccessMessage:"Zapisa\u0142e\u015B si\u0119 do powiadomie\u0144.",agreementText:_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "span",{style:{color:"red"},children:"*"}),"Wyra\u017Cam zgod\u0119 na przetwarzanie moich danych w celach marketingowych zgodnie z"," ",_jsxruntime.jsx.call(void 0, "a",{href:"/regulations/polityka-prywatnosci",target:"_blank",className:"cursor-alias font-bold hover:font-medium",children:"regulaminem"})," ",_jsxruntime.jsx.call(void 0, "span",{className:"text-xs font-light",children:"(zgod\u0119 mo\u017Cna w ka\u017Cdej chwili wycofa\u0107)"})]}),qrCodeTitle:"lub zainstaluj aplikacj\u0119 mobiln\u0105",qrCodeSubtitle:"Aplikacja mobilna",qrCodeScanText:"zeskanuj kod QR",groupsNoSelectionWarning:"Je\u015Bli \u017Cadna z grup nie jest zaznaczona, nie otrzymasz \u017Cadnych powiadomie\u0144.",groupsSelectAllButton:"Zaznacz wszystkie",groupsUpdateButton:"Aktualizuj",groupsUpdateSuccess:"Zaktualizowano pomy\u015Blnie.",groupsTitle:"Zarz\u0105dzaj grupami z kt\xF3rych chcesz otrzymywa\u0107 powiadomienia",manageDataTitle:"Ustawienia powiadomie\u0144",manageDataDescription:"W jaki spos\xF3b chcesz otrzymywa\u0107 powiadomienia?",manageDataUnsubscribeButton:"Odsubskrybuj",manageDataUpdatedMessage:"Zaktualizowano",manageDataUnsubscribeDescription:"Wypisz mnie z wszystkich powiadomie\u0144 i grup.",loginEmailLabel:"Email",loginEmailPlaceholder:"Wprowad\u017A sw\xF3j email",loginSendCodeButton:"Wy\u015Blij kod weryfikacyjny",loginSendingButton:"Wysy\u0142anie...",loginCodeLabel:"Wprowad\u017A kod weryfikacyjny",loginCodeSentMessage:"Wys\u0142ali\u015Bmy kod weryfikacyjny na adres",loginChangeEmailButton:"Popraw email",loginResendCodeButton:"Wy\u015Blij kod ponownie",loginInvalidEmailError:"Wprowad\u017A prawid\u0142owy adres email",loginSlugRequiredError:"Wymagany jest identyfikator projektu",loginInvalidCodeError:"Nieprawid\u0142owy kod weryfikacyjny",loginVerificationFailedError:"Weryfikacja nie powiod\u0142a si\u0119. Sprawd\u017A sw\xF3j kod.",loginSendEmailError:"Nie uda\u0142o si\u0119 wys\u0142a\u0107 kodu weryfikacyjnego",loginVerifyCodeError:"Nie uda\u0142o si\u0119 zweryfikowa\u0107 kodu",loginResendEmailError:"Nie uda\u0142o si\u0119 ponownie wys\u0142a\u0107 kodu weryfikacyjnego",loginTitle:"Wpisz email aby zarz\u0105dza\u0107 powiadomieniami",loginDescription:"Dostaniesz kod weryfikacyjny na email.",loginIHaveCode:"Mam ju\u017C kod"};function Ua({projectName:t,projectLogo:e,projectLogoDark:a,description:o,className:c,onLogout:s}){return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[e!=null||t!=null&&_jsxruntime.jsxs.call(void 0, "h2",{className:_chunkERL4Z7M7js.d.call(void 0, "flex max-w-44 items-center gap-3 text-lg font-medium text-black sm:max-w-none md:text-xl lg:text-2xl xl:text-3xl dark:text-neutral-100",_optionalChain([c, 'optionalAccess', _91 => _91.headerTitle])),children:[e!=null&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "img",{src:e,alt:"",className:_chunkERL4Z7M7js.d.call(void 0, "h-12 w-auto dark:hidden",_optionalChain([c, 'optionalAccess', _92 => _92.headerLogo]))}),_jsxruntime.jsx.call(void 0, "img",{src:_nullishCoalesce(a, () => (e)),alt:"",className:_chunkERL4Z7M7js.d.call(void 0, "hidden h-12 w-auto dark:inline",_optionalChain([c, 'optionalAccess', _93 => _93.headerLogo]))})]}),_jsxruntime.jsx.call(void 0, "span",{children:t})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-2",children:[o&&_jsxruntime.jsx.call(void 0, "p",{className:_chunkERL4Z7M7js.d.call(void 0, "mt-4 font-medium text-left",_optionalChain([c, 'optionalAccess', _94 => _94.headerDescription])),children:o}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),s&&_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{variant:"ghost",size:"icon-sm",onClick:s,children:_jsxruntime.jsx.call(void 0, _lucidereact.LogOutIcon,{className:"h-5 w-5"})})]})]})}var _reactpopover = require('@radix-ui/react-popover'); var ft = _interopRequireWildcard(_reactpopover);function Ba({...t}){return _jsxruntime.jsx.call(void 0, ft.Root,{"data-slot":"popover",...t})}function Oa({...t}){return _jsxruntime.jsx.call(void 0, ft.Trigger,{"data-slot":"popover-trigger",...t})}function Ma({className:t,align:e="center",sideOffset:a=4,...o}){return _jsxruntime.jsx.call(void 0, ft.Portal,{children:_jsxruntime.jsx.call(void 0, ft.Content,{"data-slot":"popover-content",align:e,sideOffset:a,className:_chunkERL4Z7M7js.d.call(void 0, "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...o})})}function Ga({regularity:t}){let e="";switch(t){case"rarely":e="rzadko";break;case"often":e="cz\u0119sto";break;case"very_often":e="codzienne";break}return _jsxruntime.jsxs.call(void 0, Ba,{children:[_jsxruntime.jsx.call(void 0, Oa,{onClick:a=>{a.stopPropagation()},children:_jsxruntime.jsxs.call(void 0, "button",{type:"button",className:"flex w-[30%] cursor-help flex-col items-center justify-center text-xs md:w-[25%] xl:w-[20%]",children:[_jsxruntime.jsx.call(void 0, _lucidereact.ClockIcon,{size:12}),_jsxruntime.jsx.call(void 0, "span",{children:e})]})}),_jsxruntime.jsx.call(void 0, Ma,{className:"w-80",children:_jsxruntime.jsxs.call(void 0, "div",{className:"grid gap-4",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"space-y-2",children:[_jsxruntime.jsx.call(void 0, "h4",{className:"leading-none font-medium",children:"Co to oznacza?"}),_jsxruntime.jsxs.call(void 0, "ul",{className:"list-inside list-disc text-sm",children:[_jsxruntime.jsxs.call(void 0, "li",{children:[_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold",children:"Rzadko"})," \u2013 powiadomienia b\u0119d\u0105 wysy\u0142ane maksymalnie kilka razy w miesi\u0105cu."]}),_jsxruntime.jsxs.call(void 0, "li",{children:[_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold",children:"Cz\u0119sto"})," \u2013 powiadomienia mog\u0119 by\u0107 wysy\u0142ane kilka razy w tygodniu."]}),_jsxruntime.jsxs.call(void 0, "li",{children:[_jsxruntime.jsx.call(void 0, "span",{className:"font-semibold",children:"Codzienne"})," \u2013 powiadomienia b\u0119d\u0105 wysy\u0142ane nawet codziennie."]})]})]}),_jsxruntime.jsx.call(void 0, "div",{className:"grid gap-2"})]})})]})}function ve({groups:t=[],isManaging:e,onToggle:a,onCheckAll:o,onUpdate:c,isUpdating:s,wasChanged:n,isUserGroupsUpdated:y,className:u,texts:d}){let[w]=_react3.useAutoAnimate.call(void 0, ),[k]=_react3.useAutoAnimate.call(void 0, ),x=t.filter(i=>i.isOn===!1).length>0,b=t.filter(i=>i.isOn===!1).length>0;if(t.length<=1&&e!=!0)return null;let l=_jsxruntime.jsxs.call(void 0, "div",{ref:w,className:_chunkERL4Z7M7js.d.call(void 0, "my-5 flex flex-col gap-3",_optionalChain([u, 'optionalAccess', _95 => _95.groupsList])),children:[t.map(i=>_jsxruntime.jsxs.call(void 0, "div",{id:i.id,role:"button",className:_chunkERL4Z7M7js.d.call(void 0, i.isOn?"bg-neutral-50 hover:bg-transparent shadow-sm border-transparent dark:bg-neutral-800":"border-neutral-200 hover:bg-neutral-50 dark:hover:border-neutral-800 shadow-sm dark:border-neutral-800","active:bg-beige-300 flex w-full cursor-pointer items-center gap-3 rounded-xl border px-3 py-2 transition active:dark:bg-neutral-900",_optionalChain([u, 'optionalAccess', _96 => _96.groupItem])),onClick:S=>{S.target instanceof HTMLButtonElement||a(i.id)},children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.o,{checked:i.isOn,className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-700",onCheckedChange:()=>{a(i.id)}}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start justify-start",children:[_jsxruntime.jsx.call(void 0, "p",{className:"font-medium text-sm",children:i.name}),i.description&&_jsxruntime.jsx.call(void 0, "p",{className:"text-xs font-light",children:i.description})]}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),i.howOften&&_jsxruntime.jsx.call(void 0, Ga,{regularity:i.howOften})]},i.id)),_jsxruntime.jsxs.call(void 0, "div",{className:"flex gap-2",children:[e===!0&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "div",{ref:k,className:"flex flex-col items-start justify-start",children:[n&&_jsxruntime.jsxs.call(void 0, _chunk6IACFTJRjs.q,{variant:"default",size:"sm",className:"relative",disabled:s,onClick:c,children:[_nullishCoalesce(_optionalChain([d, 'optionalAccess', _97 => _97.groupsUpdateButton]), () => (D.groupsUpdateButton)),s&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{})})]}),y&&_jsxruntime.jsxs.call(void 0, "p",{className:"mt-3 flex items-center gap-2 text-sm text-green-500",children:[_jsxruntime.jsx.call(void 0, _lucidereact.CheckCircleIcon,{color:"var(--color-green-500",size:16})," ",_nullishCoalesce(_optionalChain([d, 'optionalAccess', _98 => _98.groupsUpdateSuccess]), () => (D.groupsUpdateSuccess))]})]}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"})]}),b&&_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-start",children:_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{className:"cursor-pointer dark:bg-neutral-700",onClick:o,size:"sm",variant:"secondary",type:"button",children:_nullishCoalesce(_optionalChain([d, 'optionalAccess', _99 => _99.groupsSelectAllButton]), () => (D.groupsSelectAllButton))})})]}),x&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex text-left gap-2 text-xs text-yellow-500",children:[_jsxruntime.jsx.call(void 0, _lucidereact.TriangleAlertIcon,{color:"orange",size:16}),_nullishCoalesce(_optionalChain([d, 'optionalAccess', _100 => _100.groupsNoSelectionWarning]), () => (D.groupsNoSelectionWarning))]})]});return e==!0?_jsxruntime.jsxs.call(void 0, _chunk4BW6J7FPjs.b,{className:"mt-5 text-left",children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.c,{children:_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.d,{children:_nullishCoalesce(_optionalChain([d, 'optionalAccess', _101 => _101.groupsTitle]), () => (D.groupsTitle))})}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.f,{children:l})]}):l}function qa({showQRCode:t=!0,isManaging:e,className:a,texts:o}){let c=typeof window<"u",s=c?!!_optionalChain([window, 'access', _102 => _102.matchMedia, 'optionalCall', _103 => _103("(prefers-color-scheme: dark)"), 'access', _104 => _104.matches]):!1;function n(y){return y?window.location.href:""}return t?_jsxruntime.jsxs.call(void 0, _chunk4BW6J7FPjs.b,{className:_chunkERL4Z7M7js.d.call(void 0, "bg-beige-100 rounded-xl p-4 dark:bg-neutral-700",_optionalChain([a, 'optionalAccess', _105 => _105.qrCodeSection])),children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.c,{children:_jsxruntime.jsxs.call(void 0, _chunk4BW6J7FPjs.d,{className:_chunkERL4Z7M7js.d.call(void 0, "mb-3 text-base font-medium lg:text-lg",_optionalChain([a, 'optionalAccess', _106 => _106.qrCodeTitle])),children:[_nullishCoalesce(_optionalChain([o, 'optionalAccess', _107 => _107.qrCodeSubtitle]), () => (D.qrCodeSubtitle))," "+(_nullishCoalesce(_optionalChain([o, 'optionalAccess', _108 => _108.qrCodeTitle]), () => (D.qrCodeTitle)))]})}),_jsxruntime.jsxs.call(void 0, _chunk4BW6J7FPjs.f,{className:"flex flex-col items-center gap-2",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"mt-1.5 mb-3 flex items-center gap-x-2",children:[_jsxruntime.jsx.call(void 0, "a",{href:"https://apps.apple.com/us/app/bitsnap/id6741902807",target:"_blank",className:"max-w-28 flex-1 basis-1/2 lg:max-w-36",children:_jsxruntime.jsx.call(void 0, "img",{className:"h-auto w-full",src:_chunkERL4Z7M7js.f+"/app-store-logo.png",alt:"Download on App Store"})}),_jsxruntime.jsx.call(void 0, "a",{href:"https://play.google.com/store/apps/details?id=com.bitsnap.Bitsnap&pli=1",target:"_blank",className:"max-w-28 flex-1 basis-1/2 lg:max-w-36",children:_jsxruntime.jsx.call(void 0, "img",{className:"h-auto w-full",src:_chunkERL4Z7M7js.f+"/google-play-logo.png",alt:"Get in on Google Play"})})]}),c&&_jsxruntime.jsx.call(void 0, "div",{className:"flex items-center justify-center",children:_jsxruntime.jsxs.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, "flex min-w-[40%] flex-col items-center gap-2 rounded-xl bg-white p-2 dark:bg-neutral-900",_optionalChain([a, 'optionalAccess', _109 => _109.qrCodeContainer])),children:[_jsxruntime.jsx.call(void 0, "img",{className:"mt-3 w-[80%] p-1 pt-3",src:_chunkERL4Z7M7js.f+`/api/qr-gen?url=${n(c)}&bgColor=${s?"171717":"F6F4F0"}&textColor=${s?"ffffff":"000000"}&margin=0`}),_jsxruntime.jsx.call(void 0, "p",{className:"text-xs md:text-sm",children:_nullishCoalesce(_optionalChain([o, 'optionalAccess', _110 => _110.qrCodeScanText]), () => (D.qrCodeScanText))})]})})]})]}):null}var _reactphonenumberinput = require('react-phone-number-input');var _reactlabel = require('@radix-ui/react-label');function Ha({submit:t,isLoading:e,errMsg:a,emailLack:o,warnMsg:c,isSubmited:s,agreementLack:n,showPhoneInput:y=!1,agreementText:u,className:d,texts:w}){let[k,x]=_react.useState.call(void 0, ""),[b,l]=_react.useState.call(void 0, ""),[i,S]=_react.useState.call(void 0, !1),[C]=_react3.useAutoAnimate.call(void 0, );function N(f){f.preventDefault(),t(k,b,i)}return _jsxruntime.jsxs.call(void 0, "form",{ref:C,onSubmit:N,className:_chunkERL4Z7M7js.d.call(void 0, "flex flex-col gap-3 text-left",_optionalChain([d, 'optionalAccess', _111 => _111.formContainer])),children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col gap-1 text-left",children:[_jsxruntime.jsx.call(void 0, _reactlabel.Label,{className:"text-sm",htmlFor:"bts-notifications-form-email",children:_nullishCoalesce(_optionalChain([w, 'optionalAccess', _112 => _112.formEmailLabel]), () => (D.formEmailLabel))}),_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.r,{value:k,onChange:f=>{x(f.currentTarget.value)},id:"bts-notifications-form-email",className:_chunkERL4Z7M7js.d.call(void 0, o===!0?"border-red-400":""),type:"email",placeholder:_nullishCoalesce(_optionalChain([w, 'optionalAccess', _113 => _113.formEmailPlaceholder]), () => (D.formEmailPlaceholder))})]}),y&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col gap-1 text-left",children:[_jsxruntime.jsxs.call(void 0, _reactlabel.Label,{className:"text-sm",htmlFor:"bts-notifications-form-phone",children:[_nullishCoalesce(_optionalChain([w, 'optionalAccess', _114 => _114.formPhoneLabel]), () => (D.formPhoneLabel))," ",_jsxruntime.jsx.call(void 0, "span",{className:"text-neutral-500 dark:text-neutral-500",children:_nullishCoalesce(_optionalChain([w, 'optionalAccess', _115 => _115.formPhoneOptional]), () => (D.formPhoneOptional))})]}),_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.r,{value:b,onChange:f=>{l(f.currentTarget.value)},id:"bts-notifications-form-phone",className:"",type:"tel",autoComplete:"tel",autoCorrect:"off",placeholder:_nullishCoalesce(_optionalChain([w, 'optionalAccess', _116 => _116.formPhonePlaceholder]), () => (D.formPhonePlaceholder))})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-start gap-x-1.5",children:[_jsxruntime.jsx.call(void 0, "input",{className:"cursor-pointer",id:"bts-notifications-form-marketing-consent",type:"checkbox",checked:i,onChange:()=>{S(!i)}}),_jsxruntime.jsx.call(void 0, "label",{htmlFor:"bts-notifications-form-marketing-consent",className:_chunkERL4Z7M7js.d.call(void 0, "cursor-pointer text-xs leading-4 transition-colors md:text-sm md:leading-4",n===!0?"text-yellow-700":""),children:u})]}),a.length>0&&_jsxruntime.jsxs.call(void 0, "p",{className:"mb-3 flex items-center gap-1 text-sm text-red-400",children:[_jsxruntime.jsx.call(void 0, _lucidereact.TriangleAlertIcon,{color:"#ff6467",size:16})," ",a]}),c.length>0&&_jsxruntime.jsxs.call(void 0, "p",{className:"mb-3 flex items-center gap-1 text-sm text-amber-400",children:[_jsxruntime.jsx.call(void 0, _lucidereact.CircleAlertIcon,{color:"var(--color-amber-400)",size:16})," ",c]}),s==!1&&_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-start",children:_jsxruntime.jsxs.call(void 0, _chunk6IACFTJRjs.q,{variant:"default",disabled:e,className:_chunkERL4Z7M7js.d.call(void 0, e?"cursor-not-allowed text-transparent":"","relative"),children:[_nullishCoalesce(_optionalChain([w, 'optionalAccess', _117 => _117.formSubmitButton]), () => (D.formSubmitButton)),e&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{})})]})}),s&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3 text-sm text-green-400",children:[_jsxruntime.jsx.call(void 0, _lucidereact.CheckCircleIcon,{size:16})," ",_nullishCoalesce(_optionalChain([w, 'optionalAccess', _118 => _118.formSuccessMessage]), () => (D.formSuccessMessage))]})]})}var mn=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;function Va({groups:t,onToggle:e,onCheckAll:a,slug:o,showPhoneInput:c=!1,agreementText:s,className:n,texts:y,isUpdating:u,wasChanged:d,onSuccess:w}){let[k,x]=_react.useState.call(void 0, ""),[b,l]=_react.useState.call(void 0, ""),[i,S]=_react.useState.call(void 0, !1),[C,N]=_react.useState.call(void 0, !1),[f,R]=_react.useState.call(void 0, !1),{mutateAsync:I,isPending:T}=_chunk6IACFTJRjs.l.call(void 0, _chunk6IACFTJRjs.j.notifications.createNotificationUser);function P(z){return z==null?!1:_reactphonenumberinput.isValidPhoneNumber.call(void 0, z,"PL")}async function m(z,E,O){if(x(""),l(""),R(!1),S(!1),N(!1),!O){N(!0),x("Zgoda w tym przypadku jest wymagana.");return}if(mn.test(z)===!1){x("Email jest nieprawid\u0142owy."),R(!0);return}E.length>0&&P(E)===!1&&l("Numer telefonu mo\u017Ce by\u0107 nieprawid\u0142owy. Zapisali\u015Bmy go ale je\u015Bli jest nieprawid\u0142owy to wpisz jeszcze raz i kliknij przycisk.");try{let p=await I({slug:o,email:z,phone:E,groups:t.filter(v=>v.isOn==!0).map(v=>v.id),mobileNotificationEnabled:!0,emailNotificationEnabled:!0,smsNotificationEnabled:!0});if(p.result.case==="success"){S(!0),setTimeout(()=>{_optionalChain([w, 'optionalCall', _119 => _119(!1,p.userId,p.accessToken)])},1e3);return}else{S(!0);let v=p.result.value;if(v!=null){if(v==32){_optionalChain([w, 'optionalCall', _120 => _120(!0,void 0,void 0)]);return}console.log(`Code error: ${_chunk6IACFTJRjs.g[v]}`),x("Wyst\u0105pi\u0142 b\u0142\u0105d: "+_chunk6IACFTJRjs.g[v]);return}return}}catch(p){x("Wyst\u0105pi\u0142 b\u0142\u0105d podczas zapisywania. Spr\xF3buj ponownie."),console.log(`Error: ${p}`)}}let g=_nullishCoalesce(_optionalChain([y, 'optionalAccess', _121 => _121.formTitle]), () => (D.formTitle));return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, "bg-beige-100 rounded-xl p-4 dark:bg-neutral-700",_optionalChain([n, 'optionalAccess', _122 => _122.formSection])),children:[g.length>0&&_jsxruntime.jsx.call(void 0, "h3",{className:_chunkERL4Z7M7js.d.call(void 0, "mb-3 text-base font-medium lg:text-lg",_optionalChain([n, 'optionalAccess', _123 => _123.formTitle])),children:g}),_jsxruntime.jsx.call(void 0, ve,{groups:t,isManaging:!1,onToggle:_nullishCoalesce(e, () => ((()=>{}))),onCheckAll:_nullishCoalesce(a, () => ((()=>{}))),isUpdating:_nullishCoalesce(u, () => (!1)),wasChanged:_nullishCoalesce(d, () => (!1)),isUserGroupsUpdated:!1,className:n,texts:y}),_jsxruntime.jsx.call(void 0, Ha,{errMsg:k,emailLack:f,warnMsg:b,submit:m,isLoading:T,isSubmited:i,agreementLack:C,showPhoneInput:c,agreementText:_nullishCoalesce(_nullishCoalesce(s, () => (_optionalChain([y, 'optionalAccess', _124 => _124.agreementText]))), () => (D.agreementText)),className:n,texts:y})]})}var _usedebounce = require('use-debounce');function Ka({open:t,onOpenChange:e,onConfirm:a,isDeleting:o=!1}){let[c,s]=_react.useState.call(void 0, !1);if(_react.useEffect.call(void 0, ()=>(s(!0),()=>s(!1)),[]),_react.useEffect.call(void 0, ()=>(t?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[t]),!c||!t)return null;let n=u=>{u.target===u.currentTarget&&e(!1)},y=()=>{a()};return _reactdom.createPortal.call(void 0, _jsxruntime.jsx.call(void 0, "div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/50 p-4",onClick:n,children:_jsxruntime.jsxs.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, "relative w-full max-w-md rounded-2xl bg-white p-6 shadow-lg","dark:bg-neutral-800","animate-in fade-in-0 zoom-in-95 duration-200"),onClick:u=>u.stopPropagation(),children:[_jsxruntime.jsxs.call(void 0, "button",{onClick:()=>e(!1),className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none dark:ring-offset-neutral-950 dark:focus:ring-neutral-300",disabled:o,children:[_jsxruntime.jsx.call(void 0, _lucidereact.XIcon,{className:"h-4 w-4"}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Zamknij"})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col gap-4",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-start gap-3",children:[_jsxruntime.jsx.call(void 0, "div",{className:"flex-shrink-0",children:_jsxruntime.jsx.call(void 0, _lucidereact.TriangleAlertIcon,{className:"h-6 w-6 text-amber-500","aria-hidden":"true"})}),_jsxruntime.jsx.call(void 0, "div",{className:"flex-1",children:_jsxruntime.jsx.call(void 0, "h2",{className:"text-lg font-semibold text-black dark:text-neutral-100",children:"Czy na pewno chcesz si\u0119 wypisa\u0107?"})})]}),_jsxruntime.jsx.call(void 0, "p",{className:"text-sm text-neutral-600 dark:text-neutral-400",children:"Klikni\u0119cie tego przycisku spowoduje wypisanie z wszelkich powiadomie\u0144 i grup, kt\xF3re zapisa\u0142e\u015B."}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{type:"button",variant:"ghost",onClick:()=>e(!1),disabled:o,className:"sm:min-w-[100px]",children:"Anuluj"}),_jsxruntime.jsxs.call(void 0, _chunk6IACFTJRjs.q,{type:"button",variant:"destructive",onClick:y,disabled:o,className:_chunkERL4Z7M7js.d.call(void 0, o&&"cursor-not-allowed text-transparent","relative sm:min-w-[100px]"),children:["Usu\u0144",o&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, "div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-white border-t-transparent"})})]})]})]})]})}),document.body)}function $a({accessToken:t,slug:e,userID:a,className:o,texts:c}){let[s]=_react3.useAutoAnimate.call(void 0, ),[n]=_react3.useAutoAnimate.call(void 0, ),{mutateAsync:y,isPending:u}=_chunk6IACFTJRjs.l.call(void 0, _chunk6IACFTJRjs.j.notifications.deleteNotificationUser),{mutateAsync:d,isPending:w}=_chunk6IACFTJRjs.l.call(void 0, _chunk6IACFTJRjs.j.notifications.updateNotificationUser),{data:k,isFetching:x}=_chunk6IACFTJRjs.k.call(void 0, _chunk6IACFTJRjs.j.notifications.getNotificationUserSettings,{userId:a,slug:e,accessToken:t}),[b,l]=_react.useState.call(void 0, !1),[i,S]=_react.useState.call(void 0, !1),[C,N]=_react.useState.call(void 0, !1),[f,R]=_react.useState.call(void 0, !1),[I,T]=_react.useState.call(void 0, !1),P=_optionalChain([k, 'optionalAccess', _125 => _125.result, 'access', _126 => _126.case])==="success"?_optionalChain([k, 'optionalAccess', _127 => _127.result, 'optionalAccess', _128 => _128.value]):void 0;function m(){T(!0)}async function g(){await y({accessToken:t,slug:e,userId:a}),T(!1)}async function z(){await d({accessToken:t,slug:e,notificationUserId:a,mobileNotificationEnabled:f,emailNotificationEnabled:b,smsNotificationEnabled:i}),N(!0),setTimeout(()=>{N(!1)},3e3)}let E=_usedebounce.useDebouncedCallback.call(void 0, p=>{z()},300);_react.useEffect.call(void 0, ()=>{let p=_optionalChain([k, 'optionalAccess', _129 => _129.result, 'access', _130 => _130.case])==="success"?_optionalChain([k, 'optionalAccess', _131 => _131.result, 'optionalAccess', _132 => _132.value]):void 0;l(_nullishCoalesce(_optionalChain([p, 'optionalAccess', _133 => _133.emailNotificationEnabled]), () => (!1))),S(_nullishCoalesce(_optionalChain([p, 'optionalAccess', _134 => _134.smsNotificationEnabled]), () => (!1))),R(_nullishCoalesce(_optionalChain([p, 'optionalAccess', _135 => _135.mobileNotificationEnabled]), () => (!1)))},[k]);function O(p,v){p==="email"&&l(v),p==="phone"&&S(v),p==="push"&&R(v),E(!0)}return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, "bg-beige-100 rounded-xl p-4 dark:bg-neutral-700",_optionalChain([o, 'optionalAccess', _136 => _136.manageDataSection])),children:[_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-start",children:_jsxruntime.jsx.call(void 0, "h3",{className:_chunkERL4Z7M7js.d.call(void 0, "mb-3 text-base font-medium lg:text-lg",_optionalChain([o, 'optionalAccess', _137 => _137.manageDataTitle])),children:_nullishCoalesce(_optionalChain([c, 'optionalAccess', _138 => _138.manageDataTitle]), () => (D.manageDataTitle))})}),x?_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.u,{className:"h-64 w-full"}):_jsxruntime.jsxs.call(void 0, _chunk4BW6J7FPjs.b,{ref:n,className:_chunkERL4Z7M7js.d.call(void 0, w&&"relative"),children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.c,{children:_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.d,{children:_jsxruntime.jsx.call(void 0, "p",{className:"text-sm text-left",children:_nullishCoalesce(_optionalChain([c, 'optionalAccess', _139 => _139.manageDataDescription]), () => (D.manageDataDescription))})})}),_jsxruntime.jsxs.call(void 0, _chunk4BW6J7FPjs.f,{ref:s,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, w&&"opacity-50 pointer-events-none","flex flex-col gap-2"),children:_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start gap-5 gap-x-2",children:[_optionalChain([P, 'optionalAccess', _140 => _140.emailNotificationAvailable])&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.o,{id:"email-enabled",className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-600",checked:b,onCheckedChange:()=>{O("email",!b)}}),_jsxruntime.jsx.call(void 0, _reactlabel.Label,{htmlFor:"email-enabled",className:"text-sm",children:"Email"})]}),_optionalChain([P, 'optionalAccess', _141 => _141.smsNotificationAvailable])&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.o,{id:"sms-enabled",className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-600",checked:i,onCheckedChange:()=>{O("phone",!i)}}),_jsxruntime.jsx.call(void 0, _reactlabel.Label,{htmlFor:"sms-enabled",className:"text-sm",children:"SMS"})]}),_optionalChain([P, 'optionalAccess', _142 => _142.mobileNotificationAvailable])&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.o,{id:"push-enabled",className:"data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-neutral-600",checked:f,onCheckedChange:()=>{O("push",!f)}}),_jsxruntime.jsx.call(void 0, _reactlabel.Label,{htmlFor:"push-enabled",className:"text-sm",children:"Powiadomienia na telefon"})]}),_optionalChain([P, 'optionalAccess', _143 => _143.hasUserInstalledApp])===!1&&_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-3",children:[_jsxruntime.jsx.call(void 0, _lucidereact.MessageCircleWarningIcon,{color:"var(--color-amber-500)",size:26}),_jsxruntime.jsx.call(void 0, "p",{className:"text-xs text-amber-500",children:"Wygl\u0105da na to, \u017Ce nie masz zainstalowanej aplikacji mobilnej. Zainstaluj i wyra\u017A zgod\u0119 na otrzymywanie powiadomie\u0144 na telefon."})]})]})]})}),_jsxruntime.jsxs.call(void 0, "div",{className:"mt-5 flex flex-col gap-2 text-left",children:[_jsxruntime.jsx.call(void 0, "hr",{}),C&&_jsxruntime.jsx.call(void 0, "p",{className:"text-xs text-green-500",children:_nullishCoalesce(_optionalChain([c, 'optionalAccess', _144 => _144.manageDataUpdatedMessage]), () => (D.manageDataUpdatedMessage))}),_jsxruntime.jsx.call(void 0, "div",{className:"flex items-center gap-x-2",children:_jsxruntime.jsxs.call(void 0, _chunk6IACFTJRjs.q,{size:"sm",variant:"link",className:_chunkERL4Z7M7js.d.call(void 0, "pl-0 ml-0",u&&"cursor-not-allowed"),onClick:m,children:[_nullishCoalesce(_optionalChain([c, 'optionalAccess', _145 => _145.manageDataUnsubscribeButton]), () => (D.manageDataUnsubscribeButton)),u&&_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{})})]})})]})]}),w&&_jsxruntime.jsx.call(void 0, "div",{className:"bg-black/30 absolute inset-0 rounded-xl",children:_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",children:_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{})})})]}),_jsxruntime.jsx.call(void 0, Ka,{open:I,onOpenChange:T,onConfirm:g,isDeleting:u})]})}function Xa({...t}){return _jsxruntime.jsx.call(void 0, et.Root,{"data-slot":"dialog",...t})}function Pn({...t}){return _jsxruntime.jsx.call(void 0, et.Portal,{"data-slot":"dialog-portal",...t})}function Nn({className:t,...e}){return _jsxruntime.jsx.call(void 0, et.Overlay,{"data-slot":"dialog-overlay",className:_chunkERL4Z7M7js.d.call(void 0, "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...e})}function Za({className:t,children:e,showCloseButton:a=!0,...o}){return _jsxruntime.jsxs.call(void 0, Pn,{"data-slot":"dialog-portal",children:[_jsxruntime.jsx.call(void 0, Nn,{}),_jsxruntime.jsxs.call(void 0, et.Content,{"data-slot":"dialog-content",className:_chunkERL4Z7M7js.d.call(void 0, "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...o,children:[e,a&&_jsxruntime.jsxs.call(void 0, et.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[_jsxruntime.jsx.call(void 0, _lucidereact.XIcon,{}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Close"})]})]})]})}function Ja({slug:t,onSuccess:e,onError:a,className:o,isOpen:c,onClose:s,texts:n}){let[y]=_react3.useAutoAnimate.call(void 0, ),[u]=_react3.useAutoAnimate.call(void 0, ),[d,w]=_react.useState.call(void 0, ""),[k,x]=_react.useState.call(void 0, ""),[b,l]=_react.useState.call(void 0, !1),[i,S]=_react.useState.call(void 0, null),{mutateAsync:C,isPending:N}=_chunk6IACFTJRjs.l.call(void 0, _chunk6IACFTJRjs.j.notifications.verifyUserEmail),f=async P=>{if(P.preventDefault(),S(null),!d||!d.includes("@")){S(_nullishCoalesce(n.loginInvalidEmailError, () => ("")));return}try{await C({email:d,slug:t}),l(!0)}catch(m){let g=m instanceof Error?m:new Error(n.loginSendEmailError);S(g.message),_optionalChain([a, 'optionalCall', _146 => _146(g)])}},R=async P=>{if(x(P),S(null),P.length===6)try{let m=await C({email:void 0,code:P,slug:t});m.ok&&m.accessToken?_optionalChain([e, 'optionalCall', _147 => _147(m.userId,m.accessToken)]):(S(_nullishCoalesce(n.loginVerificationFailedError, () => (""))),_optionalChain([a, 'optionalCall', _148 => _148(new Error(n.loginVerificationFailedError))]))}catch(m){let g=m instanceof Error?m:new Error(n.loginVerifyCodeError);if(g.message.includes("Invalid code")){S(_nullishCoalesce(n.loginInvalidCodeError, () => (g.message))),x("");return}S(g.message),_optionalChain([a, 'optionalCall', _149 => _149(g)]),x("")}},I=async()=>{if(x(""),S(null),!d||!t){S(_nullishCoalesce(n.loginSlugRequiredError, () => ("")));return}try{await C({email:d,slug:t})}catch(P){let m=P instanceof Error?P:new Error(n.loginResendEmailError);S(m.message),_optionalChain([a, 'optionalCall', _150 => _150(m)])}},T=()=>{l(!1),x(""),S(null)};return _jsxruntime.jsx.call(void 0, Xa,{open:c,onOpenChange:s,children:_jsxruntime.jsx.call(void 0, Za,{className:"sm:max-w-[425px] min-h-[250px]",children:_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col min-h-[250px] h-full",children:[_jsxruntime.jsxs.call(void 0, "div",{ref:u,className:"flex items-start gap-2 mb-2",children:[b&&_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{variant:"ghost",size:"icon-sm",onClick:()=>{l(!1)},children:_jsxruntime.jsx.call(void 0, _lucidereact.ArrowLeft,{className:"h-5 w-5"})}),_jsxruntime.jsx.call(void 0, "div",{children:_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.d,{children:b?_nullishCoalesce(n.loginCodeLabel, () => ("")):_nullishCoalesce(n.loginTitle, () => (""))})})]}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.e,{className:"mb-4",children:b?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_nullishCoalesce(n.loginCodeSentMessage, () => (""))," ",d]}):_nullishCoalesce(n.loginDescription, () => (""))}),_jsxruntime.jsx.call(void 0, "div",{className:"flex-1 flex flex-col",children:b?_jsxruntime.jsxs.call(void 0, "form",{onSubmit:P=>P.preventDefault(),className:"flex flex-col flex-1",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"space-y-2",children:[_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.a,{children:_nullishCoalesce(n.loginCodeLabel, () => (""))}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.g,{maxLength:6,value:k,onChange:R,disabled:N,children:_jsxruntime.jsxs.call(void 0, _chunk4BW6J7FPjs.h,{children:[_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.i,{index:0}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.i,{index:1}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.i,{index:2}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.i,{index:3}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.i,{index:4}),_jsxruntime.jsx.call(void 0, _chunk4BW6J7FPjs.i,{index:5})]})}),N&&_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{})]}),i&&_jsxruntime.jsx.call(void 0, "div",{className:"text-sm text-destructive mt-2 mb-1",role:"alert",children:i}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start gap-2 pt-2",children:[d.length>0&&_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{variant:"link",size:"sm",onClick:I,disabled:N,className:"flex-1 ml-0 pl-0",children:_nullishCoalesce(n.loginResendCodeButton, () => (""))}),_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{variant:"link",size:"sm",onClick:T,disabled:N,className:"flex-1 ml-0 pl-0",children:_nullishCoalesce(n.loginChangeEmailButton, () => (""))})]})]}):_jsxruntime.jsxs.call(void 0, "form",{onSubmit:f,className:"flex flex-col flex-1",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"space-y-2",children:[_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.a,{htmlFor:"email",children:_nullishCoalesce(n.loginEmailLabel, () => (""))}),_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.r,{id:"email",type:"email",placeholder:_nullishCoalesce(n.loginEmailPlaceholder, () => ("")),value:d,onChange:P=>w(P.target.value),required:!0,disabled:N,"aria-invalid":i?"true":"false"})]}),i&&_jsxruntime.jsx.call(void 0, "div",{className:"text-sm text-destructive mt-2 mb-1",role:"alert",children:i}),_jsxruntime.jsx.call(void 0, "div",{className:"grow"}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-start gap-0 pt-2",children:[_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{type:"submit",size:"sm",disabled:N,children:N?_nullishCoalesce(n.loginSendingButton, () => ("")):_nullishCoalesce(n.loginSendCodeButton, () => (""))}),_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{type:"button",variant:"link",className:"ml-0 pl-0",size:"sm",onClick:()=>{l(!0)},children:_nullishCoalesce(n.loginIHaveCode, () => (""))})]})]})})]})})})}function _n(t,e){switch(e.type){case"SET_IS_LOGGED_IN":return{...t,isLoggedIn:e.value};case"SET_USER_ID":return{...t,userID:e.value};case"SET_LOADING":return{...t,isLoading:e.value};case"SET_PUBLIC_GROUPS":return{...t,groupsProvided:e.value,groups:e.value!=null&&e.value.length>0?t.groups.filter(a=>_optionalChain([e, 'access', _151 => _151.value, 'optionalAccess', _152 => _152.find, 'call', _153 => _153(o=>o.id===a.id)])!=null):t.groups};case"SET_GROUPS":{let a=t.isLoggedIn==!1||t.groupsProvided!=null,o=e.value.map(c=>t.isLoggedIn==!0?c:{...c,isOn:_nullishCoalesce(_optionalChain([t, 'access', _154 => _154.groupsProvided, 'optionalAccess', _155 => _155.find, 'call', _156 => _156(s=>s.id===c.id), 'optionalAccess', _157 => _157.isOn]), () => (a))});return{...t,groups:o}}case"TOGGLE_GROUP":{let a=t.groups.map(o=>o.id===e.groupID?{...o,isOn:!o.isOn}:o);return{...t,wasChanged:!0,groups:a}}case"CHECK_ALL_GROUPS":{let a=t.groups.map(o=>({...o,isOn:!0}));return{...t,groups:a,wasChanged:!0}}case"SET_WAS_CHANGED":return{...t,wasChanged:e.value};case"SET_IS_USER_GROUPS_UPDATED":return{...t,isUserGroupsUpdated:e.value};case"RESET_UPDATE_STATE":return{...t,wasChanged:!1,isUserGroupsUpdated:!0};case"SHOW_SETTINGS":return{...t,showSettings:!0};case"HIDE_SETTINGS":return{...t,showSettings:!1};default:return t}}function Ln({slug:t,userID:e,productID:a,projectID:o,analytics:c,projectName:s,projectLogo:n,projectLogoDark:y,groups:u,isManaging:d=!1,texts:w,showQRCode:k=!1,showPhoneInput:x=!1,hiddenGroupIds:b=[],className:l}){let[i]=_react3.useAutoAnimate.call(void 0, ),S=_chunkDF2IK2GNjs.n.call(void 0, _nullishCoalesce(o, () => (Ht())),c),C=_nullishCoalesce(_nullishCoalesce(t, () => (_chunk4BW6J7FPjs.K.call(void 0, ))), () => ((typeof window<"u"?window.location.hostname:""))),{mutateAsync:N,isPending:f}=_chunk6IACFTJRjs.l.call(void 0, _chunk6IACFTJRjs.j.notifications.updateUserGroups),{data:R,refetch:I}=_reactquery.useQuery.call(void 0, {queryKey:["notifications_accessToken"],queryFn:()=>{if(typeof window<"u")return{accessToken:_nullishCoalesce(localStorage.getItem("notifications_accessToken"), () => (void 0)),userID:_nullishCoalesce(localStorage.getItem("notifications_userID"), () => (void 0))}}}),{data:T,isPending:P,refetch:m}=_chunk6IACFTJRjs.k.call(void 0, _chunk6IACFTJRjs.j.notifications.getUserGroups,{slug:C,accessToken:_optionalChain([R, 'optionalAccess', _158 => _158.accessToken])}),[g,z]=_react.useReducer.call(void 0, _n,{isLoading:P,isUserGroupsUpdated:!1,wasChanged:!1,groupsProvided:u,groups:[],showSettings:R!=null&&d==!0,isLoggedIn:R!=null,userID:void 0});_react.useEffect.call(void 0, ()=>{z({type:"SET_LOADING",value:f||P})},[f,P]),_react.useEffect.call(void 0, ()=>{z({type:"SET_IS_LOGGED_IN",value:_optionalChain([R, 'optionalAccess', _159 => _159.accessToken])!=null}),z({type:"SET_USER_ID",value:_optionalChain([R, 'optionalAccess', _160 => _160.userID])}),_optionalChain([R, 'optionalAccess', _161 => _161.accessToken])!=null&&d==!0&&z({type:"SHOW_SETTINGS"})},[R,d]),_react.useEffect.call(void 0, ()=>{if(T==null)return;let H=T.groups.map(W=>{let at="rarely";switch(W.howOften){case 0:at="rarely";break;case 1:at="often";break;case 2:at="veryOften";break}return{id:W.id,name:W.name,description:W.description,howOften:at,isOn:_nullishCoalesce(W.isOn, () => (void 0))}});z({type:"SET_GROUPS",value:H})},[T,P,u]);let E=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{let H=_optionalChain([u, 'optionalAccess', _162 => _162.map, 'call', _163 => _163(W=>(W.id.startsWith("group_")||(W.id=`group_${W.id}`),W))]);z({type:"SET_PUBLIC_GROUPS",value:H})},[u]);let O={...D,...w};async function p(){await N({accessToken:_optionalChain([R, 'optionalAccess', _164 => _164.accessToken]),slug:C,userId:e,groupIds:g.groups.filter(H=>H.isOn===!0).map(H=>H.id)}),z({type:"RESET_UPDATE_STATE"}),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{z({type:"SET_IS_USER_GROUPS_UPDATED",value:!1})},2e3)}function v(H){z({type:"TOGGLE_GROUP",groupID:H})}function bt(){z({type:"CHECK_ALL_GROUPS"})}function ne(){z({type:"SHOW_SETTINGS"})}function ye(){z({type:"HIDE_SETTINGS"})}function ie(){localStorage.removeItem("notifications_accessToken"),localStorage.removeItem("notifications_userID"),I(),z({type:"SET_USER_ID",value:void 0}),z({type:"SET_IS_LOGGED_IN",value:!1}),z({type:"HIDE_SETTINGS"})}async function Pt(H,W){typeof window<"u"&&(localStorage.setItem("notifications_accessToken",W),H!=null&&localStorage.setItem("notifications_userID",H)),z({type:"SET_USER_ID",value:H});try{await I(),m().then().catch().finally(()=>{d==!0&&z({type:"SHOW_SETTINGS"})})}catch(at){console.log(`Error: ${at}`)}}_react.useEffect.call(void 0, ()=>()=>{E.current&&clearTimeout(E.current)},[]);let lt=d==!0&&g.userID!=null&&_optionalChain([R, 'optionalAccess', _165 => _165.accessToken])!=null;return _jsxruntime.jsxs.call(void 0, "main",{className:_chunkERL4Z7M7js.d.call(void 0, "bitsnap-react relative",_optionalChain([l, 'optionalAccess', _166 => _166.container])),children:[O.title!=null&&_jsxruntime.jsx.call(void 0, "h1",{className:"text-2xl font-semibold text-black md:text-3xl lg:text-4xl xl:text-5xl dark:text-neutral-100",children:O.title}),!g.showSettings&&d&&_jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.q,{onClick:ne,variant:"outline",size:"icon",className:"absolute bottom-6 right-6 z-50 h-12 w-12 rounded-full shadow-lg hover:shadow-xl md:bottom-8 md:right-8","aria-label":"Settings",children:_jsxruntime.jsx.call(void 0, _lucidereact.Settings,{className:"h-5 w-5"})}),_jsxruntime.jsx.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, "md:pt8 relative z-0 mt-6 overflow-hidden rounded-2xl bg-white px-3 pt-6 pb-3 md:px-5 md:pb-5 dark:bg-neutral-800",_optionalChain([l, 'optionalAccess', _167 => _167.header])),children:g.showSettings?_jsxruntime.jsx.call(void 0, "div",{className:"space-y-6",children:g.isLoggedIn&&_jsxruntime.jsxs.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, "grid grid-cols-1 gap-3 lg:gap-6",lt?"md:grid-cols-2":""),children:[_jsxruntime.jsxs.call(void 0, "div",{className:_optionalChain([l, 'optionalAccess', _168 => _168.groupsContainer]),children:[_jsxruntime.jsx.call(void 0, Ua,{projectName:s,projectLogo:n,projectLogoDark:y,description:O.managingDescription,className:l,onLogout:ie}),P&&_jsxruntime.jsx.call(void 0, "div",{className:"flex justify-center items-center py-8",children:_jsxruntime.jsx.call(void 0, _chunkMLSKHOA3js.b,{})}),_jsxruntime.jsx.call(void 0, ve,{groups:g.groups,hiddenGroupIds:b,isManaging:d,onToggle:v,onCheckAll:bt,onUpdate:p,isUpdating:f,wasChanged:g.wasChanged,isUserGroupsUpdated:g.isUserGroupsUpdated,className:l,texts:O})]}),lt&&_jsxruntime.jsx.call(void 0, $a,{accessToken:_nullishCoalesce(R.accessToken, () => ("")),slug:C,userID:_nullishCoalesce(g.userID, () => ("")),className:l,texts:O}),k!=!1&&_jsxruntime.jsx.call(void 0, qa,{showQRCode:k,isManaging:!0,className:l,texts:O})]})}):_jsxruntime.jsx.call(void 0, "div",{className:_chunkERL4Z7M7js.d.call(void 0, "grid grid-cols-1 gap-3 lg:gap-6"),children:_jsxruntime.jsx.call(void 0, Va,{slug:C,onToggle:H=>{z({type:"TOGGLE_GROUP",groupID:H})},onCheckAll:()=>{z({type:"CHECK_ALL_GROUPS"})},onSuccess:(H,W,at)=>{S.track("availability_signup",{},{product_id:_nullishCoalesce(a, () => (null))}),at!=null&&Pt(W,at),H&&z({type:"SHOW_SETTINGS"})},groups:g.groups,showPhoneInput:x,agreementText:O.agreementText,className:l,texts:O,wasChanged:g.wasChanged,isUpdating:f})})}),_jsxruntime.jsx.call(void 0, Ja,{isOpen:g.showSettings&&!g.isLoggedIn,slug:C,onSuccess:Pt,texts:O,onClose:ye})]})}function Un({slug:t,userID:e,productID:a,projectID:o,analytics:c,projectName:s,projectLogo:n,projectLogoDark:y,groups:u,isManaging:d,texts:w,showQRCode:k,showPhoneInput:x,hiddenGroupIds:b,className:l}){return _jsxruntime.jsx.call(void 0, _chunk6IACFTJRjs.o,{children:_jsxruntime.jsx.call(void 0, Ln,{slug:t,userID:e,productID:a,projectID:o,analytics:c,projectName:s,projectLogo:n,projectLogoDark:y,groups:u,isManaging:d,texts:w,showQRCode:k,showPhoneInput:x,hiddenGroupIds:b,className:l})})}var Bn=Un;exports.ApplePayButton = ze; exports.Bitsnap = _chunk4BW6J7FPjs.y; exports.BitsnapCheckout = Ko; exports.BitsnapReturns = _chunkICFYSZTVjs.a; exports.BitsnapReturnsProvider = _chunkMLSKHOA3js.l; exports.CHECKOUT_SLOT_NAMES = ao; exports.Environment = _chunk6IACFTJRjs.h; exports.GooglePayButton = Le; exports.ITEM_IDS_NOT_FOUND = _chunk4BW6J7FPjs.v; exports.NotificationsComponent = Bn; exports.PRODUCT_LIST_SLOT_NAMES = _chunkXTIY6PXHjs.a; exports.Panel = _chunk4BW6J7FPjs.q; exports.PanelLogin = _chunk4BW6J7FPjs.n; exports.PanelProvider = _chunkDGUIG334js.i; exports.ProductList = _chunkXTIY6PXHjs.d; exports.PublicOrderPage = _chunk4BW6J7FPjs.p; exports.RETURNS_SLOT_NAMES = _chunkMLSKHOA3js.c; exports.ReturnsAppearanceProvider = _chunkMLSKHOA3js.d; exports.ReturnsCodeStep = _chunkMLSKHOA3js.u; exports.ReturnsConfirmation = _chunkMLSKHOA3js.x; exports.ReturnsEmailStep = _chunkMLSKHOA3js.t; exports.ReturnsMyReturnDetail = _chunkMLSKHOA3js.A; exports.ReturnsMyReturnsList = _chunkMLSKHOA3js.z; exports.ReturnsOrderDetail = _chunkMLSKHOA3js.w; exports.ReturnsOrderList = _chunkMLSKHOA3js.v; exports.ReturnsProvider = _chunkMLSKHOA3js.k; exports.ReturnsResult = _chunkMLSKHOA3js.y; exports.buildAccessTokenRedirect = _chunk4BW6J7FPjs.m; exports.createCheckout = _chunk4BW6J7FPjs.A; exports.createPaymentURL = _chunk4BW6J7FPjs.z; exports.formatProductPrice = _chunkXTIY6PXHjs.b; exports.getAllowedReturnOrigins = _chunkDGUIG334js.h; exports.getLocale = _chunkERL4Z7M7js.m; exports.getPanelConfig = _chunkDGUIG334js.b; exports.getReferenceIfPossible = _chunk4BW6J7FPjs.B; exports.getReturnURLFromSearch = _chunk4BW6J7FPjs.j; exports.injectReferenceToRequestIfNeeded = _chunk4BW6J7FPjs.C; exports.persistReturnURL = _chunk4BW6J7FPjs.k; exports.readPersistedReturnURL = _chunk4BW6J7FPjs.l; exports.setAllowedReturnOrigins = _chunkDGUIG334js.g; exports.setCustomHost = _chunkERL4Z7M7js.g; exports.setHost = _chunkDGUIG334js.f; exports.setLocale = _chunkERL4Z7M7js.l; exports.setLoginURL = _chunkDGUIG334js.e; exports.setPanelConfig = _chunkDGUIG334js.a; exports.setPanelProjectID = _chunkDGUIG334js.c; exports.setProjectID = _chunk4BW6J7FPjs.J; exports.setTheme = _chunkDGUIG334js.d; exports.useCreateReturn = _chunkMLSKHOA3js.p; exports.useMyReturn = _chunkMLSKHOA3js.r; exports.useMyReturns = _chunkMLSKHOA3js.q; exports.usePanelConfig = _chunkDGUIG334js.j; exports.useProducts = _chunkXTIY6PXHjs.c; exports.useReturnOrders = _chunkMLSKHOA3js.n; exports.useReturnSession = _chunkMLSKHOA3js.m; exports.useReturnableOrder = _chunkMLSKHOA3js.o; exports.useReturnsAppearance = _chunkMLSKHOA3js.e; exports.useReturnsSlot = _chunkMLSKHOA3js.f; exports.useReturnsText = _chunkMLSKHOA3js.i;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/emems/web/bitsnap/bitsnap/bitsnap-react/dist/index.js","../src/components/checkout/ApplePay.tsx","../src/components/checkout/project-id.ts"],"names":["currentProjectID","getProjectID","ApplePayButton","ApplePayButtonModule","ApplePayButtonComponent","style","buttonType","colorType","items","onClick","checkIfApplePayIsAvailable","getApplePayPaymentRequest","completeApplePayPayment","setCountry","setCouponCodeIfPossible","setDeliveryMethod","setEmail","setPostalCode","clearCart","useCartProvider","instrument","useInstrumentContext","isApplePayAvailable","useQuery","expectedItems","el","beginSession","reported","report","outcome","sendAnalyticEvent","requiresShipping","session"],"mappings":"AAAA,ylCAA+S,sDAAyC,sDAAwN,sDAAiE,sDAAiD,sDAAiH,sDAAwG,sDAAgF,sDAAiE,+BAA4B,+BAA4B,kHCAniC,SCGjBA,EAAAA,CAAAA,CAAuC,CACrD,GAAI,CACF,OAAOC,gCAAAA,CACT,CAAA,UAAQ,CACN,MACF,CACF,CDFA,mDAAyB,+CAqUrB,IA1TEC,EAAAA,kBACHC,wBAAAA,CACE,OAAA,SAAWA,0BAAAA,CAiDhB,SAASC,EAAAA,CAAwB,CAC/B,KAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CACF,CAAA,CAAU,CACR,GAAM,CACJ,0BAAA,CAAAC,CAAAA,CACA,yBAAA,CAAAC,CAAAA,CACA,uBAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,uBAAA,CAAAC,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CACF,CAAA,CAAIC,gCAAAA,CAAgB,CACdC,CAAAA,CAAaC,gCAAAA,CAAqB,CAClC,CAAE,IAAA,CAAMC,CAAoB,CAAA,CAAIC,kCAAAA,CACpC,QAAA,CAAU,CAAC,wBAAwB,CAAA,CACnC,OAAA,CAASb,CACX,CAAC,CAAA,CACD,EAAA,CAAIY,CAAAA,EAAuB,CAAA,CAAA,CACzB,OAAO,IAAA,CAGT,IAAME,CAAAA,CAAgBhB,CAAAA,CAAM,GAAA,CAAKiB,CAAAA,EAAAA,CAAQ,CACvC,SAAA,CAAWA,CAAAA,CAAG,EAAA,CACd,QAAA,CAAUA,CAAAA,CAAG,QAAA,CACb,QAAA,CAAUA,CAAAA,CAAG,QACf,CAAA,CAAE,CAAA,CAEF,MAAA,SAAeC,CAAAA,CAAAA,CAAe,CAC5B,IAAIC,CAAAA,CAAW,CAAA,CAAA,CACTC,CAAAA,CAAUC,CAAAA,EAA2C,CACrDF,CAAAA,EAAAA,CAGJA,CAAAA,CAAW,CAAA,CAAA,CACXP,CAAAA,CAAW,KAAA,CAAM,kBAAA,CAAoB,CAAE,OAAA,CAAAS,CAAQ,CAAC,CAAA,CAClD,CAAA,CACAT,CAAAA,CAAW,KAAA,CAAM,mBAAA,CAAqB,CAAC,CAAC,CAAA,CACxCA,CAAAA,CAAW,KAAA,CAAM,yBAAA,CAA2B,CAC1C,OAAA,CAAS,WAAA,CACT,MAAA,CAAQ,WACV,CAAC,CAAA,CACDU,gCAAAA,CACE,KAAA,CAAO,kBAAA,CACP,KAAA,CAAOtB,CAAAA,CAAM,GAAA,CAAKiB,CAAAA,EAAAA,CAAQ,CACxB,EAAA,CAAIA,CAAAA,CAAG,EAAA,CACP,IAAA,CAAMA,CAAAA,CAAG,IAAA,CACT,KAAA,CAAOA,CAAAA,CAAG,KAAA,CACV,QAAA,CAAUA,CAAAA,CAAG,QAAA,CACb,QAAA,CAAU,KACZ,CAAA,CAAE,CACJ,CAAC,CAAA,CACD,IAAMM,CAAAA,CACJvB,CAAAA,CAAM,IAAA,CAAMiB,CAAAA,EAAOA,CAAAA,CAAG,aAAA,GAAkB,CAAA,CAAI,CAAA,EAAK,IAAA,CAC7CO,CAAAA,CAAU,IAAI,eAAA,CAAgB,EAAA,CAAI,CACtC,WAAA,CAAa,IAAA,CACb,oBAAA,CAAsB,CAAC,aAAa,CAAA,CACpC,iBAAA,CAAmB,CAAC,MAAA,CAAQ,YAAY,CAAA,CACxC,YAAA,CAAc,KAAA,CACd,KAAA,CAAO,CACL,MAAA,CAAQ,CAAA,EAAA","file":"/home/emems/web/bitsnap/bitsnap/bitsnap-react/dist/index.js","sourcesContent":[null,"import ApplePayButtonModule from \"apple-pay-button\";\nimport { PublicApiClient } from \"src/public.api.client\";\nimport CartProvider, { getProjectID, useCartProvider } from \"./CartProvider\";\nimport { HOST } from \"./constants\";\nimport { isErr } from \"./lib/err\";\nimport { currentProjectID } from \"./project-id\";\nimport { round } from \"./lib/round.number\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { sendAnalyticEvent } from \"./frontent.analytics\";\nimport {\n InstrumentProvider,\n useInstrument,\n useInstrumentContext,\n type AnalyticsOption,\n} from \"@/src/analytics/instrument\";\n\n// A CommonJS package with a `default` export: bundlers unwrap it, Node's own\n// ESM loader (server rendering of the unbundled library) does not.\nconst ApplePayButton: typeof ApplePayButtonModule =\n (ApplePayButtonModule as unknown as { default?: typeof ApplePayButtonModule })\n .default ?? ApplePayButtonModule;\n\ntype AppleButtonType =\n | \"plain\"\n | \"add-money\"\n | \"book\"\n | \"buy\"\n | \"check-out\"\n | \"continue\"\n | \"contribute\"\n | \"donate\"\n | \"order\"\n | \"pay\"\n | \"reload\"\n | \"rent\"\n | \"set-up\"\n | \"subscribe\"\n | \"support\"\n | \"tip\"\n | \"top-up\";\ntype ColorType = \"black\" | \"white\" | \"white-outline\";\n\nexport type Props = {\n style?: {\n width?: string;\n height?: string;\n borderRadius?: string;\n padding?: string;\n boxSizing?: string;\n };\n buttonType?: AppleButtonType;\n colorType?: ColorType;\n items: {\n name: string;\n id: string;\n price: number;\n quantity: number;\n isDeliverable?: boolean;\n metadata?: { [key: string]: string | undefined };\n }[];\n onClick?: () => Promise<void>;\n /**\n * Usage statistics for your Bitsnap dashboard (Apple Pay clicks and\n * results). On by default; `false` turns it off. Inside `<BitsnapCheckout>`\n * the checkout's setting applies unless this is given.\n */\n analytics?: AnalyticsOption;\n};\n\nfunction ApplePayButtonComponent({\n style,\n buttonType,\n colorType,\n items,\n onClick,\n}: Props) {\n const {\n checkIfApplePayIsAvailable,\n getApplePayPaymentRequest,\n completeApplePayPayment,\n setCountry,\n setCouponCodeIfPossible,\n setDeliveryMethod,\n setEmail,\n setPostalCode,\n clearCart,\n } = useCartProvider();\n const instrument = useInstrumentContext();\n const { data: isApplePayAvailable } = useQuery({\n queryKey: [\"is-apple-pay-available\"],\n queryFn: checkIfApplePayIsAvailable,\n });\n if (isApplePayAvailable != true) {\n return null;\n }\n\n const expectedItems = items.map((el) => ({\n productID: el.id,\n quantity: el.quantity,\n metadata: el.metadata,\n }));\n\n async function beginSession() {\n let reported = false;\n const report = (outcome: \"success\" | \"fail\" | \"cancel\") => {\n if (reported) {\n return;\n }\n reported = true;\n instrument.track(\"apple_pay_result\", { outcome });\n };\n instrument.track(\"apple_pay_clicked\", {});\n instrument.track(\"payment_method_selected\", {\n gateway: \"apple_pay\",\n method: \"apple_pay\",\n });\n sendAnalyticEvent({\n event: \"initiateCheckout\",\n items: items.map((el) => ({\n id: el.id,\n name: el.name,\n price: el.price,\n quantity: el.quantity,\n currency: \"PLN\",\n })),\n });\n const requiresShipping =\n items.find((el) => el.isDeliverable === true) != null;\n const session = new ApplePaySession(14, {\n countryCode: \"PL\",\n merchantCapabilities: [\"supports3DS\"],\n supportedNetworks: [\"visa\", \"masterCard\"],\n currencyCode: \"PLN\",\n total: {\n amount: `${round(\n items.reduce((acc, item) => acc + item.price * item.quantity, 0) /\n 100,\n 2\n )}`,\n label: \"Płatność za koszyk\",\n type: \"pending\",\n },\n lineItems: [\n ...items.map(\n (item) =>\n ({\n amount: `${round((item.price * item.quantity) / 100, 2)}`,\n label: item.name,\n type: \"final\",\n } as ApplePayJS.ApplePayLineItem)\n ),\n requiresShipping\n ? ({\n amount: `16.99`,\n type: \"pending\",\n label: \"Dostawa\",\n } as ApplePayJS.ApplePayLineItem)\n : undefined,\n ].filter((el) => el != null),\n ...(requiresShipping\n ? {\n shippingMethods: [],\n supportsCouponCode: true,\n requiredBillingContactFields: [\n \"name\",\n \"email\",\n \"postalAddress\",\n \"phone\",\n ],\n requiredShippingContactFields: [\n \"name\",\n \"email\",\n \"postalAddress\",\n \"phone\",\n ],\n }\n : {}),\n });\n await onClick?.();\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n if (isErr(apRequest)) {\n console.error(\"Error creating ApplePaySession:\", apRequest.error);\n report(\"fail\");\n return;\n }\n\n session.oncancel = (event) => {\n console.log(\"ApplePaySession cancelled\", event);\n report(\"cancel\");\n };\n\n session.onvalidatemerchant = async (event) => {\n try {\n const result = await PublicApiClient.get(HOST).applePayValidateMerchant(\n {\n validationUrl: event.validationURL,\n projectId: getProjectID(),\n }\n );\n console.log(\"merchantSession\", result.merchantSession);\n if (result.merchantSession.length > 0) {\n console.log(\"completing merchant session\");\n session.completeMerchantValidation(\n JSON.parse(result.merchantSession)\n );\n } else {\n session.abort();\n }\n } catch (error) {\n session.abort;\n }\n };\n\n session.onshippingmethodselected = async (event) => {\n console.log(\"shipping method selected\", event);\n instrument.track(\"delivery_method_selected\", {\n method: event.shippingMethod.identifier,\n });\n await setDeliveryMethod(event.shippingMethod.identifier);\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n console.log(\"apRequest\", apRequest);\n if (isErr(apRequest)) {\n session.abort();\n throw new Error(\"Failed to get Apple Pay payment request\");\n }\n\n session.completeShippingMethodSelection({\n newTotal: apRequest.total,\n newLineItems: apRequest.lineItems,\n newShippingMethods: apRequest.shippingMethods,\n });\n };\n session.onshippingcontactselected = async (event) => {\n try {\n if (event.shippingContact.countryCode != null) {\n await setCountry(event.shippingContact.countryCode);\n }\n if (event.shippingContact.postalCode != null) {\n await setPostalCode(event.shippingContact.postalCode);\n }\n if (event.shippingContact.phoneNumber != null) {\n await setEmail(event.shippingContact.emailAddress);\n }\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n if (isErr(apRequest)) {\n session.abort();\n throw new Error(\"Failed to get Apple Pay payment request\");\n }\n\n console.log(\"apRequest\", apRequest);\n session.completeShippingContactSelection({\n newLineItems: apRequest.lineItems,\n newTotal: apRequest.total,\n newShippingMethods: apRequest.shippingMethods,\n });\n } catch (error) {\n console.log(\"shipping contact selected error\", error);\n session.abort();\n }\n };\n\n session.oncouponcodechanged = async (event) => {\n try {\n console.log(\"coupon code changed\", event);\n const result = await setCouponCodeIfPossible(event.couponCode);\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n console.log(\"apRequest\", apRequest);\n if (isErr(apRequest)) {\n session.abort();\n throw new Error(\"Failed to get Apple Pay payment request\");\n }\n\n session.completeCouponCodeChange({\n errors: isErr(result)\n ? [new ApplePayError(\"couponCodeInvalid\")]\n : undefined,\n newTotal: apRequest.total,\n newLineItems: apRequest.lineItems,\n newShippingMethods: apRequest.shippingMethods,\n });\n } catch (error) {\n console.log(\"coupon code changed error\", error);\n session.abort();\n }\n };\n\n session.onpaymentauthorized = async (event) => {\n instrument.track(\"payment_submitted\", {\n gateway: \"apple_pay\",\n method: \"apple_pay\",\n });\n try {\n const result = await completeApplePayPayment({\n token: event.payment.token,\n billingContact: event.payment.billingContact,\n shippingContact: event.payment.shippingContact,\n });\n if (isErr(result)) {\n console.log(\"apple pay error\", result);\n report(\"fail\");\n session.completePayment({\n status: ApplePaySession.STATUS_FAILURE,\n });\n return;\n }\n\n if (result.redirectURL) {\n setTimeout(() => {\n open(result.redirectURL, \"_self\");\n }, 2000);\n }\n report(result.isSuccess ? \"success\" : \"fail\");\n session.completePayment({\n status: result.isSuccess\n ? ApplePaySession.STATUS_SUCCESS\n : ApplePaySession.STATUS_FAILURE,\n });\n\n result.isSuccess && clearCart();\n } catch (e) {\n report(\"fail\");\n session.completePayment({\n status: ApplePaySession.STATUS_FAILURE,\n });\n }\n // event.complete(ApplePaySession.STATUS_SUCCESS);\n };\n\n session.begin();\n }\n\n return (\n <ApplePayButton\n style={style}\n buttonStyle={colorType}\n type={buttonType}\n onClick={beginSession}\n />\n );\n}\n\nfunction Wrapper(props: Props) {\n const instrument = useInstrument(\n currentProjectID(),\n props.analytics,\n \"cart\",\n );\n return (\n <InstrumentProvider value={instrument}>\n <CartProvider>\n <ApplePayButtonComponent {...props} />\n </CartProvider>\n </InstrumentProvider>\n );\n}\nexport default Wrapper;\n","import { getProjectID } from \"./CartProvider\";\n\n/** The page's project ID; `undefined` (instead of a throw) during server rendering. */\nexport function currentProjectID(): string | undefined {\n try {\n return getProjectID();\n } catch {\n return undefined;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/emems/web/bitsnap/bitsnap/bitsnap-react/dist/index.js","../src/components/checkout/ApplePay.tsx","../src/components/checkout/project-id.ts"],"names":["currentProjectID","getProjectID","ApplePayButton","ApplePayButtonModule","ApplePayButtonComponent","style","buttonType","colorType","items","onClick","checkIfApplePayIsAvailable","getApplePayPaymentRequest","completeApplePayPayment","setCountry","setCouponCodeIfPossible","setDeliveryMethod","setEmail","setPostalCode","clearCart","getApplePayPreview","useCartProvider","instrument","useInstrumentContext","paymentForCartText","useCheckoutText","isApplePayAvailable","useQuery","itemsKey","el"],"mappings":"AAAA,ylCAA8V,sDAAyC,sDAAwN,sDAAiE,sDAAiD,sDAAiH,sDAAwG,sDAAgF,sDAAiE,+BAA4B,+BAA4B,kHCAllC,SCGjBA,EAAAA,CAAAA,CAAuC,CACrD,GAAI,CACF,OAAOC,gCAAAA,CACT,CAAA,UAAQ,CACN,MACF,CACF,CDEA,mDAAyB,+CAmWrB,IAvVEC,EAAAA,kBACHC,wBAAAA,CACE,OAAA,SAAWA,0BAAAA,CAmDhB,SAASC,EAAAA,CAAwB,CAC/B,KAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CACF,CAAA,CAAU,CACR,GAAM,CACJ,0BAAA,CAAAC,CAAAA,CACA,yBAAA,CAAAC,CAAAA,CACA,uBAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,uBAAA,CAAAC,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CACF,CAAA,CAAIC,gCAAAA,CAAgB,CACdC,CAAAA,CAAaC,gCAAAA,CAAqB,CAClCC,CAAAA,CAAqBC,gCAAAA,gBAAgC,CAAA,CACrD,CAAE,IAAA,CAAMC,CAAoB,CAAA,CAAIC,kCAAAA,CACpC,QAAA,CAAU,CAAC,wBAAwB,CAAA,CACnC,OAAA,CAAShB,CACX,CAAC,CAAA,CACKiB,CAAAA,CAAWnB,CAAAA,CAAM,GAAA,CAAKoB,CAAAA,EAAO,CAAA,EAAA","file":"/home/emems/web/bitsnap/bitsnap/bitsnap-react/dist/index.js","sourcesContent":[null,"import ApplePayButtonModule from \"apple-pay-button\";\nimport { PublicApiClient } from \"src/public.api.client\";\nimport CartProvider, {\n getCheckoutSelection,\n getProjectID,\n useCartProvider,\n} from \"./CartProvider\";\nimport { HOST } from \"./constants\";\nimport { isErr } from \"./lib/err\";\nimport { currentProjectID } from \"./project-id\";\nimport { round } from \"./lib/round.number\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { sendAnalyticEvent } from \"./frontent.analytics\";\nimport { useCheckoutText } from \"./texts.context\";\nimport {\n InstrumentProvider,\n useInstrument,\n useInstrumentContext,\n type AnalyticsOption,\n} from \"@/src/analytics/instrument\";\n\n// A CommonJS package with a `default` export: bundlers unwrap it, Node's own\n// ESM loader (server rendering of the unbundled library) does not.\nconst ApplePayButton: typeof ApplePayButtonModule =\n (ApplePayButtonModule as unknown as { default?: typeof ApplePayButtonModule })\n .default ?? ApplePayButtonModule;\n\ntype AppleButtonType =\n | \"plain\"\n | \"add-money\"\n | \"book\"\n | \"buy\"\n | \"check-out\"\n | \"continue\"\n | \"contribute\"\n | \"donate\"\n | \"order\"\n | \"pay\"\n | \"reload\"\n | \"rent\"\n | \"set-up\"\n | \"subscribe\"\n | \"support\"\n | \"tip\"\n | \"top-up\";\ntype ColorType = \"black\" | \"white\" | \"white-outline\";\n\nexport type Props = {\n style?: {\n width?: string;\n height?: string;\n borderRadius?: string;\n padding?: string;\n boxSizing?: string;\n };\n buttonType?: AppleButtonType;\n colorType?: ColorType;\n items: {\n name: string;\n id: string;\n price: number;\n /** Currency of `price` (minor units); defaults to PLN. */\n currency?: string;\n quantity: number;\n isDeliverable?: boolean;\n metadata?: { [key: string]: string | undefined };\n }[];\n onClick?: () => Promise<void>;\n /**\n * Usage statistics for your Bitsnap dashboard (Apple Pay clicks and\n * results). On by default; `false` turns it off. Inside `<BitsnapCheckout>`\n * the checkout's setting applies unless this is given.\n */\n analytics?: AnalyticsOption;\n};\n\nfunction ApplePayButtonComponent({\n style,\n buttonType,\n colorType,\n items,\n onClick,\n}: Props) {\n const {\n checkIfApplePayIsAvailable,\n getApplePayPaymentRequest,\n completeApplePayPayment,\n setCountry,\n setCouponCodeIfPossible,\n setDeliveryMethod,\n setEmail,\n setPostalCode,\n clearCart,\n getApplePayPreview,\n } = useCartProvider();\n const instrument = useInstrumentContext();\n const paymentForCartText = useCheckoutText(\"paymentForCart\");\n const { data: isApplePayAvailable } = useQuery({\n queryKey: [\"is-apple-pay-available\"],\n queryFn: checkIfApplePayIsAvailable,\n });\n const itemsKey = items.map((el) => `${el.id}:${el.quantity}`).join(\",\");\n const selection = getCheckoutSelection();\n const { data: preview } = useQuery({\n queryKey: [\n \"apple-pay-preview\",\n itemsKey,\n selection.country ?? \"\",\n selection.couponCode ?? \"\",\n selection.selectedDeliveryMethod ?? \"\",\n selection.postalCode ?? \"\",\n ],\n queryFn: () =>\n getApplePayPreview({\n items: items.map((el) => ({\n productID: el.id,\n quantity: el.quantity,\n metadata: el.metadata,\n })),\n }),\n enabled: isApplePayAvailable === true,\n });\n if (isApplePayAvailable != true) {\n return null;\n }\n // The backend's answer when it is there; else the cart's own currency and\n // total, with no delivery in it (it is added once the buyer picks a method).\n const loadedPreview =\n preview != null && !isErr(preview)\n ? preview\n : {\n countryCode: selection.country || \"PL\",\n currencyCode: items[0]?.currency ?? \"PLN\",\n totalAmount: `${round(\n items.reduce((acc, item) => acc + item.price * item.quantity, 0) /\n 100,\n 2,\n )}`,\n };\n\n const expectedItems = items.map((el) => ({\n productID: el.id,\n quantity: el.quantity,\n metadata: el.metadata,\n }));\n\n async function beginSession() {\n let reported = false;\n const report = (outcome: \"success\" | \"fail\" | \"cancel\") => {\n if (reported) {\n return;\n }\n reported = true;\n instrument.track(\"apple_pay_result\", { outcome });\n };\n instrument.track(\"apple_pay_clicked\", {});\n instrument.track(\"payment_method_selected\", {\n gateway: \"apple_pay\",\n method: \"apple_pay\",\n });\n sendAnalyticEvent({\n event: \"initiateCheckout\",\n items: items.map((el) => ({\n id: el.id,\n name: el.name,\n price: el.price,\n quantity: el.quantity,\n currency: loadedPreview.currencyCode,\n })),\n });\n const requiresShipping =\n items.find((el) => el.isDeliverable === true) != null;\n // The session has to be created inside the click, so country, currency\n // and total come from the backend's answer that was loaded beforehand.\n const session = new ApplePaySession(14, {\n countryCode: loadedPreview.countryCode,\n merchantCapabilities: [\"supports3DS\"],\n supportedNetworks: [\"visa\", \"masterCard\"],\n currencyCode: loadedPreview.currencyCode,\n total: {\n amount: loadedPreview.totalAmount,\n label: paymentForCartText,\n type: \"pending\",\n },\n // Delivery is added once the buyer picks a contact and a method.\n lineItems: items.map(\n (item) =>\n ({\n amount: `${round((item.price * item.quantity) / 100, 2)}`,\n label: item.name,\n type: \"final\",\n } as ApplePayJS.ApplePayLineItem)\n ),\n ...(requiresShipping\n ? {\n shippingMethods: [],\n supportsCouponCode: true,\n requiredBillingContactFields: [\n \"name\",\n \"email\",\n \"postalAddress\",\n \"phone\",\n ],\n requiredShippingContactFields: [\n \"name\",\n \"email\",\n \"postalAddress\",\n \"phone\",\n ],\n }\n : {}),\n });\n await onClick?.();\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n if (isErr(apRequest)) {\n console.error(\"Error creating ApplePaySession:\", apRequest.error);\n report(\"fail\");\n return;\n }\n\n session.oncancel = (event) => {\n console.log(\"ApplePaySession cancelled\", event);\n report(\"cancel\");\n };\n\n session.onvalidatemerchant = async (event) => {\n try {\n const result = await PublicApiClient.get(HOST).applePayValidateMerchant(\n {\n validationUrl: event.validationURL,\n projectId: getProjectID(),\n }\n );\n console.log(\"merchantSession\", result.merchantSession);\n if (result.merchantSession.length > 0) {\n console.log(\"completing merchant session\");\n session.completeMerchantValidation(\n JSON.parse(result.merchantSession)\n );\n } else {\n session.abort();\n }\n } catch (error) {\n session.abort();\n }\n };\n\n session.onshippingmethodselected = async (event) => {\n console.log(\"shipping method selected\", event);\n instrument.track(\"delivery_method_selected\", {\n method: event.shippingMethod.identifier,\n });\n await setDeliveryMethod(event.shippingMethod.identifier);\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n console.log(\"apRequest\", apRequest);\n if (isErr(apRequest)) {\n session.abort();\n throw new Error(\"Failed to get Apple Pay payment request\");\n }\n\n session.completeShippingMethodSelection({\n newTotal: apRequest.total,\n newLineItems: apRequest.lineItems,\n newShippingMethods: apRequest.shippingMethods,\n });\n };\n session.onshippingcontactselected = async (event) => {\n try {\n if (event.shippingContact.countryCode != null) {\n await setCountry(event.shippingContact.countryCode);\n }\n if (event.shippingContact.postalCode != null) {\n await setPostalCode(event.shippingContact.postalCode);\n }\n if (event.shippingContact.phoneNumber != null) {\n await setEmail(event.shippingContact.emailAddress);\n }\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n if (isErr(apRequest)) {\n session.abort();\n throw new Error(\"Failed to get Apple Pay payment request\");\n }\n\n console.log(\"apRequest\", apRequest);\n session.completeShippingContactSelection({\n newLineItems: apRequest.lineItems,\n newTotal: apRequest.total,\n newShippingMethods: apRequest.shippingMethods,\n });\n } catch (error) {\n console.log(\"shipping contact selected error\", error);\n session.abort();\n }\n };\n\n session.oncouponcodechanged = async (event) => {\n try {\n console.log(\"coupon code changed\", event);\n const result = await setCouponCodeIfPossible(event.couponCode);\n const apRequest = await getApplePayPaymentRequest({ expectedItems });\n console.log(\"apRequest\", apRequest);\n if (isErr(apRequest)) {\n session.abort();\n throw new Error(\"Failed to get Apple Pay payment request\");\n }\n\n session.completeCouponCodeChange({\n errors: isErr(result)\n ? [new ApplePayError(\"couponCodeInvalid\")]\n : undefined,\n newTotal: apRequest.total,\n newLineItems: apRequest.lineItems,\n newShippingMethods: apRequest.shippingMethods,\n });\n } catch (error) {\n console.log(\"coupon code changed error\", error);\n session.abort();\n }\n };\n\n session.onpaymentauthorized = async (event) => {\n instrument.track(\"payment_submitted\", {\n gateway: \"apple_pay\",\n method: \"apple_pay\",\n });\n try {\n const result = await completeApplePayPayment({\n token: event.payment.token,\n billingContact: event.payment.billingContact,\n shippingContact: event.payment.shippingContact,\n });\n if (isErr(result)) {\n console.log(\"apple pay error\", result);\n report(\"fail\");\n session.completePayment({\n status: ApplePaySession.STATUS_FAILURE,\n });\n return;\n }\n\n if (result.redirectURL) {\n setTimeout(() => {\n open(result.redirectURL, \"_self\");\n }, 2000);\n }\n report(result.isSuccess ? \"success\" : \"fail\");\n session.completePayment({\n status: result.isSuccess\n ? ApplePaySession.STATUS_SUCCESS\n : ApplePaySession.STATUS_FAILURE,\n });\n\n result.isSuccess && clearCart();\n } catch (e) {\n report(\"fail\");\n session.completePayment({\n status: ApplePaySession.STATUS_FAILURE,\n });\n }\n // event.complete(ApplePaySession.STATUS_SUCCESS);\n };\n\n session.begin();\n }\n\n return (\n <ApplePayButton\n style={style}\n buttonStyle={colorType}\n type={buttonType}\n onClick={beginSession}\n />\n );\n}\n\nfunction Wrapper(props: Props) {\n const instrument = useInstrument(\n currentProjectID(),\n props.analytics,\n \"cart\",\n );\n return (\n <InstrumentProvider value={instrument}>\n <CartProvider>\n <ApplePayButtonComponent {...props} />\n </CartProvider>\n </InstrumentProvider>\n );\n}\nexport default Wrapper;\n","import { getProjectID } from \"./CartProvider\";\n\n/** The page's project ID; `undefined` (instead of a throw) during server rendering. */\nexport function currentProjectID(): string | undefined {\n try {\n return getProjectID();\n } catch {\n return undefined;\n }\n}\n"]}
|