{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/E66cHbCYqeuSbjwCEhmy/Juknnt7HMuaeg74N5KMP/DropdownMenu.js"],
  "sourcesContent": ["// Dropdown menu with sortable Menu Items, configurable initial index,\n// active item display, and full property controls (no omissions)\n//\n// @framerSupportedLayoutWidth any-prefer-fixed\n// @framerSupportedLayoutHeight fixed\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useCallback,useRef,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";// \u521D\u671F\u8868\u793A\u7528\u306E\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u30E1\u30CB\u30E5\u30FC\nconst fallbackMenu=[{label:\"Japanese\",link:\"/\"},{label:\"English\",link:\"/en\"}];export default function DropdownMenu(props){// ---- Props -------------------------------------------------------------\nconst{/* \u57FA\u672C\u8A2D\u5B9A */menuItems=fallbackMenu,initialIndex=0,/* \u30DC\u30BF\u30F3\u306E\u30B9\u30BF\u30A4\u30EB */background,textColor,borderColor,borderWidth,borderRadius,font,/* \u30A2\u30AF\u30C6\u30A3\u30D6 & \u30DB\u30D0\u30FC\u6642\u306E\u30B9\u30BF\u30A4\u30EB */activeBackground,activeTextColor,itemHoverBackground,itemHoverTextColor,/* \u30E1\u30CB\u30E5\u30FC\u30EA\u30B9\u30C8\u306E\u30B9\u30BF\u30A4\u30EB */menuBackground,menuBorderColor,menuBorderWidth,menuBorderRadius,menuShadow,/* Framer \u304C\u81EA\u52D5\u3067\u6E21\u3059\u30B9\u30BF\u30A4\u30EB */style}=props;// ---- State ------------------------------------------------------------\nconst[open,setOpen]=useState(false);const[activeIndex,setActiveIndex]=useState(initialIndex);const menuRef=useRef(null);// ---- URL \u3068\u4E00\u81F4\u3059\u308B\u9805\u76EE\u304C\u3042\u308C\u3070\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u3059\u308B -----------------------\nuseEffect(()=>{if(typeof window===\"undefined\"||menuItems.length===0)return;const current=window.location.pathname.replace(/\\/$/,\"\");const idx=menuItems.findIndex(item=>item.link&&item.link.replace(/\\/$/,\"\")===current);if(idx!==-1&&idx!==activeIndex)setActiveIndex(idx);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[menuItems]);// ---- \u5916\u5074\u30AF\u30EA\u30C3\u30AF\u3067\u30E1\u30CB\u30E5\u30FC\u3092\u9589\u3058\u308B -----------------------------------\nuseEffect(()=>{if(!open)return;const handleOutside=e=>{if(menuRef.current&&!menuRef.current.contains(e.target)){setOpen(false);}};window.addEventListener(\"mousedown\",handleOutside);return()=>window.removeEventListener(\"mousedown\",handleOutside);},[open]);// ---- \u9078\u629E\u30CF\u30F3\u30C9\u30E9 ------------------------------------------------------\nconst handleSelect=useCallback(idx=>{setActiveIndex(idx);setOpen(false);if(typeof window!==\"undefined\"&&menuItems[idx]?.link){window.location.href=menuItems[idx].link;}},[menuItems]);// ---- \u30EC\u30F3\u30C0\u30EA\u30F3\u30B0 ------------------------------------------------------\nconst isFixedWidth=style?.width===\"100%\";return /*#__PURE__*/_jsxs(\"div\",{ref:menuRef,style:{...style,minWidth:isFixedWidth?undefined:180,position:\"relative\",display:\"inline-block\",fontFamily:font.fontFamily},children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-haspopup\":\"listbox\",\"aria-expanded\":open,onClick:()=>setOpen(!open),style:{width:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",background:background,color:textColor,border:`${borderWidth}px solid ${borderColor}`,borderRadius,padding:\"10px 16px\",cursor:\"pointer\",...font},children:[/*#__PURE__*/_jsx(\"span\",{children:menuItems[activeIndex]?.label||\"Select\"}),/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 20 20\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 8l4 4 4-4\",stroke:textColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsx(motion.ul,{role:\"listbox\",initial:{opacity:0,y:-10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-10,scale:.95},transition:{duration:.2,ease:[.4,0,.2,1]},style:{position:\"absolute\",top:48,left:0,width:\"100%\",margin:0,padding:0,background:menuBackground,border:`${menuBorderWidth}px solid ${menuBorderColor}`,borderRadius:menuBorderRadius,boxShadow:menuShadow?\"0 4px 16px rgba(0,0,0,0.08)\":undefined,zIndex:10,listStyle:\"none\",overflow:\"hidden\"},children:menuItems.map((item,idx)=>{const isActive=idx===activeIndex;return /*#__PURE__*/_jsx(motion.li,{role:\"option\",\"aria-selected\":isActive,initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{duration:.15,delay:idx*.03,ease:[.4,0,.2,1]},children:/*#__PURE__*/_jsx(motion.button,{type:\"button\",onClick:()=>handleSelect(idx),whileHover:{backgroundColor:isActive?activeBackground:itemHoverBackground,color:isActive?activeTextColor:itemHoverTextColor},whileTap:{scale:.98},transition:{duration:.15},style:{width:\"100%\",background:isActive?activeBackground:\"transparent\",color:isActive?activeTextColor:textColor,border:\"none\",outline:\"none\",padding:\"12px 16px\",textAlign:\"left\",cursor:\"pointer\",...font},children:item.label})},item.label);})})})]});}// ---- Property Controls ----------------------------------------------------\naddPropertyControls(DropdownMenu,{/* \u30E1\u30CB\u30E5\u30FC\u9805\u76EE */menuItems:{type:ControlType.Array,title:\"Menu Items\",sortable:true,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Menu\"},link:{type:ControlType.String,title:\"Link\",defaultValue:\"/\"}}},defaultValue:fallbackMenu,maxCount:10},/* \u521D\u671F\u8868\u793A\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9 */initialIndex:{type:ControlType.Number,title:\"Initial Index\",min:0,max:9,defaultValue:0,step:1,unit:\"#\"},/* \u25BC \u30DC\u30BF\u30F3\u30B9\u30BF\u30A4\u30EB ---------------------------------------------------- */background:{type:ControlType.Color,title:\"Button BG\",defaultValue:\"#1C1C1C\"},textColor:{type:ControlType.Color,title:\"Button Text\",defaultValue:\"#FFFFFF\"},borderColor:{type:ControlType.Color,title:\"Button Border\",defaultValue:\"#1F1F1F\"},borderWidth:{type:ControlType.Number,title:\"Button Border W\",defaultValue:1,min:0,max:8,step:1,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Button Radius\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},/* \u25BC \u30A2\u30AF\u30C6\u30A3\u30D6\u30FB\u30DB\u30D0\u30FC\u6642\u306E\u30B9\u30BF\u30A4\u30EB ---------------------------------- */activeBackground:{type:ControlType.Color,title:\"Active BG\",defaultValue:\"#333333\"},activeTextColor:{type:ControlType.Color,title:\"Active Text\",defaultValue:\"#FFFFFF\"},itemHoverBackground:{type:ControlType.Color,title:\"Hover BG\",defaultValue:\"#333333\"},itemHoverTextColor:{type:ControlType.Color,title:\"Hover Text\",defaultValue:\"#FFFFFF\"},/* \u25BC \u30E1\u30CB\u30E5\u30FC\u30EA\u30B9\u30C8\u306E\u30B9\u30BF\u30A4\u30EB ---------------------------------------- */menuBackground:{type:ControlType.Color,title:\"Menu BG\",defaultValue:\"#1C1C1C\"},menuBorderColor:{type:ControlType.Color,title:\"Menu Border\",defaultValue:\"#1F1F1F\"},menuBorderWidth:{type:ControlType.Number,title:\"Menu Border W\",defaultValue:1,min:0,max:8,step:1,unit:\"px\"},menuBorderRadius:{type:ControlType.Number,title:\"Menu Radius\",defaultValue:8,min:0,max:32,step:1,unit:\"px\"},menuShadow:{type:ControlType.Boolean,title:\"Menu Shadow\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DropdownMenu\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DropdownMenu.map"],
  "mappings": "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",
  "names": ["fallbackMenu", "DropdownMenu", "props", "menuItems", "initialIndex", "background", "textColor", "borderColor", "borderWidth", "borderRadius", "font", "activeBackground", "activeTextColor", "itemHoverBackground", "itemHoverTextColor", "menuBackground", "menuBorderColor", "menuBorderWidth", "menuBorderRadius", "menuShadow", "style", "open", "setOpen", "ye", "activeIndex", "setActiveIndex", "menuRef", "pe", "ue", "window", "current", "idx", "item", "handleOutside", "e", "handleSelect", "te", "isFixedWidth", "u", "p", "AnimatePresence", "motion", "isActive", "addPropertyControls", "ControlType"]
}
