{"version":3,"file":"Download_button.CSuck6xL.mjs","names":["useState","useRef","isOpen","_Fragment"],"sources":["https:/framerusercontent.com/modules/Met9J5JzjUXqJ809aDie/B2Xd9SIUD8oq6Ua1Yyjt/Download_button.js"],"sourcesContent":["// ISTO Multilingual Download Button Component for Framer\n// Fixed: Dropdown now uses React Portal to break out of \"overflow: hidden\" containers\n// Fixed: SSR-safe window access\n// https://www.framer.com/developers\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useRef,useEffect}from\"react\";import{createPortal}from\"react-dom\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function MultilingualDownload(props){const{buttonText,showIcon,englishFile,englishFilename,englishLabel,chineseFile,chineseFilename,chineseLabel,primaryColor,textColor,hoverColor,dropdownBgColor,dropdownTextColor,dropdownHoverColor,width,buttonHeight,borderRadius,dropdownDirection}=props;const[isOpen,setIsOpen]=useState(false);const[isDownloading,setIsDownloading]=useState(false);const[downloadingLang,setDownloadingLang]=useState(null);const[buttonRect,setButtonRect]=useState(null);const[windowWidth,setWindowWidth]=useState(0);const[isMounted,setIsMounted]=useState(false);const buttonRef=useRef(null);const dropdownRef=useRef(null);// Track mounted state for SSR safety\nuseEffect(()=>{setIsMounted(true);setWindowWidth(window.innerWidth);},[]);// Update position when opening\nconst updatePosition=()=>{if(buttonRef.current){const rect=buttonRef.current.getBoundingClientRect();setButtonRect(rect);if(typeof window!==\"undefined\"){setWindowWidth(window.innerWidth);}}};// Toggle logic with position calculation\nconst handleToggle=()=>{if(!isDownloading){if(!isOpen)updatePosition();setIsOpen(!isOpen);}};// Handle Resize / Scroll to update position or close\nuseEffect(()=>{if(typeof window===\"undefined\")return;const handleResizeOrScroll=()=>{if(isOpen)setIsOpen(false)// Close on scroll/resize for simplicity\n;};window.addEventListener(\"resize\",handleResizeOrScroll);window.addEventListener(\"scroll\",handleResizeOrScroll,true);return()=>{window.removeEventListener(\"resize\",handleResizeOrScroll);window.removeEventListener(\"scroll\",handleResizeOrScroll,true);};},[isOpen]);// Close dropdown when clicking outside (Updated for Portal)\nuseEffect(()=>{if(typeof document===\"undefined\")return;const handleClickOutside=event=>{const clickedButton=buttonRef.current&&buttonRef.current.contains(event.target);const clickedDropdown=dropdownRef.current&&dropdownRef.current.contains(event.target);if(!clickedButton&&!clickedDropdown){setIsOpen(false);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>document.removeEventListener(\"mousedown\",handleClickOutside);},[isOpen]);// Handle keyboard navigation\nconst handleKeyDown=event=>{if(event.key===\"Escape\"){setIsOpen(false);}else if(event.key===\"Enter\"||event.key===\" \"){handleToggle();}};// Helper: Sanitize filename and ensure .pdf extension\nconst sanitizeFilename=name=>{if(!name)return\"\";let cleanName=name.replace(/[^a-z0-9_\\-\\.\\s\\(\\)]/gi,\"_\");if(!cleanName.toLowerCase().endsWith(\".pdf\")){cleanName+=\".pdf\";}return cleanName;};const getFilename=language=>{const manualInput=language===\"en\"?englishFilename:chineseFilename;if(manualInput&&manualInput.trim()!==\"\"){return sanitizeFilename(manualInput);}const langSuffix=language===\"en\"?\"en\":\"tc\";return`document-${langSuffix}.pdf`;};const handleDownload=async language=>{const fileUrl=language===\"en\"?englishFile:chineseFile;const filename=getFilename(language);if(!fileUrl){console.error(`No file uploaded for ${language}`);return;}setIsOpen(false);setIsDownloading(true);setDownloadingLang(language);try{const response=await fetch(fileUrl);if(!response.ok)throw new Error(\"Network response was not ok\");const blob=await response.blob();const url=window.URL.createObjectURL(blob);const link=document.createElement(\"a\");link.href=url;link.download=filename;document.body.appendChild(link);link.click();document.body.removeChild(link);window.URL.revokeObjectURL(url);}catch(error){console.error(\"Renaming failed, falling back to standard open:\",error);window.open(fileUrl,\"_blank\");}finally{setIsDownloading(false);setDownloadingLang(null);}};// Styles\nconst containerStyle={width:width===\"full\"?\"100%\":\"auto\",display:\"inline-flex\",flexDirection:\"column\",fontFamily:\"'Proxima Nova', 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif\"};const buttonStyle={display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,width:width===\"full\"?\"100%\":\"auto\",height:`${buttonHeight}px`,minHeight:`${buttonHeight}px`,maxHeight:`${buttonHeight}px`,padding:\"0 16px\",backgroundColor:primaryColor,color:textColor,border:\"none\",borderRadius:borderRadius,fontSize:13,fontWeight:400,cursor:isDownloading?\"wait\":\"pointer\",transition:\"background-color 0.2s ease, transform 0.1s ease\",outline:\"none\",opacity:isDownloading?.8:1,boxSizing:\"border-box\",flexShrink:0,lineHeight:\"normal\",overflow:\"hidden\"};// Portal Styles - Fixed Position based on calculated rect\nconst portalStyle={position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",zIndex:9999};const dropdownStyle={position:\"absolute\",// Position logic\ntop:dropdownDirection===\"up\"?(buttonRect?.top||0)-4:(buttonRect?.bottom||0)+4,left:width===\"full\"?buttonRect?.left||0:(buttonRect?.right||0)-180,minWidth:width===\"full\"?buttonRect?.width||180:180,width:width===\"full\"?buttonRect?.width||\"auto\":\"max-content\",// Alignment corrections if right aligned and not full width\ntransform:width===\"full\"?dropdownDirection===\"up\"?\"translateY(-100%)\":\"none\":dropdownDirection===\"up\"?\"translateY(-100%) translateX(calc(180px - 100%))\"// Rough adjustment for right align\n:\"translateX(calc(180px - 100%))\",backgroundColor:dropdownBgColor,borderRadius:borderRadius,boxShadow:\"0 4px 20px rgba(0, 0, 0, 0.15)\",overflow:\"hidden\",pointerEvents:\"auto\",animation:\"fadeIn 0.2s ease forwards\"};// SSR-safe: Use windowWidth state instead of direct window.innerWidth access\nconst finalDropdownStyle={...dropdownStyle,left:width===\"full\"?buttonRect?.left||0:\"auto\",right:width===\"full\"?\"auto\":windowWidth-(buttonRect?.right||0)};const optionStyle={display:\"flex\",alignItems:\"center\",gap:10,padding:\"15px 30px\",color:dropdownTextColor,fontSize:14,fontWeight:500,cursor:\"pointer\",transition:\"background-color 0.15s ease\",borderBottom:`1px solid #E8F0ED`,whiteSpace:\"nowrap\"};const optionLastStyle={...optionStyle,borderBottom:\"none\"};// Icons\nconst DownloadIcon=({size=16,color=\"currentColor\"})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"7 10 12 15 17 10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"15\",x2:\"12\",y2:\"3\"})]});const ChevronIcon=({isOpen})=>/*#__PURE__*/_jsx(\"svg\",{width:12,height:12,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{transition:\"transform 0.2s ease\",transform:isOpen?\"rotate(180deg)\":\"rotate(0deg)\"},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"6 9 12 15 18 9\"})});const Spinner=()=>/*#__PURE__*/_jsxs(\"svg\",{width:16,height:16,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",style:{animation:\"spin 1s linear infinite\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }`}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\",strokeOpacity:\"0.25\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 2a10 10 0 0 1 10 10\",strokeOpacity:\"1\"})]});return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsx(\"button\",{ref:buttonRef,style:buttonStyle,onClick:handleToggle,onKeyDown:handleKeyDown,onMouseEnter:e=>{if(!isDownloading)e.currentTarget.style.backgroundColor=hoverColor;},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=primaryColor;},\"aria-haspopup\":\"listbox\",\"aria-expanded\":isOpen,disabled:isDownloading,children:isDownloading?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Spinner,{}),/*#__PURE__*/_jsx(\"span\",{children:\"Downloading...\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[showIcon&&/*#__PURE__*/_jsx(DownloadIcon,{}),/*#__PURE__*/_jsx(\"span\",{children:buttonText}),/*#__PURE__*/_jsx(ChevronIcon,{isOpen:isOpen})]})}),isOpen&&isMounted&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:portalStyle,children:/*#__PURE__*/_jsxs(\"div\",{ref:dropdownRef,style:finalDropdownStyle,role:\"listbox\",children:[/*#__PURE__*/_jsxs(\"div\",{style:optionStyle,onClick:()=>handleDownload(\"en\"),onMouseEnter:e=>e.currentTarget.style.backgroundColor=dropdownHoverColor,onMouseLeave:e=>e.currentTarget.style.backgroundColor=\"transparent\",role:\"option\",children:[/*#__PURE__*/_jsx(DownloadIcon,{size:14,color:dropdownTextColor}),/*#__PURE__*/_jsx(\"span\",{children:englishLabel})]}),/*#__PURE__*/_jsxs(\"div\",{style:optionLastStyle,onClick:()=>handleDownload(\"zh-TW\"),onMouseEnter:e=>e.currentTarget.style.backgroundColor=dropdownHoverColor,onMouseLeave:e=>e.currentTarget.style.backgroundColor=\"transparent\",role:\"option\",children:[/*#__PURE__*/_jsx(DownloadIcon,{size:14,color:dropdownTextColor}),/*#__PURE__*/_jsx(\"span\",{children:chineseLabel})]})]})}),document.body)]});}addPropertyControls(MultilingualDownload,{buttonText:{title:\"Button Text\",type:ControlType.String,defaultValue:\"Download PDF\"},showIcon:{title:\"Show Download Icon\",type:ControlType.Boolean,defaultValue:true},englishFile:{title:\"English PDF File\",type:ControlType.File,allowedFileTypes:[\"pdf\"]},englishFilename:{title:\"English Filename\",type:ControlType.String,defaultValue:\"Brochure_English\",description:\"Must be filled to rename file. We will add .pdf automatically.\"},englishLabel:{title:\"English Label\",type:ControlType.String,defaultValue:\"English\"},chineseFile:{title:\"繁體中文 PDF File\",type:ControlType.File,allowedFileTypes:[\"pdf\"]},chineseFilename:{title:\"Chinese Filename\",type:ControlType.String,defaultValue:\"Brochure_Chinese\",description:\"Must be filled to rename file. We will add .pdf automatically.\"},chineseLabel:{title:\"繁體中文 Label\",type:ControlType.String,defaultValue:\"繁體中文\"},primaryColor:{title:\"Button Color\",type:ControlType.Color,defaultValue:\"#0D5C4B\"},textColor:{title:\"Button Text Color\",type:ControlType.Color,defaultValue:\"#FFFFFF\"},hoverColor:{title:\"Button Hover Color\",type:ControlType.Color,defaultValue:\"#00773b\"},dropdownBgColor:{title:\"Dropdown Background\",type:ControlType.Color,defaultValue:\"#FFFFFF\"},dropdownTextColor:{title:\"Dropdown Text Color\",type:ControlType.Color,defaultValue:\"#1F2937\"},dropdownHoverColor:{title:\"Dropdown Hover Color\",type:ControlType.Color,defaultValue:\"#E8F4F0\"},width:{title:\"Width\",type:ControlType.Enum,defaultValue:\"auto\",options:[\"auto\",\"full\"],optionTitles:[\"Auto\",\"Full Width\"]},buttonHeight:{title:\"Height\",type:ControlType.Number,defaultValue:48,min:36,max:64,step:2},borderRadius:{title:\"Border Radius\",type:ControlType.Number,defaultValue:8,min:0,max:24,step:2},dropdownDirection:{title:\"Dropdown Direction\",type:ControlType.Enum,defaultValue:\"down\",options:[\"down\",\"up\"],optionTitles:[\"Down\",\"Up\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MultilingualDownload\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Download_button.map"],"mappings":"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"}