{"version":3,"file":"ShipmentInput.CwTCDXLP.mjs","names":["useStore","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:/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","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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"}