{"version":3,"file":"GradientButton.DqYfL2gL.mjs","names":["React.useMemo","React.useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/Siu8Nu400536qNgSJltO/K0cxI08xpcXel8YFZHmL/GradientButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// Resting state = warm look (edit canvas와 play 동일)\nconst DEFAULT_VARS={posX:\"0%\",posY:\"91.51%\",spreadX:\"120.24%\",spreadY:\"103.18%\",color1:\"#c96287\",color2:\"#c66c64\",color3:\"#cc7d23\",color4:\"#37140a\",color5:\"#000\",borderAngle:\"190deg\",borderColor1:\"hsla(32, 55%, 82%, 0.1)\",borderColor2:\"hsla(28, 42%, 52%, 0.32)\",stop1:\"0%\",stop2:\"8.8%\",stop3:\"21.44%\",stop4:\"71.34%\",stop5:\"85.76%\"};const DEFAULT_HOVER={posX:\"0%\",posY:\"88%\",spreadX:\"128%\",spreadY:\"108%\",color1:\"#d46f95\",color2:\"#d07862\",color3:\"#e08a2b\",color4:\"#2a0c06\",color5:\"#000\",borderAngle:\"200deg\",borderColor1:\"hsla(36, 65%, 88%, 0.14)\",borderColor2:\"hsla(30, 50%, 68%, 0.48)\",stop1:\"0%\",stop2:\"7%\",stop3:\"24%\",stop4:\"74%\",stop5:\"88%\"};const VARIANT_VARS={posX:\"0%\",posY:\"91.51%\",spreadX:\"120.24%\",spreadY:\"103.18%\",color1:\"#000022\",color2:\"#1f3f6d\",color3:\"#469396\",color4:\"#f1ffa5\",color5:\"#000\",borderAngle:\"200deg\",borderColor1:\"hsla(190, 35%, 78%, 0.1)\",borderColor2:\"hsla(185, 30%, 48%, 0.32)\",stop1:\"0%\",stop2:\"8.8%\",stop3:\"21.44%\",stop4:\"71.34%\",stop5:\"85.76%\"};const TALENT_LINKS={operator:\"https://hyspark.career.greetinghr.com/ko/o/149872\",member:\"https://hyspark.career.greetinghr.com/ko/o/226426\"};function getTalentLink(label){if(label.includes(\"운영진 인재풀\"))return TALENT_LINKS.operator;if(label.includes(\"학회원 인재풀\"))return TALENT_LINKS.member;return\"\";}const VARIANT_HOVER={posX:\"0%\",posY:\"95.51%\",spreadX:\"110.24%\",spreadY:\"110.2%\",color1:\"#000020\",color2:\"#f1ffa5\",color3:\"#469396\",color4:\"#1f3f6d\",color5:\"#000\",borderAngle:\"210deg\",borderColor1:\"hsla(175, 40%, 85%, 0.14)\",borderColor2:\"hsla(180, 35%, 62%, 0.45)\",stop1:\"0%\",stop2:\"10%\",stop3:\"35.44%\",stop4:\"71.34%\",stop5:\"90.76%\"};function cssVars(uid,values){const out={};for(const[key,value]of Object.entries(values)){out[`--${uid}-${key}`]=value;}return out;}function varRef(uid,key){return`var(--${uid}-${key})`;}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function GradientButton(props){const isStatic=useIsStaticRenderer();const{label,variant,fontSize,paddingX,paddingY,minWidth,radius,transitionDuration,scrollTargetId,link,newTab}=props;const uid=React.useMemo(()=>\"gb\"+Math.random().toString(36).slice(2,9),[]);const isVariant=variant===\"variant\";const dur=`${transitionDuration}s`;const baseVars={...DEFAULT_VARS,...isVariant?VARIANT_VARS:{}};const hoverVars={...DEFAULT_HOVER,...isVariant?VARIANT_HOVER:{}};const handleClick=React.useCallback(()=>{if(isStatic||typeof window===\"undefined\")return;const id=scrollTargetId.trim().replace(/^#/,\"\");if(id&&typeof document!==\"undefined\"){const target=document.getElementById(id);if(target){target.scrollIntoView({behavior:\"smooth\",block:\"start\"});return;}}const targetLink=link||getTalentLink(label);if(targetLink)window.open(targetLink,newTab?\"_blank\":\"_self\",\"noopener,noreferrer\");},[isStatic,scrollTargetId,link,label,newTab]);const styleVars=cssVars(uid,baseVars);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @import url(\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@600&display=swap\");\n\n                @property --${uid}-posX { syntax: \"<percentage>\"; initial-value: 0%; inherits: false; }\n                @property --${uid}-posY { syntax: \"<percentage>\"; initial-value: 91.51%; inherits: false; }\n                @property --${uid}-spreadX { syntax: \"<percentage>\"; initial-value: 120.24%; inherits: false; }\n                @property --${uid}-spreadY { syntax: \"<percentage>\"; initial-value: 103.18%; inherits: false; }\n                @property --${uid}-color1 { syntax: \"<color>\"; initial-value: #c96287; inherits: false; }\n                @property --${uid}-color2 { syntax: \"<color>\"; initial-value: #c66c64; inherits: false; }\n                @property --${uid}-color3 { syntax: \"<color>\"; initial-value: #cc7d23; inherits: false; }\n                @property --${uid}-color4 { syntax: \"<color>\"; initial-value: #37140a; inherits: false; }\n                @property --${uid}-color5 { syntax: \"<color>\"; initial-value: #000; inherits: false; }\n                @property --${uid}-borderAngle { syntax: \"<angle>\"; initial-value: 190deg; inherits: false; }\n                @property --${uid}-borderColor1 { syntax: \"<color>\"; initial-value: hsla(32, 55%, 82%, 0.1); inherits: false; }\n                @property --${uid}-borderColor2 { syntax: \"<color>\"; initial-value: hsla(28, 42%, 52%, 0.32); inherits: false; }\n                @property --${uid}-stop1 { syntax: \"<percentage>\"; initial-value: 0%; inherits: false; }\n                @property --${uid}-stop2 { syntax: \"<percentage>\"; initial-value: 8.8%; inherits: false; }\n                @property --${uid}-stop3 { syntax: \"<percentage>\"; initial-value: 21.44%; inherits: false; }\n                @property --${uid}-stop4 { syntax: \"<percentage>\"; initial-value: 71.34%; inherits: false; }\n                @property --${uid}-stop5 { syntax: \"<percentage>\"; initial-value: 85.76%; inherits: false; }\n\n                .${uid} {\n                    position: relative;\n                    isolation: isolate;\n                    display: inline-flex;\n                    align-items: center;\n                    justify-content: center;\n                    min-width: ${minWidth}px;\n                    padding: ${paddingY}px ${paddingX}px;\n                    border: none;\n                    border-radius: ${radius}px;\n                    color: #fff;\n                    font-family: \"IBM Plex Sans KR\", ui-sans-serif, system-ui, sans-serif;\n                    font-size: ${fontSize}px;\n                    font-weight: 600;\n                    line-height: 1.25;\n                    letter-spacing: -0.02em;\n                    cursor: pointer;\n                    appearance: none;\n                    -webkit-appearance: none;\n                    -webkit-tap-highlight-color: transparent;\n                    background: radial-gradient(\n                        ${varRef(uid,\"spreadX\")} ${varRef(uid,\"spreadY\")} at ${varRef(uid,\"posX\")} ${varRef(uid,\"posY\")},\n                        ${varRef(uid,\"color1\")} ${varRef(uid,\"stop1\")},\n                        ${varRef(uid,\"color2\")} ${varRef(uid,\"stop2\")},\n                        ${varRef(uid,\"color3\")} ${varRef(uid,\"stop3\")},\n                        ${varRef(uid,\"color4\")} ${varRef(uid,\"stop4\")},\n                        ${varRef(uid,\"color5\")} ${varRef(uid,\"stop5\")}\n                    );\n                    transition:\n                        --${uid}-posX ${dur},\n                        --${uid}-posY ${dur},\n                        --${uid}-spreadX ${dur},\n                        --${uid}-spreadY ${dur},\n                        --${uid}-color1 ${dur},\n                        --${uid}-color2 ${dur},\n                        --${uid}-color3 ${dur},\n                        --${uid}-color4 ${dur},\n                        --${uid}-color5 ${dur},\n                        --${uid}-borderAngle ${dur},\n                        --${uid}-borderColor1 ${dur},\n                        --${uid}-borderColor2 ${dur},\n                        --${uid}-stop1 ${dur},\n                        --${uid}-stop2 ${dur},\n                        --${uid}-stop3 ${dur},\n                        --${uid}-stop4 ${dur},\n                        --${uid}-stop5 ${dur},\n                        transform 240ms cubic-bezier(0.16, 1, 0.3, 1);\n                }\n\n                .${uid}::before {\n                    content: \"\";\n                    position: absolute;\n                    inset: 0;\n                    border-radius: inherit;\n                    padding: 1px;\n                    background: linear-gradient(\n                        ${varRef(uid,\"borderAngle\")},\n                        ${varRef(uid,\"borderColor1\")},\n                        ${varRef(uid,\"borderColor2\")}\n                    );\n                    -webkit-mask:\n                        linear-gradient(#fff 0 0) content-box,\n                        linear-gradient(#fff 0 0);\n                    -webkit-mask-composite: xor;\n                    mask-composite: exclude;\n                    pointer-events: none;\n                }\n\n                .${uid} > span {\n                    position: relative;\n                    z-index: 1;\n                    display: inline-block;\n                    white-space: nowrap;\n                    text-shadow:\n                        0 1px 1.5px rgba(0, 0, 0, ${isVariant?.65:.45}),\n                        0 2px 8px rgba(0, 0, 0, ${isVariant?.55:.35}),\n                        0 0 18px rgba(0, 0, 0, ${isVariant?.45:.25});\n                }\n\n                .${uid}:hover {\n                    --${uid}-posX: ${hoverVars.posX};\n                    --${uid}-posY: ${hoverVars.posY};\n                    --${uid}-spreadX: ${hoverVars.spreadX};\n                    --${uid}-spreadY: ${hoverVars.spreadY};\n                    --${uid}-color1: ${hoverVars.color1};\n                    --${uid}-color2: ${hoverVars.color2};\n                    --${uid}-color3: ${hoverVars.color3};\n                    --${uid}-color4: ${hoverVars.color4};\n                    --${uid}-color5: ${hoverVars.color5};\n                    --${uid}-borderAngle: ${hoverVars.borderAngle};\n                    --${uid}-borderColor1: ${hoverVars.borderColor1};\n                    --${uid}-borderColor2: ${hoverVars.borderColor2};\n                    --${uid}-stop1: ${hoverVars.stop1};\n                    --${uid}-stop2: ${hoverVars.stop2};\n                    --${uid}-stop3: ${hoverVars.stop3};\n                    --${uid}-stop4: ${hoverVars.stop4};\n                    --${uid}-stop5: ${hoverVars.stop5};\n                    transform: translateY(-4px) scale(1.03);\n                }\n\n                .${uid}:active {\n                    transform: translateY(0) scale(0.985);\n                }\n            `}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:uid,\"aria-label\":label,onClick:handleClick,style:styleVars,children:/*#__PURE__*/_jsx(\"span\",{children:label})})]});}addPropertyControls(GradientButton,{label:{title:\"Label\",type:ControlType.String,defaultValue:\"Get Started\"},variant:{title:\"Variant\",type:ControlType.Enum,options:[\"default\",\"variant\"],optionTitles:[\"Warm\",\"Spectrum\"],defaultValue:\"default\",displaySegmentedControl:true},fontSize:{title:\"Font Size\",type:ControlType.Number,defaultValue:16,min:12,max:32,step:1},paddingX:{title:\"Padding X\",type:ControlType.Number,defaultValue:36,min:12,max:96,step:1},paddingY:{title:\"Padding Y\",type:ControlType.Number,defaultValue:16,min:8,max:40,step:1},minWidth:{title:\"Min Width\",type:ControlType.Number,defaultValue:132,min:0,max:480,step:1},radius:{title:\"Radius\",type:ControlType.Number,defaultValue:11,min:0,max:40,step:1},transitionDuration:{title:\"Anim Duration\",type:ControlType.Number,defaultValue:.5,min:.1,max:2,step:.1,unit:\"s\"},scrollTargetId:{title:\"Scroll To (ID)\",type:ControlType.String,defaultValue:\"\",placeholder:\"예: register\"},link:{title:\"Link\",type:ControlType.Link,defaultValue:\"\"},newTab:{title:\"New Tab\",type:ControlType.Boolean,defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GradientButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GradientButton.map"],"mappings":"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"}