{"version":3,"file":"SectionUseCases.vFBWSQLo.mjs","names":["useState","useMemo","_Fragment","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/ECI2SUKtEfJy3sv3Wd3d/TtYfkpM12JMIO9Y3Bbyc/SectionUseCases.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useInView,useReducedMotion}from\"framer-motion\";import{startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";/**\n * SectionUseCases - « Leur problème. Eagr l'a résolu. Voilà les chiffres. »\n *\n * Carrousel centré de cartes citation client : logo, verbatim, auteur, lien\n * « Voir le use case », et une photo inclinée portant le chiffre clé. Une\n * carte CTA de fin, optionnelle, ferme le carrousel.\n *\n * Demande initiale (Eagr / Dafolle) :\n * \"Créer cette section, créer un dossier dédié, récupérer les assets depuis\n *  Figma directement et pousser via MCP sur Framer. Le composant doit avoir\n *  toutes les propriétés de contrôle avancées nécessaires, description en\n *  français, regroupées et bien hiérarchisées. La section doit être 100%\n *  responsive, desktop / tablette / mobile. Le CTA doit avoir le même effet\n *  de hover que le composant PrimaryBTN.\"\n *\n * Puis : \"Rajouter la possibilité d'ajouter un CTA de fin. Le CTA, qui a le\n *  bouton qu'il y a dans cette carte, doit être identique au primary btn au\n *  niveau de l'effet hover.\"\n *\n * Commentaire designer :\n * \"hover sur la photo : zoom sur la photo dans la card, un tout petit peu.\"\n *\n * Source Figma : Dafolle - Eagr, node 2917:16315 (« Layout / 302 »)\n * https://www.figma.com/design/Nsu5FdQQKGGjji5pHx3Ktu/Dafolle---Eagr?node-id=2917-16315\n * Carte CTA de fin : node 2917:19496 (carrousel « Steps »)\n *//* ================================================================== *//* Assets - exportés depuis Figma (voir UseCases/assets/)             *//* ================================================================== *//** Flèche du lien « Voir le use case » - composant Figma arrow-right (2409:19424). */const ARROW_RIGHT_PATH=\"M4.16667 10H15.8333M10 15.8333L15.8333 10L10 4.16667\";/**\n * Motif tramé de la carte CTA de fin - nœud Figma 2917:19496.\n *\n * L'export brut pèse 2,1 Mo : 4364 points, chacun avec son propre\n * `linearGradient`, tous identiques. C'est une image tramée, pas un dégradé\n * calculable : les rayons ne suivent aucune fonction simple. On ne garde donc\n * que la fenêtre réellement visible dans la carte, 48 x 30 points sur la\n * grille régulière de 16,1538 px, encodée à un caractère par point.\n * Erreur maximale de rayon : 0,06 px.\n */const HALFTONE_ALPHABET=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\";const HALFTONE_COLS=48;const HALFTONE_LINES=30;const HALFTONE_STEP=16.1538;const HALFTONE_MAX_RADIUS=8.09;/** Axe du dégradé qui éteint les points, dans le repère de la fenêtre. */const HALFTONE_GRADIENT={x1:423.12,y1:-28.02,x2:343.8,y2:601.58};const HALFTONE=\"0A8OVUNRfWYdnoncmleYRaSOXOPKULdYgSZcPOfTeUTWcTZaCDJQNLMYXgbfpdnpkeidWdbVOOPPbZTMUSdUcQcSbkVibkgmSQRKPLbQUSjdcghkrwjlfYhiWWdNYRONNULObYdcYemkjYZZcSibSRTRNYQYifrmpxuolqkTaeZVRMB5CLGLWPPWSlfkcbbjfncXiZaORXgkclnp__vtgnihaPPSHROLC7ASWWdUeVoepajWxhrhYeRZdVWlvlpqvxjmdkhRfggSKPJIKMMFMNSaUZljnYbVogqiZYgdeZZYgmozjqrjmZdafYVUPYTMVMLXThegrgjkkXmincadfYRZbePagXpbcimjdihidecUcadhbnncnluwqsrpmjhnifeZVcYbeTZReWZkffbfZkWcTeWhdkpqwmr_uwsw__w_n-ehcbYXOPaPSMQbTYcYMWMbZbihianicvwmy_z__x_-_xv_y_skkYjhUYLRJKUbdXMINVVabajiWVnniktq_v____wt_v_-z_secoWSeQVKMZScXUKSOVEYWOgdUgYWdwy__vzum_nokvwouumnlegkRbgVRfWOUTTXRHIMQNRTKLIWPkestvqpgkurekchiXgtxklmXYjgeUTUTaMTRUJCDC7JD9JFLMTgcnhjmadThZWSdYXmlmrtjumregTYXRWVLOFBG58A0C48MXfkiscrkaaKTFRGNJWqrqmzijicdcYNPMMGPEQMDG03030FILYSdgslWhTQPIE8QVUmvvkpmmrlcjReTQUUaOMSMO3EA030OILLdXneZSSOVUXKMVoimjxmecZfVgWTVXZbjaQMOLMGC60FJIRLXYVdZWQRkeledpmyqnrpipgUkSVgYZdpaakVcJLJ8DGNIFMRPTNKYbVdtyz_r___-nkhakfWWecldlqvlltjUPVOJOEMAFCDEDHLYhWoo-__y___uxosjfbTiVZnobgiflooVfRSRdPTNKAMJFHOccnky_--____prnhsfmaamakppsccbbYmifdXPefdVXYROSYTXmjmnuu_s__sljrhnpdhnYnelabYbidUffcTZdgbeaZlomgYmlmbnptvrq-hfaXmmYefWhQbfcaNaRVaYXNYNNYkmhmjztwseacihfmpktsKNdXVfWkYRPNRPJXYOPUQWHYUZLWiibet__--hmegWieiVjwCJTchhabTXLRYSWGEVIIUNDKDNPUfUhiyy_toobkQTTYYXhmQUQPNaTdhgOSUPMQLUWUXRQLCSETSdfosmwlqibhaXREJVdiFOVUSPWYaXOTQURTWdOQXPNNTDQHZUZaqfpqkjidJOKKLPbkFTKRQNCTGHPZWOVZYWgbOLIVQQLYLfSlZVcYeccYRIAHCOOaPGONM69M8PQSeYjergmeYYTGHNITNXNWfhaePNTRNDAA9HKS\";/* ================================================================== *//* Repère de la maquette                                              *//* ================================================================== *//**\n * Toutes les valeurs ci-dessous sont relevées au pixel près sur le Figma à\n * 1440. Le composant les met à l'échelle d'un seul facteur (`cardScale`),\n * ce qui garde les proportions de la carte identiques à toutes les largeurs.\n */const DESIGN={/** Largeur de la maquette. */sectionWidth:1440,/** Carte : 732 x 435, rayon 16, padding 24. */cardWidth:732,cardHeight:435,cardPadding:24,cardRadius:16,/** Écart entre deux cartes : 761 - 732. */cardGap:29,/** Colonne de texte de la carte. */textColumnWidth:361,/** Largeur des blocs de texte dans cette colonne. */quoteWidth:354.335,/** Bloc photo : bbox du groupe incliné. */photoBoxWidth:302.494,photoBoxHeight:397.52,/** Groupe photo, rotation retirée (cadre + 4 poignées d'angle). */photoGroupWidth:296.06,photoGroupHeight:392.69,/** Cadre de la photo dans ce groupe. */photoX:2.93,photoY:5.28,photoWidth:287.951,photoHeight:384.583,/** Inclinaison du groupe photo. */photoTilt:.94,/** Liseré blanc du cadre. */photoBorder:.808,/** Poignée d'angle. */handleSize:9.19,/** Logo client, hauteur du gabarit. */logoHeight:46.5,/** Chiffre clé, posé dans le cadre photo. */statLeft:15.34,statTop:308.96,statValueSize:38.56,statCaptionSize:12.394,/** Boîte violette qui recouvre le chiffre. */highlightSize:40,highlightTilt:1,highlightPadding:6,highlightOffsetX:-1,highlightOffsetY:-16.05,highlightDot:4,/** Textes de la carte. */quoteSize:24,authorSize:14,ctaSize:14,/** Trait du lien « Voir le use case » : posé à left:-110 dans une boîte de 106. */ctaLineWidth:105.364,/** Carte CTA de fin - nœud 2917:19496 (carte de 513 x 313 dans sa section). */endCtaPadding:40,endCtaTitleSize:32,endCtaTitleMaxWidth:433,endCtaHandle:9,/** En-tête de section. */titleSize:48,buttonSize:16};/**\n * Poignées d'angle du cadre photo. Dans le Figma elles sont posées aux coins\n * du groupe, soit - à 2 px près - exactement sur les coins du cadre : on les\n * centre donc sur les coins, comme les poignées de sélection de Figma.\n */const PHOTO_HANDLES=[{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}];/** Mêmes poignées, aux coordonnées exactes du groupe Figma (296,06 x 392,69). */const PHOTO_HANDLES_XY=[{x:0,y:0},{x:286.87,y:0},{x:0,y:383.22},{x:286.19,y:383.5}];const ORANGE=\"#FC5001\";const PURPLE=\"#7C00F3\";const HIGHLIGHT_BG=\"#EADFEA\";const BEIGE=\"#F2F0E9\";const TEXT_SECONDARY=\"#6F6E77\";const TRACK_CLASS=\"eagr-usecases-track\";/** Masque la barre de défilement du rail (pseudo-élément, hors style inline). */const TRACK_CSS=`.${TRACK_CLASS}{scrollbar-width:none;-ms-overflow-style:none}.${TRACK_CLASS}::-webkit-scrollbar{width:0;height:0;display:none}`;/* ================================================================== *//* Valeurs par défaut - relevées sur le Figma                         *//* ================================================================== */const DEFAULT_ITEMS=[{logo:undefined,logoHeight:46.5,image:undefined,imageFocus:\"50% 50%\",quote:\"\\xab L\\xe0, avec la synth\\xe8se, on va droit au but. Les scores, les axes de progression, les signaux manqu\\xe9s : les \\xe9quipes ont pris go\\xfbt au “comment je peux m'am\\xe9liorer”. \\xc7a cr\\xe9e une boucle super vertueuse. \\xbb\",author:\"Jean-Christophe Gatuingt, CEO Visibrain\",showStat:true,statValue:\"+20%\",statCaption:\"d'application du playbook en 3 mois\",ctaLabel:\"Voir le use case\",ctaLink:\"\",ctaNewTab:false,cardLink:false},{logo:undefined,logoHeight:41,image:undefined,imageFocus:\"50% 50%\",quote:\"\\xab M\\xeame sans regarder le call en entier, on a une bonne id\\xe9e des points cl\\xe9s : le fond du call, et aussi l'attitude commerciale. On a un outil qui nous assure que toute l'\\xe9quipe avance dans la bonne direction. \\xbb\",author:\"Jean-Christophe Gatuingt, CEO Visibrain\",showStat:true,statValue:\"+20%\",statCaption:\"d'application du playbook en 3 mois\",ctaLabel:\"Voir le use case\",ctaLink:\"\",ctaNewTab:false,cardLink:false},{logo:undefined,logoHeight:41,image:undefined,imageFocus:\"50% 50%\",quote:\"\\xab On a divis\\xe9 par trois le temps pass\\xe9 en revue d'appels, et on a gagn\\xe9 en finesse sur ce qu'il faut corriger la semaine suivante. \\xbb\",author:\"Jean-Christophe Gatuingt, CEO Visibrain\",showStat:true,statValue:\"+20%\",statCaption:\"d'application du playbook en 3 mois\",ctaLabel:\"Voir le use case\",ctaLink:\"\",ctaNewTab:false,cardLink:false}];const CONTENT_DEFAULTS={title:\"Leur probl\\xe8me. Eagr l'a r\\xe9solu.\\nVoil\\xe0 les chiffres.\",highlight:\"Eagr\",titleTag:\"h2\",showButton:true,buttonLabel:\"Tous les use cases\",buttonLink:\"\",buttonNewTab:false,items:DEFAULT_ITEMS};const LAYOUT_DEFAULTS={contentMaxWidth:1280,paddingDesktop:\"112px 80px 112px 80px\",paddingTablet:\"88px 40px 88px 40px\",paddingPhone:\"64px 24px 64px 24px\",headerGap:80,cardMaxWidth:DESIGN.cardWidth,cardGap:DESIGN.cardGap,minPeek:24,stackTablet:false,photoFirstPhone:false,photoAspectPhone:.75,breakpointDesktop:1e3,breakpointTablet:640};const CAROUSEL_DEFAULTS={loop:false,snap:true,drag:true,autoPlay:false,interval:6,pauseOnHover:true,navigation:\"none\",navigationColor:ORANGE,navigationInactive:\"rgba(0, 0, 0, 0.18)\",startIndex:1};const PHOTO_HOVER_DEFAULTS={enabled:true,scope:\"card\",zoom:1.04,transition:{type:\"tween\",duration:.55,ease:[.22,1,.36,1]}};const BUTTON_DEFAULTS={background:ORANGE,color:\"#FFFFFF\",radius:12,padding:\"16px 24px 16px 24px\",// Valeurs relevées sur PrimaryBtn : la lueur vaut rgb(252, 80, 0),\n// très légèrement différente du fond du bouton rgb(252, 80, 1).\nglowColor:\"rgb(252, 80, 0)\",glowBlur:34,glowTransition:{type:\"spring\",bounce:.2,duration:.4}};const APPEARANCE_DEFAULTS={background:\"#FFFFFF\",cardBackground:BEIGE,cardRadius:DESIGN.cardRadius,titleColor:\"#000000\",quoteColor:\"#000000\",authorColor:TEXT_SECONDARY,ctaColor:ORANGE,showCtaUnderline:true,highlightColor:PURPLE,highlightBackground:HIGHLIGHT_BG,highlightBorder:PURPLE,statValueColor:ORANGE,statCaptionColor:\"#FFFFFF\",photoBorderColor:\"#FFFFFF\",handleColor:\"#FFFFFF\",showHandles:true,photoTilt:DESIGN.photoTilt};const TYPOGRAPHY_DEFAULTS={titleFont:{fontFamily:'\"IBM Plex Sans\", sans-serif',fontWeight:300,fontSize:DESIGN.titleSize,lineHeight:\"1.1em\",letterSpacing:\"-0.02em\"},quoteFont:{fontFamily:'\"IBM Plex Sans\", sans-serif',fontWeight:300,fontSize:DESIGN.quoteSize,lineHeight:\"1.1em\",letterSpacing:\"0em\"},authorFont:{fontFamily:'\"Inter Tight\", sans-serif',fontWeight:400,fontSize:DESIGN.authorSize,lineHeight:\"1.2em\",letterSpacing:\"-0.02em\"},ctaFont:{fontFamily:'\"Inter Tight\", sans-serif',fontWeight:400,fontSize:DESIGN.ctaSize,lineHeight:\"1.2em\",letterSpacing:\"-0.02em\"},buttonFont:{fontFamily:'\"Inter Tight\", sans-serif',fontWeight:400,fontSize:DESIGN.buttonSize,lineHeight:\"1.2em\",letterSpacing:\"-0.02em\"},statValueFont:{fontFamily:'\"IBM Plex Sans\", sans-serif',fontWeight:300,fontSize:DESIGN.highlightSize,lineHeight:\"1.1em\",letterSpacing:\"-0.02em\"},statCaptionFont:{fontFamily:'\"Inter Tight\", sans-serif',fontWeight:400,fontSize:DESIGN.statCaptionSize,lineHeight:\"1.2em\",letterSpacing:\"-0.02em\"},endCtaTitleFont:{fontFamily:'\"IBM Plex Sans\", sans-serif',fontWeight:300,fontSize:DESIGN.endCtaTitleSize,lineHeight:\"1.1em\",letterSpacing:\"0em\"},minQuoteSize:17};const END_CTA_DEFAULTS={show:true,title:\"Voyez Eagr coacher un appel en direct.\",titleMaxWidth:DESIGN.endCtaTitleMaxWidth,buttonLabel:\"Voir une d\\xe9mo en live\",buttonLink:\"\",buttonNewTab:false,background:\"#F8F5F1\",borderColor:BEIGE,titleColor:\"#040524\",radius:DESIGN.cardRadius,padding:\"40px 40px 40px 40px\",showPattern:true,patternColor:\"#FFFFFF\",patternOpacity:1,showHandles:true,// Les poignées de la photo sont blanches parce qu'elles se posent sur une\n// photo. Ici la carte est sur le fond blanc de la section : il faut un\n// gris pour qu'elles se voient. Grey/400 du projet.\nhandleColor:\"#C0BFC5\"};const REVEAL_DEFAULTS={enabled:true,amount:.25,shift:18,duration:.4,stagger:.1,easing:[0,0,.58,1]};/* ================================================================== *//* Utilitaires                                                        *//* ================================================================== */const clamp=(v,min,max)=>Math.min(max,Math.max(min,v));/** Taille de police d'un contrôle Font, en px, avec repli. */function fontSizePx(font,fallback){const raw=font?.fontSize;if(typeof raw===\"number\")return raw;if(typeof raw===\"string\"){const px=parseFloat(raw);if(!Number.isNaN(px))return px;}return fallback;}/** Applique un facteur d'échelle à la taille de police d'un contrôle Font. */function scaledFont(font,factor,fallback,floor=0){const size=fontSizePx(font,fallback);return{...font||{},fontSize:Math.max(floor,size*factor)};}/** Remplace l'alpha d'une couleur CSS (hex, rgb ou rgba). */function withAlpha(color,alpha){const value=(color||\"\").trim();const rgb=value.match(/^rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i);if(rgb)return`rgba(${rgb[1]}, ${rgb[2]}, ${rgb[3]}, ${alpha})`;const hex=value.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);if(hex){const h=hex[1];const full=h.length===3?h.split(\"\").map(c=>c+c).join(\"\"):h;const n=parseInt(full,16);return`rgba(${n>>16&255}, ${n>>8&255}, ${n&255}, ${alpha})`;}return`rgba(0, 0, 0, ${alpha})`;}/** Met à l'échelle chaque valeur d'un raccourci CSS de padding. */function scalePadding(padding,factor){return(padding||\"0px\").trim().split(/\\s+/).map(v=>`${(parseFloat(v)||0)*factor}px`).join(\" \");}/** Découpe une phrase autour du mot à encadrer (1re occurrence). */function splitHighlight(text,phrase){const needle=(phrase||\"\").trim();if(!needle)return[{t:text,hl:false}];const idx=text.toLowerCase().indexOf(needle.toLowerCase());if(idx===-1)return[{t:text,hl:false}];return[{t:text.slice(0,idx),hl:false},{t:text.slice(idx,idx+needle.length),hl:true},{t:text.slice(idx+needle.length),hl:false}].filter(s=>s.t.length>0);}/* ================================================================== *//* Poignée d'angle « sélection Figma »                                *//* ================================================================== *//**\n * Pastille d'angle : reproduction de l'export Ellipse 9162 (disque plein +\n * anneau très pâle à 21 %). Sert au cadre photo, à la boîte violette et aux\n * coins de la carte CTA de fin.\n */function Handle({size,color,ring,position}){return /*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",width:size,height:size,pointerEvents:\"none\",...position},children:/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 13.19 13.19\",fill:\"none\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"ellipse\",{cx:\"6.595\",cy:\"6.597\",rx:\"4.595\",ry:\"4.597\",fill:color}),/*#__PURE__*/_jsx(\"path\",{d:\"M6.595 1C9.685 1 12.19 3.507 12.19 6.598 12.19 9.688 9.685 12.194 6.595 12.194 3.505 12.194 1 9.688 1 6.598 1 3.507 3.504 1 6.595 1Z\",stroke:ring||\"#EAEAEA\",strokeOpacity:\"0.21\",strokeWidth:\"2\"})]})});}/* ================================================================== *//* Lien « Voir le use case »                                          *//* ================================================================== *//**\n * Reprend le CTA du Figma : libellé, flèche, et un trait qui glisse depuis la\n * gauche au survol (dans le Figma le trait est posé à left:-110px dans une\n * boîte rognée de 106 px de large).\n */function CtaLink({label,href,newTab,color,font,showUnderline,scale,hovered,onHover,focusable,asSpan}){const size=fontSizePx(font,DESIGN.ctaSize);const arrow=Math.round(size*1.43);const Tag=asSpan?\"span\":\"a\";return /*#__PURE__*/_jsxs(Tag,{href:asSpan?undefined:href||undefined,target:!asSpan&&newTab?\"_blank\":undefined,rel:!asSpan&&newTab?\"noopener noreferrer\":undefined,tabIndex:focusable&&!asSpan?undefined:-1,onMouseEnter:()=>onHover(true),onMouseLeave:()=>onHover(false),onFocus:()=>onHover(true),onBlur:()=>onHover(false),style:{...font,color,display:\"inline-flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:4*scale,width:\"max-content\",maxWidth:\"100%\",// Le Figma pose le libellé 4 px sous le haut de la boîte du\n// CTA (118 x 32) : ce retrait garde le bloc à sa hauteur.\npaddingTop:4*scale,textDecoration:\"none\",cursor:href?\"pointer\":\"default\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:4*scale},children:[label,/*#__PURE__*/_jsx(motion.svg,{width:arrow,height:arrow,viewBox:\"0 0 20 20\",fill:\"none\",\"aria-hidden\":true,initial:false,animate:{x:hovered?3:0},transition:{duration:.24,ease:[.22,1,.36,1]},style:{display:\"block\",flex:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:ARROW_RIGHT_PATH,stroke:color,strokeWidth:1.66667,strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}),showUnderline&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{display:\"block\",width:\"100%\",height:1,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"block\",width:\"100%\",height:1,background:color},initial:false,animate:{x:hovered?\"0%\":\"-105%\"},transition:{duration:.38,ease:[.22,1,.36,1]}})})]});}/* ================================================================== *//* Chiffre clé posé sur la photo                                      *//* ================================================================== */function StatBlock({value,caption,scale,appearance,typography}){const valueFont=scaledFont(typography.statValueFont,scale,DESIGN.highlightSize);const captionFont=scaledFont(typography.statCaptionFont,scale,DESIGN.statCaptionSize);// Le chiffre orange est le calque du dessous : c'est lui qui donne sa\n// hauteur au bloc. La boîte violette vient le recouvrir, comme dans le\n// Figma. Masquer la boîte laisse donc apparaître le chiffre orange.\nconst baseSize=fontSizePx(valueFont,DESIGN.highlightSize)*(DESIGN.statValueSize/DESIGN.highlightSize);const pad=DESIGN.highlightPadding*scale;const dot=DESIGN.highlightDot*scale;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:`${DESIGN.statLeft/DESIGN.photoWidth*100}%`,top:`${DESIGN.statTop/DESIGN.photoHeight*100}%`,// contre-rotation : le chiffre reste droit dans la photo inclinée\ntransform:`rotate(${-appearance.photoTilt}deg)`,transformOrigin:\"left top\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...valueFont,fontSize:baseSize,color:appearance.statValueColor,whiteSpace:\"nowrap\"},children:value}),/*#__PURE__*/_jsx(\"span\",{style:{...captionFont,color:appearance.statCaptionColor,whiteSpace:\"nowrap\"},children:caption}),/*#__PURE__*/_jsxs(\"span\",{style:{position:\"absolute\",left:DESIGN.highlightOffsetX*scale,top:DESIGN.highlightOffsetY*scale,transform:`rotate(${DESIGN.highlightTilt}deg)`,transformOrigin:\"center center\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:pad,background:appearance.highlightBackground,border:`0.5px solid ${appearance.highlightBorder}`,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...valueFont,color:appearance.highlightColor,whiteSpace:\"nowrap\",textAlign:\"center\"},children:value}),/*#__PURE__*/_jsx(Handle,{size:dot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{left:-dot/2,top:-dot/2}}),/*#__PURE__*/_jsx(Handle,{size:dot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{right:-dot/2,top:-dot/2}}),/*#__PURE__*/_jsx(Handle,{size:dot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{left:-dot/2,bottom:-dot/2}}),/*#__PURE__*/_jsx(Handle,{size:dot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{right:-dot/2,bottom:-dot/2}})]})]});}/* ================================================================== *//* Bloc photo incliné                                                 *//* ================================================================== */function PhotoBlock({item,scale,statScale,zoomed,appearance,typography,photoHover,motionOff,/** Desktop / tablette : boîte à taille fixe. Empilé : pleine largeur. */fluid,aspect}){const[hovered,setHovered]=useState(false);const active=photoHover.enabled&&(zoomed||hovered);const handle=DESIGN.handleSize*statScale;const hoverProps=photoHover.scope===\"photo\"?{onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false)}:{};/** Cadre : liseré blanc, contenu rogné, photo + chiffre clé dedans. */const frame=/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,border:`${Math.max(.75,DESIGN.photoBorder*statScale)}px solid ${appearance.photoBorderColor}`,boxSizing:\"border-box\",background:\"rgba(0, 0, 0, 0.06)\",overflow:\"hidden\"},children:[item.image?.src?/*#__PURE__*/_jsx(motion.img,{src:item.image.src,srcSet:item.image.srcSet,alt:item.image.alt||\"\",loading:\"lazy\",draggable:false,initial:false,animate:{scale:active?photoHover.zoom:1},transition:motionOff?{duration:0}:photoHover.transition,style:{display:\"block\",width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:item.imageFocus||\"50% 50%\",userSelect:\"none\",pointerEvents:\"none\",willChange:motionOff?undefined:\"transform\"}}):null,item.showStat!==false&&(item.statValue||item.statCaption)?/*#__PURE__*/_jsx(StatBlock,{value:item.statValue||\"\",caption:item.statCaption||\"\",scale:statScale,appearance:appearance,typography:typography}):null]});/* ---- Empilé (mobile) : la photo prend toute la largeur de la carte ---- */if(fluid){return /*#__PURE__*/_jsxs(\"div\",{...hoverProps,style:{position:\"relative\",flex:\"0 0 auto\",width:\"100%\",aspectRatio:`${aspect}`,transform:`rotate(${appearance.photoTilt}deg)`,transformOrigin:\"center center\"},children:[frame,appearance.showHandles?PHOTO_HANDLES.map((h,i)=>/*#__PURE__*/_jsx(Handle,{size:handle,color:appearance.handleColor,position:{left:`${h.x*100}%`,top:`${h.y*100}%`,marginLeft:-handle/2,marginTop:-handle/2}},i)):null]});}/* ---- Desktop / tablette : repère exact du Figma ---------------------- *//**\n     * La boîte fait 302,494 x 397,52 et centre le groupe incliné\n     * (cadre + poignées, 296,06 x 392,69). Comme la colonne de texte, elle\n     * fait 10,52 px de plus que la zone utile de la carte : la marge négative\n     * reproduit ce débord sans grandir la carte au-delà de ses 435 px.\n     */const pct=(v,total)=>`${v/total*100}%`;return /*#__PURE__*/_jsx(\"div\",{...hoverProps,style:{position:\"relative\",flex:\"0 0 auto\",width:DESIGN.photoBoxWidth*scale,height:DESIGN.photoBoxHeight*scale,marginTop:-(DESIGN.photoBoxHeight-387)*scale,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:DESIGN.photoGroupWidth*scale,height:DESIGN.photoGroupHeight*scale,transform:`rotate(${appearance.photoTilt}deg)`,transformOrigin:\"center center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:pct(DESIGN.photoX,DESIGN.photoGroupWidth),top:pct(DESIGN.photoY,DESIGN.photoGroupHeight),width:pct(DESIGN.photoWidth,DESIGN.photoGroupWidth),height:pct(DESIGN.photoHeight,DESIGN.photoGroupHeight)},children:frame}),appearance.showHandles?PHOTO_HANDLES_XY.map((h,i)=>/*#__PURE__*/_jsx(Handle,{size:handle,color:appearance.handleColor,position:{left:pct(h.x,DESIGN.photoGroupWidth),top:pct(h.y,DESIGN.photoGroupHeight)}},i)):null]})});}/* ================================================================== *//* Bouton principal - survol repris de PrimaryBtn                     *//* ================================================================== *//**\n * Relevé sur le composant Framer `PrimaryBtn` (variante Orange) : seule une\n * lueur orange s'allume, alpha 0 -> 1. Aucun autre changement (transform,\n * opacity, filter, background-color restent identiques).\n *\n * Sert deux fois : le bouton de l'en-tête et celui de la carte CTA de fin.\n * Les deux partagent donc le même groupe de propriétés « Bouton », et donc le\n * même survol, par construction.\n */function GlowButton({label,href,newTab,button,font,style}){const shadowRest=`0px 0px ${button.glowBlur}px 0px ${withAlpha(button.glowColor,0)}`;const shadowHover=`0px 0px ${button.glowBlur}px 0px ${button.glowColor}`;return /*#__PURE__*/_jsx(motion.a,{href:href||undefined,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined,initial:false,whileHover:{boxShadow:shadowHover},transition:button.glowTransition,style:{...font,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:button.padding,borderRadius:button.radius,background:button.background,color:button.color,boxShadow:shadowRest,textDecoration:\"none\",whiteSpace:\"nowrap\",// `overflow: visible` pour que la lueur ne soit pas rognée,\n// comme dans PrimaryBtn.\noverflow:\"visible\",cursor:\"pointer\",flex:\"0 0 auto\",...style},children:label});}/* ================================================================== *//* Motif tramé de la carte CTA                                        *//* ================================================================== *//**\n * Les 1440 points sont dessinés en un seul `path` plutôt qu'en 1440 `circle` :\n * un nœud DOM par carte au lieu de 1440.\n *\n * Le dégradé qui éteint les points est appliqué en masque CSS et non en\n * `linearGradient` SVG : pas d'identifiant à rendre unique entre instances,\n * et une couche de moins dans le SVG.\n */function Halftone({color,opacity}){const width=HALFTONE_COLS*HALFTONE_STEP;const height=HALFTONE_LINES*HALFTONE_STEP;const half=HALFTONE_STEP/2;const path=useMemo(()=>{let d=\"\";for(let i=0;i<HALFTONE.length;i++){const r=HALFTONE_ALPHABET.indexOf(HALFTONE[i])/63*HALFTONE_MAX_RADIUS;if(r<.2)continue;const cx=half+i%HALFTONE_COLS*HALFTONE_STEP;const cy=half+Math.floor(i/HALFTONE_COLS)*HALFTONE_STEP;const rr=r.toFixed(2);const dd=(r*2).toFixed(2);d+=`M${(cx-r).toFixed(2)} ${cy.toFixed(2)}a${rr} ${rr} 0 1 0 ${dd} 0a${rr} ${rr} 0 1 0 -${dd} 0`;}return d;},[half]);// Axe du dégradé converti en angle CSS : la direction (dx, dy) du Figma\n// correspond à l'angle atan2(dx, -dy), soit 187,2° ici.\nconst angle=Math.atan2(HALFTONE_GRADIENT.x2-HALFTONE_GRADIENT.x1,-(HALFTONE_GRADIENT.y2-HALFTONE_GRADIENT.y1))*180/Math.PI;const mask=`linear-gradient(${angle.toFixed(2)}deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%)`;return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,overflow:\"hidden\",pointerEvents:\"none\",opacity,WebkitMaskImage:mask,maskImage:mask},children:/*#__PURE__*/_jsx(\"svg\",{viewBox:`0 0 ${width} ${height}`,preserveAspectRatio:\"xMidYMid slice\",style:{position:\"absolute\",left:\"-3%\",top:\"-3%\",width:\"106%\",height:\"106%\",// même inclinaison que dans le Figma\ntransform:\"rotate(-0.94deg)\",display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:path,fill:color})})});}/* ================================================================== *//* Carte CTA de fin                                                   *//* ================================================================== *//**\n * Dernière carte du carrousel - reprise du nœud Figma 2917:19496 (la carte de\n * fin du carrousel « Steps »). Fond beige clair, liseré, motif tramé, titre en\n * haut, bouton en bas, et les 4 poignées d'angle aux coins de la carte.\n *\n * Son bouton est le même composant que celui de l'en-tête : le survol est donc\n * celui de PrimaryBtn, sans réglage séparé à tenir à jour.\n */function EndCtaCard({index,cardWidth,scale,titleScale,stacked,endCta,button,typography}){const padScale=Math.max(scale,.6);const handle=DESIGN.endCtaHandle*Math.max(scale,.7);const titleFont=scaledFont(typography.endCtaTitleFont,titleScale,DESIGN.endCtaTitleSize,20);const buttonFont=scaledFont(typography.buttonFont,Math.max(titleScale,.86),DESIGN.buttonSize,13);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",flex:\"0 0 auto\",width:cardWidth,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",minHeight:stacked?undefined:DESIGN.cardHeight*scale,scrollSnapAlign:\"center\",scrollSnapStop:\"always\"},\"data-use-case-card\":index,children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:endCta.background,border:`1px solid ${endCta.borderColor}`,borderRadius:endCta.radius,boxSizing:\"border-box\",overflow:\"hidden\"},children:endCta.showPattern?/*#__PURE__*/_jsx(Halftone,{color:endCta.patternColor,opacity:endCta.patternOpacity}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",flex:\"1 1 auto\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",// En empilé les cartes citation deviennent très hautes\n// (photo pleine largeur) et le rail les aligne toutes sur\n// la plus haute : le titre et le bouton se retrouveraient\n// aux deux extrémités d'une carte quasi vide. On les\n// regroupe donc au centre.\njustifyContent:stacked?\"center\":\"space-between\",gap:(stacked?32:24)*padScale,padding:scalePadding(endCta.padding,padScale),boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...titleFont,color:endCta.titleColor,margin:0,maxWidth:stacked?undefined:endCta.titleMaxWidth*scale,overflowWrap:\"break-word\"},children:endCta.title}),endCta.buttonLabel?/*#__PURE__*/_jsx(GlowButton,{label:endCta.buttonLabel,href:endCta.buttonLink,newTab:endCta.buttonNewTab,button:button,font:buttonFont}):null]}),endCta.showHandles?PHOTO_HANDLES.map((h,i)=>/*#__PURE__*/_jsx(Handle,{size:handle,color:endCta.handleColor,ring:endCta.handleColor,position:{left:`${h.x*100}%`,top:`${h.y*100}%`,marginLeft:-handle/2,marginTop:-handle/2}},i)):null]});}/* ================================================================== *//* Carte citation                                                     *//* ================================================================== */function UseCaseCard({item,index,cardWidth,scale,quoteScale,breakpoint,layout,appearance,typography,photoHover,motionOff}){const[cardHovered,setCardHovered]=useState(false);const[ctaHovered,setCtaHovered]=useState(false);const stacked=breakpoint===\"phone\"||breakpoint===\"tablet\"&&layout.stackTablet;// Planchers : sur une carte mobile l'échelle tombe à ~0,47, ce qui\n// rendrait la marge interne et le logo illisibles.\nconst pad=stacked?Math.max(16,DESIGN.cardPadding*scale):DESIGN.cardPadding*scale;const logoH=(item.logoHeight??DESIGN.logoHeight)*Math.max(scale,.7);/**\n     * Le chiffre clé et les poignées sont calés sur la largeur réelle de la\n     * photo, pas sur celle de la carte : en empilé la photo prend toute la\n     * largeur, donc elle est bien plus grande que ne le laisserait croire\n     * l'échelle de la carte.\n     */const photoWidthPx=stacked?Math.max(120,cardWidth-2*pad):DESIGN.photoWidth*scale;const statScale=photoWidthPx/DESIGN.photoWidth;const quoteFont=scaledFont(typography.quoteFont,quoteScale,DESIGN.quoteSize,typography.minQuoteSize);const authorFont=scaledFont(typography.authorFont,Math.max(quoteScale,.86),DESIGN.authorSize,12);const ctaFont=scaledFont(typography.ctaFont,Math.max(quoteScale,.86),DESIGN.ctaSize,12);const logo=item.logo?.src?/*#__PURE__*/_jsx(\"img\",{src:item.logo.src,srcSet:item.logo.srcSet,alt:item.logo.alt||\"\",draggable:false,style:{display:\"block\",height:logoH,width:\"auto\",objectFit:\"contain\",objectPosition:\"left center\",userSelect:\"none\"}}):/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",height:logoH}});const photo=/*#__PURE__*/_jsx(PhotoBlock,{item:item,scale:scale,statScale:statScale,zoomed:photoHover.scope===\"card\"&&cardHovered,appearance:appearance,typography:typography,photoHover:photoHover,motionOff:motionOff,fluid:stacked,aspect:layout.photoAspectPhone});/** Citation + auteur + lien : le bas de la colonne de texte. */const quoteGroup=/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:12*scale,width:\"100%\",// Dans le Figma les textes sont posés sur 354,335 px, un peu\n// moins que les 361 px de la colonne : c'est cette largeur\n// qui décide des retours à la ligne.\nmaxWidth:stacked?undefined:DESIGN.quoteWidth*scale},children:[/*#__PURE__*/_jsx(\"p\",{style:{...quoteFont,color:appearance.quoteColor,margin:0,overflowWrap:\"break-word\"},children:item.quote}),item.author?/*#__PURE__*/_jsx(\"p\",{style:{...authorFont,color:appearance.authorColor,margin:0},children:item.author}):null,item.ctaLabel?/*#__PURE__*/_jsx(CtaLink,{label:item.ctaLabel,href:item.ctaLink,newTab:!!item.ctaNewTab,color:appearance.ctaColor,font:ctaFont,showUnderline:appearance.showCtaUnderline,scale:Math.max(scale,.7),hovered:ctaHovered||(item.cardLink?cardHovered:false),onHover:setCtaHovered,focusable:true,asSpan:!!item.cardLink}):null]});/**\n     * Colonne de texte : logo en haut, citation en bas. Dans le Figma la\n     * colonne fait 397 px de haut avec `space-between` - c'est ce qui pousse\n     * le logo tout en haut de la carte.\n     */const textColumn=/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",justifyContent:\"space-between\",gap:20*scale,flex:\"1 1 auto\",minWidth:0,maxWidth:DESIGN.textColumnWidth*scale,// La colonne fait 397 px pour une carte de 435 avec 24 px de\n// marge : elle déborde donc de 10 px en haut. Cette marge\n// négative reproduit ce débord sans grandir la carte.\nminHeight:397*scale,marginTop:-10*scale,alignSelf:\"stretch\"},children:[logo,quoteGroup]});const Tag=item.cardLink&&item.ctaLink?\"a\":\"div\";return /*#__PURE__*/_jsx(Tag,{href:item.cardLink&&item.ctaLink?item.ctaLink:undefined,target:item.cardLink&&item.ctaNewTab?\"_blank\":undefined,rel:item.cardLink&&item.ctaNewTab?\"noopener noreferrer\":undefined,\"aria-label\":item.cardLink?item.ctaLabel:undefined,onMouseEnter:()=>setCardHovered(true),onMouseLeave:()=>setCardHovered(false),style:{position:\"relative\",flex:\"0 0 auto\",width:cardWidth,boxSizing:\"border-box\",display:\"flex\",flexDirection:stacked?\"column\":\"row\",alignItems:stacked?\"stretch\":\"flex-end\",justifyContent:\"space-between\",gap:stacked?Math.max(16,24*scale):20*scale,padding:pad,borderRadius:appearance.cardRadius,background:appearance.cardBackground,scrollSnapAlign:\"center\",scrollSnapStop:\"always\",textDecoration:\"none\",color:\"inherit\",cursor:item.cardLink&&item.ctaLink?\"pointer\":undefined,minHeight:stacked?undefined:DESIGN.cardHeight*scale},\"data-use-case-card\":index,children:stacked?layout.photoFirstPhone?/*#__PURE__*/_jsxs(_Fragment,{children:[logo,photo,quoteGroup]}):/*#__PURE__*/_jsxs(_Fragment,{children:[logo,quoteGroup,photo]}):/*#__PURE__*/_jsxs(_Fragment,{children:[textColumn,photo]})});}/* ================================================================== *//* Composant principal                                                *//* ================================================================== *//**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 845\n * @framerDisableUnlink\n */export default function SectionUseCases(props){const content={...CONTENT_DEFAULTS,...props.content||{}};const endCta={...END_CTA_DEFAULTS,...props.endCta||{}};const layout={...LAYOUT_DEFAULTS,...props.layout||{}};const carousel={...CAROUSEL_DEFAULTS,...props.carousel||{}};const photoHover={...PHOTO_HOVER_DEFAULTS,...props.photoHover||{}};const button={...BUTTON_DEFAULTS,...props.button||{}};const appearance={...APPEARANCE_DEFAULTS,...props.appearance||{}};const typography={...TYPOGRAPHY_DEFAULTS,...props.typography||{}};const reveal={...REVEAL_DEFAULTS,...props.reveal||{}};// Une liste vidée volontairement reste vide : c'est le cas où l'on ne\n// garde que la carte CTA de fin. Le repli ne sert qu'à l'absence de props.\nconst items=Array.isArray(content.items)?content.items:DEFAULT_ITEMS;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const prefersReduced=useReducedMotion();const motionOff=!!prefersReduced||isCanvas;const rootRef=useRef(null);const trackRef=useRef(null);/* --- breakpoints mesurés sur la largeur du composant ------------- *//* (pas sur celle de la fenêtre : reste juste dans le canvas Framer) */const[width,setWidth]=useState(DESIGN.sectionWidth);useEffect(()=>{if(typeof window===\"undefined\")return;const root=rootRef.current;if(!root)return;const measure=()=>{const next=root.offsetWidth;startTransition(()=>setWidth(next));};measure();const observer=new ResizeObserver(measure);observer.observe(root);window.addEventListener(\"resize\",measure);return()=>{observer.disconnect();window.removeEventListener(\"resize\",measure);};},[]);const breakpoint=width>=layout.breakpointDesktop?\"desktop\":width>=layout.breakpointTablet?\"tablet\":\"phone\";const isDesktop=breakpoint===\"desktop\";const isPhone=breakpoint===\"phone\";const padding=breakpoint===\"desktop\"?layout.paddingDesktop:breakpoint===\"tablet\"?layout.paddingTablet:layout.paddingPhone;/** Padding horizontal effectif, pour sortir le carrousel du gabarit. */const padX=useMemo(()=>{const parts=(padding||\"0px\").trim().split(/\\s+/);const right=parts.length>=2?parts[1]:parts[0];const left=parts.length>=4?parts[3]:right;return{left:parseFloat(left)||0,right:parseFloat(right)||0};},[padding]);/* --- géométrie du carrousel -------------------------------------- */const cardWidth=Math.round(Math.min(layout.cardMaxWidth,Math.max(240,width-2*layout.minPeek)));const cardScale=clamp(cardWidth/DESIGN.cardWidth,.38,1);const cardGap=Math.round(layout.cardGap*clamp(cardScale,.5,1));const peek=Math.max(layout.minPeek,(width-cardWidth)/2);/**\n     * Le corps de texte ne suit pas la carte au même rythme que les blocs\n     * graphiques : sous 1 il descend deux fois moins vite, avec un plancher,\n     * pour rester lisible sur mobile.\n     */const quoteScale=clamp(1-(1-cardScale)*.5,.62,1);/** Les cartes passent en colonne en mobile, et en tablette si demandé. */const cardsAreStacked=breakpoint===\"phone\"||breakpoint===\"tablet\"&&layout.stackTablet;/* --- titre mis à l'échelle --------------------------------------- */const titleScale=isDesktop?clamp(.86+(width-layout.breakpointDesktop)*32e-5,.86,1):breakpoint===\"tablet\"?.78:.6;/* --- navigation --------------------------------------------------- */// La carte CTA de fin compte comme une carte du carrousel : elle\n// s'aimante, se centre et compte dans la pagination comme les autres.\nconst count=items.length+(endCta.show?1:0);const[active,setActive]=useState(()=>clamp(carousel.startIndex,0,Math.max(0,count-1)));const[isHovering,setIsHovering]=useState(false);const[dragging,setDragging]=useState(false);const[snapReady,setSnapReady]=useState(false);/** Positionne le carrousel sur une carte. */const scrollToIndex=useCallback((index,behavior=\"smooth\")=>{const track=trackRef.current;if(!track)return;const card=track.querySelector(`[data-use-case-card=\"${index}\"]`);if(!card)return;const target=card.offsetLeft-(track.clientWidth-card.offsetWidth)/2;track.scrollTo({left:target,behavior});},[]);/**\n     * Position initiale : la carte de départ est centrée, sans animation.\n     *\n     * Le placement est fait de façon synchrone : la mise en page est déjà\n     * calculée quand l'effet s'exécute, et `requestAnimationFrame` ne tourne\n     * pas si la page est en arrière-plan ou la section hors écran. Il est\n     * ensuite rejoué une fois les images chargées, au cas où elles décalent\n     * quelque chose.\n     *\n     * L'aimantation reste désactivée tant que ce placement n'a pas eu lieu :\n     * un `scroll-snap-type: x mandatory` déjà actif au premier calcul de mise\n     * en page fait ré-aimanter le navigateur sur la première carte et annule\n     * le placement.\n     */useEffect(()=>{if(typeof window===\"undefined\")return;const index=clamp(carousel.startIndex,0,Math.max(0,count-1));const place=()=>scrollToIndex(index,\"auto\");place();startTransition(()=>{setActive(index);setSnapReady(true);});// les polices et les images peuvent encore décaler la mise en page\nconst timer=window.setTimeout(place,120);window.addEventListener(\"load\",place);return()=>{window.clearTimeout(timer);window.removeEventListener(\"load\",place);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[carousel.startIndex,count,cardWidth,breakpoint]);/** Suit la carte la plus proche du centre pendant le défilement. */useEffect(()=>{const track=trackRef.current;if(!track)return;let frame=0;const onScroll=()=>{if(frame)return;frame=window.requestAnimationFrame(()=>{frame=0;const center=track.scrollLeft+track.clientWidth/2;let best=0;let bestDist=Infinity;const cards=track.querySelectorAll(\"[data-use-case-card]\");cards.forEach((card,i)=>{const c=card.offsetLeft+card.offsetWidth/2;const d=Math.abs(c-center);if(d<bestDist){bestDist=d;best=i;}});startTransition(()=>setActive(best));});};track.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{track.removeEventListener(\"scroll\",onScroll);if(frame)window.cancelAnimationFrame(frame);};},[count]);const goTo=useCallback(index=>{const next=carousel.loop?(index+count)%count:clamp(index,0,count-1);scrollToIndex(next);},[carousel.loop,count,scrollToIndex]);/* --- lecture automatique ------------------------------------------ */useEffect(()=>{if(isCanvas||!carousel.autoPlay||count<2)return;if(carousel.pauseOnHover&&(isHovering||dragging))return;if(typeof window===\"undefined\")return;const ms=Math.max(1,carousel.interval)*1e3;const id=window.setInterval(()=>{const next=active+1;goTo(next>=count?carousel.loop?0:0:next);},ms);return()=>window.clearInterval(id);},[isCanvas,carousel.autoPlay,carousel.interval,carousel.pauseOnHover,carousel.loop,isHovering,dragging,active,count,goTo]);/* --- glisser-déposer à la souris ---------------------------------- */const drag=useRef({active:false,startX:0,startScroll:0,moved:0});const onPointerDown=useCallback(e=>{if(!carousel.drag||isCanvas)return;if(e.pointerType===\"touch\")return;// le défilement natif s'en charge\nconst track=trackRef.current;if(!track)return;drag.current={active:true,startX:e.clientX,startScroll:track.scrollLeft,moved:0};setDragging(true);},[carousel.drag,isCanvas]);const onPointerMove=useCallback(e=>{if(!drag.current.active)return;const track=trackRef.current;if(!track)return;const delta=e.clientX-drag.current.startX;drag.current.moved=Math.abs(delta);track.scrollLeft=drag.current.startScroll-delta;},[]);const endDrag=useCallback(()=>{if(!drag.current.active)return;const moved=drag.current.moved;drag.current.active=false;setDragging(false);if(!carousel.snap)return;const track=trackRef.current;if(!track)return;// le scroll-snap ne se déclenche pas après un scrollLeft manuel :\n// on recentre nous-mêmes sur la carte la plus proche\nif(moved>4){const center=track.scrollLeft+track.clientWidth/2;let best=0;let bestDist=Infinity;track.querySelectorAll(\"[data-use-case-card]\").forEach((card,i)=>{const c=card.offsetLeft+card.offsetWidth/2;const d=Math.abs(c-center);if(d<bestDist){bestDist=d;best=i;}});scrollToIndex(best);}},[carousel.snap,scrollToIndex]);/* --- apparition ---------------------------------------------------- */const inView=useInView(rootRef,{once:true,amount:clamp(reveal.amount,0,1)});const revealOn=!reveal.enabled||motionOff||inView;const enter=order=>reveal.enabled&&!motionOff?{initial:{opacity:0,y:reveal.shift},animate:revealOn?{opacity:1,y:0}:{opacity:0,y:reveal.shift},transition:{duration:reveal.duration,delay:order*reveal.stagger,ease:reveal.easing}}:{initial:false};/* --- titre --------------------------------------------------------- */const titleFont=scaledFont(typography.titleFont,titleScale,DESIGN.titleSize,22);const TitleTag=content.titleTag||\"h2\";const segments=splitHighlight(content.title||\"\",content.highlight||\"\");const highlightPad=Math.max(2,6*titleScale);const highlightDot=Math.max(3,4*titleScale);const titleNode=/*#__PURE__*/_jsx(TitleTag,{style:{...titleFont,color:appearance.titleColor,margin:0,whiteSpace:\"pre-wrap\",overflowWrap:\"break-word\",maxWidth:isDesktop?820:undefined},children:segments.map((seg,i)=>seg.hl?/**\n                     * Dans le Figma la boîte violette est un calque posé\n                     * PAR-DESSUS le titre, pas un fond inséré dans le texte :\n                     * elle ne doit donc rien décaler. Le mot reste à sa place\n                     * exacte dans la phrase et la boîte déborde de 6 px tout\n                     * autour, en position absolue.\n                     *//*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",display:\"inline-block\",whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:-highlightPad,background:appearance.highlightBackground,border:`0.5px solid ${appearance.highlightBorder}`,boxSizing:\"border-box\",transform:\"rotate(1deg)\",transformOrigin:\"center center\"},children:[/*#__PURE__*/_jsx(Handle,{size:highlightDot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{left:-highlightDot/2,top:-highlightDot/2}}),/*#__PURE__*/_jsx(Handle,{size:highlightDot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{right:-highlightDot/2,top:-highlightDot/2}}),/*#__PURE__*/_jsx(Handle,{size:highlightDot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{left:-highlightDot/2,bottom:-highlightDot/2}}),/*#__PURE__*/_jsx(Handle,{size:highlightDot,color:appearance.highlightBorder,ring:appearance.highlightBorder,position:{right:-highlightDot/2,bottom:-highlightDot/2}})]}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",display:\"inline-block\",color:appearance.highlightColor,transform:\"rotate(1deg)\",transformOrigin:\"center center\"},children:seg.t})]},i):/*#__PURE__*/_jsx(\"span\",{children:seg.t},i))});const buttonNode=content.showButton?/*#__PURE__*/_jsx(GlowButton,{label:content.buttonLabel,href:content.buttonLink,newTab:content.buttonNewTab,button:button,font:typography.buttonFont}):null;const showDots=carousel.navigation===\"dots\"||carousel.navigation===\"both\";const showArrows=carousel.navigation===\"arrows\"||carousel.navigation===\"both\";return /*#__PURE__*/_jsxs(\"section\",{ref:rootRef,\"aria-label\":content.title,style:{position:\"relative\",width:\"100%\",background:appearance.background,padding,boxSizing:\"border-box\",overflow:\"hidden\",...props.style},children:[/*#__PURE__*/_jsx(\"style\",{children:TRACK_CSS}),/*#__PURE__*/_jsxs(motion.div,{...enter(0),style:{display:\"flex\",flexDirection:isDesktop?\"row\":\"column\",alignItems:isDesktop?\"flex-end\":\"flex-start\",justifyContent:\"space-between\",gap:isDesktop?24:24,width:\"100%\",maxWidth:layout.contentMaxWidth,margin:\"0 auto\"},children:[titleNode,buttonNode]}),/*#__PURE__*/_jsxs(motion.div,{...enter(1),onMouseEnter:()=>setIsHovering(true),onMouseLeave:()=>{setIsHovering(false);endDrag();},style:{position:\"relative\",// le carrousel déborde du gabarit : il file jusqu'aux\n// bords de la section, comme dans le Figma\nmarginLeft:-padX.left,marginRight:-padX.right,marginTop:isDesktop?layout.headerGap:Math.round(layout.headerGap*.6)},children:[/*#__PURE__*/_jsxs(\"div\",{ref:trackRef,className:TRACK_CLASS,role:\"group\",\"aria-roledescription\":\"carrousel\",\"aria-label\":\"Use cases clients\",tabIndex:0,onPointerDown:onPointerDown,onPointerMove:onPointerMove,onPointerUp:endDrag,onPointerCancel:endDrag,onKeyDown:e=>{if(e.key===\"ArrowRight\"){e.preventDefault();goTo(active+1);}if(e.key===\"ArrowLeft\"){e.preventDefault();goTo(active-1);}},style:{// offsetParent des cartes : `scrollToIndex` lit leur\n// offsetLeft, qui doit être relatif au rail et non à\n// la section.\nposition:\"relative\",display:\"flex\",alignItems:\"stretch\",gap:cardGap,paddingLeft:peek,paddingRight:peek,overflowX:\"auto\",overflowY:\"hidden\",scrollSnapType:carousel.snap&&snapReady&&!dragging?\"x mandatory\":\"none\",scrollbarWidth:\"none\",msOverflowStyle:\"none\",WebkitOverflowScrolling:\"touch\",cursor:carousel.drag?dragging?\"grabbing\":\"grab\":undefined,outline:\"none\",// la lueur du survol et les poignées d'angle ne doivent\n// pas être rognées verticalement\npaddingTop:8,paddingBottom:8,marginTop:-8,marginBottom:-8},children:[items.map((item,i)=>/*#__PURE__*/_jsx(UseCaseCard,{item:item,index:i,cardWidth:cardWidth,scale:cardScale,quoteScale:quoteScale,breakpoint:breakpoint,layout:layout,appearance:appearance,typography:typography,photoHover:photoHover,motionOff:motionOff},i)),endCta.show?/*#__PURE__*/_jsx(EndCtaCard,{index:items.length,cardWidth:cardWidth,scale:cardScale,titleScale:quoteScale,stacked:cardsAreStacked,endCta:endCta,button:button,typography:typography}):null]}),showArrows||showDots?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:16,marginTop:isPhone?24:32},children:[showArrows?/*#__PURE__*/_jsx(NavButton,{direction:\"prev\",color:carousel.navigationColor,disabled:!carousel.loop&&active<=0,onClick:()=>goTo(active-1)}):null,showDots?/*#__PURE__*/_jsx(\"div\",{role:\"tablist\",\"aria-label\":\"Pagination des use cases\",style:{display:\"flex\",gap:8},children:Array.from({length:count}).map((_,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"tab\",\"aria-selected\":i===active,\"aria-label\":`Carte ${i+1}`,onClick:()=>goTo(i),style:{width:i===active?24:8,height:8,padding:0,border:\"none\",borderRadius:999,background:i===active?carousel.navigationColor:carousel.navigationInactive,cursor:\"pointer\",transition:\"width 0.28s ease, background 0.28s ease\"}},i))}):null,showArrows?/*#__PURE__*/_jsx(NavButton,{direction:\"next\",color:carousel.navigationColor,disabled:!carousel.loop&&active>=count-1,onClick:()=>goTo(active+1)}):null]}):null]})]});}/** Flèche de navigation du carrousel. */function NavButton({direction,color,disabled,onClick}){return /*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onClick,disabled:disabled,\"aria-label\":direction===\"prev\"?\"Carte pr\\xe9c\\xe9dente\":\"Carte suivante\",style:{width:40,height:40,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,borderRadius:999,border:`1px solid ${withAlpha(color,.35)}`,background:\"transparent\",cursor:disabled?\"default\":\"pointer\",opacity:disabled?.35:1,transition:\"opacity 0.2s ease, background 0.2s ease\"},children:/*#__PURE__*/_jsx(\"svg\",{width:20,height:20,viewBox:\"0 0 20 20\",fill:\"none\",\"aria-hidden\":true,style:{display:\"block\",transform:direction===\"prev\"?\"rotate(180deg)\":undefined},children:/*#__PURE__*/_jsx(\"path\",{d:ARROW_RIGHT_PATH,stroke:color,strokeWidth:1.66667,strokeLinecap:\"round\",strokeLinejoin:\"round\"})})});}SectionUseCases.displayName=\"Section Use cases\";SectionUseCases.defaultProps={content:CONTENT_DEFAULTS,endCta:END_CTA_DEFAULTS,layout:LAYOUT_DEFAULTS,carousel:CAROUSEL_DEFAULTS,photoHover:PHOTO_HOVER_DEFAULTS,button:BUTTON_DEFAULTS,appearance:APPEARANCE_DEFAULTS,typography:TYPOGRAPHY_DEFAULTS,reveal:REVEAL_DEFAULTS};/* ================================================================== *//* Property controls - regroupés, hiérarchisés, en français           *//* ================================================================== */addPropertyControls(SectionUseCases,{content:{type:ControlType.Object,title:\"Contenu\",icon:\"object\",description:\"En-t\\xeate de la section et cartes du carrousel.\",controls:{title:{type:ControlType.String,title:\"Titre\",displayTextArea:true,defaultValue:CONTENT_DEFAULTS.title,description:\"Les retours \\xe0 la ligne tap\\xe9s ici sont conserv\\xe9s \\xe0 l'affichage.\"},highlight:{type:ControlType.String,title:\"Mot encadr\\xe9\",defaultValue:CONTENT_DEFAULTS.highlight,description:\"Mot entour\\xe9 de la bo\\xeete de s\\xe9lection violette. Doit correspondre exactement \\xe0 un extrait du titre (insensible \\xe0 la casse). Vide = rien d'encadr\\xe9.\"},titleTag:{type:ControlType.Enum,title:\"Balise du titre\",options:[\"h1\",\"h2\",\"h3\"],optionTitles:[\"Titre H1\",\"Titre H2\",\"Titre H3\"],defaultValue:CONTENT_DEFAULTS.titleTag,description:\"Un seul H1 par page pour le SEO.\"},showButton:{type:ControlType.Boolean,title:\"Bouton\",enabledTitle:\"Affich\\xe9\",disabledTitle:\"Masqu\\xe9\",defaultValue:CONTENT_DEFAULTS.showButton},buttonLabel:{type:ControlType.String,title:\"Libell\\xe9\",defaultValue:CONTENT_DEFAULTS.buttonLabel,hidden:p=>!p.showButton},buttonLink:{type:ControlType.Link,title:\"Lien\",hidden:p=>!p.showButton},buttonNewTab:{type:ControlType.Boolean,title:\"Nouvel onglet\",enabledTitle:\"Oui\",disabledTitle:\"Non\",defaultValue:CONTENT_DEFAULTS.buttonNewTab,hidden:p=>!p.showButton},items:{type:ControlType.Array,title:\"Use cases\",description:\"Une entr\\xe9e = une carte du carrousel. Le carrousel s'adapte automatiquement au nombre d'entr\\xe9es. Vider la liste ne laisse que la carte CTA de fin.\",control:{type:ControlType.Object,title:\"Use case\",icon:\"object\",controls:{logo:{type:ControlType.ResponsiveImage,title:\"Logo client\",description:\"Logo pos\\xe9 en haut de la carte. Les deux logos de la maquette sont export\\xe9s dans UseCases/assets (logo-beev.svg, logo-visibrain.svg). Un SVG monochrome donne le meilleur rendu.\"},logoHeight:{type:ControlType.Number,title:\"Hauteur logo\",min:16,max:96,step:.5,unit:\"px\",defaultValue:DESIGN.logoHeight,description:\"Hauteur du logo \\xe0 la taille maquette. Elle est mise \\xe0 l'\\xe9chelle avec la carte.\"},image:{type:ControlType.ResponsiveImage,title:\"Photo\",description:\"Photo du cadre inclin\\xe9. Format portrait recommand\\xe9 (ratio 3:4). Les deux photos de la maquette sont export\\xe9es dans UseCases/assets (photo-man-call.webp, photo-woman-call.webp).\"},imageFocus:{type:ControlType.String,title:\"Point focal\",defaultValue:\"50% 50%\",description:\"Zone de la photo \\xe0 garder au recadrage, au format CSS object-position (ex. \\xab 50% 30% \\xbb). Utile quand le visage sort du cadre en mobile.\"},quote:{type:ControlType.String,title:\"Citation\",displayTextArea:true,defaultValue:\"\\xab Votre verbatim client. \\xbb\"},author:{type:ControlType.String,title:\"Auteur\",defaultValue:\"Pr\\xe9nom Nom, Fonction Entreprise\"},showStat:{type:ControlType.Boolean,title:\"Chiffre cl\\xe9\",enabledTitle:\"Affich\\xe9\",disabledTitle:\"Masqu\\xe9\",defaultValue:true,description:\"Bloc chiffr\\xe9 pos\\xe9 en bas de la photo, dans sa bo\\xeete de s\\xe9lection violette.\"},statValue:{type:ControlType.String,title:\"Chiffre\",defaultValue:\"+20%\",hidden:p=>!p.showStat},statCaption:{type:ControlType.String,title:\"L\\xe9gende\",defaultValue:\"d'application du playbook en 3 mois\",hidden:p=>!p.showStat},ctaLabel:{type:ControlType.String,title:\"Libell\\xe9 du lien\",defaultValue:\"Voir le use case\",description:\"Vide = pas de lien sur la carte.\"},ctaLink:{type:ControlType.Link,title:\"Lien\"},ctaNewTab:{type:ControlType.Boolean,title:\"Nouvel onglet\",enabledTitle:\"Oui\",disabledTitle:\"Non\",defaultValue:false},cardLink:{type:ControlType.Boolean,title:\"Carte cliquable\",enabledTitle:\"Toute la carte\",disabledTitle:\"Lien seul\",defaultValue:false,description:\"Rend la carte enti\\xe8re cliquable vers le lien. Le trait du lien s'anime alors au survol de la carte.\"}}},defaultValue:DEFAULT_ITEMS}}},endCta:{type:ControlType.Object,title:\"Carte CTA de fin\",icon:\"object\",description:\"Derni\\xe8re carte du carrousel, reprise de la carte de fin du carrousel \\xab Steps \\xbb (Figma 2917:19496). Son bouton est le m\\xeame composant que celui de l'en-t\\xeate : il a donc exactement le survol de PrimaryBtn.\",controls:{show:{type:ControlType.Boolean,title:\"Carte CTA\",enabledTitle:\"Affich\\xe9e\",disabledTitle:\"Masqu\\xe9e\",defaultValue:END_CTA_DEFAULTS.show,description:\"Ajout\\xe9e apr\\xe8s le dernier use case. Elle compte comme une carte : elle s'aimante et appara\\xeet dans la pagination.\"},title:{type:ControlType.String,title:\"Titre\",displayTextArea:true,defaultValue:END_CTA_DEFAULTS.title,hidden:p=>!p.show},titleMaxWidth:{type:ControlType.Number,title:\"Largeur du titre\",min:160,max:900,step:1,unit:\"px\",defaultValue:END_CTA_DEFAULTS.titleMaxWidth,description:\"433 px dans la maquette : c'est ce qui fait passer le titre sur deux lignes.\",hidden:p=>!p.show},buttonLabel:{type:ControlType.String,title:\"Libell\\xe9 du bouton\",defaultValue:END_CTA_DEFAULTS.buttonLabel,description:\"Vide = pas de bouton.\",hidden:p=>!p.show},buttonLink:{type:ControlType.Link,title:\"Lien\",hidden:p=>!p.show},buttonNewTab:{type:ControlType.Boolean,title:\"Nouvel onglet\",enabledTitle:\"Oui\",disabledTitle:\"Non\",defaultValue:END_CTA_DEFAULTS.buttonNewTab,hidden:p=>!p.show},background:{type:ControlType.Color,title:\"Fond\",defaultValue:END_CTA_DEFAULTS.background,description:\"Beige clair, volontairement diff\\xe9rent du beige des cartes citation.\",hidden:p=>!p.show},borderColor:{type:ControlType.Color,title:\"Liser\\xe9\",defaultValue:END_CTA_DEFAULTS.borderColor,hidden:p=>!p.show},titleColor:{type:ControlType.Color,title:\"Titre\",defaultValue:END_CTA_DEFAULTS.titleColor,hidden:p=>!p.show},radius:{type:ControlType.Number,title:\"Arrondi\",min:0,max:48,step:1,unit:\"px\",defaultValue:END_CTA_DEFAULTS.radius,description:\"Cal\\xe9 sur l'arrondi des cartes citation pour rester coh\\xe9rent dans le rail. La carte du Figma est \\xe0 0.\",hidden:p=>!p.show},padding:{type:ControlType.Padding,title:\"Marge interne\",defaultValue:END_CTA_DEFAULTS.padding,description:\"40 px dans la maquette.\",hidden:p=>!p.show},showPattern:{type:ControlType.Boolean,title:\"Motif tram\\xe9\",enabledTitle:\"Affich\\xe9\",disabledTitle:\"Masqu\\xe9\",defaultValue:END_CTA_DEFAULTS.showPattern,description:\"Trame de points relev\\xe9e sur la maquette, 48 x 30 points, \\xe9teinte par un d\\xe9grad\\xe9.\",hidden:p=>!p.show},patternColor:{type:ControlType.Color,title:\"Couleur du motif\",defaultValue:END_CTA_DEFAULTS.patternColor,hidden:p=>!p.show||!p.showPattern},patternOpacity:{type:ControlType.Number,title:\"Opacit\\xe9 du motif\",min:0,max:1,step:.05,defaultValue:END_CTA_DEFAULTS.patternOpacity,hidden:p=>!p.show||!p.showPattern},showHandles:{type:ControlType.Boolean,title:\"Poign\\xe9es d'angle\",enabledTitle:\"Affich\\xe9es\",disabledTitle:\"Masqu\\xe9es\",defaultValue:END_CTA_DEFAULTS.showHandles,hidden:p=>!p.show},handleColor:{type:ControlType.Color,title:\"Couleur poign\\xe9es\",defaultValue:END_CTA_DEFAULTS.handleColor,description:\"Gris et non blanc : contrairement \\xe0 celles de la photo, ces poign\\xe9es se posent sur le fond de la section.\",hidden:p=>!p.show||!p.showHandles}}},carousel:{type:ControlType.Object,title:\"Carrousel\",icon:\"effect\",description:\"D\\xe9filement horizontal centr\\xe9 : la carte active est au milieu, les voisines d\\xe9passent de chaque c\\xf4t\\xe9.\",controls:{startIndex:{type:ControlType.Number,title:\"Carte de d\\xe9part\",min:0,max:20,step:1,displayStepper:true,defaultValue:CAROUSEL_DEFAULTS.startIndex,description:\"Index de la carte centr\\xe9e au chargement (0 = la premi\\xe8re). Dans la maquette c'est la deuxi\\xe8me.\"},snap:{type:ControlType.Boolean,title:\"Aimantation\",enabledTitle:\"Activ\\xe9e\",disabledTitle:\"Libre\",defaultValue:CAROUSEL_DEFAULTS.snap,description:\"Le d\\xe9filement s'arr\\xeate toujours sur une carte centr\\xe9e.\"},drag:{type:ControlType.Boolean,title:\"Glisser \\xe0 la souris\",enabledTitle:\"Oui\",disabledTitle:\"Non\",defaultValue:CAROUSEL_DEFAULTS.drag,description:\"Le d\\xe9filement tactile et la molette fonctionnent dans tous les cas.\"},loop:{type:ControlType.Boolean,title:\"Boucle\",enabledTitle:\"Oui\",disabledTitle:\"Non\",defaultValue:CAROUSEL_DEFAULTS.loop,description:\"Apr\\xe8s la derni\\xe8re carte, la navigation revient \\xe0 la premi\\xe8re.\"},autoPlay:{type:ControlType.Boolean,title:\"D\\xe9filement auto\",enabledTitle:\"Activ\\xe9\",disabledTitle:\"D\\xe9sactiv\\xe9\",defaultValue:CAROUSEL_DEFAULTS.autoPlay},interval:{type:ControlType.Number,title:\"Intervalle\",min:1,max:20,step:.5,unit:\"s\",defaultValue:CAROUSEL_DEFAULTS.interval,hidden:p=>!p.autoPlay},pauseOnHover:{type:ControlType.Boolean,title:\"Pause au survol\",enabledTitle:\"Oui\",disabledTitle:\"Non\",defaultValue:CAROUSEL_DEFAULTS.pauseOnHover,hidden:p=>!p.autoPlay},navigation:{type:ControlType.Enum,title:\"Navigation\",options:[\"none\",\"dots\",\"arrows\",\"both\"],optionTitles:[\"Aucune (maquette)\",\"Points\",\"Fl\\xe8ches\",\"Points + fl\\xe8ches\"],defaultValue:CAROUSEL_DEFAULTS.navigation,description:\"La maquette n'affiche aucun contr\\xf4le : le d\\xe9filement se fait au glisser. Ajouter des points aide sur mobile.\"},navigationColor:{type:ControlType.Color,title:\"Couleur active\",defaultValue:CAROUSEL_DEFAULTS.navigationColor,hidden:p=>p.navigation===\"none\"},navigationInactive:{type:ControlType.Color,title:\"Couleur inactive\",defaultValue:CAROUSEL_DEFAULTS.navigationInactive,hidden:p=>p.navigation===\"none\"||p.navigation===\"arrows\"}}},photoHover:{type:ControlType.Object,title:\"Survol de la photo\",icon:\"effect\",description:\"Commentaire designer : \\xab hover sur la photo : zoom sur la photo dans la card, un tout petit peu. \\xbb\",controls:{enabled:{type:ControlType.Boolean,title:\"Zoom au survol\",enabledTitle:\"Activ\\xe9\",disabledTitle:\"D\\xe9sactiv\\xe9\",defaultValue:PHOTO_HOVER_DEFAULTS.enabled},scope:{type:ControlType.Enum,title:\"D\\xe9clencheur\",options:[\"card\",\"photo\"],optionTitles:[\"Toute la carte\",\"La photo seule\"],displaySegmentedControl:true,defaultValue:PHOTO_HOVER_DEFAULTS.scope,description:\"\\xab Toute la carte \\xbb d\\xe9clenche le zoom d\\xe8s que la souris entre dans la carte, y compris sur le texte.\",hidden:p=>!p.enabled},zoom:{type:ControlType.Number,title:\"\\xc9chelle\",min:1,max:1.3,step:.005,defaultValue:PHOTO_HOVER_DEFAULTS.zoom,description:\"1,04 = \\xab un tout petit peu \\xbb. Le cadre, lui, ne bouge pas : seule l'image grandit derri\\xe8re.\",hidden:p=>!p.enabled},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:PHOTO_HOVER_DEFAULTS.transition,hidden:p=>!p.enabled}}},button:{type:ControlType.Object,title:\"Bouton\",icon:\"color\",description:\"Boutons \\xab Tous les use cases \\xbb (en-t\\xeate) et celui de la carte CTA de fin : c'est le m\\xeame composant, donc les m\\xeames r\\xe9glages. Le survol reprend \\xe0 l'identique celui de PrimaryBtn : une lueur orange dont l'alpha passe de 0 \\xe0 1, sans autre changement.\",controls:{background:{type:ControlType.Color,title:\"Fond\",defaultValue:BUTTON_DEFAULTS.background},color:{type:ControlType.Color,title:\"Texte\",defaultValue:BUTTON_DEFAULTS.color},radius:{type:ControlType.Number,title:\"Arrondi\",min:0,max:40,step:1,unit:\"px\",defaultValue:BUTTON_DEFAULTS.radius},padding:{type:ControlType.Padding,title:\"Marge interne\",defaultValue:BUTTON_DEFAULTS.padding},glowColor:{type:ControlType.Color,title:\"Couleur lueur\",defaultValue:BUTTON_DEFAULTS.glowColor,description:\"Valeur relev\\xe9e sur PrimaryBtn : rgb(252, 80, 0), tr\\xe8s l\\xe9g\\xe8rement diff\\xe9rente du fond du bouton.\"},glowBlur:{type:ControlType.Number,title:\"Flou lueur\",min:0,max:80,step:1,unit:\"px\",defaultValue:BUTTON_DEFAULTS.glowBlur,description:\"Valeur relev\\xe9e sur PrimaryBtn : 34 px. 0 d\\xe9sactive la lueur.\"},glowTransition:{type:ControlType.Transition,title:\"Transition lueur\",defaultValue:BUTTON_DEFAULTS.glowTransition,description:\"PrimaryBtn anime la lueur via Framer Motion : ressort, rebond 0,2, dur\\xe9e 0,4 s.\"}}},layout:{type:ControlType.Object,title:\"Mise en page\",icon:\"boolean\",description:\"Marges, largeur des cartes et bascules Desktop / Tablette / Mobile.\",controls:{contentMaxWidth:{type:ControlType.Number,title:\"Largeur gabarit\",min:600,max:1920,step:10,unit:\"px\",defaultValue:LAYOUT_DEFAULTS.contentMaxWidth,description:\"Largeur maximale de l'en-t\\xeate. Le carrousel, lui, file toujours jusqu'aux bords de la section.\"},paddingDesktop:{type:ControlType.Padding,title:\"Marges Desktop\",defaultValue:LAYOUT_DEFAULTS.paddingDesktop},paddingTablet:{type:ControlType.Padding,title:\"Marges Tablette\",defaultValue:LAYOUT_DEFAULTS.paddingTablet},paddingPhone:{type:ControlType.Padding,title:\"Marges Mobile\",defaultValue:LAYOUT_DEFAULTS.paddingPhone},headerGap:{type:ControlType.Number,title:\"Espace en-t\\xeate\",min:0,max:200,step:4,unit:\"px\",defaultValue:LAYOUT_DEFAULTS.headerGap,description:\"\\xc9cart entre l'en-t\\xeate et le carrousel. R\\xe9duit de 40 % en tablette et mobile.\"},cardMaxWidth:{type:ControlType.Number,title:\"Largeur carte\",min:320,max:1200,step:4,unit:\"px\",defaultValue:LAYOUT_DEFAULTS.cardMaxWidth,description:\"Largeur de la carte \\xe0 partir de laquelle tout le reste est mis \\xe0 l'\\xe9chelle. 732 px dans la maquette.\"},cardGap:{type:ControlType.Number,title:\"\\xc9cart entre cartes\",min:0,max:120,step:1,unit:\"px\",defaultValue:LAYOUT_DEFAULTS.cardGap},minPeek:{type:ControlType.Number,title:\"D\\xe9bord minimum\",min:0,max:200,step:2,unit:\"px\",defaultValue:LAYOUT_DEFAULTS.minPeek,description:\"Largeur minimale des cartes voisines visibles de chaque c\\xf4t\\xe9. C'est ce qui garantit qu'on voit qu'il y a un carrousel.\"},stackTablet:{type:ControlType.Boolean,title:\"Tablette empil\\xe9e\",enabledTitle:\"Empil\\xe9e\",disabledTitle:\"C\\xf4te \\xe0 c\\xf4te\",defaultValue:LAYOUT_DEFAULTS.stackTablet,description:\"En tablette la carte garde par d\\xe9faut sa disposition texte + photo c\\xf4te \\xe0 c\\xf4te, mise \\xe0 l'\\xe9chelle.\"},photoFirstPhone:{type:ControlType.Boolean,title:\"Photo en premier (mobile)\",enabledTitle:\"Photo puis texte\",disabledTitle:\"Texte puis photo\",defaultValue:LAYOUT_DEFAULTS.photoFirstPhone},photoAspectPhone:{type:ControlType.Number,title:\"Ratio photo empil\\xe9e\",min:.5,max:2,step:.05,defaultValue:LAYOUT_DEFAULTS.photoAspectPhone,description:\"Largeur / hauteur de la photo quand la carte est empil\\xe9e. 0,75 = portrait 3:4, comme la maquette.\"},breakpointDesktop:{type:ControlType.Number,title:\"Seuil Desktop\",min:600,max:1600,step:10,unit:\"px\",defaultValue:LAYOUT_DEFAULTS.breakpointDesktop,description:\"Mesur\\xe9 sur la largeur du composant, pas sur celle de la fen\\xeatre : le rendu reste juste dans le canvas Framer.\"},breakpointTablet:{type:ControlType.Number,title:\"Seuil Tablette\",min:320,max:1e3,step:10,unit:\"px\",defaultValue:LAYOUT_DEFAULTS.breakpointTablet}}},appearance:{type:ControlType.Object,title:\"Apparence\",icon:\"color\",description:\"Couleurs de la section, de la carte et du cadre photo.\",controls:{background:{type:ControlType.Color,title:\"Fond section\",defaultValue:APPEARANCE_DEFAULTS.background},cardBackground:{type:ControlType.Color,title:\"Fond carte\",defaultValue:APPEARANCE_DEFAULTS.cardBackground},cardRadius:{type:ControlType.Number,title:\"Arrondi carte\",min:0,max:48,step:1,unit:\"px\",defaultValue:APPEARANCE_DEFAULTS.cardRadius},titleColor:{type:ControlType.Color,title:\"Titre\",defaultValue:APPEARANCE_DEFAULTS.titleColor},quoteColor:{type:ControlType.Color,title:\"Citation\",defaultValue:APPEARANCE_DEFAULTS.quoteColor},authorColor:{type:ControlType.Color,title:\"Auteur\",defaultValue:APPEARANCE_DEFAULTS.authorColor},ctaColor:{type:ControlType.Color,title:\"Lien de la carte\",defaultValue:APPEARANCE_DEFAULTS.ctaColor},showCtaUnderline:{type:ControlType.Boolean,title:\"Trait du lien\",enabledTitle:\"Affich\\xe9\",disabledTitle:\"Masqu\\xe9\",defaultValue:APPEARANCE_DEFAULTS.showCtaUnderline,description:\"Trait de 105 px qui glisse depuis la gauche au survol, comme dans le Figma.\"},highlightColor:{type:ControlType.Color,title:\"Texte encadr\\xe9\",defaultValue:APPEARANCE_DEFAULTS.highlightColor},highlightBackground:{type:ControlType.Color,title:\"Fond bo\\xeete\",defaultValue:APPEARANCE_DEFAULTS.highlightBackground},highlightBorder:{type:ControlType.Color,title:\"Liser\\xe9 bo\\xeete\",defaultValue:APPEARANCE_DEFAULTS.highlightBorder},statValueColor:{type:ControlType.Color,title:\"Chiffre (sous la bo\\xeete)\",defaultValue:APPEARANCE_DEFAULTS.statValueColor,description:\"Visible seulement si la bo\\xeete violette est masqu\\xe9e : dans la maquette elle le recouvre.\"},statCaptionColor:{type:ControlType.Color,title:\"L\\xe9gende du chiffre\",defaultValue:APPEARANCE_DEFAULTS.statCaptionColor},photoBorderColor:{type:ControlType.Color,title:\"Liser\\xe9 photo\",defaultValue:APPEARANCE_DEFAULTS.photoBorderColor},showHandles:{type:ControlType.Boolean,title:\"Poign\\xe9es d'angle\",enabledTitle:\"Affich\\xe9es\",disabledTitle:\"Masqu\\xe9es\",defaultValue:APPEARANCE_DEFAULTS.showHandles,description:\"Les 4 pastilles de \\xab s\\xe9lection Figma \\xbb aux coins du cadre photo. Celles de la carte CTA se r\\xe8glent dans son propre groupe.\"},handleColor:{type:ControlType.Color,title:\"Couleur poign\\xe9es\",defaultValue:APPEARANCE_DEFAULTS.handleColor,hidden:p=>!p.showHandles},photoTilt:{type:ControlType.Number,title:\"Inclinaison photo\",min:-8,max:8,step:.02,unit:\"\\xb0\",defaultValue:APPEARANCE_DEFAULTS.photoTilt,description:\"0,94\\xb0 dans la maquette. Le chiffre cl\\xe9 est contre-inclin\\xe9 pour rester droit.\"}}},typography:{type:ControlType.Object,title:\"Typographie\",icon:\"object\",description:\"Les tailles saisies ici sont celles de la maquette \\xe0 1440. Elles sont mises \\xe0 l'\\xe9chelle automatiquement aux autres largeurs.\",controls:{titleFont:{type:ControlType.Font,title:\"Titre\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.titleFont},quoteFont:{type:ControlType.Font,title:\"Citation\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.quoteFont},minQuoteSize:{type:ControlType.Number,title:\"Taille mini citation\",min:12,max:24,step:.5,unit:\"px\",defaultValue:TYPOGRAPHY_DEFAULTS.minQuoteSize,description:\"Plancher de lisibilit\\xe9 : la citation ne descend jamais sous cette taille, m\\xeame sur les petites cartes.\"},authorFont:{type:ControlType.Font,title:\"Auteur\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.authorFont},ctaFont:{type:ControlType.Font,title:\"Lien de la carte\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.ctaFont},buttonFont:{type:ControlType.Font,title:\"Bouton\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.buttonFont},statValueFont:{type:ControlType.Font,title:\"Chiffre cl\\xe9\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.statValueFont},statCaptionFont:{type:ControlType.Font,title:\"L\\xe9gende du chiffre\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.statCaptionFont},endCtaTitleFont:{type:ControlType.Font,title:\"Titre carte CTA\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:TYPOGRAPHY_DEFAULTS.endCtaTitleFont}}},reveal:{type:ControlType.Object,title:\"Apparition\",icon:\"effect\",description:\"Fondu + glissement vers le haut \\xe0 l'entr\\xe9e dans le viewport, jou\\xe9 une seule fois.\",controls:{enabled:{type:ControlType.Boolean,title:\"Animation\",enabledTitle:\"Activ\\xe9e\",disabledTitle:\"D\\xe9sactiv\\xe9e\",defaultValue:REVEAL_DEFAULTS.enabled},amount:{type:ControlType.Number,title:\"Seuil\",min:0,max:1,step:.05,defaultValue:REVEAL_DEFAULTS.amount,description:\"Part de la section visible avant de d\\xe9clencher l'animation.\",hidden:p=>!p.enabled},shift:{type:ControlType.Number,title:\"Glissement\",min:0,max:80,step:1,unit:\"px\",defaultValue:REVEAL_DEFAULTS.shift,hidden:p=>!p.enabled},duration:{type:ControlType.Number,title:\"Dur\\xe9e\",min:.1,max:2,step:.05,unit:\"s\",defaultValue:REVEAL_DEFAULTS.duration,hidden:p=>!p.enabled},stagger:{type:ControlType.Number,title:\"D\\xe9calage en cascade\",min:0,max:.6,step:.01,unit:\"s\",defaultValue:REVEAL_DEFAULTS.stagger,description:\"Retard du carrousel derri\\xe8re l'en-t\\xeate.\",hidden:p=>!p.enabled}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SectionUseCases\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"1440\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"845\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SectionUseCases.map"],"mappings":"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"}