{"version":3,"file":"ShipmentInput.CGejKHDc.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/xrx2NuS0wvJ2En8zcyks/iuIleb38ORbFqNLLQQbj/data.js","https:/framerusercontent.com/modules/Ajh29yGVVTheMXiWaOo9/UXk9QCXRoH4fJCMjKFIn/currency.js","https:/framerusercontent.com/modules/hSSduZ7Ri2tYI9Wj4vza/VT1fT0oUhAY2yUsrSP2T/helpers.js","https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/ynsPCjH2igeZ2nQP7Nxt/W53Glct7pARFne0JAmCD/store.js","https:/framerusercontent.com/modules/7cgvXBMJCrHaTcVXomYz/TFLgZTA3lr3jePcX524C/ShipmentInput.js"],"sourcesContent":["const payAsYouGoPerShipmentPrices={ja:33,\"en-US\":.25,\"fr-Fr\":.25,\"en-AU\":.35,\"en-SG\":.35,zh:2,\"ko-KR\":300};const subscriberMonthlyShipmentPrices={ja:{\"50\":1100,\"100\":2090,\"200\":3960,\"350\":6545,\"500\":8800,\"750\":12375,\"1000\":15400,\"1500\":23100,\"2000\":28600,\"3000\":39600},\"en-US\":{\"50\":9,\"100\":17,\"200\":30,\"350\":50,\"500\":70,\"750\":100,\"1000\":125,\"1500\":185,\"2000\":240,\"3000\":320},\"fr-Fr\":{\"50\":8,\"100\":15,\"200\":30,\"350\":50,\"500\":65,\"750\":90,\"1000\":110,\"1500\":165,\"2000\":200,\"3000\":280},\"en-AU\":{\"50\":13,\"100\":25,\"200\":45,\"350\":75,\"500\":100,\"750\":150,\"1000\":180,\"1500\":270,\"2000\":330,\"3000\":460},\"en-SG\":{\"50\":12,\"100\":23,\"200\":45,\"350\":75,\"500\":100,\"750\":140,\"1000\":175,\"1500\":250,\"2000\":320,\"3000\":440},zh:{\"50\":60,\"100\":115,\"200\":220,\"350\":350,\"500\":450,\"750\":675,\"1000\":850,\"1500\":1200,\"2000\":1600,\"3000\":2250},\"ko-KR\":{\"50\":1e4,\"100\":19e3,\"200\":37e3,\"350\":59500,\"500\":8e4,\"750\":112500,\"1000\":14e4,\"1500\":203e3,\"2000\":26e4,\"3000\":36e4}};const subscriberPerShipmentPrices={ja:{\"50\":22,\"100\":20,\"200\":19,\"350\":18,\"500\":17,\"750\":16,\"1000\":15,\"1500\":15,\"2000\":14,\"3000\":13},\"en-US\":{\"50\":.18,\"100\":.17,\"200\":.15,\"350\":.14,\"500\":.14,\"750\":.13,\"1000\":.13,\"1500\":.12,\"2000\":.12,\"3000\":.11},\"fr-Fr\":{\"50\":.16,\"100\":.15,\"200\":.14,\"350\":.14,\"500\":.13,\"750\":.12,\"1000\":.11,\"1500\":.11,\"2000\":.1,\"3000\":.09},\"en-AU\":{\"50\":.26,\"100\":.25,\"200\":.23,\"350\":.21,\"500\":.2,\"750\":.2,\"1000\":.18,\"1500\":.18,\"2000\":.17,\"3000\":.15},\"en-SG\":{\"50\":.24,\"100\":.23,\"200\":.23,\"350\":.21,\"500\":.2,\"750\":.19,\"1000\":.18,\"1500\":.17,\"2000\":.16,\"3000\":.15},zh:{\"50\":1.24,\"100\":1.15,\"200\":1.1,\"350\":1,\"500\":.9,\"750\":.9,\"1000\":.85,\"1500\":.8,\"2000\":.8,\"3000\":.75},\"ko-KR\":{\"50\":195,\"100\":190,\"200\":185,\"350\":170,\"500\":160,\"750\":150,\"1000\":140,\"1500\":135,\"2000\":130,\"3000\":120}};export{payAsYouGoPerShipmentPrices,subscriberPerShipmentPrices,subscriberMonthlyShipmentPrices,};// 08.25.2025\n// data.ts\nexport const perShipmentPrices={ja:{50:22,1e3:18,3e3:15,5e3:13,1e4:11,Infinity:10},\"en-US\":{50:.15,1e3:.12,3e3:.1,5e3:.09,1e4:.075,Infinity:.068},\"fr-Fr\":{50:.13,1e3:.1,3e3:.09,5e3:.08,1e4:.064,Infinity:.058}};export const infraFees={ja:{50:1100,1e3:3300,3e3:5500,5e3:8800,1e4:9900,Infinity:11e3},\"en-US\":{50:7,1e3:22,3e3:37,5e3:60,1e4:67,Infinity:75},\"fr-Fr\":{50:6,1e3:19,3e3:32,5e3:51,1e4:57,Infinity:64}};\nexport const __FramerMetadata__ = {\"exports\":{\"perShipmentPrices\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"infraFees\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"payAsYouGoPerShipmentPrices\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"subscriberMonthlyShipmentPrices\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"subscriberPerShipmentPrices\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./data.map","// currency.ts\nexport const supportedCurrencies={ja:{code:\"JPY\",symbol:\"\\xa5\"},\"en-US\":{code:\"USD\",symbol:\"$\"},\"fr-Fr\":{code:\"EUR\",symbol:\"€\"}};// Format a number with the right currency\nexport function formatCurrency(value,locale){const{code}=supportedCurrencies[locale];// JPY has no decimals, USD/EUR have 2\nconst fractionDigits=code===\"JPY\"?0:2;return new Intl.NumberFormat(undefined,{style:\"currency\",currency:code,minimumFractionDigits:fractionDigits,maximumFractionDigits:fractionDigits}).format(value);}\nexport const __FramerMetadata__ = {\"exports\":{\"formatCurrency\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"supportedCurrencies\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./currency.map","import{payAsYouGoPerShipmentPrices,subscriberPerShipmentPrices,subscriberMonthlyShipmentPrices,perShipmentPrices,infraFees}from\"https://framerusercontent.com/modules/xrx2NuS0wvJ2En8zcyks/iuIleb38ORbFqNLLQQbj/data.js\";import{formatCurrency}from\"https://framerusercontent.com/modules/Ajh29yGVVTheMXiWaOo9/UXk9QCXRoH4fJCMjKFIn/currency.js\";const currencySymbole={ja:\"JPY\",\"en-US\":\"USD\",\"fr-Fr\":\"EUR\",\"en-AU\":\"AUD\",\"en-SG\":\"SGD\",zh:\"CNY\",\"ko-KR\":\"KRW\"};const currencyContact={ja:\"お問い合わせ\",\"en-US\":\"Contact\"};function getContactText(currency){return currencyContact[currency]||currencyContact[\"en-US\"];}function getFormattedPrice(price,currency){const formatter=new Intl.NumberFormat(currency,{style:\"currency\",currency:currencySymbole[currency],minimumFractionDigits:0,maximumFractionDigits:20});return formatter.format(price);}function getFormattedPayAsYouGoPerShipmentPrice(currency){return getFormattedPrice(payAsYouGoPerShipmentPrices[currency],currency);}function getFormattedPayAsYouGoMonthlyPrice(currency,items){if(isNaN(items)||items<10||items>3e3){return getContactText(currency);}return getFormattedPrice(payAsYouGoPerShipmentPrices[currency]*items,currency);}function getSubscriberPerShipmentPrice(shipments,currency){let price=null;if(isNaN(shipments)){return price;}if(shipments<10){price=null;}else if(shipments<=50){price=subscriberPerShipmentPrices[currency][\"50\"];}else if(shipments<=100){price=subscriberPerShipmentPrices[currency][\"100\"];}else if(shipments<=200){price=subscriberPerShipmentPrices[currency][\"200\"];}else if(shipments<=350){price=subscriberPerShipmentPrices[currency][\"350\"];}else if(shipments<=500){price=subscriberPerShipmentPrices[currency][\"500\"];}else if(shipments<=750){price=subscriberPerShipmentPrices[currency][\"750\"];}else if(shipments<=1e3){price=subscriberPerShipmentPrices[currency][\"1000\"];}else if(shipments<=1500){price=subscriberPerShipmentPrices[currency][\"1500\"];}else if(shipments<=2e3){price=subscriberPerShipmentPrices[currency][\"2000\"];}else if(shipments<=3e3){price=subscriberPerShipmentPrices[currency][\"3000\"];}else{return null;}return price;}function getFormattedSubscriberPerShipmentPrice(shipments,currency){const price=getSubscriberPerShipmentPrice(shipments,currency);if(price===null){return getContactText(currency);}return getFormattedPrice(price,currency);}function getFormattedSubscriberMonthlyPrice(shipments,currency){const price=getSubscriberPerShipmentPrice(shipments,currency);if(price===null){return getContactText(currency);}let maxShipments=0;if(shipments<=50){maxShipments=50;}else if(shipments<=100){maxShipments=100;}else if(shipments<=200){maxShipments=200;}else if(shipments<=350){maxShipments=350;}else if(shipments<=500){maxShipments=500;}else if(shipments<=750){maxShipments=750;}else if(shipments<=1e3){maxShipments=1e3;}else if(shipments<=1500){maxShipments=1500;}else if(shipments<=2e3){maxShipments=2e3;}else if(shipments<=3e3){maxShipments=3e3;}else{return\"Contact\";}// return getFormattedPrice(price * maxShipments, currency)\nreturn getFormattedPrice(subscriberMonthlyShipmentPrices[currency][maxShipments],currency);}export{getFormattedPayAsYouGoMonthlyPrice,getFormattedPayAsYouGoPerShipmentPrice,getFormattedSubscriberPerShipmentPrice,getFormattedSubscriberMonthlyPrice,};// new\nfunction getFormattedPerShipmentPrice(shipments,currency){const price=getSubscriberPerShipmentPrice(shipments,currency);if(price===null){return getContactText(currency);}return getFormattedPrice(price,currency);}function getFormattedMonthlyPrice(shipments,currency){const price=getSubscriberPerShipmentPrice(shipments,currency);if(price===null){return getContactText(currency);}let maxShipments=0;if(shipments<=50){maxShipments=50;}else if(shipments<=100){maxShipments=100;}else if(shipments<=200){maxShipments=200;}else if(shipments<=350){maxShipments=350;}else if(shipments<=500){maxShipments=500;}else if(shipments<=750){maxShipments=750;}else if(shipments<=1e3){maxShipments=1e3;}else if(shipments<=1500){maxShipments=1500;}else if(shipments<=2e3){maxShipments=2e3;}else if(shipments<=3e3){maxShipments=3e3;}else{return\"Contact\";}// return getFormattedPrice(price * maxShipments, currency)\nreturn getFormattedPrice(subscriberMonthlyShipmentPrices[currency][maxShipments],currency);}export{getFormattedPerShipmentPrice,getFormattedMonthlyPrice};// 08.25.2025\n// import { perShipmentPrices, infraFees } from \"./pricing/data.ts\"\n// import { formatCurrency } from \"./pricing/currency.ts\"\n// // Generic tier lookup\n// function findTierValue(\n//     table: Record<number, number>,\n//     shipments: number\n// ): number {\n//     const sorted = Object.keys(table)\n//         .map(Number)\n//         .sort((a, b) => a - b)\n//     for (const threshold of sorted) {\n//         if (shipments <= threshold || threshold === Infinity) {\n//             return table[threshold]\n//         }\n//     }\n//     return 0\n// }\n// // Get per-shipment price\n// export function getPerShipmentPrice(\n//     shipments: number,\n//     currency: keyof typeof perShipmentPrices\n// ): number {\n//     return findTierValue(perShipmentPrices[currency], shipments)\n// }\n// // Get infra fee\n// export function getInfrastructureFee(\n//     shipments: number,\n//     currency: keyof typeof infraFees\n// ): number {\n//     return findTierValue(infraFees[currency], shipments)\n// }\n// // Compute monthly total\n// export function getMonthlyTotal(\n//     shipments: number,\n//     currency: keyof typeof perShipmentPrices\n// ): number {\n//     const perShipment = getPerShipmentPrice(shipments, currency)\n//     const infra = getInfrastructureFee(shipments, currency)\n//     return shipments * perShipment + infra\n// }\n// // Formatted helpers\n// export function getFormattedPerShipment(\n//     shipments: number,\n//     currency: keyof typeof perShipmentPrices\n// ): string {\n//     return formatCurrency(getPerShipmentPrice(shipments, currency), currency)\n// }\n// export function getFormattedInfrastructureFee(\n//     shipments: number,\n//     currency: keyof typeof infraFees\n// ): string {\n//     return formatCurrency(getInfrastructureFee(shipments, currency), currency)\n// }\n// export function getFormattedMonthlyTotal(\n//     shipments: number,\n//     currency: keyof typeof perShipmentPrices\n// ): string {\n//     return formatCurrency(getMonthlyTotal(shipments, currency), currency)\n// }\n// 08.29.2025\n// Compute tiered cost (progressive pricing model)\nfunction calculateTieredShipmentCost(shipments,table){let remaining=shipments;let lastThreshold=0;let total=0;const sortedThresholds=Object.keys(table).map(Number).sort((a,b)=>a-b);for(const threshold of sortedThresholds){if(remaining<=0)break;const tierSize=threshold-lastThreshold;const countInTier=Math.min(remaining,tierSize);const pricePerShipment=table[threshold];total+=countInTier*pricePerShipment;remaining-=countInTier;lastThreshold=threshold;}return total;}// Infrastructure fee (flat by tier)\nexport function getInfrastructureFee(shipments,currency){return calculateFlatFee(shipments,infraFees[currency]);}function calculateFlatFee(shipments,table){const sorted=Object.keys(table).map(Number).sort((a,b)=>a-b);for(const threshold of sorted){if(shipments<=threshold||threshold===Infinity){return table[threshold];}}return 0;}// Monthly total = tiered shipment cost + infra fee\nexport function getMonthlyTotal(shipments,currency){const shipmentCost=calculateTieredShipmentCost(shipments,perShipmentPrices[currency]);const infra=getInfrastructureFee(shipments,currency);return shipmentCost+infra;}// ---- Formatted outputs ----\nexport function getFormattedPerShipment(shipments,currency){// effective avg price per shipment\nconst total=getMonthlyTotal(shipments,currency)-getInfrastructureFee(shipments,currency);const avg=shipments>0?total/shipments:0;return formatCurrency(avg,currency);}export function getFormattedInfrastructureFee(shipments,currency){return formatCurrency(getInfrastructureFee(shipments,currency),currency);}export function getFormattedMonthlyTotal(shipments,currency){return formatCurrency(getMonthlyTotal(shipments,currency),currency);}\nexport const __FramerMetadata__ = {\"exports\":{\"getFormattedMonthlyTotal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedMonthlyPrice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedSubscriberMonthlyPrice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedPayAsYouGoMonthlyPrice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedPayAsYouGoPerShipmentPrice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedPerShipmentPrice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedInfrastructureFee\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedSubscriberPerShipmentPrice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMonthlyTotal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getInfrastructureFee\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFormattedPerShipment\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./helpers.map","import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";// Function to determine the default currency based on the URL\nfunction getDefaultCurrency(){const url=typeof window!==\"undefined\"?window.location.href:\"\";if(url===\"\"){return\"ja\"// Default to \"ja\" if no window is defined\n;}else{const url=window.location.href;if(url.includes(\"/ja/\")){return\"ja\";}else if(url.includes(\"/en/\")){return\"en-US\";}else{return\"ja\"// Default to \"ja\" if neither condition is met\n;}}}const twelveMonthsAgo=new Date;twelveMonthsAgo.setMonth(twelveMonthsAgo.getMonth()-12);const useStore=createStore({currency:getDefaultCurrency(),items:100,twelveMonthsAgo:twelveMonthsAgo});export{useStore};\nexport const __FramerMetadata__ = {\"exports\":{\"useStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./store.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useStore}from\"https://framerusercontent.com/modules/ynsPCjH2igeZ2nQP7Nxt/W53Glct7pARFne0JAmCD/store.js\";function ShipmentInput(props){const[store,setStore]=useStore();const handleChange=event=>{let value=parseInt(event.target.value,10);setStore({items:value});};return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",padding:10},children:/*#__PURE__*/_jsx(\"input\",{onChange:handleChange,style:{width:140,height:60,padding:\"10px\",fontSize:\"18px\",borderRadius:\"6px\",border:\"1px solid #cccccc\"},// max={3000}\nstep:10,min:10,placeholder:\"100\",type:\"number\",value:store.items})});}export default ShipmentInput// function ShipmentInput(props) {\n//     const [store, setStore] = useStore()\n//     const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n//         let value = parseInt(event.target.value, 10)\n//         if (isNaN(value) || value < 0) {\n//             value = 0\n//         }\n//         // store.items = number of shipments\n//         setStore({ items: value })\n//     }\n// return (\n//     <div style={{ width: \"100%\", padding: 10 }}>\n//         <input\n//             onChange={handleChange}\n//             style={{\n//                 width: 160,\n//                 height: 60,\n//                 padding: \"12px\",\n//                 fontSize: \"18px\",\n//                 borderRadius: \"6px\",\n//                 border: \"1px solid #cccccc\",\n//             }}\n//             min={0}\n//             step={1}\n//             placeholder=\"Enter shipments\"\n//             type=\"number\"\n//             value={store.items || \"\"}\n//         />\n//     </div>\n// )\n// }\n// export default ShipmentInput\n;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShipmentInput\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShipmentInput.map"],"mappings":"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"}