{"version":3,"file":"SizesButtons.DgHaLDDM.mjs","names":["React.useState","React.useRef","React.useMemo","debugDiv","sessionId","currentSessionId","cartItem"],"sources":["https:/framerusercontent.com/modules/UKoePoapA8mA0eKMevYM/m7wnvrMle2D3PvpQvlKX/SizesButtons.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function SizeSelector(props){const{sizes:propSizes,links:propLinks,productId,productName,productImage,productPrice}=props;// 🔠 Преобразуем строку размеров в массив\nconst sizes=typeof propSizes===\"string\"?propSizes.split(\",\").map(s=>s.trim()):[\"S\",\"M\",\"L\",\"XL\"];// Автоматически выбираем первый размер по умолчанию\nconst[selectedSize,setSelectedSize]=React.useState(sizes[0]||null);const[isAdding,setIsAdding]=React.useState(false);const[isBuying,setIsBuying]=React.useState(false);const[cartItem,setCartItem]=React.useState(null);const[sessionId,setSessionId]=React.useState(null);const[isSessionReady,setIsSessionReady]=React.useState(false);const linkRef=React.useRef(null);// Supabase конфигурация\nconst supabaseUrl=\"https://dfeyqacizforoyvkmvlb.supabase.co\";const supabaseKey=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRmZXlxYWNpemZvcm95dmttdmxiIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTc4NTA4NDcsImV4cCI6MjA3MzQyNjg0N30.S9a6TYkpZGgER0f1tk5kMwbFqtqdFw8XAHLyN7OT4Kg\";const[supabase,setSupabase]=React.useState(null);// Определение Telegram WebView и безопасное хранилище\nconst isTelegramWebView=React.useMemo(()=>{try{const userAgent=navigator.userAgent||\"\";const hasTelegramInUA=/Telegram|WebView/i.test(userAgent);const hasTelegramWebApp=typeof window!==\"undefined\"&&window.Telegram?.WebApp!==undefined;const hasTgParam=window.location.search.includes(\"tgWebAppStartParam\");const result=hasTelegramInUA||hasTelegramWebApp||hasTgParam;console.log(\"🔍 Telegram WebView detection:\",{userAgent,hasTelegramInUA,hasTelegramWebApp,hasTgParam,result});return result;}catch(e){console.warn(\"Error detecting Telegram WebView:\",e);return false;}},[]);// Безопасное хранилище с fallback для Telegram WebView\nconst safeStorage=React.useMemo(()=>{// Инициализируем in-memory storage заранее\nif(typeof window!==\"undefined\"&&!window._tempStorage){window._tempStorage={};}const storage={getItem:key=>{try{// Пробуем localStorage\nconst value=localStorage.getItem(key);if(value!==null){console.log(`✅ localStorage.getItem(\"${key}\") =`,value);return value;}}catch(e){console.warn(`❌ localStorage.getItem(\"${key}\") failed:`,e);}try{// Fallback на sessionStorage\nconst value=sessionStorage.getItem(key);if(value!==null){console.log(`✅ sessionStorage.getItem(\"${key}\") =`,value);return value;}}catch(e2){console.warn(`❌ sessionStorage.getItem(\"${key}\") failed:`,e2);}// Fallback на in-memory storage\nconst tempValue=window._tempStorage?.[key]||null;if(tempValue){console.log(`✅ _tempStorage.getItem(\"${key}\") =`,tempValue);}return tempValue;},setItem:(key,value)=>{try{localStorage.setItem(key,value);console.log(`✅ localStorage.setItem(\"${key}\") =`,value);return;}catch(e){console.warn(`❌ localStorage.setItem(\"${key}\") failed:`,e);}try{sessionStorage.setItem(key,value);console.log(`✅ sessionStorage.setItem(\"${key}\") =`,value);return;}catch(e2){console.warn(`❌ sessionStorage.setItem(\"${key}\") failed:`,e2);}// Fallback на in-memory storage\nif(!window._tempStorage){window._tempStorage={};}window._tempStorage[key]=value;console.log(`✅ _tempStorage.setItem(\"${key}\") =`,value);}};return storage;},[]);// --- ОБНОВЛЕННАЯ ЛОГИКА ОПРЕДЕЛЕНИЯ ВАЛЮТЫ И РЕГИОНА ---\nconst deriveRegionAndCurrencyFromPath=()=>{const path=window.location.pathname;let region=null;let currency=\"usd\"// Валюта по умолчанию (английская)\n;if(path.endsWith(\"/pl\")){region=\"pl\";currency=\"pln\";}else if(path.endsWith(\"/eu\")){region=\"eu\";currency=\"eur\";}else if(path.endsWith(\"/bel\")){region=\"bel\";currency=\"byn\";}else if(path.endsWith(\"/ru\")){region=\"ru\";currency=\"rub\";}else if(path.endsWith(\"/en\")){region=\"en\";currency=\"usd\";}return{region,currency};};const{region:currentRegionSuffix,currency:currentProductCurrency}=deriveRegionAndCurrencyFromPath();// --- ДИАГНОСТИЧЕСКАЯ ФУНКЦИЯ ---\nconst logDiagnostic=(message,data=null)=>{const timestamp=new Date().toISOString();const isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);const logData={timestamp,message,isMobile,userAgent:navigator.userAgent,screenSize:`${window.screen.width}x${window.screen.height}`,viewportSize:`${window.innerWidth}x${window.innerHeight}`,url:window.location.href,data};console.log(`🔍 [${timestamp}] ${message}`,logData);// Показываем диагностику на экране для мобильных устройств\nif(isMobile&&window.location.search.includes(\"debug=true\")){const debugDiv=document.getElementById(\"debug-info\");if(debugDiv){debugDiv.innerHTML+=`<div style=\"margin-bottom: 5px; padding: 2px; background: rgba(255,255,255,0.1); border-radius: 3px;\">${timestamp}: ${message}</div>`;}}};// Инициализация диагностической панели\nReact.useEffect(()=>{const isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);if(isMobile&&window.location.search.includes(\"debug=true\")){// Удаляем существующую панель если есть\nconst existingDiv=document.getElementById(\"debug-info\");if(existingDiv){existingDiv.remove();}// Создаем новую диагностическую панель\nconst debugDiv=document.createElement(\"div\");debugDiv.id=\"debug-info\";debugDiv.style.cssText=`\n                position: fixed;\n                top: 0;\n                left: 0;\n                background: rgba(0,0,0,0.95);\n                color: white;\n                padding: 10px;\n                z-index: 99999;\n                font-size: 12px;\n                max-height: 300px;\n                overflow-y: auto;\n                width: 100%;\n                box-sizing: border-box;\n                border: 2px solid #00ff00;\n                font-family: monospace;\n            `;// Добавляем заголовок\ndebugDiv.innerHTML='<div style=\"font-weight: bold; color: #00ff00; margin-bottom: 10px;\">🔍 MOBILE DEBUG PANEL</div>';document.body.appendChild(debugDiv);logDiagnostic(\"Debug panel initialized for mobile\");// Добавляем кнопку для очистки логов\nconst clearButton=document.createElement(\"button\");clearButton.textContent=\"Clear Logs\";clearButton.style.cssText=`\n                position: fixed;\n                top: 10px;\n                right: 10px;\n                background: #ff0000;\n                color: white;\n                border: none;\n                padding: 5px 10px;\n                border-radius: 3px;\n                z-index: 100000;\n                font-size: 12px;\n            `;clearButton.onclick=()=>{const debugDiv=document.getElementById(\"debug-info\");if(debugDiv){debugDiv.innerHTML='<div style=\"font-weight: bold; color: #00ff00; margin-bottom: 10px;\">🔍 MOBILE DEBUG PANEL</div>';}};document.body.appendChild(clearButton);}},[]);// Инициализация Supabase и сессии\nReact.useEffect(()=>{const initSupabaseAndSession=async()=>{try{logDiagnostic(\"Starting Supabase initialization\");// Инициализируем Supabase\nconst{createClient}=await import(\"@supabase/supabase-js\");const client=createClient(supabaseUrl,supabaseKey);setSupabase(client);logDiagnostic(\"Supabase client created successfully\",{isTelegramWebView,userAgent:navigator.userAgent});// Инициализируем сессию с безопасным хранилищем\nlet sessionId=safeStorage.getItem(\"framer_cart_session\");if(!sessionId){sessionId=\"guest_\"+Date.now()+\"_\"+Math.random().toString(36).substr(2,9);safeStorage.setItem(\"framer_cart_session\",sessionId);logDiagnostic(\"Created new session\",{sessionId});// Сохраняем сессию в Supabase\nconst{error}=await client.from(\"guest_sessions\").insert({id:sessionId,user_agent:navigator.userAgent});if(error){logDiagnostic(\"Failed to create session in Supabase\",error);console.error(\"Failed to create session:\",error);}else{logDiagnostic(\"Session saved to Supabase successfully\");}}else{logDiagnostic(\"Using existing session\",{sessionId});// Пытаемся обновить активность существующей сессии (не критично, если не удалось)\ntry{const{error}=await client.from(\"guest_sessions\").update({last_activity:new Date}).eq(\"id\",sessionId);if(error){// Если сессии нет в БД, пытаемся создать её\nif(error.code===\"PGRST116\"||error.message?.includes(\"No rows\")){logDiagnostic(\"Session not found in DB, creating it\",{sessionId});const{error:insertError}=await client.from(\"guest_sessions\").insert({id:sessionId,user_agent:navigator.userAgent});if(insertError){logDiagnostic(\"Failed to create session in DB (non-critical)\",insertError);}else{logDiagnostic(\"Session created in DB successfully\");}}else{logDiagnostic(\"Failed to update session activity (non-critical)\",error);}}else{logDiagnostic(\"Session activity updated successfully\");}}catch(updateError){// Игнорируем ошибки обновления - это не критично для работы корзины\nlogDiagnostic(\"Session activity update failed (non-critical)\",updateError);}}setSessionId(sessionId);setIsSessionReady(true);logDiagnostic(\"Initialization completed successfully\");}catch(error){logDiagnostic(\"Initialization failed\",error);console.error(\"Failed to initialize:\",error);// Fallback: создаем локальную сессию\nconst fallbackId=\"fallback_\"+Date.now();safeStorage.setItem(\"framer_cart_session\",fallbackId);setSessionId(fallbackId);setIsSessionReady(true);logDiagnostic(\"Using fallback session\",{fallbackId});}};initSupabaseAndSession();},[]);// Проверяем, есть ли товар с выбранным размером в корзине\nReact.useEffect(()=>{if(!supabase||!sessionId||!productId||!selectedSize){setCartItem(null);return;}checkCartItem();},[supabase,sessionId,productId,selectedSize]);const checkCartItem=async()=>{try{logDiagnostic(\"Checking cart item\",{productId,selectedSize,sessionId});const{data,error}=await supabase.from(\"cart_items\").select(\"id, quantity\").eq(\"session_id\",sessionId).eq(\"product_id\",productId).eq(\"size\",selectedSize).maybeSingle();if(error){// Только логируем ошибки, которые не связаны с отсутствием записи\nif(error.code!==\"PGRST116\"){// PGRST116 = no rows returned (expected when item doesn't exist)\nlogDiagnostic(\"Cart item check failed\",error);}else{logDiagnostic(\"Cart item check: no item found (expected)\",{productId,selectedSize});}}else{logDiagnostic(\"Cart item check successful\",data);}setCartItem(data||null);}catch(error){logDiagnostic(\"Cart item check error\",error);setCartItem(null);}};// 🔗 Преобразуем строку ссылок в объект\nconst sizeLinks=React.useMemo(()=>{if(!propLinks||typeof propLinks!==\"string\")return{};return propLinks.split(\",\").reduce((acc,pair)=>{const[key,...rest]=pair.split(\":\");const value=rest.join(\":\").trim();if(key&&value)acc[key.trim()]=value;return acc;},{});},[propLinks]);// Существующая логика покупки (не изменена)\nconst handleBuy=()=>{if(!selectedSize){alert(\"Please select a size first.\");return;}const rawLink=sizeLinks[selectedSize];if(!rawLink){alert(`No link defined for size ${selectedSize}`);return;}const url=rawLink.startsWith(\"http\")?rawLink:`https://${rawLink}`;if(linkRef.current){linkRef.current.setAttribute(\"href\",url);linkRef.current.click();}};// Улучшенная логика добавления в корзину с диагностикой\nconst handleAddToCart=async()=>{console.log(\"🛒 Add to cart button clicked\",{selectedSize,productId,productName,productPrice,currentProductCurrency,isSessionReady,hasSupabase:!!supabase,hasSessionId:!!sessionId,sessionId,isTelegramWebView});logDiagnostic(\"Add to cart button clicked\",{selectedSize,productId,productName,productPrice,currentProductCurrency,isSessionReady,hasSupabase:!!supabase,hasSessionId:!!sessionId,sessionId,isTelegramWebView});if(!selectedSize){alert(\"Please select a size first.\");return;}if(!isSessionReady){console.warn(\"⚠️ Session not ready yet\");alert(\"Initializing cart... Please wait.\");return;}if(!supabase){console.error(\"❌ Supabase client not initialized\");alert(\"Cart initialization error: Supabase not ready\");return;}if(!sessionId){console.error(\"❌ Session ID not available\");// Попробуем получить из safeStorage\nconst storedSessionId=safeStorage.getItem(\"framer_cart_session\");if(storedSessionId){console.log(\"✅ Found session ID in storage, using it:\",storedSessionId);setSessionId(storedSessionId);// Продолжаем с найденным sessionId\n}else{alert(\"Cart initialization error: No session ID\");return;}}if(!productId||!productName||!productPrice){console.error(\"❌ Missing product data:\",{productId,productName,productPrice});alert(\"Insufficient product data\");return;}setIsAdding(true);try{const currentSessionId=sessionId||safeStorage.getItem(\"framer_cart_session\");console.log(\"🔄 Starting add to cart with session:\",currentSessionId);if(cartItem){// Товар с таким размером уже есть - увеличиваем количество\nlogDiagnostic(\"Updating existing cart item\",{cartItemId:cartItem.id,currentQuantity:cartItem.quantity});const{data,error}=await supabase.from(\"cart_items\").update({quantity:cartItem.quantity+1,updated_at:new Date}).eq(\"id\",cartItem.id).select();if(error){console.error(\"❌ Failed to update cart item:\",error);logDiagnostic(\"Failed to update cart item\",error);throw error;}console.log(\"✅ Cart item updated successfully:\",data);logDiagnostic(\"Cart item updated successfully\");showNotification(`${productName} (size ${selectedSize}) quantity increased!`);}else{// Новый товар или новый размер - добавляем новую позицию\nconst currentSessionId=sessionId||safeStorage.getItem(\"framer_cart_session\");if(!currentSessionId){throw new Error(\"Session ID is required but not available\");}const newItem={session_id:currentSessionId,product_id:productId,name:productName,size:selectedSize,image:productImage||null,price:parseFloat(productPrice),currency:currentProductCurrency,quantity:1};console.log(\"📦 Adding new item to cart:\",newItem);logDiagnostic(\"Adding new item to cart\",newItem);const{data,error}=await supabase.from(\"cart_items\").insert(newItem).select();if(error){console.error(\"❌ Failed to insert cart item:\",{error:error.message,code:error.code,details:error.details,hint:error.hint,fullError:error});logDiagnostic(\"Failed to insert cart item\",{error:error.message,code:error.code,details:error.details,hint:error.hint});// Попробуем создать сессию в БД, если её нет (может помочь с foreign key constraints)\nif(error.code===\"23503\"||error.message?.includes(\"foreign key\")||error.message?.includes(\"session\")){logDiagnostic(\"Attempting to create session in DB before retry\",{sessionId:currentSessionId});try{const{error:sessionError}=await supabase.from(\"guest_sessions\").insert({id:currentSessionId,user_agent:navigator.userAgent});if(!sessionError){logDiagnostic(\"Session created in DB, retrying cart item insert\");// Повторяем попытку вставки\nconst{data:retryData,error:retryError}=await supabase.from(\"cart_items\").insert(newItem).select();if(retryError){console.error(\"❌ Failed to insert cart item after retry:\",retryError);logDiagnostic(\"Failed to insert cart item after retry\",retryError);throw retryError;}else{console.log(\"✅ Cart item inserted successfully after retry:\",retryData);logDiagnostic(\"Cart item inserted successfully after retry\");// Используем retryData вместо data\nshowNotification(`${productName} (size ${selectedSize}) added to cart!`);await checkCartItem();safeStorage.setItem(\"framer_cart_updated\",Date.now().toString());window.dispatchEvent(new CustomEvent(\"cartUpdated\"));return;}}}catch(sessionCreateError){logDiagnostic(\"Failed to create session before retry\",sessionCreateError);}}throw error;}console.log(\"✅ Cart item inserted successfully:\",data);logDiagnostic(\"Cart item inserted successfully\");showNotification(`${productName} (size ${selectedSize}) added to cart!`);}// Обновляем информацию о товаре в корзине\nawait checkCartItem();// Уведомляем другие компоненты об изменении корзины\ntry{safeStorage.setItem(\"framer_cart_updated\",Date.now().toString());}catch(e){logDiagnostic(\"Failed to set cart_updated flag\",e);}window.dispatchEvent(new CustomEvent(\"cartUpdated\"));logDiagnostic(\"Cart update completed successfully\");}catch(error){logDiagnostic(\"Add to cart failed\",{error:error.message,code:error.code,details:error.details,hint:error.hint,stack:error.stack});console.error(\"Failed to add to cart:\",error);// Более информативные сообщения об ошибках\nlet errorMessage=\"Failed to add item to cart\";if(error.code===\"23505\"){errorMessage=\"Item already exists in cart\";}else if(error.code===\"23502\"){errorMessage=\"Missing required data\";}else if(error.message.includes(\"network\")){errorMessage=\"Network error. Please check your connection\";}else if(error.message.includes(\"timeout\")){errorMessage=\"Request timeout. Please try again\";}else if(error.message.includes(\"fetch\")){errorMessage=\"Connection error. Please try again\";}alert(`${errorMessage}. Check console for details.`);}finally{setIsAdding(false);}};// Новая логика Buy Now - сразу создает Stripe сессию\nconst handleBuyNow=async()=>{logDiagnostic(\"Buy Now button clicked\",{selectedSize,productId,productName,productPrice,currentProductCurrency});if(!selectedSize){alert(\"Please select a size first.\");return;}if(!isSessionReady){alert(\"Initializing... Please wait.\");return;}if(!productId||!productName||!productPrice){alert(\"Insufficient product data\");return;}setIsBuying(true);try{// Подготавливаем данные для Stripe\nconst cartItem={product_id:productId,name:productName,size:selectedSize,image:productImage||null,price:parseFloat(productPrice),currency:currentProductCurrency,quantity:1};// Формируем successUrl и cancelUrl с учетом регионального суффикса\nconst successUrl=`${window.location.origin}/success${currentRegionSuffix?`/${currentRegionSuffix}`:\"\"}`;const cancelUrl=`${window.location.origin}/cart${currentRegionSuffix?`/${currentRegionSuffix}`:\"\"}`;logDiagnostic(\"Creating Stripe session\",{cartItem,successUrl,cancelUrl,currency:currentProductCurrency});// Создаем Stripe сессию\nconst response=await fetch(\"https://mirzoeva-git.vercel.app/api/create-checkout-session\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({cartItems:[cartItem],sessionId:sessionId,successUrl:successUrl,cancelUrl:cancelUrl,currency:currentProductCurrency})});logDiagnostic(\"Stripe API response received\",{status:response.status,statusText:response.statusText});const data=await response.json();if(data.url){logDiagnostic(\"Stripe session created successfully\",{url:data.url});// Перенаправляем на Stripe Checkout\nwindow.location.href=data.url;}else{logDiagnostic(\"Stripe session creation failed\",data);throw new Error(data.error||\"Failed to create checkout session\");}}catch(error){logDiagnostic(\"Buy Now failed\",error);console.error(\"Buy Now error:\",error);alert(\"Failed to start checkout. Please try again.\");}finally{setIsBuying(false);}};const showNotification=message=>{const notification=document.createElement(\"div\");notification.className=\"cart-notification\";notification.textContent=message;notification.style.cssText=`\n            position: fixed;\n            top: 20px;\n            right: 20px;\n            background: #4CAF50;\n            color: white;\n            padding: 15px 20px;\n            border-radius: 5px;\n            z-index: 1000;\n            font-family: sans-serif;\n            box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n        `;document.body.appendChild(notification);setTimeout(()=>{notification.remove();},3e3);};// Определяем состояние кнопки Add to Cart\nconst getAddToCartButtonState=()=>{if(!isSessionReady)return{text:\"Initializing...\",disabled:true};if(isAdding)return{text:\"Adding...\",disabled:true};if(!selectedSize)return{text:\"Select Size\",disabled:true};if(cartItem)return{text:`Add More (${cartItem.quantity})`,disabled:false};return{text:\"Add to Cart\",disabled:false};};// Определяем состояние кнопки Buy Now\nconst getBuyNowButtonState=()=>{if(!isSessionReady)return{text:\"Initializing...\",disabled:true};if(isBuying)return{text:\"Processing...\",disabled:true};if(!selectedSize)return{text:\"Select Size\",disabled:true};return{text:\"Buy Now\",disabled:false};};const addToCartButtonState=getAddToCartButtonState();const buyNowButtonState=getBuyNowButtonState();return /*#__PURE__*/_jsxs(motion.div,{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"stretch\",gap:16,padding:0,fontFamily:\"sans-serif\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:10,justifyContent:\"start\"},children:sizes.map(size=>/*#__PURE__*/_jsx(motion.button,{whileTap:{scale:.9},onClick:()=>setSelectedSize(size),style:{padding:\"10px 18px\",borderRadius:0,backgroundColor:selectedSize===size?\"#000\":\"#fff\",color:selectedSize===size?\"#fff\":\"#000\",fontWeight:\"bold\",cursor:\"pointer\",border:\"1px solid #ddd\"},children:size},size))}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12},children:[/*#__PURE__*/_jsx(motion.button,{whileTap:{scale:buyNowButtonState.disabled?1:.98},onClick:handleBuyNow,disabled:buyNowButtonState.disabled,style:{width:\"320px\",padding:\"12px\",backgroundColor:buyNowButtonState.disabled?\"#6c757d\":\"#000\",color:\"#fff\",border:\"none\",borderRadius:0,fontWeight:\"bold\",fontSize:16,cursor:buyNowButtonState.disabled?\"not-allowed\":\"pointer\",opacity:buyNowButtonState.disabled?.7:1,transition:\"all 0.2s ease\"},children:buyNowButtonState.text}),/*#__PURE__*/_jsx(motion.button,{whileTap:{scale:addToCartButtonState.disabled?1:.98},onClick:handleAddToCart,disabled:addToCartButtonState.disabled,style:{width:\"320px\",padding:\"12px\",backgroundColor:addToCartButtonState.disabled?\"#6c757d\":\"#000\",color:\"#fff\",border:\"none\",borderRadius:0,fontWeight:\"bold\",fontSize:16,cursor:addToCartButtonState.disabled?\"not-allowed\":\"pointer\",opacity:addToCartButtonState.disabled?.7:1,transition:\"all 0.2s ease\"},children:addToCartButtonState.text})]}),/*#__PURE__*/_jsx(\"a\",{ref:linkRef,href:\"#\",target:\"_blank\",style:{display:\"none\"}})]});}// 🔧 Контролы для Framer\naddPropertyControls(SizeSelector,{sizes:{title:\"Sizes\",type:ControlType.String,defaultValue:\"S, M, L, XL\"},links:{title:\"Links\",type:ControlType.String,defaultValue:\"S:https://google.com, M:https://yandex.ru, L:https://buy-l.com, XL:https://buy-xl.com\"},productId:{title:\"Product ID\",type:ControlType.String,defaultValue:\"product_1\"},productName:{title:\"Product Name\",type:ControlType.String,defaultValue:\"Classic T-Shirt\"},productImage:{title:\"Product Image URL\",type:ControlType.String,defaultValue:\"https://via.placeholder.com/300x300\"},productPrice:{title:\"Product Price\",type:ControlType.String,defaultValue:\"1500\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SizeSelector\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SizesButtons.map"],"mappings":"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"}