{"version":3,"file":"ViewCartButton.DcKrRDlc.mjs","names":["normalizeProductId","normalizeFormat","normalizeCart","getCart","CART_KEY","React.useState","React.useCallback","_Fragment","React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/yy295CG5MVmWwx2iQudw/6y9XnyuD25GT6jkk5xJB/CartPanel.js","https:/framerusercontent.com/modules/vIB8hcrcTqUmwsuzPqPa/QIu3XdEnCFt3Ai5D6HiP/ViewCartButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";const CART_KEY=\"nsm_cart\";const DEFAULT_INFO_ENDPOINT=\"https://get-release-info-1052906058766.us-central1.run.app\";// ====================================================\n// NORMALIZATION\n// ====================================================\nfunction normalizeProductId(value){return String(value||\"\").trim().toUpperCase();}function normalizeFormat(value){return String(value||\"\").trim().toLowerCase()===\"wav\"?\"wav\":\"mp3\";}// ====================================================\n// CART STORAGE\n//\n// Supports:\n//\n// Legacy:\n// [\"FD037\", \"SBR083\"]\n//\n// New:\n// [\n//   { productId: \"FD037\", format: \"mp3\" },\n//   { productId: \"SBR083\", format: \"wav\" }\n// ]\n//\n// Legacy items automatically become MP3.\n// ====================================================\nfunction normalizeCart(raw){if(!Array.isArray(raw)){return[];}const result=[];const seen=new Set;for(const rawItem of raw){let productId=\"\";let format=\"mp3\";if(typeof rawItem===\"string\"){productId=normalizeProductId(rawItem);format=\"mp3\";}else if(rawItem&&typeof rawItem===\"object\"){const candidate=rawItem;productId=normalizeProductId(candidate.productId);format=normalizeFormat(candidate.format);}if(!productId){continue;}// One release only once in cart.\nif(seen.has(productId)){continue;}seen.add(productId);result.push({productId,format});}return result;}function getCart(){if(typeof window===\"undefined\"){return[];}try{const raw=window.localStorage.getItem(CART_KEY);if(!raw){return[];}return normalizeCart(JSON.parse(raw));}catch{return[];}}function saveCart(cart){if(typeof window===\"undefined\"){return;}const normalized=normalizeCart(cart);window.localStorage.setItem(CART_KEY,JSON.stringify(normalized));window.dispatchEvent(new CustomEvent(\"nsm-cart-updated\",{detail:{cart:normalized,count:normalized.length,productIds:normalized.map(item=>item.productId)}}));}// ====================================================\n// DATA HELPERS\n// ====================================================\nfunction firstText(values){for(const value of values){if(typeof value===\"string\"&&value.trim()){return value.trim();}if(typeof value===\"number\"&&Number.isFinite(value)){return String(value);}}return\"\";}function parsePrice(value){if(typeof value===\"number\"&&Number.isFinite(value)){return value;}if(typeof value!==\"string\"){return null;}const cleaned=value.replace(/[^0-9.-]/g,\"\");const parsed=Number(cleaned);if(!Number.isFinite(parsed)){return null;}return parsed;}function formatMoney(value,currency=\"USD\"){try{return new Intl.NumberFormat(\"en-US\",{style:\"currency\",currency:currency||\"USD\"}).format(value);}catch{return`$${value.toFixed(2)}`;}}// ====================================================\n// FORMAT NORMALIZATION\n// ====================================================\nfunction normalizeFormatOption({format,raw,currency,fallbackPrice,fallbackStripePriceId}){const label=format===\"wav\"?\"WAV\":\"MP3\";const rawPrice=raw?.price??raw?.directPrice??raw?.direct_price??fallbackPrice??null;const formattedPrice=firstText([raw?.priceFormatted,raw?.price_formatted,raw?.priceDisplay,raw?.price_display]);const cents=raw?.priceCents??raw?.price_cents??null;let priceValue=null;if(cents!==null&&cents!==undefined){const parsedCents=parsePrice(cents);if(parsedCents!==null){priceValue=parsedCents/100;}}if(priceValue===null){priceValue=parsePrice(formattedPrice||rawPrice);}const priceDisplay=formattedPrice||(priceValue!==null?formatMoney(priceValue,currency):\"—\");const stripePriceId=firstText([raw?.stripePriceId,raw?.stripe_price_id,fallbackStripePriceId]);let available=false;if(typeof raw?.available===\"boolean\"){available=raw.available;}else{// Migration fallback.\n//\n// New get-release-info returns\n// explicit availability.\n//\n// For older responses, require\n// both price + Stripe Price ID.\navailable=priceValue!==null&&Boolean(stripePriceId);}return{format,label,priceDisplay,priceValue,available};}// ====================================================\n// RELEASE NORMALIZATION\n// ====================================================\nfunction normalizeRelease(payload,requestedProductId){const data=payload?.release??payload?.product??payload?.data??payload??{};const productId=normalizeProductId(firstText([data.productId,data.product_id,data.downloadProductId,data.download_product_id,requestedProductId]))||normalizeProductId(requestedProductId);const artist=firstText([data.artist,data.artistName,data.artist_name])||\"Unknown Artist\";const title=firstText([data.title,data.trackTitle,data.track_title,data.releaseTitle])||\"Unknown Release\";const label=firstText([data.label,data.labelName,data.label_name]);const artwork=firstText([data.artwork,data.artworkUrl,data.artwork_url,data.coverArt,data.cover_art,data.cover,data.image]);const currency=firstText([data.currency]).toUpperCase()||\"USD\";const mp3Raw=data?.formats?.mp3??data?.formats?.MP3??{};const wavRaw=data?.formats?.wav??data?.formats?.WAV??{};// Legacy top-level values are\n// temporarily treated as MP3.\nconst mp3=normalizeFormatOption({format:\"mp3\",raw:mp3Raw,currency,fallbackPrice:data.price??data.directPrice??data.direct_price,fallbackStripePriceId:data.stripePriceId??data.stripe_price_id});const wav=normalizeFormatOption({format:\"wav\",raw:wavRaw,currency});return{productId,artist,title,label,artwork,currency,formats:{mp3,wav}};}// ====================================================\n// RELEASE LOOKUP\n// ====================================================\nasync function fetchRelease(endpoint,productId){try{const response=await fetch(`${endpoint}?product=${encodeURIComponent(productId)}`,{method:\"GET\"});if(!response.ok){throw new Error(`HTTP ${response.status}`);}const data=await response.json();return normalizeRelease(data,productId);}catch(error){console.error(`Unable to load ${productId}:`,error);return{productId:normalizeProductId(productId),artist:\"Release unavailable\",title:productId,label:\"\",artwork:\"\",currency:\"USD\",formats:{mp3:{format:\"mp3\",label:\"MP3\",priceDisplay:\"—\",priceValue:null,available:false},wav:{format:\"wav\",label:\"WAV\",priceDisplay:\"—\",priceValue:null,available:false}},error:true};}}// ====================================================\n// CART PANEL\n// ====================================================\nexport default function CartPanel(props){const{infoEndpoint,cartTitle,emptyTitle,emptyBody,subtotalLabel,checkoutText,clearText,taxText,panelWidth,panelBackground,panelBorderColor,panelBorderWidth,cornerRadius,overlayColor,overlayOpacity,textColor,mutedTextColor,dividerColor,accentColor,checkoutBackground,checkoutTextColor,checkoutHoverBackground,padding,artworkSize,titleFontSize,bodyFontSize,mobileBreakpoint,mobileHeight,animationDuration,zIndex,style}=props;// =================================================\n// STATE\n// =================================================\nconst[open,setOpen]=React.useState(false);const[cart,setCart]=React.useState([]);const[items,setItems]=React.useState([]);const[loading,setLoading]=React.useState(false);const[isMobile,setIsMobile]=React.useState(false);const endpoint=(infoEndpoint||DEFAULT_INFO_ENDPOINT).replace(/\\/$/,\"\");const syncCart=React.useCallback(()=>{setCart(getCart());},[]);// =================================================\n// RESPONSIVE\n// =================================================\nReact.useEffect(()=>{if(typeof window===\"undefined\"){return;}const checkScreen=()=>{setIsMobile(window.innerWidth<=mobileBreakpoint);};checkScreen();window.addEventListener(\"resize\",checkScreen);return()=>{window.removeEventListener(\"resize\",checkScreen);};},[mobileBreakpoint]);// =================================================\n// CART EVENTS\n// =================================================\nReact.useEffect(()=>{if(typeof window===\"undefined\"){return;}const handleOpen=()=>{syncCart();setOpen(true);};const handleClose=()=>{setOpen(false);};const handleCartUpdate=()=>{syncCart();};window.addEventListener(\"nsm-cart-open\",handleOpen);window.addEventListener(\"nsm-cart-close\",handleClose);window.addEventListener(\"nsm-cart-updated\",handleCartUpdate);window.addEventListener(\"storage\",handleCartUpdate);syncCart();return()=>{window.removeEventListener(\"nsm-cart-open\",handleOpen);window.removeEventListener(\"nsm-cart-close\",handleClose);window.removeEventListener(\"nsm-cart-updated\",handleCartUpdate);window.removeEventListener(\"storage\",handleCartUpdate);};},[syncCart]);// =================================================\n// ESCAPE CLOSE\n// =================================================\nReact.useEffect(()=>{if(!open){return;}const handleKeyDown=event=>{if(event.key===\"Escape\"){setOpen(false);}};window.addEventListener(\"keydown\",handleKeyDown);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);};},[open]);// =================================================\n// BODY LOCK\n// =================================================\nReact.useEffect(()=>{if(typeof document===\"undefined\"||!open){return;}const previous=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{document.body.style.overflow=previous;};},[open]);// =================================================\n// LOAD CART RELEASE DATA\n// =================================================\nconst productSignature=cart.map(item=>item.productId).join(\"|\");React.useEffect(()=>{if(!open){return;}if(cart.length===0){setItems([]);setLoading(false);return;}let cancelled=false;setLoading(true);Promise.all(cart.map(cartItem=>fetchRelease(endpoint,cartItem.productId))).then(loadedItems=>{if(cancelled){return;}setItems(loadedItems);setLoading(false);}).catch(error=>{if(cancelled){return;}console.error(\"Unable to load cart:\",error);setLoading(false);});return()=>{cancelled=true;};},[open,productSignature,endpoint]);// =================================================\n// HELPERS\n// =================================================\nconst selectionFor=React.useCallback(productId=>{return cart.find(entry=>entry.productId===productId)?.format??\"mp3\";},[cart]);const selectedOptionFor=React.useCallback(item=>{const format=selectionFor(item.productId);return item.formats[format];},[selectionFor]);// =================================================\n// CHANGE FORMAT\n// =================================================\nconst handleFormatChange=(productId,format)=>{const release=items.find(item=>item.productId===productId);if(!release){return;}const option=release.formats[format];if(!option.available){return;}const updated=cart.map(entry=>entry.productId===productId?{...entry,format}:entry);saveCart(updated);setCart(updated);};// =================================================\n// REMOVE ITEM\n// =================================================\nconst handleRemove=productId=>{const updated=cart.filter(entry=>entry.productId!==productId);saveCart(updated);setCart(updated);setItems(currentItems=>currentItems.filter(item=>item.productId!==productId));};// =================================================\n// CLEAR CART\n// =================================================\nconst handleClear=()=>{saveCart([]);setCart([]);setItems([]);};// =================================================\n// CART VALIDATION\n// =================================================\nconst cartReady=!loading&&cart.length>0&&items.length===cart.length&&items.every(item=>{if(item.error){return false;}const selected=selectedOptionFor(item);return selected.available&&selected.priceValue!==null;});// =================================================\n// CHECKOUT\n//\n// New URL format:\n//\n// /checkout?cart=FD037:mp3,SBR083:wav\n//\n// PurchaseSummary + backend will be updated next\n// to understand and validate this structure.\n// =================================================\nconst handleCheckout=()=>{if(!cartReady||cart.length===0){return;}const normalized=normalizeCart(cart);if(normalized.length===0){return;}const serialized=normalized.map(entry=>`${entry.productId}:${entry.format}`).join(\",\");const params=new URLSearchParams;params.set(\"cart\",serialized);window.location.href=`/checkout?${params.toString()}`;};// =================================================\n// TOTALS\n// =================================================\nconst subtotal=items.reduce((total,item)=>{const option=selectedOptionFor(item);return total+(option.priceValue??0);},0);const subtotalCurrency=items.find(item=>item.currency)?.currency||\"USD\";const subtotalDisplay=formatMoney(subtotal,subtotalCurrency);const itemCount=cart.length;const itemWord=itemCount===1?\"release\":\"releases\";// =================================================\n// DRAWER POSITION\n// =================================================\nconst drawerTransform=isMobile?open?\"translateY(0)\":\"translateY(105%)\":open?\"translateX(0)\":\"translateX(105%)\";const panelStyle=isMobile?{position:\"fixed\",left:0,right:0,bottom:0,width:\"100%\",height:`${mobileHeight}vh`,maxHeight:\"92vh\",borderRadius:`${cornerRadius}px ${cornerRadius}px 0 0`}:{position:\"fixed\",top:0,right:0,width:`min(${panelWidth}px, calc(100vw - 24px))`,height:\"100dvh\",borderRadius:`${cornerRadius}px 0 0 ${cornerRadius}px`};// =================================================\n// CART UI\n// =================================================\nconst cartUI=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>setOpen(false),\"aria-hidden\":\"true\",style:{position:\"fixed\",inset:0,zIndex,background:overlayColor,opacity:open?overlayOpacity:0,pointerEvents:open?\"auto\":\"none\",transition:`opacity ${animationDuration}ms ease`,backdropFilter:open?\"blur(2px)\":\"none\",WebkitBackdropFilter:open?\"blur(2px)\":\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":cartTitle,style:{...panelStyle,zIndex:zIndex+1,display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxSizing:\"border-box\",background:panelBackground,color:textColor,border:`${panelBorderWidth}px solid ${panelBorderColor}`,boxShadow:\"0 0 90px rgba(0,0,0,0.55)\",transform:drawerTransform,pointerEvents:open?\"auto\":\"none\",transition:`transform ${animationDuration}ms cubic-bezier(0.22, 1, 0.36, 1)`,fontFamily:\"Inter, Arial, sans-serif\"},children:[isMobile&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",paddingTop:10,paddingBottom:0,flexShrink:0},children:/*#__PURE__*/_jsx(\"div\",{style:{width:38,height:3,borderRadius:999,background:\"rgba(255,255,255,0.15)\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{minHeight:isMobile?76:84,padding:`0 ${padding}px`,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:20,flexShrink:0,borderBottom:`1px solid ${dividerColor}`},children:[/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,fontSize:Math.min(titleFontSize,18),fontWeight:600,lineHeight:1.15,letterSpacing:\"-0.015em\"},children:cartTitle}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:5,color:mutedTextColor,fontSize:10,lineHeight:1.4},children:[itemCount,\" \",itemWord]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10},children:[itemCount>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6,padding:\"6px 9px\",border:`1px solid ${dividerColor}`,borderRadius:999,color:cartReady?mutedTextColor:\"rgba(255,255,255,0.30)\",fontSize:8,fontWeight:600,letterSpacing:\"0.07em\",textTransform:\"uppercase\",whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:5,height:5,display:\"block\",borderRadius:\"50%\",background:cartReady?accentColor:\"rgba(255,255,255,0.20)\"}}),loading?\"Loading\":cartReady?\"Ready\":\"Setup pending\"]}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>setOpen(false),\"aria-label\":\"Close cart\",className:\"nsm-cart-close\",style:{width:34,height:34,padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:`1px solid ${dividerColor}`,borderRadius:6,background:\"#101010\",color:textColor,cursor:\"pointer\",appearance:\"none\",WebkitAppearance:\"none\",transition:\"background 160ms ease, border-color 160ms ease\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"13\",height:\"13\",viewBox:\"0 0 14 14\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1L13 13M13 1L1 13\",stroke:\"currentColor\",strokeWidth:\"1.2\"})})})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"nsm-cart-scroll\",style:{flex:1,minHeight:0,overflowY:\"auto\",overscrollBehavior:\"contain\",padding:itemCount>0?`${padding}px`:0,boxSizing:\"border-box\"},children:[loading&&itemCount>0&&/*#__PURE__*/_jsxs(\"div\",{style:{minHeight:160,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:12,color:mutedTextColor,fontSize:9,fontWeight:600,letterSpacing:\"0.08em\",textTransform:\"uppercase\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"nsm-cart-loader\"}),\"Loading cart\"]}),!loading&&itemCount===0&&/*#__PURE__*/_jsxs(\"div\",{style:{height:\"100%\",minHeight:280,padding:`${padding*1.5}px ${padding}px`,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:50,height:50,marginBottom:18,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:`1px solid ${dividerColor}`,borderRadius:8,background:\"#0F0F0F\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M3 4H5L7.2 14.2C7.4 15.2 8.3 16 9.4 16H18.3C19.3 16 20.2 15.3 20.5 14.3L22 8H6\",stroke:mutedTextColor,strokeWidth:\"1.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"10\",cy:\"20\",r:\"1\",stroke:mutedTextColor,strokeWidth:\"1.4\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"18\",cy:\"20\",r:\"1\",stroke:mutedTextColor,strokeWidth:\"1.4\"})]})}),/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,fontSize:15,fontWeight:600,marginBottom:7},children:emptyTitle}),/*#__PURE__*/_jsx(\"div\",{style:{maxWidth:270,color:mutedTextColor,fontSize:bodyFontSize,lineHeight:1.6},children:emptyBody})]}),!loading&&items.map((item,index)=>{const selectedFormat=selectionFor(item.productId);const selectedOption=item.formats[selectedFormat];const mp3=item.formats.mp3;const wav=item.formats.wav;return /*#__PURE__*/_jsxs(\"div\",{className:\"nsm-cart-item\",style:{padding:14,marginBottom:index===items.length-1?0:10,display:\"flex\",gap:13,border:`1px solid ${dividerColor}`,borderRadius:6,background:item.error?\"rgba(255,122,122,0.025)\":\"#0D0D0D\",transition:\"background 160ms ease, border-color 160ms ease\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:artworkSize,height:artworkSize,flexShrink:0,overflow:\"hidden\",background:\"#111111\",border:`1px solid ${dividerColor}`,borderRadius:4},children:item.artwork?/*#__PURE__*/_jsx(\"img\",{src:item.artwork,alt:\"\",style:{display:\"block\",width:\"100%\",height:\"100%\",objectFit:\"cover\"}}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:mutedTextColor,fontSize:9,fontWeight:600,letterSpacing:\"0.06em\"},children:item.productId})}),/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0,flex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,fontSize:bodyFontSize,lineHeight:1.3,fontWeight:600,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:item.artist}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:4,color:\"rgba(255,255,255,0.72)\",fontSize:bodyFontSize,lineHeight:1.35,fontWeight:400,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:item.title}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:7,color:mutedTextColor,fontSize:9,lineHeight:1.4,fontWeight:500,letterSpacing:\"0.05em\",textTransform:\"uppercase\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:[item.label,selectedFormat.toUpperCase(),item.productId].filter(Boolean).join(\" \\xb7 \")}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:10,display:\"flex\",alignItems:\"center\",gap:6,maxWidth:230},children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>handleFormatChange(item.productId,\"mp3\"),disabled:!mp3.available,title:mp3.available?\"Select MP3\":\"MP3 is not available yet\",className:\"nsm-format-button\",style:{minWidth:0,flex:1,height:30,padding:\"0 8px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:8,border:selectedFormat===\"mp3\"?`1px solid ${accentColor}`:`1px solid ${dividerColor}`,borderRadius:4,background:selectedFormat===\"mp3\"?\"rgba(61,164,190,0.10)\":\"#101010\",color:selectedFormat===\"mp3\"?textColor:mutedTextColor,opacity:mp3.available?1:.35,cursor:mp3.available?\"pointer\":\"not-allowed\",appearance:\"none\",WebkitAppearance:\"none\",transition:\"background 160ms ease, border-color 160ms ease, color 160ms ease\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:8,fontWeight:700,letterSpacing:\"0.08em\"},children:\"MP3\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:9,fontWeight:600,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\"},children:mp3.priceDisplay})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>handleFormatChange(item.productId,\"wav\"),disabled:!wav.available,title:wav.available?\"Select WAV\":\"WAV is not available yet\",className:\"nsm-format-button\",style:{minWidth:0,flex:1,height:30,padding:\"0 8px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:8,border:selectedFormat===\"wav\"?`1px solid ${accentColor}`:`1px solid ${dividerColor}`,borderRadius:4,background:selectedFormat===\"wav\"?\"rgba(61,164,190,0.10)\":\"#101010\",color:selectedFormat===\"wav\"?textColor:mutedTextColor,opacity:wav.available?1:.35,cursor:wav.available?\"pointer\":\"not-allowed\",appearance:\"none\",WebkitAppearance:\"none\",transition:\"background 160ms ease, border-color 160ms ease, color 160ms ease\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:8,fontWeight:700,letterSpacing:\"0.08em\"},children:\"WAV\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:9,fontWeight:600,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\"},children:wav.priceDisplay})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{width:48,flexShrink:0,display:\"flex\",flexDirection:\"column\",alignItems:\"flex-end\",justifyContent:\"space-between\",alignSelf:\"stretch\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:selectedOption.available?textColor:mutedTextColor,fontSize:bodyFontSize,lineHeight:1.3,fontWeight:600,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\"},children:selectedOption.priceDisplay}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>handleRemove(item.productId),\"aria-label\":`Remove ${item.title} from cart`,title:\"Remove from cart\",className:\"nsm-cart-remove\",style:{width:30,height:30,marginRight:-5,marginBottom:-5,padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:\"1px solid transparent\",borderRadius:4,background:\"transparent\",color:mutedTextColor,cursor:\"pointer\",appearance:\"none\",WebkitAppearance:\"none\",transition:\"color 160ms ease, background 160ms ease, border-color 160ms ease\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M4 7H20\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 7V4H15V7\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6.5 7L7.25 20H16.75L17.5 7\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 11V16\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M14 11V16\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\"})]})})]})]},item.productId);})]}),itemCount>0&&/*#__PURE__*/_jsxs(\"div\",{style:{flexShrink:0,padding:`${Math.max(20,padding-2)}px ${padding}px ${Math.max(22,padding)}px`,borderTop:`1px solid ${dividerColor}`,background:panelBackground},children:[/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:16,display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-end\",gap:20},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,fontSize:13,fontWeight:600},children:subtotalLabel}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:4,color:mutedTextColor,fontSize:9,lineHeight:1.4},children:taxText})]}),/*#__PURE__*/_jsx(\"div\",{style:{color:textColor,fontSize:20,lineHeight:1,fontWeight:600,letterSpacing:\"-0.02em\",fontVariantNumeric:\"tabular-nums\"},children:subtotalDisplay})]}),/*#__PURE__*/_jsxs(\"button\",{onClick:handleCheckout,disabled:!cartReady,className:cartReady?\"nsm-cart-checkout\":\"\",title:cartReady?\"Continue to checkout\":\"One or more selected formats are not ready for checkout\",style:{width:\"100%\",height:54,padding:\"0 18px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:20,border:`1px solid ${checkoutBackground}`,borderRadius:4,background:checkoutBackground,color:checkoutTextColor,opacity:cartReady?1:.42,fontFamily:\"Inter, Arial, sans-serif\",cursor:cartReady?\"pointer\":\"not-allowed\",appearance:\"none\",WebkitAppearance:\"none\",transition:\"background 160ms ease, border-color 160ms ease, transform 160ms ease, opacity 160ms ease\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:10,fontWeight:700,letterSpacing:\"0.1em\",textTransform:\"uppercase\"},children:checkoutText}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,fontWeight:700,fontVariantNumeric:\"tabular-nums\"},children:subtotalDisplay})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:12,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6,color:\"rgba(255,255,255,0.22)\",fontSize:8,lineHeight:1.4,letterSpacing:\"0.03em\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:5,height:5,display:\"block\",borderRadius:\"50%\",background:accentColor,opacity:.85}}),\"Secure checkout\"]}),/*#__PURE__*/_jsx(\"button\",{onClick:handleClear,className:\"nsm-cart-clear\",style:{padding:0,border:0,background:\"transparent\",color:mutedTextColor,fontSize:9,fontWeight:600,cursor:\"pointer\",appearance:\"none\",WebkitAppearance:\"none\",transition:\"color 160ms ease\"},children:clearText})]})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n                        .nsm-cart-scroll {\n                            scrollbar-width: thin;\n                            scrollbar-color: rgba(255,255,255,0.16) transparent;\n                        }\n\n                        .nsm-cart-scroll::-webkit-scrollbar {\n                            width: 6px;\n                        }\n\n                        .nsm-cart-scroll::-webkit-scrollbar-track {\n                            background: transparent;\n                        }\n\n                        .nsm-cart-scroll::-webkit-scrollbar-thumb {\n                            background: rgba(255,255,255,0.14);\n                            border-radius: 999px;\n                        }\n\n                        .nsm-cart-item:hover {\n                            background: #101010 !important;\n                            border-color: rgba(255,255,255,0.12) !important;\n                        }\n\n                        .nsm-cart-close:hover {\n                            background: #151515 !important;\n                            border-color: rgba(255,255,255,0.16) !important;\n                        }\n\n                        .nsm-cart-remove:hover {\n                            color: #FF9494 !important;\n                            background: rgba(255,122,122,0.06) !important;\n                            border-color: rgba(255,122,122,0.15) !important;\n                        }\n\n                        .nsm-cart-clear:hover {\n                            color: rgba(255,255,255,0.80) !important;\n                        }\n\n                        .nsm-format-button:not(:disabled):hover {\n                            border-color: ${accentColor} !important;\n                            background: rgba(61,164,190,0.08) !important;\n                        }\n\n                        .nsm-cart-checkout:hover {\n                            background: ${checkoutHoverBackground} !important;\n                            border-color: ${checkoutHoverBackground} !important;\n                        }\n\n                        .nsm-cart-checkout:active {\n                            transform: translateY(1px);\n                        }\n\n                        @keyframes nsmCartPulse {\n                            0% {\n                                opacity: 0.2;\n                                transform: scaleX(0.65);\n                            }\n\n                            50% {\n                                opacity: 1;\n                                transform: scaleX(1);\n                            }\n\n                            100% {\n                                opacity: 0.2;\n                                transform: scaleX(0.65);\n                            }\n                        }\n\n                        .nsm-cart-loader {\n                            width: 46px;\n                            height: 2px;\n                            background: ${accentColor};\n                            transform-origin: center;\n                            animation: nsmCartPulse 1s ease-in-out infinite;\n                        }\n                    `})]})]});// =================================================\n// PORTAL\n// =================================================\nreturn /*#__PURE__*/_jsx(\"div\",{style:{...style,width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:typeof document!==\"undefined\"?/*#__PURE__*/createPortal(cartUI,document.body):null});}// ====================================================\n// DEFAULTS\n// ====================================================\nCartPanel.defaultProps={infoEndpoint:DEFAULT_INFO_ENDPOINT,cartTitle:\"Cart\",emptyTitle:\"Your cart is empty\",emptyBody:\"Add music to your cart and it will appear here.\",subtotalLabel:\"Subtotal\",checkoutText:\"Continue to Checkout\",clearText:\"Clear cart\",taxText:\"Taxes calculated at checkout.\",panelWidth:440,panelBackground:\"#0B0B0B\",panelBorderColor:\"rgba(255,255,255,0.08)\",panelBorderWidth:1,cornerRadius:6,overlayColor:\"#000000\",overlayOpacity:.72,textColor:\"#F5F5F5\",mutedTextColor:\"rgba(255,255,255,0.40)\",dividerColor:\"rgba(255,255,255,0.07)\",accentColor:\"#3DA4BE\",checkoutBackground:\"#3DA4BE\",checkoutTextColor:\"#061014\",checkoutHoverBackground:\"#50ADC5\",padding:24,artworkSize:72,titleFontSize:16,bodyFontSize:12,mobileBreakpoint:767,mobileHeight:82,animationDuration:320,zIndex:99990};// ====================================================\n// PROPERTY CONTROLS\n// ====================================================\naddPropertyControls(CartPanel,{infoEndpoint:{type:ControlType.String,title:\"Info API\"},cartTitle:{type:ControlType.String,title:\"Title\"},emptyTitle:{type:ControlType.String,title:\"Empty Title\"},emptyBody:{type:ControlType.String,title:\"Empty Text\"},subtotalLabel:{type:ControlType.String,title:\"Subtotal\"},checkoutText:{type:ControlType.String,title:\"Checkout\"},clearText:{type:ControlType.String,title:\"Clear\"},taxText:{type:ControlType.String,title:\"Tax Text\"},panelWidth:{type:ControlType.Number,title:\"Panel Width\",min:300,max:700,step:10},panelBackground:{type:ControlType.Color,title:\"Panel BG\"},panelBorderColor:{type:ControlType.Color,title:\"Panel Border\"},panelBorderWidth:{type:ControlType.Number,title:\"Border Width\",min:0,max:5,step:1},cornerRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:40,step:1},overlayColor:{type:ControlType.Color,title:\"Overlay\"},overlayOpacity:{type:ControlType.Number,title:\"Overlay Opacity\",min:0,max:1,step:.05},textColor:{type:ControlType.Color,title:\"Text\"},mutedTextColor:{type:ControlType.Color,title:\"Muted Text\"},dividerColor:{type:ControlType.Color,title:\"Dividers\"},accentColor:{type:ControlType.Color,title:\"Accent\"},checkoutBackground:{type:ControlType.Color,title:\"Checkout BG\"},checkoutTextColor:{type:ControlType.Color,title:\"Checkout Text\"},checkoutHoverBackground:{type:ControlType.Color,title:\"Checkout Hover\"},padding:{type:ControlType.Number,title:\"Padding\",min:10,max:60,step:1},artworkSize:{type:ControlType.Number,title:\"Artwork\",min:48,max:140,step:2},titleFontSize:{type:ControlType.Number,title:\"Title Size\",min:12,max:48,step:1},bodyFontSize:{type:ControlType.Number,title:\"Text Size\",min:8,max:20,step:1},mobileBreakpoint:{type:ControlType.Number,title:\"Mobile At\",min:400,max:1200,step:1},mobileHeight:{type:ControlType.Number,title:\"Mobile Height\",min:40,max:95,step:1},animationDuration:{type:ControlType.Number,title:\"Animation\",min:100,max:1e3,step:10},zIndex:{type:ControlType.Number,title:\"Z Index\",min:100,max:999999,step:100}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CartPanel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CartPanel.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const CART_KEY=\"nsm_cart\";// ====================================================\n// CART HELPERS\n// ====================================================\nfunction normalizeProductId(value){return String(value||\"\").trim().toUpperCase();}function normalizeFormat(value){return String(value||\"\").trim().toLowerCase()===\"wav\"?\"wav\":\"mp3\";}function normalizeCart(raw){if(!Array.isArray(raw)){return[];}const result=[];const seen=new Set;for(const rawItem of raw){let productId=\"\";let format=\"mp3\";if(typeof rawItem===\"string\"){productId=normalizeProductId(rawItem);format=\"mp3\";}else if(rawItem&&typeof rawItem===\"object\"){const candidate=rawItem;productId=normalizeProductId(candidate.productId);format=normalizeFormat(candidate.format);}if(!productId){continue;}// One release only once in cart.\nif(seen.has(productId)){continue;}seen.add(productId);result.push({productId,format});}return result;}function getCart(){if(typeof window===\"undefined\"){return[];}try{const stored=window.localStorage.getItem(CART_KEY);if(!stored){return[];}return normalizeCart(JSON.parse(stored));}catch{return[];}}// ====================================================\n// COMPONENT\n// ====================================================\nexport default function ViewCartButton(props){const{size,bottomMargin,sideMargin,background,hoverBackground,iconColor,hoverColor,borderColor,borderWidth,radius,badgeBackground,badgeTextColor,badgeSize,badgeFontSize,badgeOffsetX,badgeOffsetY,showZero,hideWhenEmpty,zIndex,style}=props;const[count,setCount]=React.useState(0);const[hovered,setHovered]=React.useState(false);const updateCount=React.useCallback(()=>{const cart=getCart();setCount(cart.length);},[]);// =================================================\n// LISTEN FOR CART CHANGES\n// =================================================\nReact.useEffect(()=>{if(typeof window===\"undefined\"){return;}updateCount();window.addEventListener(\"nsm-cart-updated\",updateCount);window.addEventListener(\"storage\",updateCount);return()=>{window.removeEventListener(\"nsm-cart-updated\",updateCount);window.removeEventListener(\"storage\",updateCount);};},[updateCount]);// =================================================\n// OPEN CART\n// =================================================\nconst handleClick=()=>{if(typeof window===\"undefined\"){return;}window.dispatchEvent(new CustomEvent(\"nsm-cart-open\"));};const shouldShowBadge=showZero||count>0;const hidden=hideWhenEmpty&&count===0;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:handleClick,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),\"aria-label\":\"View cart with \"+count+\" item\"+(count===1?\"\":\"s\"),title:\"View cart\",style:{...style,position:\"fixed\",right:sideMargin,bottom:bottomMargin,zIndex,width:size,height:size,minWidth:size,minHeight:size,padding:0,margin:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:`${borderWidth}px solid ${borderColor}`,borderRadius:radius,background:hovered?hoverBackground:background,color:hovered?hoverColor:iconColor,cursor:\"pointer\",appearance:\"none\",WebkitAppearance:\"none\",outline:\"none\",opacity:hidden?0:1,visibility:hidden?\"hidden\":\"visible\",pointerEvents:hidden?\"none\":\"auto\",boxShadow:\"0 6px 20px rgba(0,0,0,0.28)\",transition:\"background 160ms ease, color 160ms ease, border-color 160ms ease, opacity 180ms ease, transform 160ms ease\",transform:hovered?\"translateY(-1px)\":\"translateY(0)\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:Math.max(18,size*.42),height:Math.max(18,size*.42),viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M3 4H5L7.2 14.2C7.4 15.2 8.3 16 9.4 16H18.3C19.3 16 20.2 15.3 20.5 14.3L22 8H6\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"10\",cy:\"20\",r:\"1\",stroke:\"currentColor\",strokeWidth:\"1.5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"18\",cy:\"20\",r:\"1\",stroke:\"currentColor\",strokeWidth:\"1.5\"})]}),shouldShowBadge&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:badgeOffsetY,right:badgeOffsetX,minWidth:badgeSize,height:badgeSize,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:count>9?\"0 4px\":0,boxSizing:\"border-box\",borderRadius:999,background:badgeBackground,color:badgeTextColor,fontFamily:\"Inter, Arial, sans-serif\",fontSize:badgeFontSize,fontWeight:700,lineHeight:1,pointerEvents:\"none\",boxShadow:\"0 2px 8px rgba(0,0,0,0.25)\"},children:count>99?\"99+\":count})]});}// ====================================================\n// DEFAULTS\n// ====================================================\nViewCartButton.defaultProps={size:52,bottomMargin:32,sideMargin:32,background:\"#0B0B0B\",hoverBackground:\"#111111\",iconColor:\"#FFFFFF\",hoverColor:\"#3DA4BE\",borderColor:\"rgba(255,255,255,0.10)\",borderWidth:1,radius:8,badgeBackground:\"#3DA4BE\",badgeTextColor:\"#050505\",badgeSize:17,badgeFontSize:9,badgeOffsetX:-4,badgeOffsetY:-4,showZero:false,hideWhenEmpty:false,zIndex:9999};// ====================================================\n// FRAMER CONTROLS\n// ====================================================\naddPropertyControls(ViewCartButton,{size:{type:ControlType.Number,title:\"Size\",min:36,max:80,step:1},bottomMargin:{type:ControlType.Number,title:\"Bottom\",min:0,max:150,step:1},sideMargin:{type:ControlType.Number,title:\"Right\",min:0,max:150,step:1},background:{type:ControlType.Color,title:\"Background\"},hoverBackground:{type:ControlType.Color,title:\"Hover BG\"},iconColor:{type:ControlType.Color,title:\"Icon\"},hoverColor:{type:ControlType.Color,title:\"Icon Hover\"},borderColor:{type:ControlType.Color,title:\"Border\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",min:0,max:4,step:1},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:30,step:1},badgeBackground:{type:ControlType.Color,title:\"Badge BG\"},badgeTextColor:{type:ControlType.Color,title:\"Badge Text\"},badgeSize:{type:ControlType.Number,title:\"Badge Size\",min:10,max:30,step:1},badgeFontSize:{type:ControlType.Number,title:\"Badge Font\",min:6,max:16,step:1},badgeOffsetX:{type:ControlType.Number,title:\"Badge X\",min:-30,max:30,step:1},badgeOffsetY:{type:ControlType.Number,title:\"Badge Y\",min:-30,max:30,step:1},showZero:{type:ControlType.Boolean,title:\"Show Zero\"},hideWhenEmpty:{type:ControlType.Boolean,title:\"Hide Empty\"},zIndex:{type:ControlType.Number,title:\"Z Index\",min:100,max:999999,step:100}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ViewCartButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ViewCartButton.map"],"mappings":"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"}