{"version":3,"file":"Buttonv2.CVFptR8i.mjs","names":["useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/ANKp5huTB8JbpYJq29Ia/XEhZ2Y7AxKgQMqXOA9dd/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 * 6 styles :\n *  - Plein (bleu/violet)  → l'action principale de la page. Un seul par écran.\n *  - Blanc                → action principale posée sur une photo ou un aplat coloré.\n *  - Aplat accent         → action principale d'un bloc lié à une famille de contenu\n *                           (cyan Pratique, vert Jeunes, corail Compétition, violet Vie du club).\n *  - Contour              → action secondaire, à côté d'un bouton plein.\n *  - Marine discret       → action secondaire dans une carte, quand le contour se perd.\n *  - Lien texte           → action tertiaire : « Voir tous les créneaux », « Retour ».\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 * Compatibilité : les réglages des boutons déjà posés sont conservés\n * (mêmes noms de propriétés, mêmes valeurs par défaut).\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)\",text:\"#eef1fb\",marine600:\"#183055\",marine500:\"#22406C\"};// Accents de la charte, un par famille de contenu\nconst ACCENTS={cyan:\"#2ECAD6\",vert:\"#4FBE6E\",corail:\"#F2705A\",violet:\"#BE7BEA\",or:\"#C19957\"};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}};// Icônes dessinées (et non plus le caractère « → ») : le rendu ne dépend plus\n// de la présence de la flèche dans la police chargée.\nconst ICONS={arrow:{d:\"M3 8h10M9 4l4 4-4 4\",move:\"translateX(3px)\",before:false},external:{d:\"M5 11l6-6M6 5h5v5\",move:\"translate(2px,-2px)\",before:false},download:{d:\"M8 3v8M4.5 8L8 11.5 11.5 8M3.5 13.5h9\",move:\"translateY(2px)\",before:false},back:{d:\"M13 8H3M7 4L3 8l4 4\",move:\"translateX(-3px)\",before:true}};function Icon({name,hover}){const icon=ICONS[name]||ICONS.arrow;return /*#__PURE__*/_jsx(\"svg\",{width:\"1em\",height:\"1em\",viewBox:\"0 0 16 16\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\",style:{flex:\"none\",display:\"block\",transition:\"transform .25s ease\",transform:hover?icon.move:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:icon.d})});}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\",accent=\"cyan\",size=\"medium\",showArrow=true,icon=\"arrow\",fullWidth=false,disabled=false,link,newTab=true,radius=999,onClick,style:frameStyle}=props;const[hovered,setHover]=useState(false);const[pressed,setPressed]=useState(false);const[focused,setFocused]=useState(false);const hover=hovered&&!disabled;const s=SIZES[size]||SIZES.medium;const accentColor=ACCENTS[accent]||ACCENTS.cyan;const isText=variant===\"text\";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:COLORS.text,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)\"},// Aplat de la couleur de famille, texte marine (jamais de blanc sur un accent)\naccent:{background:accentColor,color:COLORS.ink,border:\"1px solid transparent\",shadow:hover?`0 16px 40px -12px ${accentColor}cc`:`0 10px 30px -12px ${accentColor}99`},// Aplat marine, sans halo : le secondaire qui tient dans une carte\nsoft:{background:hover?COLORS.marine500:COLORS.marine600,color:COLORS.text,border:\"1px solid transparent\",shadow:\"none\"},// Lien texte : ni fond ni bord, souligné au survol\ntext:{background:\"transparent\",color:hover?\"#ffffff\":COLORS.text,border:\"1px solid transparent\",shadow:\"none\"}};const v=variants[variant]||variants.primary;const lift=isText?\"none\":pressed&&!disabled?\"translateY(0) scale(.98)\":hover?\"translateY(-2px)\":\"translateY(0)\";const style={...frameStyle,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:s.gap,width:fullWidth?\"100%\":\"auto\",maxWidth:\"100%\",boxSizing:\"border-box\",margin:0,padding:isText?`${s.padding.split(\" \")[0]} 0`:s.padding,fontSize:s.font,fontWeight:700,fontFamily:\"Barlow, -apple-system, BlinkMacSystemFont, sans-serif\",lineHeight:1,borderRadius:isText?4:radius,cursor:disabled?\"not-allowed\":\"pointer\",textDecoration:isText&&hover?\"underline\":\"none\",textUnderlineOffset:5,textDecorationThickness:2,whiteSpace:\"nowrap\",appearance:\"none\",WebkitAppearance:\"none\",background:v.background,color:v.color,border:v.border,boxShadow:disabled?\"none\":v.shadow,opacity:disabled?.45:1,outline:focused?\"2px solid #ffffff\":\"none\",outlineOffset:3,transform:lift,transition:\"transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease\"};const iconDef=ICONS[icon]||ICONS.arrow;const iconEl=showArrow?/*#__PURE__*/_jsx(Icon,{name:icon,hover:hover}):null;const content=/*#__PURE__*/_jsxs(_Fragment,{children:[iconDef.before&&iconEl,label,!iconDef.before&&iconEl]});const common={style,onClick:disabled?undefined:onClick,onMouseEnter:()=>setHover(true),onMouseLeave:()=>{setHover(false);setPressed(false);},onMouseDown:()=>setPressed(true),onMouseUp:()=>setPressed(false),// Anneau de focus au clavier uniquement, pas au clic\nonFocus:e=>setFocused(e.currentTarget.matches(\":focus-visible\")),onBlur:()=>setFocused(false)};// Mode lien : uniquement si un lien est réellement renseigné\nif(mode===\"link\"&&link&&!disabled){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, ou désactivé) → simple bouton, pas de navigation\nreturn /*#__PURE__*/_jsx(\"button\",{type:mode===\"submit\"?\"submit\":\"button\",disabled:disabled,...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\",\"accent\",\"soft\",\"text\"],optionTitles:[\"Plein (bleu/violet)\",\"Contour\",\"Blanc\",\"Aplat accent\",\"Marine discret\",\"Lien texte\"],defaultValue:\"primary\"},accent:{type:ControlType.Enum,title:\"Accent\",options:[\"cyan\",\"vert\",\"corail\",\"violet\",\"or\"],optionTitles:[\"Cyan — Pratique\",\"Vert — Jeunes\",\"Corail — Comp\\xe9tition\",\"Violet — Vie du club\",\"Or — Nationale uniquement\"],defaultValue:\"cyan\",hidden:p=>p.variant!==\"accent\"},size:{type:ControlType.Enum,title:\"Taille\",options:[\"small\",\"medium\",\"large\"],optionTitles:[\"Petit\",\"Moyen\",\"Grand\"],defaultValue:\"medium\"},showArrow:{type:ControlType.Boolean,title:\"Ic\\xf4ne\",defaultValue:true},icon:{type:ControlType.Enum,title:\"Type d'ic\\xf4ne\",options:[\"arrow\",\"external\",\"download\",\"back\"],optionTitles:[\"→ Suite\",\"↗ Site externe\",\"↓ T\\xe9l\\xe9chargement\",\"← Retour\"],defaultValue:\"arrow\",hidden:p=>!p.showArrow},fullWidth:{type:ControlType.Boolean,title:\"Pleine largeur\",defaultValue:false},disabled:{type:ControlType.Boolean,title:\"D\\xe9sactiv\\xe9\",defaultValue:false},radius:{type:ControlType.Number,title:\"Arrondi\",min:0,max:999,step:1,defaultValue:999,displayStepper:true,hidden:p=>p.variant===\"text\"},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":"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"}