{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/B12xzzGu5tV27jDrWyaW/L4BKPCCq23jgYj4l3A6G/FC_ProductVariantState.js", "ssg:https://framerusercontent.com/modules/NQ9LlTfXzHTRhTTi6qMI/5u9VoSaQM7qxLI2scUcH/Loading.js"],
  "sourcesContent": ["/*\n * Framer Commerce\n * Confidential and Proprietary - All Rights Reserved\n * Unauthorized use, reproduction, distribution, or disclosure of this\n * source code or any related information is strictly prohibited.\n *\n * This software is the exclusive property of Framer Commerce (\"Company\").\n * It is considered highly confidential and proprietary information.\n *\n * Any use, copying, modification, distribution, or sharing of this software,\n * in whole or in part, without the express written permission of the Company\n * is strictly prohibited and may result in legal action.\n *\n * DISCLAIMER: This software does not provide any express or\n * implied warranties, including, but not limited to, the implied warranties\n * of merchantability and fitness for a particular purpose. In no event shall\n * Framer Commerce be liable for any direct, indirect, incidental, special,\n * exemplary, or consequential damages (including, but not limited to, procurement\n * of substitute goods or services; loss of use, data, or profits; or business\n * interruption) however caused and on any theory of liability, whether in\n * contract, strict liability, or tort (including negligence or otherwise)\n * arising in any way out of the use of this software, even if advised of\n * the possibility of such damage.\n *\n * Any unauthorized possession, use, copying, distribution, or dissemination\n * of this software will be considered a breach of confidentiality and may\n * result in legal action.\n *\n * For inquiries, contact:\n * Framer Commerce\n * Email: hello@framercommerce.com\n *\n * \u00A9 2024 Framer Commerce. All Rights Reserved.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useState,useCallback}from\"react\";import{get}from\"lodash-es\";/**\n * @framerDisableUnlink\n */export default function FC_ProductVariantState(props){const{shopifyProductID,textTemplate}=props;const[product,setProduct]=useState();const[selectedOptions,setSelectedOptions]=useState({});// Move handler outside useEffect for better stability\nconst handleVariantSelection=useCallback(event=>{// Directly set the new selected options\nsetSelectedOptions(prev=>({...prev,[event.detail.optionName]:event.detail.value}));},[]);useEffect(()=>{if(window[\"shopXtools\"]&&Array.isArray(window[\"shopXtools\"].products)){const _matchingProduct=window[\"shopXtools\"].products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);setProduct(_matchingProduct?_matchingProduct.node:\"404\");}else{document.addEventListener(\"data__products-ready\",e=>{if(Array.isArray(e.detail.products)){const _matchingProduct=e.detail.products.find(({node:_product})=>_product.id===`gid://shopify/Product/${shopifyProductID}`);setProduct(_matchingProduct?_matchingProduct.node:\"404\");}});}document.addEventListener(\"variant_option_selected\",handleVariantSelection);return()=>{document.removeEventListener(\"variant_option_selected\",handleVariantSelection);};},[shopifyProductID,handleVariantSelection]);const options=get(product,\"options\",[]);// Get remaining unselected options\nconst remainingOptions=options.filter(opt=>!selectedOptions[opt.name]).map(opt=>opt.name);const displayText=textTemplate.replace(\"{{variant}}\",remainingOptions.join(\", \"));return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...props.font,color:props.color,margin:0,textAlign:\"center\",textTransform:props.textTransform},children:displayText})});}FC_ProductVariantState.defaultProps={shopifyProductID:\"\",textTemplate:\"Select {{variant}}\",textTransform:\"none\",color:\"#000000\"};addPropertyControls(FC_ProductVariantState,{shopifyProductID:{type:ControlType.String,title:\"Product ID\"},textTemplate:{type:ControlType.String,title:\"Format\",description:\"Use {{variant}} to insert the variant name\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},textTransform:{type:ControlType.Enum,title:\"Text Transform\",options:[\"none\",\"uppercase\",\"lowercase\",\"capitalize\"],defaultValue:\"none\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FC_ProductVariantState\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FC_ProductVariantState.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{useRef,useEffect}from\"react\";import{addPropertyControls,ControlType,useAnimation,motion}from\"framer\";import{defaultEvents,useOnEnter,useOnExit}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";var Indicators;(function(Indicators){Indicators[\"DotWave\"]=\"Dots\";Indicators[\"Material\"]=\"Material\";Indicators[\"IOS\"]=\"iOS\";})(Indicators||(Indicators={}));const angleInRadians=angleInDegrees=>(angleInDegrees-90)*(Math.PI/180);const polarToCartesian=(centerX,centerY,radius,angleInDegrees)=>{const a=angleInRadians(angleInDegrees);return{x:centerX+radius*Math.cos(a),y:centerY+radius*Math.sin(a)};};const arc=(x,y,radius,startAngle,endAngle)=>{const fullCircle=endAngle-startAngle===360;const start=polarToCartesian(x,y,radius,endAngle-0.01);const end=polarToCartesian(x,y,radius,startAngle);const arcFlag=endAngle-startAngle<=180?\"0\":\"1\";let d=[\"M\",start.x,start.y,\"A\",radius,radius,0,arcFlag,0,end.x,end.y,].join(\" \");if(fullCircle)d+=\"z\";return d;};function Spinner({color}){const length=360;const endPercentage=length/360*100;const strokeWidth=10;const width=100;const height=100;return(/*#__PURE__*/ _jsxs(motion.div,{style:{height:\"85%\",width:\"85%\",position:\"relative\",originX:0.5,originY:0.5},animate:{rotate:360},transition:{loop:Infinity,ease:\"linear\",duration:0.5},children:[/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,position:\"absolute\",WebkitMask:`conic-gradient(rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0,1.0) ${endPercentage}%)`},viewBox:\"0 0 100 100\",children:/*#__PURE__*/ _jsx(\"g\",{transform:\"translate(0 0)\",children:/*#__PURE__*/ _jsx(\"path\",{d:arc(width/2,height/2,width/2-strokeWidth/2,0,length),fill:\"none\",stroke:color,strokeWidth:strokeWidth,strokeLinecap:\"round\"})})}),/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"100%\",width:\"100%\",position:\"absolute\"},viewBox:\"0 0 100 100\",children:/*#__PURE__*/ _jsx(\"g\",{transform:\"translate(50 0)\",children:/*#__PURE__*/ _jsx(\"path\",{d:\"M 0 0 C 2.761 0 5 2.239 5 5 C 5 7.761 2.761 10 0 10 C 0 10 0 0 0 0 Z\",fill:color})})})]}));}// <path d=\"M 0 0 C 2.761 0 5 2.239 5 5 C 5 7.761 2.761 10 0 10 C 0 10 0 0 0 0 Z\" fill=\"#CCC\"></path>\n// function Spinner({ color }) {\n//     return (\n//         <svg style={{ height: \"85%\", width: \"85%\" }} viewBox=\"0 0 100 100\">\n//             <motion.g\n//                 transform=\"translate(3 3)\"\n//                 animate={{ rotate: 360 }}\n//                 transition={{ loop: Infinity, ease: \"linear\", duration: 1 }}\n//             >\n//                 {pathStrings.map((data, i) => {\n//                     return <path d={data} fill={color} opacity={i / pathStrings.length} />\n//                 })}\n//             </motion.g>\n//         </svg>\n//     )\n// }\nfunction DotWave({color,animation}){const circles=[0,1,2];const{delay,ease,duration,...animProps}=animation;const transition=animation.type===\"spring\"?animProps:{...animProps,ease,duration};// console.log(animProps)\nreturn(/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"85%\",width:\"85%\"},viewBox:\"0 0 30 30\",variants:{show:{transition:{delayChildren:0.1,staggerChildren:0.12}}},animate:\"show\",children:circles.map(circle=>/*#__PURE__*/ _jsx(motion.circle,{style:{fill:color},variants:{hidden:{y:0},show:{y:[0,0,0,-10,0,0,0]}},transition:{...transition,yoyo:Infinity},r:3,cx:circle*10+5,cy:15},circle))}));}function Material({color,animation}){return(/*#__PURE__*/ _jsx(motion.svg,{style:{height:\"85%\",width:\"85%\",overflow:\"visible\",originX:\"50%\",originY:\"50%\"},animate:{rotate:360},transition:{ease:\"linear\",loop:Infinity,duration:2},viewBox:\"25 25 50 50\",children:/*#__PURE__*/ _jsx(motion.circle,{style:{stroke:color,strokeLinecap:\"round\"},animate:{strokeDasharray:[\"1, 200\",\"89, 200\",\"89, 200\"],strokeDashoffset:[0,-35,-124]},transition:{...animation,loop:Infinity,ease:\"easeInOut\"},cx:\"50\",cy:\"50\",r:\"20\",fill:\"none\",strokeWidth:2,strokeMiterlimit:\"10\"})}));}function IOS({color,animation}){const particles=12;// this was the death of me\nconst arrayRotate=(arr,n)=>arr.slice(n,arr.length).concat(arr.slice(0,n));const lines=[...new Array(particles)].map((l,i)=>0.9/particles*i+0.1).reverse();const lineOpacities=lines.map((l,i)=>arrayRotate(lines,i));return(/*#__PURE__*/ _jsx(motion.svg,{viewBox:\"-15 -15 30 30\",style:{width:\"100%\",height:\"100%\"},children:lineOpacities.map((lineKeyframes,i)=>/*#__PURE__*/ _jsx(motion.g,{initial:{opacity:lineKeyframes[0]},animate:{opacity:lineKeyframes},transition:{...animation,loop:Infinity,repeatDelay:0.0005},children:/*#__PURE__*/ _jsx(\"rect\",{style:{width:7,height:2,fill:color,transform:`rotate(${(particles-i)/particles*360-90}deg)`},x:5,y:-1,rx:1})},i))}));}function getIndicator(indicator,props){switch(indicator){case Indicators.DotWave:return(/*#__PURE__*/ _jsx(DotWave,{...props}));case Indicators.Material:return(/*#__PURE__*/ _jsx(Material,{...props}));case Indicators.IOS:return(/*#__PURE__*/ _jsx(IOS,{...props}));// case Indicators.Spinner:\n//     return <Spinner {...props} />\ndefault:return(/*#__PURE__*/ _jsx(DotWave,{...props}));}}export function handleTimeout(duration,callback){const id=setTimeout(callback,duration*1e3);return()=>clearTimeout(id);}/**\n * Loading\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export function Loading(props){const{duration,onTimeout,fadeOut,hasDuration,indicator,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,style}=props;const controls=useAnimation();const animDuration=fadeOut?Math.min(duration,0.35):0;const animDelay=fadeOut?duration-animDuration:duration;const currentIndicator=getIndicator(indicator,props);const handlers=useRef([]);const onFadeOut=React.useCallback(()=>{if(hasDuration)controls.start({opacity:0,transition:{duration:animDuration,ease:\"easeIn\"}});},[hasDuration,animDuration]);const resetOpacity=async()=>{controls.set({opacity:1});};useOnEnter(()=>{resetOpacity();if(hasDuration)handlers.current=[handleTimeout(duration,onTimeout),handleTimeout(animDelay,onFadeOut),];});// Cancel all timers on exit.\nuseOnExit(()=>handlers.current.forEach(cleanup=>cleanup));// Cancel all timers on unmount.\nuseEffect(()=>()=>handlers.current.forEach(cleanup=>cleanup),[]);return(/*#__PURE__*/ _jsx(motion.div,{onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,animate:controls,style:{position:\"relative\",overflow:\"show\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",...style},children:currentIndicator}));}Loading.defaultProps={height:40,width:40,duration:2,color:\"#888\",animation:{type:\"tween\",ease:\"linear\",duration:1.3},hasDuration:false};// Learn more: https://framer.com/api/property-controls/\naddPropertyControls(Loading,{indicator:{title:\"Indicator\",type:ControlType.Enum,options:Object.keys(Indicators).map(i=>Indicators[i])},color:{type:ControlType.Color,defaultValue:\"#888\"},// transition: { title: \"Animation\", type: ControlType.Transition },\nhasDuration:{title:\"Duration\",type:ControlType.Boolean,defaultValue:Loading.defaultProps.hasDuration,enabledTitle:\"Timeout\",disabledTitle:\"Infinity\"},duration:{title:\"Time\",hidden:({hasDuration})=>!hasDuration,min:0.1,max:10,defaultValue:Loading.defaultProps.duration,type:ControlType.Number,step:0.1},animation:{type:ControlType.Transition},fadeOut:{title:\"Fade Out\",hidden:({hasDuration})=>!hasDuration,type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},onTimeout:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"handleTimeout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Loading\":{\"type\":\"reactComponent\",\"name\":\"Loading\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Loading.map"],
  "mappings": "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",
  "names": ["init_ssg_sandbox_shims", "FC_ProductVariantState", "props", "shopifyProductID", "textTemplate", "product", "setProduct", "ye", "selectedOptions", "setSelectedOptions", "handleVariantSelection", "te", "event", "prev", "ue", "window", "_matchingProduct", "_product", "e", "remainingOptions", "get_default", "opt", "displayText", "p", "addPropertyControls", "ControlType", "init_ssg_sandbox_shims", "Indicators", "DotWave", "color", "animation", "circles", "delay", "ease", "duration", "animProps", "transition", "p", "motion", "circle", "Material", "IOS", "arrayRotate", "arr", "lines", "l", "i", "lineOpacities", "lineKeyframes", "getIndicator", "indicator", "props", "Indicators", "handleTimeout", "callback", "id", "Loading", "onTimeout", "fadeOut", "hasDuration", "onClick", "onMouseDown", "onMouseUp", "onMouseEnter", "onMouseLeave", "style", "controls", "useAnimation", "animDuration", "animDelay", "currentIndicator", "handlers", "pe", "onFadeOut", "te", "resetOpacity", "useOnEnter", "useOnExit", "cleanup", "ue", "addPropertyControls", "ControlType", "defaultEvents"]
}
