{"version":3,"file":"shared-lib.BkjpFLXW.mjs","names":["_Fragment","useState","useRef","useState","useId","useState","useRef"],"sources":["https:/framerusercontent.com/modules/tisq4T9cl68O88e6QtPg/Ohq63Hw59XGBOuUlgQLe/BadgeOverride.js","https:/framerusercontent.com/modules/vh63piYl0nPHEYcaElBf/fgl1k845eBlMsO1Anlfm/Hover.js","https:/framerusercontent.com/modules/GrOC2EtNQqzERasB6Jr7/I7Jb8Mm21tod2xaCtAbg/Photocard.js","https:/framerusercontent.com/modules/5yLgRNkCxIyv9OKOmTzm/zXYD1QFBXetgxuxBuMvQ/Pronouncename.js","https:/framerusercontent.com/modules/cF6WGT6yZS6fdA1U2DoR/bPkrQUIXm2griei8o3yU/siteMetadata.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";export function withoutFramerBadge(Component){return props=>{return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        #__framer-badge-container {\n                            display: none !important;\n                        }\n                    `}),/*#__PURE__*/_jsx(Component,{...props})]});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withoutFramerBadge\":{\"type\":\"reactHoc\",\"name\":\"withoutFramerBadge\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BadgeOverride.map","// NavPill.tsx — Framer code component\n//\n// One nav link's HOVER STATE, and nothing else. No anchor, no href, no\n// link control — you place one of these per link and apply Framer's own\n// Link field to the layer. Framer wraps the component in its router-aware\n// anchor, so internal pages navigate properly instead of hard-loading a\n// raw path and 404ing.\n//\n// Values read live from paulfaivret.com:\n//\n//   Link          height 32px · padding 0 12px · font-size 14px\n//                 rest colour  rgb(107,107,107)\n//                 active/current rgb(40,40,40)\n//   Pill          absolute, inset 0, background rgba(0,0,0,0.08)\n//                 border-radius 9999px (a square 8px variant also exists)\n//   Hover in      opacity 0 → 1, scale 0.8 → 1   ·  300ms  ·  outExpo\n//   Hover out     opacity 1 → 0, scale 1 → 0.8   ·  300ms  ·  outExpo\n//   Press         scale → 0.95 then back to 1    ·  150ms each · outExpo\n//\n// Two details that carry the effect:\n//\n//  • The pill SCALES from 0.8 rather than only fading, so it grows out of\n//    the label's centre — a surface arriving, not a rectangle switching on.\n//  • The pill is a sibling BEHIND the label at inset 0, not a background on\n//    the link, which is what lets it scale while the text stays put.\n//\n// outExpo is Webflow's exponential ease-out: cubic-bezier(0.16, 1, 0.3, 1).\n//\n// HOW TO USE\n//   1. Drop one NavPill on the canvas per link and set its Label.\n//   2. Select the layer and set the Link field in Framer's properties\n//      panel (the same field you'd use on any frame) to the page.\n//   3. Put them in a horizontal stack; use the stack's gap for spacing.\n//   4. Set the one that matches the current page to Active.\n//\n// Naming note: the height prop is `linkHeight`, not `height`. Framer\n// injects `width` and `height` props from the frame size, so a control by\n// either of those names is silently overwritten and appears to do nothing.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";// Webflow's outExpo\nconst OUT_EXPO=[.16,1,.3,1];/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 84\n * @framerIntrinsicHeight 32\n */export default function NavPill(props){const{label,active,font,color,activeColor,pillColor,pillShape,pillRadius,linkHeight,paddingX,hoverDuration,pressScale,style}=props;const[hovered,setHovered]=useState(false);const[pressed,setPressed]=useState(false);const radius=pillShape===\"rounded\"?9999:pillRadius;// Press dips to 0.95 and releases, on the shorter 150ms curve — it\n// rides on top of the hover scale rather than replacing it.\nconst scale=pressed?pressScale:hovered?1:.8;return /*#__PURE__*/_jsxs(\"div\",{onMouseEnter:()=>setHovered(true),onMouseLeave:()=>{setHovered(false);setPressed(false);},onPointerDown:()=>setPressed(true),onPointerUp:()=>setPressed(false),style:{...style,position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",height:linkHeight,// A flex item stretches by default; without these a parent\n// that isn't centring its children would swallow the height\nalignSelf:\"center\",flexShrink:0,boxSizing:\"border-box\",paddingLeft:paddingX,paddingRight:paddingX,color:active?activeColor:color,cursor:\"pointer\",userSelect:\"none\",...font},children:[/*#__PURE__*/_jsx(motion.span,{initial:false,animate:{opacity:hovered?1:0,scale},transition:{duration:pressed?.15:hoverDuration,ease:OUT_EXPO},style:{position:\"absolute\",inset:0,borderRadius:radius,background:pillColor,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",whiteSpace:\"pre\",pointerEvents:\"none\"},children:label})]});}addPropertyControls(NavPill,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"About\"},active:{type:ControlType.Boolean,title:\"Active\",defaultValue:false,description:\"Turn on for the current page\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,fontWeight:400,lineHeight:\"1em\"}},color:{type:ControlType.Color,title:\"Text\",defaultValue:\"rgb(107, 107, 107)\"},activeColor:{type:ControlType.Color,title:\"Active Text\",defaultValue:\"rgb(40, 40, 40)\"},pillColor:{type:ControlType.Color,title:\"Pill\",defaultValue:\"rgba(0, 0, 0, 0.08)\"},pillShape:{type:ControlType.Enum,title:\"Pill Shape\",options:[\"rounded\",\"soft\"],optionTitles:[\"Pill\",\"Rounded\"],displaySegmentedControl:true,defaultValue:\"rounded\"},pillRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:40,step:1,hidden:p=>p.pillShape===\"rounded\"},linkHeight:{type:ControlType.Number,title:\"Height\",defaultValue:32,min:20,max:80,step:1},paddingX:{type:ControlType.Number,title:\"Padding X\",defaultValue:12,min:0,max:48,step:1},hoverDuration:{type:ControlType.Number,title:\"Duration\",defaultValue:.3,min:.05,max:1,step:.05,unit:\"s\"},pressScale:{type:ControlType.Number,title:\"Press Scale\",defaultValue:.95,min:.8,max:1,step:.01}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NavPill\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"84\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"32\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Hover.map","// PhotoClip.tsx — Framer code component\n//\n// A portrait photograph styled as a physical print:\n//  • Transparent component background — the card floats on whatever\n//    section it sits in.\n//  • White print border around a portrait image (4:5 by default), with a\n//    slightly deeper bottom margin like a real photo print.\n//  • Soft shadow cast underneath (offset down, wide + low opacity).\n//  • The whole card is rotated slightly counter-clockwise.\n//  • A silver metallic gem paperclip at the top-right. It is drawn as a\n//    single continuous wire, split into two layers:\n//        – the OUTER loop renders BEHIND the card\n//        – the INNER loop renders IN FRONT of the card\n//    so the photo genuinely sits inside the clip's jaws. The clip\n//    extends above the top edge, so it overlaps the photo, the white\n//    margin, and the empty space above the card.\n//\n// Sizing: set the component's width to roughly 15–20% of your section\n// width in Framer. Everything (clip size, border, radius, shadow) scales\n// from the measured card width, so it stays proportional at any size.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useId,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// —— Paperclip wire geometry (viewBox units) ——\n// One continuous gem-clip wire, split at the bottom bend.\nconst CLIP_VB_W=60;const CLIP_VB_H=165;const CLIP_RATIO=CLIP_VB_H/CLIP_VB_W// 2.75\n;// Inner loop — the half that sits IN FRONT of the photo\nconst WIRE_FRONT=\"M20,124 V44 A10,10 0 0 1 40,44 V139 A16,16 0 0 1 24,155\";// Outer loop — the half that passes BEHIND the photo\nconst WIRE_BACK=\"M24,155 A16,16 0 0 1 8,139 V32 A22,22 0 0 1 52,32 V109\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 230\n * @framerDisableUnlink\n */export default function PhotoClip(props){const{image,scale,align,aspect,rotation,border,bottomBorder,radius,shadowStrength,showClip,clipSize,clipInset,clipRise,clipRotation,style}=props;const wrapRef=useRef(null);const[w,setW]=useState(0);const uid=useId().replace(/:/g,\"\");// Measure so every detail scales with the card, not the viewport\nuseEffect(()=>{const el=wrapRef.current;if(!el)return;const measure=()=>setW(el.getBoundingClientRect().width);measure();const ro=new ResizeObserver(measure);ro.observe(el);return()=>ro.disconnect();},[]);const pad=w*(border/100);const padBottom=w*(bottomBorder/100);const r=w*(radius/100);const clipW=w*(clipSize/100);const clipH=clipW*CLIP_RATIO;const clipRight=w*(clipInset/100);const clipTop=-clipH*(clipRise/100);const clipBoxStyle={position:\"absolute\",width:clipW,height:clipH,right:clipRight,top:clipTop,transform:`rotate(${clipRotation}deg)`,transformOrigin:\"50% 30%\",pointerEvents:\"none\"};const s=shadowStrength/100;return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:\"100%\",background:\"transparent\",position:\"relative\",display:\"flex\",justifyContent:align===\"left\"?\"flex-start\":align===\"right\"?\"flex-end\":\"center\"},children:/*#__PURE__*/_jsx(\"div\",{ref:wrapRef,style:{width:`${scale}%`,position:\"relative\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",transform:`rotate(${rotation}deg)`,transformOrigin:\"50% 50%\"},children:[showClip&&w>0&&/*#__PURE__*/_jsx(\"div\",{style:{...clipBoxStyle,zIndex:0},children:/*#__PURE__*/_jsx(ClipSvg,{path:WIRE_BACK,uid:`${uid}b`,back:true})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",zIndex:1,background:\"#FFFFFF\",padding:`${pad}px ${pad}px ${padBottom}px`,borderRadius:r,boxShadow:`\n                            0 ${w*.012}px ${w*.03}px rgba(16,18,20,${.1*s}),\n                            0 ${w*.07}px ${w*.13}px -${w*.05}px rgba(16,18,20,${.28*s}),\n                            0 ${w*.16}px ${w*.26}px -${w*.1}px rgba(16,18,20,${.18*s})\n                        `},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",aspectRatio:String(aspect),overflow:\"hidden\",borderRadius:Math.max(0,r-pad*.4),background:\"#E7E5E1\"},children:[image?.src?/*#__PURE__*/_jsx(\"img\",{src:image.src,srcSet:image.srcSet,alt:image.alt||\"\",draggable:false,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",userSelect:\"none\"}}):null,/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderRadius:\"inherit\",boxShadow:\"inset 0 0 0 1px rgba(0,0,0,0.06)\",pointerEvents:\"none\"}})]})}),showClip&&w>0&&/*#__PURE__*/_jsx(\"div\",{style:{...clipBoxStyle,zIndex:2},children:/*#__PURE__*/_jsx(ClipSvg,{path:WIRE_FRONT,uid:`${uid}f`})})]})})});}// —— One half of the wire, with a brushed-metal gradient along its length ——\nfunction ClipSvg({path,uid,back=false}){return /*#__PURE__*/_jsxs(\"svg\",{viewBox:`0 0 ${CLIP_VB_W} ${CLIP_VB_H}`,width:\"100%\",height:\"100%\",fill:\"none\",style:{display:\"block\",overflow:\"visible\",filter:back?\"none\":\"drop-shadow(0.6px 1.6px 1.6px rgba(20,22,25,0.32))\"},children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:`metal-${uid}`,x1:\"0\",y1:\"0.15\",x2:\"1\",y2:\"0.85\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:\"#FCFDFD\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"14%\",stopColor:\"#C4C9CF\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"30%\",stopColor:\"#F3F5F7\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"48%\",stopColor:\"#A3A8AF\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"64%\",stopColor:\"#EAEDF0\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"82%\",stopColor:\"#B2B7BE\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:\"#8A8F96\"})]})}),/*#__PURE__*/_jsx(\"path\",{d:path,stroke:\"rgba(20,22,25,0.22)\",strokeWidth:\"7.6\",strokeLinecap:\"round\",transform:\"translate(0.5 1.1)\"}),/*#__PURE__*/_jsx(\"path\",{d:path,stroke:`url(#metal-${uid})`,strokeWidth:\"7\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:path,stroke:\"rgba(255,255,255,0.72)\",strokeWidth:\"1.9\",strokeLinecap:\"round\",transform:\"translate(-1.5 -1.5)\",opacity:back?.5:.85})]});}addPropertyControls(PhotoClip,{image:{type:ControlType.ResponsiveImage,title:\"Photo\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:100,min:10,max:100,step:1,unit:\"%\",description:\"Resizes the whole card inside its frame. Every preset scales with it.\"},align:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,defaultValue:\"center\",description:\"Where the card sits when scaled below 100%\"},aspect:{type:ControlType.Number,title:\"Aspect\",defaultValue:.8,min:.5,max:1.2,step:.01,description:\"0.8 = 4:5 \\xb7 0.75 = 3:4 \\xb7 0.71 = 5:7\"},rotation:{type:ControlType.Number,title:\"Rotation\",defaultValue:-3.5,min:-15,max:15,step:.5,unit:\"\\xb0\",description:\"Negative = counter-clockwise\"},border:{type:ControlType.Number,title:\"Border\",defaultValue:6,min:0,max:18,step:.5,unit:\"%\"},bottomBorder:{type:ControlType.Number,title:\"Bottom\",defaultValue:8,min:0,max:30,step:.5,unit:\"%\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:1.5,min:0,max:8,step:.25,unit:\"%\"},shadowStrength:{type:ControlType.Number,title:\"Shadow\",defaultValue:100,min:0,max:200,step:5,unit:\"%\"},showClip:{type:ControlType.Boolean,title:\"Paperclip\",defaultValue:true},clipSize:{type:ControlType.Number,title:\"Clip Size\",defaultValue:19,min:8,max:40,step:.5,unit:\"%\",hidden:p=>!p.showClip},clipInset:{type:ControlType.Number,title:\"Clip Inset\",defaultValue:11,min:-10,max:60,step:1,unit:\"%\",description:\"Distance from the right edge\",hidden:p=>!p.showClip},clipRise:{type:ControlType.Number,title:\"Clip Rise\",defaultValue:30,min:0,max:60,step:1,unit:\"%\",description:\"How much pokes above the top edge\",hidden:p=>!p.showClip},clipRotation:{type:ControlType.Number,title:\"Clip Tilt\",defaultValue:7,min:-30,max:30,step:1,unit:\"\\xb0\",hidden:p=>!p.showClip}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PhotoClip\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"230\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Photocard.map","// NamePronounce.tsx — Framer code component\n//\n// The navbar name block: \"Prima / — Software designer\" with a small\n// speaker button. Tapping it says the name out loud.\n//\n// Two ways to produce the sound, in priority order:\n//  1. AUDIO FILE (recommended) — upload a short recording of you saying\n//     \"Prima\" in the Audio control. Nothing beats your own voice for a\n//     name, and it sounds identical on every device.\n//  2. SPEECH FALLBACK — if no file is uploaded, the browser's built-in\n//     speech synthesis reads the Phonetic field (\"Pree-mah\" by default,\n//     which steers most voices to PREE-mah rather than PRY-ma). Rate and\n//     pitch are adjustable. Quality varies by device, so treat this as\n//     the stopgap until you record a clip.\n//\n// The speaker's arcs animate outward while it is playing, and the button\n// returns to rest when the sound ends. Everything is keyboard reachable\n// and labelled for screen readers.\n//\n// Font: pick Graphik Regular in the Font controls. Defaults are 14px /\n// 26px line height to match the site.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 60\n */export default function NamePronounce(props){const{name,role,audio,phonetic,lang,rate,pitch,volume,iconAfter,layout,gap,iconGap,nameFont,roleFont,nameColor,roleColor,iconColor,iconSize,style}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[playing,setPlaying]=useState(false);const audioRef=useRef(null);// Stop any sound if the component unmounts mid-playback\nuseEffect(()=>{return()=>{audioRef.current?.pause();if(typeof window!==\"undefined\"&&window.speechSynthesis){window.speechSynthesis.cancel();}};},[]);const speak=()=>{if(isCanvas)return;// Re-tapping while playing restarts, rather than overlapping\nif(audioRef.current){audioRef.current.pause();audioRef.current.currentTime=0;}if(typeof window!==\"undefined\"&&window.speechSynthesis){window.speechSynthesis.cancel();}if(audio){const el=audioRef.current??new Audio(audio);audioRef.current=el;el.src=audio;el.volume=Math.max(0,Math.min(1,volume));el.onended=()=>setPlaying(false);el.onerror=()=>setPlaying(false);setPlaying(true);el.play().catch(()=>setPlaying(false));return;}if(typeof window===\"undefined\"||!(\"speechSynthesis\"in window)){return;}const utter=new SpeechSynthesisUtterance(phonetic||name);utter.lang=lang||\"en-GB\";utter.rate=rate;utter.pitch=pitch;utter.volume=Math.max(0,Math.min(1,volume));utter.onend=()=>setPlaying(false);utter.onerror=()=>setPlaying(false);setPlaying(true);window.speechSynthesis.speak(utter);};const speaker=/*#__PURE__*/_jsx(motion.button,{type:\"button\",onClick:speak,\"aria-label\":`Hear how ${name} is pronounced`,whileHover:{scale:1.08},whileTap:{scale:.92},transition:{type:\"spring\",stiffness:500,damping:30},style:{appearance:\"none\",border:\"none\",background:\"transparent\",padding:0,margin:0,lineHeight:0,cursor:\"pointer\",color:iconColor,display:\"inline-flex\"},children:/*#__PURE__*/_jsx(SpeakerIcon,{size:iconSize,playing:playing})});// The icon trails the role by default; it falls back to the name if\n// there is no role text, so it can never end up orphaned.\nconst attachToRole=iconAfter===\"role\"&&!!role;const inlineRow=(content,withIcon)=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:iconGap},children:[content,withIcon?speaker:null]});return /*#__PURE__*/_jsxs(\"div\",{style:{...style,display:\"flex\",flexDirection:layout===\"stacked\"?\"column\":\"row\",alignItems:layout===\"stacked\"?\"flex-start\":\"baseline\",gap},children:[inlineRow(/*#__PURE__*/_jsx(\"span\",{style:{...nameFont,color:nameColor},children:name}),!attachToRole),role?inlineRow(/*#__PURE__*/_jsx(\"span\",{style:{...roleFont,color:roleColor},children:role}),attachToRole):null]});}// —— Speaker glyph. Arcs pulse outward while the name plays. ——\nfunction SpeakerIcon({size,playing}){return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",style:{display:\"block\",overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M4 9.5H7.2L11.6 6V18L7.2 14.5H4C3.72 14.5 3.5 14.28 3.5 14V10C3.5 9.72 3.72 9.5 4 9.5Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(motion.path,{d:\"M14.6 9.4C15.4 10.1 15.4 13.9 14.6 14.6\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\",animate:playing?{opacity:[.45,1,.45],x:[0,.6,0]}:{opacity:1,x:0},transition:playing?{duration:.9,repeat:Infinity,ease:\"easeInOut\"}:{duration:.2}}),/*#__PURE__*/_jsx(AnimatePresence,{children:playing&&/*#__PURE__*/_jsx(motion.path,{d:\"M17.4 6.8C19.2 8.4 19.2 15.6 17.4 17.2\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\",initial:{opacity:0,x:-2},animate:{opacity:[.25,.9,.25],x:[0,1.2,0]},exit:{opacity:0,x:-2},transition:{duration:.9,repeat:Infinity,ease:\"easeInOut\",delay:.12}},\"outer\")})]});}addPropertyControls(NamePronounce,{name:{type:ControlType.String,title:\"Name\",defaultValue:\"Prima\"},role:{type:ControlType.String,title:\"Role\",defaultValue:\"— Software designer\"},audio:{type:ControlType.File,title:\"Audio\",allowedFileTypes:[\"mp3\",\"wav\",\"m4a\",\"ogg\"],description:\"Your own recording of the name. Leave empty to use browser speech.\"},phonetic:{type:ControlType.String,title:\"Phonetic\",defaultValue:\"Pree-mah\",description:\"Only used when no audio file is uploaded\"},lang:{type:ControlType.String,title:\"Voice lang\",defaultValue:\"en-GB\"},rate:{type:ControlType.Number,title:\"Rate\",defaultValue:.9,min:.5,max:1.5,step:.05},pitch:{type:ControlType.Number,title:\"Pitch\",defaultValue:1,min:.5,max:1.8,step:.05},volume:{type:ControlType.Number,title:\"Volume\",defaultValue:1,min:0,max:1,step:.05},iconAfter:{type:ControlType.Enum,title:\"Icon After\",options:[\"role\",\"name\"],optionTitles:[\"Role\",\"Name\"],displaySegmentedControl:true,defaultValue:\"role\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"stacked\",\"inline\"],optionTitles:[\"Stacked\",\"Inline\"],displaySegmentedControl:true,defaultValue:\"stacked\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:0,min:0,max:40,step:1},iconGap:{type:ControlType.Number,title:\"Icon Gap\",defaultValue:7,min:0,max:24,step:1},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:14,min:8,max:32,step:1},nameFont:{type:ControlType.Font,title:\"Name Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:\"26px\",fontWeight:400},description:\"Select Graphik Regular\"},roleFont:{type:ControlType.Font,title:\"Role Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:\"26px\",fontWeight:400}},nameColor:{type:ControlType.Color,title:\"Name Color\",defaultValue:\"#2B2B2B\"},roleColor:{type:ControlType.Color,title:\"Role Color\",defaultValue:\"#8A8A8A\"},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#2B2B2B\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NamePronounce\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"60\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pronouncename.map","// Generated by Framer (e0809aa)\nexport default function metadata(params,activeLocale){return{description:\"I’m Fisolami (popularly called Prima),  a Software Designer that research and design great products and websites. \\n\",favicon:\"https://framerusercontent.com/assets/HXIVxM1Mp6wCbTwBEWRLzOY.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/FNfUUDAicGAN8mJunTH3149aVM.png\",title:\"Abiola Fisolami Portfolio\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}