{"version":3,"file":"ShopifyCollectionFetch.BLuahmL0.mjs","names":["__esmMin","init_npm_react_18_3_1","window","ce","init_jsx_runtime","c","init_ssg_sandbox_shims","init_framer_BWFVvmND","addPropertyControls","RenderTarget","ControlType","ShopifyCollectionFetcher","props","isCanvas","collectionId","detectedLang","pathLocale","htmlLang","localeCode","formattedId","query","namespacesAndKeys","ns","key","nk","index","collectionData","SHOP_SUBDOMAIN","STOREFRONT_TOKEN","fetchedData","\"title\"","\"description\"","\"descriptionHtml\"","err","init_ShopifyCollectionFetch"],"sources":["https:/framerusercontent.com/modules/TEO59dUEJL6A3lihCy8h/HBrqWcAmKmmSCJhEfMNI/ShopifyCollectionFetch.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// ==========================================\n// 1. HARDCODE YOUR KEYS HERE (Bypass Framer UI)\n// ==========================================\nconst SHOP_SUBDOMAIN=\"bowling-stars\";const STOREFRONT_TOKEN=\"605c822ded51e6c3b91e2dd2d422f662\";export default function ShopifyCollectionFetcher(props){const{collectionId,namespacesAndKeys}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;if(!isCanvas){console.log(\"🧩 [SHOPIFY DEBUG] Collection Fetcher mounted. Collection ID received:\",collectionId);}React.useEffect(()=>{// If Collection ID is missing, abort.\nif(isCanvas||!collectionId){if(!isCanvas)console.log(\"⚠️ [SHOPIFY DEBUG] Aborting fetch: Collection ID is missing. Check your CMS binding!\");return;}// 2. Detect Locale (URL is King)\nlet detectedLang=\"fr\";const pathLocale=window.location.pathname.split(\"/\")[1];if(pathLocale&&pathLocale.length===2){detectedLang=pathLocale;}else{const htmlLang=document.documentElement.lang;if(htmlLang&&htmlLang!==\"x-default\"){detectedLang=htmlLang;}}const localeCode=detectedLang.split(\"-\")[0].toUpperCase();// 3. Fetch Data\nlet formattedId=collectionId.trim();// Ensure it uses the Collection GID\nif(!formattedId.startsWith(\"gid://shopify/Collection/\")){formattedId=`gid://shopify/Collection/${formattedId.replace(/\\D/g,\"\")}`;}const aliases=(namespacesAndKeys||[]).map((nk,index)=>{const[ns,key]=nk.split(\".\");if(!ns||!key)return\"\";return`field_${index}: metafield(namespace: \"${ns.trim()}\", key: \"${key.trim()}\") { value }`;}).join(\"\\n\");// 4. GraphQL Query for Collections\nconst query=`\n            query getCollectionData($id: ID!, $language: LanguageCode!) @inContext(language: $language) {\n                collection(id: $id) {\n                    title\n                    description\n                    descriptionHtml\n                    ${aliases}\n                }\n            }\n        `;const fetchAllData=async()=>{try{const response=await fetch(`https://${SHOP_SUBDOMAIN}.myshopify.com/api/2024-01/graphql.json`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",\"X-Shopify-Storefront-Access-Token\":STOREFRONT_TOKEN},body:JSON.stringify({query,variables:{id:formattedId,language:localeCode}})});const json=await response.json();const collectionData=json.data?.collection;if(collectionData){const fetchedData={};fetchedData[\"title\"]=collectionData.title||\"\";fetchedData[\"description\"]=collectionData.description||\"\";fetchedData[\"descriptionHtml\"]=collectionData.descriptionHtml||\"\";(namespacesAndKeys||[]).forEach((nk,index)=>{fetchedData[nk]=collectionData[`field_${index}`]?.value||null;});// Store in a distinct window object so it doesn't overwrite product data\n// @ts-ignore\nwindow.__SHOPIFY_COLLECTION_DATA=fetchedData;// Dispatch a distinct event for collections\nwindow.dispatchEvent(new CustomEvent(\"shopify_collection_ready\"));}}catch(err){console.error(\"❌ [SHOPIFY DEBUG] Collection API Fetch Failed:\",err);}};fetchAllData();},[collectionId,namespacesAndKeys,isCanvas]);if(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{padding:\"8px 12px\",backgroundColor:\"#059669\",color:\"#FFFFFF\",fontSize:12,fontWeight:600,borderRadius:6,display:\"inline-flex\",pointerEvents:\"none\"},children:\"📁 Shopify Collection Fetcher\"});}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"none\"}});}addPropertyControls(ShopifyCollectionFetcher,{collectionId:{type:ControlType.String,title:\"Collection ID\"},namespacesAndKeys:{type:ControlType.Array,control:{type:ControlType.String},title:\"Metafields to Fetch\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShopifyCollectionFetcher\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShopifyCollectionFetch.map"],"mappings":"A,gMAG+F,SAAwBW,EAAyB,EAAM,CAAC,GAAK,CAAC,eAAa,qBAAmBC,EAAYC,EAASJ,EAAa,QAAQ,IAAIA,EAAa,OAiB6M,OAjBlMI,GAAU,QAAQ,IAAI,yEAAyEC,CAAY,EAAGX,MAAoB,CACrY,GAAGU,GAAU,CAACC,EAAa,CAAKD,GAAS,QAAQ,IAAI,sFAAsF,EAAE,MAAO,CACpJ,IAAIE,EAAa,KAAWC,EAAWd,EAAO,SAAS,SAAS,MAAM,GAAG,CAAC,CAAC,GAAG,GAAGc,GAAYA,EAAW,SAAS,EAAG,EAAaA,MAAgB,CAAC,IAAMC,EAAS,SAAS,gBAAgB,KAAQA,GAAUA,IAAW,cAAa,EAAaA,EAAU,CAAC,IAAMC,EAAWH,EAAa,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,EAChTI,EAAYL,EAAa,KAAK,EAC9BK,EAAY,WAAW,2BAA2B,IAAG,EAAY,4BAA4BA,EAAY,QAAQ,MAAM,EAAE,KAC7H,IAAMC,EAAM;;;;;;uBADqIC,GAAmB,CAAC,EAAA,CAAG,KAAK,EAAG,IAAQ,CAAC,GAAK,CAACC,EAAGC,GAAKC,EAAG,MAAM,GAAG,EAAwB,MAAnB,CAACF,GAAI,CAACC,EAAU,GAAS,SAASE,EAAM,0BAA0BH,EAAG,KAAK,EAAE,WAAWC,EAAI,KAAK,EAAE,aAAc,CAAC,CAAC,CAAC,KAAK;CAOpT,EAAE;;;WAMwH,SAHhH,CAAC,GAAG,CAA8T,IAAMG,GAAe,MAArC,MAAxR,MAAM,WAAWC,EAAe,yCAAyC,CAAC,OAAO,OAAO,QAAQ,CAAC,eAAe,mBAAmB,oCAAoCC,CAAgB,EAAE,KAAK,KAAK,UAAU,CAAC,QAAM,UAAU,CAAC,GAAGT,EAAY,SAASD,CAAU,CAAC,CAAC,CAAC,CAAC,EAAA,CAA4B,KAAK,EAAA,CAA4B,MAAM,WAAW,GAAGQ,EAAe,CAAC,IAAMG,EAAY,CAAC,EAAE,EAAYC,MAASJ,EAAe,OAAO,GAAG,EAAYK,YAAeL,EAAe,aAAa,GAAG,EAAYM,gBAAmBN,EAAe,iBAAiB,IAAIL,GAAmB,CAAC,EAAA,CAAG,SAAS,EAAG,IAAQ,CAAC,EAAYG,GAAIE,EAAe,SAASD,IAAQ,EAAE,OAAO,IAAK,CAAC,EAEjtB,EAAO,0BAA0BI,EACjC3B,EAAO,cAAc,IAAI,YAAY,0BAA0B,CAAC,CAAE,CAAC,OAAO+B,EAAI,CAAC,QAAQ,MAAM,iDAAiDA,CAAG,CAAE,CAAC,EAAE,CAAa,CAAE,EAAE,CAACnB,EAAaO,EAAkBR,CAAQ,CAAC,EAAKA,EAA8B,gBAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,WAAW,gBAAgB,UAAU,MAAM,UAAU,SAAS,GAAG,WAAW,IAAI,aAAa,EAAE,QAAQ,cAAc,cAAc,MAAM,EAAE,SAAS,+BAA+B,CAAC,EAAuB,gBAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAE,C,sDAjBxf,EAAe,gBAAsB,EAAiB,mCAiBmcL,EAAoBG,EAAyB,CAAC,aAAa,CAAC,KAAKD,EAAY,OAAO,MAAM,eAAe,EAAE,kBAAkB,CAAC,KAAKA,EAAY,MAAM,QAAQ,CAAC,KAAKA,EAAY,MAAM,EAAE,MAAM,qBAAqB,CAAC,CAAC,C"}