{"version":3,"file":"Buttonv2.nxTyIFOF.mjs","names":["useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/ANKp5huTB8JbpYJq29Ia/swvjr8Ik0IAMk0tFwW8o/Buttonv2.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * SMUC Button — Code Component pour Framer\n *\n * 3 modes :\n *  - \"Lien\"        → <a href>   (ex. \"Me licencier\" vers MonClub)\n *  - \"Formulaire\"  → <button type=\"submit\">  (à placer DANS un Form Framer)\n *  - \"Action\"      → <button type=\"button\">  (interaction Framer via \"Au clic\")\n *\n * Installation :\n *  1. Assets → + → Code File → \"Button.tsx\", colle ce code.\n *  2. Dans un formulaire : glisse le composant dans le calque \"Form\",\n *     choisis Mode = \"Formulaire\", Largeur = Fill + \"Pleine largeur\".\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */// ---- Palette SMUC ----\nconst COLORS={blue:\"#3b5bff\",violet:\"#6c5cff\",ink:\"#0c1124\",line:\"rgba(255,255,255,0.14)\"};const SIZES={small:{padding:\"10px 18px\",font:14,gap:7},medium:{padding:\"13px 24px\",font:15,gap:9},large:{padding:\"16px 30px\",font:17,gap:11}};export default function Button(props){// Valeurs par défaut ici (et PAS dans defaultProps) :\n// \"link\" n'a volontairement aucune valeur par défaut → champ vide = pas de lien.\nconst{mode=\"link\",label=\"Me licencier\",variant=\"primary\",size=\"medium\",showArrow=true,fullWidth=false,link,newTab=true,radius=999,onClick,style:frameStyle}=props;const[hover,setHover]=useState(false);const s=SIZES[size]||SIZES.medium;const variants={primary:{background:`linear-gradient(135deg, ${COLORS.blue}, ${COLORS.violet})`,color:\"#ffffff\",border:\"1px solid transparent\",shadow:hover?\"0 16px 40px -10px rgba(108,92,255,0.9)\":\"0 10px 30px -10px rgba(59,91,255,0.8)\"},ghost:{background:hover?\"rgba(255,255,255,0.06)\":\"transparent\",color:\"#eef1fb\",border:`1px solid ${COLORS.line}`,shadow:\"none\"},light:{background:\"#ffffff\",color:COLORS.ink,border:\"1px solid transparent\",shadow:hover?\"0 18px 44px -10px rgba(0,0,0,0.55)\":\"0 14px 40px -10px rgba(0,0,0,0.45)\"}};const v=variants[variant]||variants.primary;const style={...frameStyle,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:s.gap,width:fullWidth?\"100%\":\"auto\",boxSizing:\"border-box\",margin:0,padding:s.padding,fontSize:s.font,fontWeight:700,fontFamily:\"Barlow, -apple-system, BlinkMacSystemFont, sans-serif\",lineHeight:1,borderRadius:radius,cursor:\"pointer\",textDecoration:\"none\",whiteSpace:\"nowrap\",appearance:\"none\",WebkitAppearance:\"none\",background:v.background,color:v.color,border:v.border,boxShadow:v.shadow,transform:hover?\"translateY(-2px)\":\"translateY(0)\",transition:\"transform .25s ease, box-shadow .25s ease, background .25s ease\"};const arrowStyle={display:\"inline-block\",transition:\"transform .25s ease\",transform:hover?\"translateX(3px)\":\"translateX(0)\"};const content=/*#__PURE__*/_jsxs(_Fragment,{children:[label,showArrow&&/*#__PURE__*/_jsx(\"span\",{style:arrowStyle,children:\"→\"})]});const common={style,onClick,onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false)};// Mode lien : uniquement si un lien est réellement renseigné\nif(mode===\"link\"&&link){return /*#__PURE__*/_jsx(\"a\",{href:link,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined,...common,children:content});}// Mode formulaire → submit natif, capté par le Form Framer parent\n// Mode action (ou lien vide) → simple bouton, pas de navigation\nreturn /*#__PURE__*/_jsx(\"button\",{type:mode===\"submit\"?\"submit\":\"button\",...common,children:content});}// ---- Panneau de réglages dans Framer ----\naddPropertyControls(Button,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"link\",\"submit\",\"action\"],optionTitles:[\"Lien\",\"Formulaire\",\"Action\"],defaultValue:\"link\",displaySegmentedControl:true},label:{type:ControlType.String,title:\"Texte\",defaultValue:\"Me licencier\"},variant:{type:ControlType.Enum,title:\"Style\",options:[\"primary\",\"ghost\",\"light\"],optionTitles:[\"Plein (bleu/violet)\",\"Contour\",\"Blanc\"],defaultValue:\"primary\"},size:{type:ControlType.Enum,title:\"Taille\",options:[\"small\",\"medium\",\"large\"],optionTitles:[\"Petit\",\"Moyen\",\"Grand\"],defaultValue:\"medium\"},showArrow:{type:ControlType.Boolean,title:\"Fl\\xe8che →\",defaultValue:true},fullWidth:{type:ControlType.Boolean,title:\"Pleine largeur\",defaultValue:false},radius:{type:ControlType.Number,title:\"Arrondi\",min:0,max:999,step:1,defaultValue:999,displayStepper:true},link:{type:ControlType.Link,title:\"Lien\",hidden:p=>p.mode!==\"link\"},newTab:{type:ControlType.Boolean,title:\"Nouvel onglet\",defaultValue:true,hidden:p=>p.mode!==\"link\"},onClick:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Button\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Buttonv2.map"],"mappings":"wLAgByO,SAAwB,EAAO,EAAM,CAE9Q,GAAK,CAAC,OAAK,OAAO,QAAM,eAAe,UAAQ,UAAU,OAAK,SAAS,YAAU,GAAK,YAAU,GAAM,OAAK,SAAO,GAAK,SAAO,IAAI,UAAQ,MAAM,GAAY,EAAW,CAAC,EAAM,GAAUA,EAAS,EAAK,EAAQ,EAAE,EAAM,IAAO,EAAM,OAAa,EAAS,CAAC,QAAQ,CAAC,WAAW,2BAA2B,EAAO,KAAK,IAAI,EAAO,OAAO,GAAG,MAAM,UAAU,OAAO,wBAAwB,OAAO,EAAM,yCAAyC,uCAAuC,EAAE,MAAM,CAAC,WAAW,EAAM,yBAAyB,cAAc,MAAM,UAAU,OAAO,aAAa,EAAO,OAAO,OAAO,MAAM,EAAE,MAAM,CAAC,WAAW,UAAU,MAAM,EAAO,IAAI,OAAO,wBAAwB,OAAO,EAAM,qCAAqC,oCAAoC,CAAC,EAAQ,EAAE,EAAS,IAAU,EAAS,QAAc,EAAM,CAAC,GAAG,EAAW,QAAQ,cAAc,WAAW,SAAS,eAAe,SAAS,IAAI,EAAE,IAAI,MAAM,EAAU,OAAO,OAAO,UAAU,aAAa,OAAO,EAAE,QAAQ,EAAE,QAAQ,SAAS,EAAE,KAAK,WAAW,IAAI,WAAW,wDAAwD,WAAW,EAAE,aAAa,EAAO,OAAO,UAAU,eAAe,OAAO,WAAW,SAAS,WAAW,OAAO,iBAAiB,OAAO,WAAW,EAAE,WAAW,MAAM,EAAE,MAAM,OAAO,EAAE,OAAO,UAAU,EAAE,OAAO,UAAU,EAAM,mBAAmB,gBAAgB,WAAW,iEAAiE,EAAqI,EAAqB,EAAMC,EAAU,CAAC,SAAS,CAAC,EAAM,GAAwB,EAAK,OAAO,CAAC,MAAM,CAAlN,QAAQ,eAAe,WAAW,sBAAsB,UAAU,EAAM,kBAAkB,eAAiI,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAQ,EAAO,CAAC,QAAM,UAAQ,iBAAiB,EAAS,EAAI,EAAE,iBAAiB,EAAS,EAAK,CAAC,EAG/uD,OAFG,IAAO,QAAQ,EAA0B,EAAK,IAAI,CAAC,KAAK,EAAK,OAAO,EAAO,SAAS,IAAA,GAAU,IAAI,EAAO,sBAAsB,IAAA,GAAU,GAAG,EAAO,SAAS,CAAO,CAAC,EAEnJ,EAAK,SAAS,CAAC,KAAK,IAAO,SAAS,SAAS,SAAS,GAAG,EAAO,SAAS,CAAO,CAAC,CAAE,qBArBzB,IAA4B,IAAoD,EAgBxJ,EAAO,CAAC,KAAK,UAAU,OAAO,UAAU,IAAI,UAAU,KAAK,wBAAwB,EAAQ,EAAM,CAAC,MAAM,CAAC,QAAQ,YAAY,KAAK,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,YAAY,KAAK,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,YAAY,KAAK,GAAG,IAAI,EAAE,CAAC,EAMvO,EAAoB,EAAO,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,OAAO,SAAS,QAAQ,EAAE,aAAa,CAAC,OAAO,aAAa,QAAQ,EAAE,aAAa,OAAO,wBAAwB,EAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,UAAU,QAAQ,OAAO,EAAE,aAAa,CAAC,sBAAsB,UAAU,OAAO,EAAE,aAAa,SAAS,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,QAAQ,SAAS,OAAO,EAAE,aAAa,CAAC,QAAQ,QAAQ,OAAO,EAAE,aAAa,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,WAAc,aAAa,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,iBAAiB,aAAa,EAAK,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,IAAI,eAAe,EAAI,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,OAAO,GAAG,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,gBAAgB,aAAa,GAAK,OAAO,GAAG,EAAE,OAAO,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAY,YAAY,CAAC,CAAC"}