{"version":3,"file":"AvoidLayoutJumping_Prod.Y37bECTX.mjs","names":["_Fragment","useRef"],"sources":["https:/framerusercontent.com/modules/ULfRcpFPm40RheG8xy3S/Pfxgjc633U68bx2ecZz0/Shared_config.js","https:/framerusercontent.com/modules/Nrs4jz2AAEOfEZRQEQij/7Ao2SBt1Ssf683HHXgzl/Shared_styles.js","https:/framerusercontent.com/modules/z7s7d2NhYNciN7G09hdf/Am5BTAlgzE3rws6PH1Qt/Loader.js","https:/framerusercontent.com/modules/J14wQOiI0O01kyXMgenS/ODFPbfbc3Lw68NQPcyta/Loading_spinner.js","https:/framerusercontent.com/modules/OnWAqZZNYQ9JhDoMpqGD/ky0aqyH28XdVmVjx9fGI/Cart_local_storage.js","https:/framerusercontent.com/modules/LC4yzgmOxZwXoP8NKAM5/kNhgpNsSAYdlHQ1fRhxQ/Market_local_storage.js","https:/framerusercontent.com/modules/biKipS1zWpT4tZ0cZhyk/1l8XdClJld0xwptzsD73/UseCurrentLocation.js","https:/framer.com/m/UseCurrentLocation-oZyA.js@1l8XdClJld0xwptzsD73","https:/framerusercontent.com/modules/CgNesoEVhclZxcf3DGoV/KiFqdjKmxFukmUMhyMDX/Plus.js","https:/framerusercontent.com/modules/rg6FA2ZzLed1GXAPqbZS/mzbz3S2bGl9kzIhDyRAM/Minus.js","https:/framerusercontent.com/modules/qGSs7SULtHSo8Msf1WUy/vraFd5f3jmKFoHJ9xWa7/Cart.js","https:/framerusercontent.com/modules/h8ioHyt4BUxuvVCE1Q10/aTM6mEMGlM19JjX8exDe/AvoidLayoutJumping_Prod.js"],"sourcesContent":["export const OPEN_CART_EVENT=\"framership-open-cart\";export const CLOSE_CART_EVENT=\"framership-close-cart\";\nexport const __FramerMetadata__ = {\"exports\":{\"CLOSE_CART_EVENT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"OPEN_CART_EVENT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Shared_config.map","export const Colors={Primary:{color:\"#000000\",placeholderColor:\"rgba(0, 0, 0, 0.5)\",fill:{color:\"#F3F3F3\",colorA:\"#999999\",colorB:\"#F3F3F3\"},hover:{fill:{color:\"#E6E6E6\",colorA:\"#8C8C8C\",colorB:\"#E6E6E6\"}}},Accent:{color:\"#FFFFFF\",fill:{color:\"#111111\",colorA:\"#5E5E5E\",colorB:\"#111111\"},hover:{fill:{color:\"#1F1F1F\",colorA:\"#6B6B6B\",colorB:\"#1F1F1F\"}}}};export const SHARED_COLORS={background:\"#F3F3F3\",backgroundHover:\"#E6E6E6\",backgroundMuted:\"#D9D9D9\",foreground:\"#111111\",foregroundHover:\"#2A2A2A\",foregroundMuted:\"#757575\",primary:\"#40D41A\"};export const SHARED_STYLES={borderRadius:\"10px\",buttonPadding:\"8px 16px 8px 16px\"};\nexport const __FramerMetadata__ = {\"exports\":{\"Colors\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHARED_STYLES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHARED_COLORS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Shared_styles.map","import{jsx as _jsx}from\"react/jsx-runtime\";export default function LoaderSvg({style}){return /*#__PURE__*/_jsx(\"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-loader-circle-icon lucide-loader-circle\",style:{...style},children:/*#__PURE__*/_jsx(\"path\",{d:\"M21 12a9 9 0 1 1-6.219-8.56\"})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LoaderSvg\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Loader.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import LoaderSvg from\"https://framerusercontent.com/modules/z7s7d2NhYNciN7G09hdf/Am5BTAlgzE3rws6PH1Qt/Loader.js\";export default function LoadingSpinner({style}){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n          @keyframes loading-spinner {\n            from {\n              transform: rotate(0deg);\n            }\n            to {\n              transform: rotate(360deg);\n            }\n          }\n        `}),/*#__PURE__*/_jsx(LoaderSvg,{style:{animation:\"loading-spinner 1s linear infinite\",...style}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LoadingSpinner\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Loading_spinner.map","const CART_ID_KEY=\"frameship_cart_id\";/**\n * Get cart ID from local storage\n */export const getCartIdFromStorage=()=>{try{return localStorage.getItem(CART_ID_KEY);}catch(error){console.error(\"Error getting cart ID from localStorage:\",error);return null;}};/**\n * Save cart ID to local storage\n */export const saveCartIdToStorage=cartId=>{try{localStorage.setItem(CART_ID_KEY,cartId);}catch(error){console.error(\"Error saving cart ID to localStorage:\",error);}};/**\n * Remove cart ID from local storage\n */export const removeCartIdFromStorage=()=>{try{localStorage.removeItem(CART_ID_KEY);}catch(error){console.error(\"Error removing cart ID from localStorage:\",error);}};/**\n * Check if cart ID exists in local storage\n */export const hasCartIdInStorage=()=>{return getCartIdFromStorage()!==null;};\nexport const __FramerMetadata__ = {\"exports\":{\"removeCartIdFromStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasCartIdInStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"saveCartIdToStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCartIdFromStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Cart_local_storage.map","const MARKET_KEY=\"frameship_selected_market\";/**\n * Get selected market from local storage\n */export const getMarketFromStorage=()=>{try{const stored=localStorage.getItem(MARKET_KEY);if(!stored)return null;return JSON.parse(stored);}catch(error){console.error(\"Error getting market from localStorage:\",error);return null;}};/**\n * Save selected market to local storage\n */export const saveMarketToStorage=market=>{try{localStorage.setItem(MARKET_KEY,JSON.stringify(market));}catch(error){console.error(\"Error saving market to localStorage:\",error);}};/**\n * Remove market from local storage\n */export const removeMarketFromStorage=()=>{try{localStorage.removeItem(MARKET_KEY);}catch(error){console.error(\"Error removing market from localStorage:\",error);}};/**\n * Check if market exists in local storage\n */export const hasMarketInStorage=()=>{return getMarketFromStorage()!==null;};\nexport const __FramerMetadata__ = {\"exports\":{\"removeMarketFromStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"saveMarketToStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMarketFromStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasMarketInStorage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Market_local_storage.map","//@ts-ignore\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRouter,useCurrentRouteId}from\"framer\";/**\n * React hook to get and set the current route location in a Framer project.\n * @param {Object} params - The parameters for the hook.\n * @param {boolean} params.strict - If true, the hook will enforce strict location matching.\n * @returns {[string, (string) => void]} - An Array with the current path and a Setter function\n * @example\n * const [location, setLocation] = useCurrentLocation();\n * setLocation('/about')\n * @docs - Refer to https://github.com/VictorienDotNet/Framer-Developer-Gems/blob/main/documentations/useCurrentLocation.md for futher details\n */const useCurrentLocation=params=>{const{navigate,routes}=useRouter();const currentRouteId=useCurrentRouteId();const currentLocation=routes?.[currentRouteId]?.path;const setCurrentLocation=pathWithHash=>{const[path,hash]=pathWithHash.split(\"#\");const routeID=Object.entries(routes)?.find(([,value])=>value?.path===path)?.[0];if(routeID){navigate(routeID,hash);}else if(!params?.strict){window.location.assign(path);}};return[currentLocation,setCurrentLocation];};export{useCurrentLocation};export default function A(){return /*#__PURE__*/_jsx(\"div\",{});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"A\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCurrentLocation\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UseCurrentLocation.map","/*\n * UseCurrentLocation\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/biKipS1zWpT4tZ0cZhyk/1l8XdClJld0xwptzsD73/UseCurrentLocation.js\"\nexport { default } from \"https://framerusercontent.com/modules/biKipS1zWpT4tZ0cZhyk/1l8XdClJld0xwptzsD73/UseCurrentLocation.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";export default function PlusSvg({style}){return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"32\",height:\"32\",fill:\"currentColor\",viewBox:\"0 0 256 256\",style:style,children:/*#__PURE__*/_jsx(\"path\",{d:\"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z\"})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PlusSvg\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Plus.map","import{jsx as _jsx}from\"react/jsx-runtime\";export default function MinusSvg({style}){return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"32\",height:\"32\",fill:\"currentColor\",viewBox:\"0 0 256 256\",style:style,children:/*#__PURE__*/_jsx(\"path\",{d:\"M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z\"})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MinusSvg\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Minus.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";export default function CartSvg({style}){return /*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{...style},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"21\",r:\"1\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"19\",cy:\"21\",r:\"1\"}),/*#__PURE__*/_jsx(\"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\"})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CartSvg\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Cart.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef}from\"react\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function AvoidLayoutJumping({direction,style}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const rafId=useRef();const vertical=direction===\"vertical\"||direction===\"both\";const horizontal=direction===\"horizontal\"||direction===\"both\";useEffect(()=>{if(isCanvas)return;const parent=ref.current?.parentElement?.parentElement;if(!parent)return;const container=parent.parentElement;if(!container)return;const updateSize=()=>{const rect=parent.getBoundingClientRect();if(horizontal){container.style.width=`${rect.width}px`;}if(vertical){container.style.height=`${rect.height}px`;}rafId.current=requestAnimationFrame(updateSize);};// Start the RAF loop\nrafId.current=requestAnimationFrame(updateSize);return()=>{if(rafId.current){cancelAnimationFrame(rafId.current);}if(container){if(horizontal){container.style.width=\"\";}if(vertical){container.style.height=\"\";}}};},[direction]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...style}});}AvoidLayoutJumping.displayName=\"Layout Jump Preventer\";addPropertyControls(AvoidLayoutJumping,{direction:{type:ControlType.Enum,defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\",\"both\"],optionTitles:[\"Vertical\",\"Horizontal\",\"Both\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\",// @ts-ignore\noptionIcons:[\"direction-vertical\",\"direction-horizontal\",\"direction-all\"],description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AvoidLayoutJumping\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AvoidLayoutJumping_Prod.map"],"mappings":"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"}