{"version":3,"file":"BarChartFeatureTest.FTft-Cs7.mjs","names":["useLayoutEffect","useEffect","React.useState","React.useRef","React.useId","React.useState","React.useMemo","React.useCallback","React.Fragment","_Fragment"],"sources":["https:/framerusercontent.com/modules/5sD1L34Nn4AzaFRyCPrW/BT9HMtTDsUFnXFBXXei7/useIsomorphicLayoutEffect.js","https:/framer.com/m/framer/useIsomorphicLayoutEffect.js@^0.2.0","https:/framerusercontent.com/modules/GBoYA6hnuFwSZZCbht26/cguAGhuQfx1BXbfShe7V/useMeasuredSize.js","https:/framer.com/m/framer/useMeasuredSize.js","https:/framerusercontent.com/modules/hGXGcmAF5z5WN0omzVBZ/M5I4LYNAuYiTloVFmZd5/BarChartFeatureTest.js"],"sourcesContent":["import{useLayoutEffect,useEffect}from\"react\";/**\n * Swaps `useLayoutEffect` for `useEffect` on the server to avoid React warnings.\n * NOTE! The effect won't run on the server.\n */ export const useIsomorphicLayoutEffect=typeof document!==\"undefined\"?useLayoutEffect:useEffect;\nexport const __FramerMetadata__ = {\"exports\":{\"useIsomorphicLayoutEffect\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useIsomorphicLayoutEffect.map","/*\n * useIsomorphicLayoutEffect (framer/useIsomorphicLayoutEffect@0.2.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/5sD1L34Nn4AzaFRyCPrW/BT9HMtTDsUFnXFBXXei7/useIsomorphicLayoutEffect.js\"\n","import*as React from\"react\";import{useIsomorphicLayoutEffect}from\"https://framer.com/m/framer/useIsomorphicLayoutEffect.js@^0.2.0\";let safeResizeObserver=undefined;try{if(typeof window!==undefined){safeResizeObserver=window.ResizeObserver;}}catch(e){// happy linting!\n}class SharedObserver{//@ts-ignore\nupdateResizedElements(entries){for(const entry of entries){const callbackForElement=this.callbacks.get(entry.target);if(callbackForElement)callbackForElement(entry.contentRect);}}observeElementWithCallback(element,callback){if(!this.sharedResizeObserver)return;this.sharedResizeObserver.observe(element);this.callbacks.set(element,callback);}unobserve(element){if(!this.sharedResizeObserver)return;this.sharedResizeObserver.unobserve(element);this.callbacks.delete(element);}constructor(){this.callbacks=new WeakMap();const ResizeObserver1=safeResizeObserver;if(!ResizeObserver1)return;this.sharedResizeObserver=new ResizeObserver1(this.updateResizedElements.bind(this));}}const sharedResizeObserver=new SharedObserver();/**\n * Uses a globally shared resize observer, and returns an updated\n * size object when the element's size changes. This is the recommended way to\n * use a Resize Observer: https://github.com/WICG/resize-observer/issues/59.\n */ export function useMeasuredSize(ref,callback){const[size,setSize]=React.useState(null);function updateSize(newSize){if(!size||newSize.height!==size.height||newSize.width!==size.width){if(callback)callback(newSize);setSize({width:newSize.width,height:newSize.height});}}// On mount, immediately measure and set a size. This will defer paint until\n// no more updates are scheduled. Additionally add our element to the shared\n// ResizeObserver with a callback to perform when the element resizes.\n// Finally, remove the element from the observer when the component is unmounted.\nuseIsomorphicLayoutEffect(()=>{if(!ref.current)return;const{offsetWidth,offsetHeight}=ref.current;// Defer paint until initial size is added.\nupdateSize({width:offsetWidth,height:offsetHeight});// Resize observer will race to add the initial size, but since the size\n// is set above, it won't trigger a render on mount since it should\n// match the measured size. Future executions of the callback will\n// trigger renders if the size changes.\nsharedResizeObserver.observeElementWithCallback(ref.current,updateSize);return()=>{if(!ref.current)return;sharedResizeObserver.unobserve(ref.current);};},[]);return size;}export function useSizeChange(ref,callback){const size=React.useRef(null);const updateSize=React.useCallback(newSize=>{if(!size.current||newSize.height!==size.current.height||newSize.width!==size.current.width){size.current={width:newSize.width,height:newSize.height};if(callback)callback(size.current);}},[callback]);// On mount, immediately measure and set a size. This will defer paint until\n// no more updates are scheduled. Additionally add our element to the shared\n// ResizeObserver with a callback to perform when the element resizes.\n// Finally, remove the element from the observer when the component is unmounted.\nuseIsomorphicLayoutEffect(()=>{if(!ref.current)return;const{offsetWidth,offsetHeight}=ref.current;// Defer paint until initial size is added.\nupdateSize({width:offsetWidth,height:offsetHeight});// Resize observer will race to add the initial size, but since the size\n// is set above, it won't trigger a render on mount since it should\n// match the measured size. Future executions of the callback will\n// trigger renders if the size changes.\nsharedResizeObserver.observeElementWithCallback(ref.current,updateSize);return()=>{if(!ref.current)return;sharedResizeObserver.unobserve(ref.current);};},[callback]);return null;}\nexport const __FramerMetadata__ = {\"exports\":{\"useSizeChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMeasuredSize\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useMeasuredSize.map","/*\n * useMeasuredSize (framer/useMeasuredSize@0.13.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/GBoYA6hnuFwSZZCbht26/cguAGhuQfx1BXbfShe7V/useMeasuredSize.js\"\n","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,AnimatePresence,useMotionValue,useSpring}from\"framer-motion\";import{useMeasuredSize}from\"https://framer.com/m/framer/useMeasuredSize.js\";/**\n * @framerIntrinsicWidth 920\n * @framerIntrinsicHeight 560\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function BarChartFeatureTest(props){const{dataSource=\"manual\",jsonFile=\"\",bars=[],filter={enabled:true,defaultCount:25,presets:\"25,30\",showSearch:true,unitLabel:\"models\",searchPlaceholder:\"Search…\"},graph={noteText:\"\",xAxisLabel:\"\",barRadius:0,barGap:.35,minBarSlot:44,scrollbarSize:6,edgeFade:40,edgeBlur:3,showCI:true,showValues:true,valueDecimals:1,showLegend:true,showTooltip:true,tooltipLabel:\"Pass@1:\",animationTrigger:\"inView\"},yAxis={showLabels:true,title:\"\",min:0,max:60,ticks:6,prefix:\"\",suffix:\"%\",decimals:0},padding={left:48,right:16,top:40,bottom:40},colors={axis:\"#D0D4DC\",grid:\"#E5E7EC\",gridDash:\"3,3\",label:\"#999999\",barLabel:\"#999999\",ciStroke:\"#555555\",valueLabel:\"#333333\",scrollbar:\"rgba(0,0,0,0.18)\",uiText:\"#111111\",uiMuted:\"#8A929E\",uiBorder:\"#E2E5EA\",uiSurface:\"#FFFFFF\",uiAccent:\"#111111\"},fonts}=props;const wrapRef=React.useRef(null);const scrollRef=React.useRef(null);const panelRef=React.useRef(null);const size=useMeasuredSize(scrollRef);const wrapSize=useMeasuredSize(wrapRef);const isLive=RenderTarget.current()===RenderTarget.preview;/* Narrow = phone-ish. Drives panel width, touch targets and list height. */const wrapW=wrapSize?.width??920;const isNarrow=wrapW<520;/* Scrollbar: styling ::-webkit-scrollbar opts out of macOS overlay\n       scrollbars, so the track stays visible instead of fading after a scroll.\n       Scoped to this instance so multiple charts can differ. */const rawId=React.useId?React.useId():\"x\";const scrollClass=\"bcftScroll\"+String(rawId).replace(/[^a-zA-Z0-9]/g,\"\");const sbSize=Math.max(2,graph.scrollbarSize??6);const sbColor=colors.scrollbar||\"rgba(0,0,0,0.18)\";/* ── Data ── */const[fetchedBars,setFetchedBars]=React.useState([]);React.useEffect(()=>{if(dataSource===\"json\"&&jsonFile){fetch(jsonFile).then(res=>res.json()).then(data=>{if(Array.isArray(data))setFetchedBars(data);else if(data&&Array.isArray(data.bars))setFetchedBars(data.bars);}).catch(err=>console.error(\"Failed to load BarChartFeatureTest JSON:\",err));}},[dataSource,jsonFile]);const rawBars=dataSource===\"json\"?fetchedBars:bars;/* Rank by score desc — \"Top N\" only means something against a ranking. */const rankedBars=React.useMemo(()=>rawBars.slice().sort((a,b)=>(b.score||0)-(a.score||0)),[rawBars]);const totalCount=rankedBars.length;/* ── Selection state ──\n       One source of truth: a list of selected names. Presets, checkboxes and\n       reset all just write into it. Re-initialises when the dataset or the\n       default count changes. */const defaultCount=Math.max(1,Math.round(filter.defaultCount||25));const signature=React.useMemo(()=>rankedBars.map(b=>b.name).join(\"|\"),[rankedBars]);const defaultNames=React.useMemo(()=>rankedBars.slice(0,defaultCount).map(b=>b.name),[rankedBars,defaultCount]);const[selected,setSelected]=React.useState(defaultNames);React.useEffect(()=>{setSelected(rankedBars.slice(0,defaultCount).map(b=>b.name));},[signature,defaultCount]);const selectedSet=React.useMemo(()=>new Set(selected),[selected]);const visibleBars=React.useMemo(()=>rankedBars.filter(b=>selectedSet.has(b.name)),[rankedBars,selectedSet]);const toggleName=name=>setSelected(prev=>prev.indexOf(name)>=0?prev.filter(n=>n!==name):prev.concat(name));const applyTopN=n=>setSelected(rankedBars.slice(0,n).map(b=>b.name));/* ── Dropdown ── */const[open,setOpen]=React.useState(false);const[query,setQuery]=React.useState(\"\");React.useEffect(()=>{if(!open)return;const onDown=e=>{if(panelRef.current&&!panelRef.current.contains(e.target))setOpen(false);};const onKey=e=>{if(e.key===\"Escape\")setOpen(false);};document.addEventListener(\"mousedown\",onDown);document.addEventListener(\"keydown\",onKey);return()=>{document.removeEventListener(\"mousedown\",onDown);document.removeEventListener(\"keydown\",onKey);};},[open]);const presetValues=React.useMemo(()=>(filter.presets||\"\").split(\",\").map(s=>parseInt(s.trim(),10)).filter(n=>isFinite(n)&&n>0&&n<totalCount),[filter.presets,totalCount]);const activePreset=React.useMemo(()=>{if(selected.length===totalCount&&totalCount>0)return\"all\";const isTopN=n=>selected.length===n&&rankedBars.slice(0,n).every(b=>selectedSet.has(b.name));for(const n of presetValues)if(isTopN(n))return String(n);return null;},[selected,totalCount,presetValues,rankedBars,selectedSet]);/* ── Tooltip ── */const[hoveredIdx,setHoveredIdx]=React.useState(null);const[tooltipAlign,setTooltipAlign]=React.useState(\"left\");const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const springConfig={stiffness:120,damping:20};const smoothX=useSpring(mouseX,springConfig);const smoothY=useSpring(mouseY,springConfig);const handlePointerMove=e=>{if(!wrapRef.current)return;const rect=wrapRef.current.getBoundingClientRect();const x=e.clientX-rect.left;const y=e.clientY-rect.top;mouseX.set(x);mouseY.set(y);setTooltipAlign(x>rect.width-180?\"right\":\"left\");};/* ── Geometry ──\n       The Y axis lives in a fixed gutter; only the plot scrolls. Each bar keeps\n       at least `minBarSlot` px, so bars never squeeze into slivers — the plot\n       just gets wider than the viewport and scrolls. */const clamp=(v,lo,hi)=>Math.max(lo,Math.min(hi,v));const viewportW=size?.width??800;const rawChartH=size?.height??400;const barCount=Math.max(1,visibleBars.length);const minSlot=Math.max(8,graph.minBarSlot||44);const contentW=Math.max(viewportW,barCount*minSlot);const isScrollable=contentW>viewportW+1;/* The visible scrollbar eats into the content box, and the inner plot is\n       height:100% of *that*. Measure against the same box so `top`- and\n       `bottom`-positioned elements (grid vs. bars) stay aligned. */const chartH=Math.max(60,rawChartH-(isScrollable?sbSize:0));const barLabelH=graph.showLegend?100:0;const plotTop=padding.top;const plotBottom=Math.max(plotTop+10,chartH-padding.bottom-barLabelH);const plotH=Math.max(1,plotBottom-plotTop);const safeYMax=yAxis.max===yAxis.min?yAxis.min+1:yAxis.max;const yToPx=React.useCallback(v=>{const t=(v-yAxis.min)/(safeYMax-yAxis.min);return plotBottom-clamp(t,0,1)*plotH;},[yAxis.min,safeYMax,plotBottom,plotH]);const formatNumber=(v,decimals)=>isFinite(v)?v.toFixed(clamp(decimals,0,6)):\"\";const yTickCount=Math.max(1,Math.round(yAxis.ticks));const yTickVals=React.useMemo(()=>Array.from({length:yTickCount+1},(_,i)=>yAxis.min+i/yTickCount*(safeYMax-yAxis.min)),[yTickCount,yAxis.min,safeYMax]);const slotW=contentW/barCount;const gap=clamp(graph.barGap,0,.9);const barW=slotW*(1-gap);const capW=Math.min(barW*.15,10);/* Value labels need room — hide them automatically on very tight slots. */const valuesFit=slotW>=30;const dashParts=(colors.gridDash||\"3,3\").split(\",\").map(s=>s.trim());const dashOn=parseInt(dashParts[0])||3;const dashOff=parseInt(dashParts[1])||3;/* ── Fonts ── */const axisFontBase={fontSize:12,...fonts?.axis,color:colors.label,userSelect:\"none\",lineHeight:\"1\"};const valueFontBase={fontSize:14,fontWeight:600,...fonts?.value,color:colors.valueLabel,userSelect:\"none\",lineHeight:\"1\"};const noteFontBase={fontSize:12,...fonts?.note,color:colors.label,userSelect:\"none\",lineHeight:\"1\"};const uiFontBase={fontSize:13,...fonts?.ui,color:colors.uiText,userSelect:\"none\",lineHeight:\"1.2\"};const tooltipTitleBase={fontSize:14,fontWeight:700,...fonts?.tooltipTitle,color:\"#111\",lineHeight:\"1.2\"};const tooltipTextBase={fontSize:13,fontWeight:500,...fonts?.tooltipText,color:\"#444\",lineHeight:\"1.2\"};const barData=React.useMemo(()=>visibleBars.map((bar,idx)=>{const cx=slotW*idx+slotW/2;const barX=cx-barW/2;const scoreY=yToPx(bar.score);const barH=Math.max(0,plotBottom-scoreY);const ciLoY=yToPx(clamp(bar.ciLow||0,yAxis.min,safeYMax));const ciHiY=yToPx(clamp(bar.ciHigh||0,yAxis.min,safeYMax));const color=bar.color||\"#3b82f6\";const labelBottom=chartH-(graph.showCI?ciHiY:scoreY)+8;return{...bar,cx,barX,scoreY,barH,ciLoY,ciHiY,color,labelBottom};}),[visibleBars,slotW,barW,plotBottom,yToPx,yAxis.min,safeYMax,graph.showCI,chartH]);const smoothEase=[.44,0,.56,1];const isOnAppear=graph.animationTrigger===\"onAppear\";const appearOffset=.2;const triggerProps=target=>isOnAppear?{animate:target}:{whileInView:target,viewport:{once:true,amount:.1}};/* With many bars a per-bar stagger becomes a slow wave — cap the total. */const staggerStep=Math.min(.1,1.2/Math.max(1,barCount));/* ── Scroll affordance ── */const[scrollPos,setScrollPos]=React.useState({atStart:true,atEnd:false});const onScroll=()=>{const el=scrollRef.current;if(!el)return;setScrollPos({atStart:el.scrollLeft<=2,atEnd:el.scrollLeft+el.clientWidth>=el.scrollWidth-2});};React.useEffect(()=>{onScroll();},[contentW,viewportW]);/* ── Dropdown list ── */const listed=React.useMemo(()=>{const q=query.trim().toLowerCase();return rankedBars.map((b,i)=>({bar:b,rank:i+1})).filter(r=>!q||r.bar.name.toLowerCase().includes(q));},[rankedBars,query]);/* Quick-filter tab — light grey fill when active, like the navbar's active item */const tabStyle=active=>({...uiFontBase,flex:1,textAlign:\"center\",padding:\"10px 12px\",cursor:\"pointer\",whiteSpace:\"nowrap\",background:active?\"rgba(0,0,0,.06)\":\"transparent\",color:colors.uiText,transition:\"background .15s ease\"});const[hoverRow,setHoverRow]=React.useState(null);/* ── Progressive edge blur ──\n       A single masked backdrop-filter only fades the *opacity* of one blur\n       strength, which reads as flat blur with a visible edge. Stacking a few\n       layers with doubling radii and shifted mask windows ramps the actual\n       blur from ~0 at the inner edge to full at the outer edge. */const fadeW=Math.max(8,Math.round((isNarrow?.45:1)*(graph.edgeFade??40)));const maxBlur=Math.max(.5,graph.edgeBlur??3);const renderEdgeFade=side=>{const steps=4;const dir=side===\"left\"?\"to left\":\"to right\";return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",...side===\"left\"?{left:0}:{right:0},top:0,bottom:0,width:fadeW,pointerEvents:\"none\",zIndex:60},children:Array.from({length:steps}).map((_,i)=>{const blur=maxBlur/Math.pow(2,steps-1-i);const from=i/steps*100;const to=(i+1)/steps*100;const mask=`linear-gradient(${dir}, transparent ${from}%, #000 ${to}%)`;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backdropFilter:`blur(${blur}px)`,WebkitBackdropFilter:`blur(${blur}px)`,maskImage:mask,WebkitMaskImage:mask}},i);})});};return /*#__PURE__*/_jsxs(\"div\",{ref:wrapRef,onPointerMove:handlePointerMove,onPointerLeave:()=>setHoveredIdx(null),style:{width:\"100%\",height:\"100%\",position:\"relative\",display:\"flex\",flexDirection:\"column\",overflow:\"visible\",...props.style},role:\"img\",\"aria-label\":\"Bar chart with model filter\",children:[(filter.enabled!==false||graph.noteText)&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,paddingBottom:12,position:\"relative\",zIndex:200},children:[graph.noteText&&/*#__PURE__*/_jsx(\"div\",{style:{...noteFontBase,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:graph.noteText}),filter.enabled!==false&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",marginLeft:\"auto\"},ref:panelRef,children:[/*#__PURE__*/_jsxs(\"div\",{onClick:()=>setOpen(o=>!o),style:{...uiFontBase,display:\"flex\",alignItems:\"center\",gap:10,padding:isNarrow?\"9px 16px\":\"10px 18px\",background:colors.uiSurface,border:`0.7px solid ${colors.uiBorder}`,borderRadius:999,cursor:\"pointer\",whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsxs(\"span\",{children:[/*#__PURE__*/_jsx(\"strong\",{style:{fontWeight:600},children:selected.length}),\" of \",totalCount,\" \",filter.unitLabel||\"models\"]}),/*#__PURE__*/_jsx(\"svg\",{width:\"11\",height:\"11\",viewBox:\"0 0 10 10\",style:{transform:open?\"rotate(180deg)\":\"none\",transition:\"transform .18s ease\",flex:\"0 0 auto\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 3.5 L5 7.5 L9 3.5\",fill:\"none\",stroke:colors.uiMuted,strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16,ease:\"easeOut\"},style:{position:\"absolute\",top:\"calc(100% + 6px)\",right:0,/* Never wider than the component, so it can't\n                                           clip off-screen on a phone. */width:Math.max(240,Math.min(340,wrapW)),background:colors.uiSurface,boxShadow:\"0 10px 34px rgba(0,0,0,.12)\",overflow:\"hidden\",zIndex:300},children:[(presetValues.length>0||totalCount>0)&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",borderBottom:`1px solid ${colors.uiBorder}`},children:[presetValues.map(n=>/*#__PURE__*/_jsxs(\"div\",{onClick:()=>applyTopN(n),style:tabStyle(activePreset===String(n)),children:[\"Top \",n]},n)),totalCount>0&&/*#__PURE__*/_jsx(\"div\",{onClick:()=>setSelected(rankedBars.map(b=>b.name)),style:tabStyle(activePreset===\"all\"),children:\"All\"})]}),filter.showSearch!==false&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"10px 14px\",borderBottom:`1px solid ${colors.uiBorder}`},children:/*#__PURE__*/_jsx(\"input\",{value:query,onChange:e=>setQuery(e.target.value),placeholder:filter.searchPlaceholder||\"Search…\",style:{...uiFontBase,width:\"100%\",padding:\"6px 0\",border:\"none\",outline:\"none\",background:\"transparent\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{maxHeight:isNarrow?244:300,overflowY:\"auto\",WebkitOverflowScrolling:\"touch\"},children:[listed.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{...uiFontBase,color:colors.uiMuted,padding:\"14px 18px\"},children:\"No matches\"}),listed.map(({bar,rank})=>{const on=selectedSet.has(bar.name);return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>toggleName(bar.name),onPointerEnter:()=>setHoverRow(bar.name),onPointerLeave:()=>setHoverRow(null),style:{display:\"flex\",alignItems:\"center\",gap:12,padding:isNarrow?\"13px 16px\":\"11px 18px\",cursor:\"pointer\",background:hoverRow===bar.name?\"rgba(0,0,0,.04)\":\"transparent\",transition:\"background .12s ease\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:16,height:16,borderRadius:3,flex:\"0 0 auto\",border:`1.5px solid ${on?bar.color||colors.uiAccent:colors.uiBorder}`,background:on?bar.color||colors.uiAccent:\"transparent\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:on&&/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"10\",viewBox:\"0 0 10 10\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1.5 5.2 L4 7.5 L8.5 2.6\",fill:\"none\",stroke:\"#fff\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(\"span\",{style:{...uiFontBase,color:colors.uiMuted,width:24,flex:\"0 0 auto\"},children:rank}),/*#__PURE__*/_jsx(\"span\",{style:{...uiFontBase,flex:\"1 1 auto\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:bar.name}),/*#__PURE__*/_jsxs(\"span\",{style:{...uiFontBase,color:colors.uiMuted,flex:\"0 0 auto\"},children:[formatNumber(bar.score,graph.valueDecimals),yAxis.suffix]})]},bar.name);})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",borderTop:`1px solid ${colors.uiBorder}`},children:[/* Clear = back to the starting set, not empty —\n                                               an empty chart is never what you want. */{label:\"Clear\",act:()=>setSelected(defaultNames)},{label:\"Select all\",act:()=>setSelected(rankedBars.map(b=>b.name))}].map((b,i)=>/*#__PURE__*/_jsx(\"div\",{onClick:b.act,style:{...uiFontBase,flex:1,textAlign:\"center\",padding:isNarrow?\"14px 6px\":\"12px 6px\",cursor:\"pointer\",borderLeft:i?`1px solid ${colors.uiBorder}`:\"none\"},children:b.label},b.label))})]})})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minHeight:0,display:\"flex\",position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{width:padding.left,flex:\"0 0 auto\",position:\"relative\",overflow:\"visible\"},children:[yAxis.showLabels&&yTickVals.map((v,i)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:8,top:yToPx(v),transform:\"translateY(-50%)\",whiteSpace:\"nowrap\",...axisFontBase},children:`${yAxis.prefix}${formatNumber(v,yAxis.decimals)}${yAxis.suffix}`},`yl-${i}`)),yAxis.title&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:4,top:plotTop,height:plotH,width:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"visible\"},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",transform:\"rotate(-90deg)\",whiteSpace:\"nowrap\",userSelect:\"none\",...fonts?.axisTitle,color:colors.label},children:yAxis.title})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:0,top:plotTop,width:1,height:plotBottom-plotTop,backgroundColor:colors.axis}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,position:\"relative\"},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n.${scrollClass}::-webkit-scrollbar{height:${sbSize}px;}\n.${scrollClass}::-webkit-scrollbar-track{background:transparent;}\n.${scrollClass}::-webkit-scrollbar-thumb{background:${sbColor};border-radius:${sbSize/2}px;}\n.${scrollClass}::-webkit-scrollbar-corner{background:transparent;}`}}),/*#__PURE__*/_jsx(\"div\",{ref:scrollRef,onScroll:onScroll,className:scrollClass,style:{width:\"100%\",height:\"100%\",/* \"scroll\" (not \"auto\") keeps the bar present rather\n                               than flashing in only while scrolling. */overflowX:isScrollable?\"scroll\":\"hidden\",overflowY:\"hidden\",position:\"relative\",scrollbarWidth:\"thin\",scrollbarColor:`${sbColor} transparent`},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:contentW,height:\"100%\"},children:[yTickVals.map((v,i)=>{const y=yToPx(v);if(Math.abs(y-plotBottom)<1)return null;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,top:y,width:contentW,height:0,borderTop:`1px dashed ${colors.grid}`}},`yg-${i}`);}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,top:plotBottom,width:contentW,height:1,backgroundColor:colors.axis}}),barData.map((d,idx)=>{const stagger=.15+idx*staggerStep;const ciH=d.ciLoY-d.ciHiY;const hitTop=graph.showCI?Math.min(d.ciHiY,d.scoreY):d.scoreY;return /*#__PURE__*/_jsxs(React.Fragment,{children:[graph.showTooltip&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.barX,top:hitTop,width:barW,height:Math.max(0,plotBottom-hitTop),zIndex:50,cursor:\"default\"},onPointerEnter:()=>setHoveredIdx(idx),onPointerLeave:()=>setHoveredIdx(null)}),!isLive?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.barX,top:d.scoreY,width:barW,height:d.barH,backgroundColor:d.color,borderRadius:graph.barRadius}}),graph.showCI&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.cx-.75,top:d.ciHiY,width:1.5,height:ciH,backgroundColor:colors.ciStroke}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.cx-capW,top:d.ciHiY-.75,width:capW*2,height:1.5,backgroundColor:colors.ciStroke}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.cx-capW,top:d.ciLoY-.75,width:capW*2,height:1.5,backgroundColor:colors.ciStroke}})]}),graph.showValues&&valuesFit&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.cx,bottom:d.labelBottom,transform:\"translateX(-50%)\",whiteSpace:\"nowrap\",...valueFontBase},children:formatNumber(d.score,graph.valueDecimals)})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:d.barX,width:barW,backgroundColor:d.color,borderRadius:graph.barRadius,bottom:chartH-plotBottom},initial:{height:0,opacity:0},...triggerProps({height:d.barH,opacity:1}),transition:{ease:smoothEase,duration:.8,delay:stagger+(isOnAppear?appearOffset:0)}}),graph.showCI&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0},...triggerProps({opacity:1}),transition:{ease:smoothEase,duration:.5,delay:stagger+.4+(isOnAppear?appearOffset:0)},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.cx-.75,top:d.ciHiY,width:1.5,height:ciH,backgroundColor:colors.ciStroke}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.cx-capW,top:d.ciHiY-.75,width:capW*2,height:1.5,backgroundColor:colors.ciStroke}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:d.cx-capW,top:d.ciLoY-.75,width:capW*2,height:1.5,backgroundColor:colors.ciStroke}})]}),graph.showValues&&valuesFit&&/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:d.cx,bottom:d.labelBottom,transform:\"translateX(-50%)\",whiteSpace:\"nowrap\",...valueFontBase},initial:{opacity:0},...triggerProps({opacity:1}),transition:{ease:smoothEase,duration:.5,delay:stagger+.5+(isOnAppear?appearOffset:0)},children:formatNumber(d.score,graph.valueDecimals)})]})]},`bar-${d.name}-${idx}`);}),graph.showLegend&&/*#__PURE__*/_jsx(\"svg\",{style:{position:\"absolute\",left:0,top:0,width:contentW,height:\"100%\",overflow:\"visible\",pointerEvents:\"none\"},children:barData.map((d,idx)=>/*#__PURE__*/_jsx(\"text\",{x:d.cx,y:plotBottom+12,textAnchor:\"end\",dominantBaseline:\"central\",transform:`rotate(-90, ${d.cx}, ${plotBottom+12})`,style:{userSelect:\"none\",...fonts?.barLabel,fill:colors.barLabel},children:d.name},`bl-${idx}`))})]})}),isScrollable&&!scrollPos.atStart&&renderEdgeFade(\"left\"),isScrollable&&!scrollPos.atEnd&&renderEdgeFade(\"right\"),totalCount>0&&visibleBars.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...uiFontBase,color:colors.uiMuted},children:\"No models selected — pick some to compare.\"})]})]}),graph.xAxisLabel&&/*#__PURE__*/_jsx(\"div\",{style:{...noteFontBase,textAlign:\"center\",paddingTop:4},children:graph.xAxisLabel}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:0,top:0,x:smoothX,y:smoothY,zIndex:100,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(AnimatePresence,{children:graph.showTooltip&&hoveredIdx!==null&&barData[hoveredIdx]&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1,x:tooltipAlign===\"right\"?\"calc(-100% - 16px)\":\"16px\",y:\"-50%\"},exit:{opacity:0,scale:.95},transition:{duration:.25,ease:[.25,.1,.25,1]},style:{backgroundColor:\"#FFFFFF\",borderRadius:0,padding:\"12px 16px\",display:\"flex\",flexDirection:\"column\",gap:6,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:tooltipTitleBase,children:barData[hoveredIdx].name}),/*#__PURE__*/_jsxs(\"span\",{style:tooltipTextBase,children:[graph.tooltipLabel,\" \",formatNumber(barData[hoveredIdx].score,graph.valueDecimals),yAxis.suffix]}),graph.showCI&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,color:\"#666\",fontFamily:\"sans-serif\"},children:[\"95% CI: [\",formatNumber(barData[hoveredIdx].ciLow,graph.valueDecimals),yAxis.suffix,\",\",\" \",formatNumber(barData[hoveredIdx].ciHigh,graph.valueDecimals),yAxis.suffix,\"]\"]})]})})})]});}BarChartFeatureTest.defaultProps={dataSource:\"manual\",jsonFile:\"\",bars:[{name:\"Fable 5\",score:60.9,ciLow:57.6,ciHigh:64.2,color:\"#B8A1E3\"},{name:\"Opus 4.8\",score:54.3,ciLow:50.9,ciHigh:57.7,color:\"#997ADB\"},{name:\"GPT-5.5 XHigh\",score:52.3,ciLow:48.9,ciHigh:55.7,color:\"#44D62C\"},{name:\"GPT-5.5\",score:50.5,ciLow:47.1,ciHigh:53.9,color:\"#9AF261\"},{name:\"Grok 4.5\",score:50.1,ciLow:46.7,ciHigh:53.5,color:\"#FF9B99\"},{name:\"GLM 5.2\",score:42.3,ciLow:39,ciHigh:45.6,color:\"#2EC4B6\"},{name:\"DeepSeek V4 Pro\",score:32.7,ciLow:29.5,ciHigh:35.9,color:\"#F277C6\"},{name:\"Gemini 3.1 Pro\",score:31.5,ciLow:28.3,ciHigh:34.7,color:\"#6CD2F9\"}],filter:{enabled:true,defaultCount:25,presets:\"25,30\",showSearch:true,unitLabel:\"models\",searchPlaceholder:\"Search…\"},graph:{noteText:\"\",xAxisLabel:\"\",barRadius:0,barGap:.35,minBarSlot:44,scrollbarSize:6,edgeFade:40,edgeBlur:3,showCI:true,showValues:true,valueDecimals:1,showLegend:true,showTooltip:true,tooltipLabel:\"Pass@1:\",animationTrigger:\"inView\"},yAxis:{showLabels:true,title:\"\",min:0,max:70,ticks:7,prefix:\"\",suffix:\"%\",decimals:0},padding:{left:48,right:16,top:40,bottom:40},colors:{axis:\"#D0D4DC\",grid:\"#E5E7EC\",gridDash:\"3,3\",label:\"#999999\",barLabel:\"#999999\",ciStroke:\"#555555\",valueLabel:\"#333333\",scrollbar:\"rgba(0,0,0,0.18)\",uiText:\"#111111\",uiMuted:\"#8A929E\",uiBorder:\"#E2E5EA\",uiSurface:\"#FFFFFF\",uiAccent:\"#111111\"}};// ─── Property Controls ───────────────────────────────────────────────\naddPropertyControls(BarChartFeatureTest,{dataSource:{type:ControlType.Enum,title:\"Data Source\",options:[\"manual\",\"json\"],optionTitles:[\"Manual Items\",\"Upload JSON\"],defaultValue:\"manual\"},jsonFile:{type:ControlType.File,title:\"JSON File\",allowedFileTypes:[\"json\"],hidden(props){return props.dataSource!==\"json\";}},bars:{type:ControlType.Array,title:\"Bars\",hidden(props){return props.dataSource===\"json\";},control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Name\",defaultValue:\"Model\"},score:{type:ControlType.Number,title:\"Score\",defaultValue:30,min:-1e6,max:1e6,step:.1},ciLow:{type:ControlType.Number,title:\"CI Low\",defaultValue:25,min:-1e6,max:1e6,step:.1},ciHigh:{type:ControlType.Number,title:\"CI High\",defaultValue:35,min:-1e6,max:1e6,step:.1},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#3B82F6\"}}}},filter:{type:ControlType.Object,title:\"Filter\",controls:{enabled:{type:ControlType.Boolean,title:\"Toolbar\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Hiding the toolbar keeps the default Top N selection.\"},defaultCount:{type:ControlType.Number,title:\"Default Count\",defaultValue:25,min:1,max:200,step:1,description:\"How many top-ranked models show on load.\"},presets:{type:ControlType.String,title:\"Presets\",defaultValue:\"25,30\",description:\"Comma list of quick Top-N chips. Values ≥ total are hidden automatically.\"},showSearch:{type:ControlType.Boolean,title:\"Search\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},unitLabel:{type:ControlType.String,title:\"Unit Label\",defaultValue:\"models\"},searchPlaceholder:{type:ControlType.String,title:\"Search Hint\",defaultValue:\"Search…\"}}},graph:{type:ControlType.Object,title:\"Graph\",controls:{noteText:{type:ControlType.String,title:\"Note\",defaultValue:\"\"},xAxisLabel:{type:ControlType.String,title:\"X Label\",defaultValue:\"\"},barRadius:{type:ControlType.Number,title:\"Bar Radius\",defaultValue:0,min:0,max:40,step:1,unit:\"px\"},barGap:{type:ControlType.Number,title:\"Bar Gap\",defaultValue:.35,min:0,max:.9,step:.05},minBarSlot:{type:ControlType.Number,title:\"Min Bar Slot\",defaultValue:44,min:12,max:160,step:2,unit:\"px\",description:\"Below this width the chart scrolls horizontally instead of squeezing bars.\"},scrollbarSize:{type:ControlType.Number,title:\"Scrollbar\",defaultValue:6,min:2,max:16,step:1,unit:\"px\",description:\"Always-visible horizontal scrollbar thickness.\"},edgeFade:{type:ControlType.Number,title:\"Edge Fade\",defaultValue:40,min:8,max:160,step:2,unit:\"px\",description:\"Width of the progressive blur at the scroll edges. Auto-narrows on mobile.\"},edgeBlur:{type:ControlType.Number,title:\"Edge Blur\",defaultValue:3,min:.5,max:12,step:.5,unit:\"px\",description:\"Blur strength at the outer edge; ramps from 0 inward.\"},showCI:{type:ControlType.Boolean,title:\"CI Whiskers\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showValues:{type:ControlType.Boolean,title:\"Values\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},valueDecimals:{type:ControlType.Number,title:\"Value Decimals\",defaultValue:1,min:0,max:6,step:1,hidden(props){return props.graph?.showValues===false;}},showLegend:{type:ControlType.Boolean,title:\"Bar Labels\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showTooltip:{type:ControlType.Boolean,title:\"Tooltip\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},tooltipLabel:{type:ControlType.String,title:\"Tooltip Label\",defaultValue:\"Pass@1:\",hidden(props){return props.graph?.showTooltip===false;}},animationTrigger:{type:ControlType.Enum,title:\"Animate On\",options:[\"inView\",\"onAppear\"],optionTitles:[\"In View\",\"On Appear\"],defaultValue:\"inView\",displaySegmentedControl:true}}},yAxis:{type:ControlType.Object,title:\"Y Axis\",controls:{showLabels:{type:ControlType.Boolean,title:\"Show Labels\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},title:{type:ControlType.String,title:\"Axis Title\",defaultValue:\"\"},min:{type:ControlType.Number,title:\"Min\",defaultValue:0,min:-1e6,max:1e6,step:1},max:{type:ControlType.Number,title:\"Max\",defaultValue:70,min:-1e6,max:1e6,step:1},ticks:{type:ControlType.Number,title:\"Ticks\",defaultValue:7,min:1,max:20,step:1},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"%\"},decimals:{type:ControlType.Number,title:\"Decimals\",defaultValue:0,min:0,max:6,step:1}}},padding:{type:ControlType.Object,title:\"Padding\",controls:{left:{type:ControlType.Number,title:\"Left\",defaultValue:48,min:0,max:300,step:1,unit:\"px\"},right:{type:ControlType.Number,title:\"Right\",defaultValue:16,min:0,max:300,step:1,unit:\"px\"},top:{type:ControlType.Number,title:\"Top\",defaultValue:40,min:0,max:200,step:1,unit:\"px\"},bottom:{type:ControlType.Number,title:\"Bottom\",defaultValue:40,min:0,max:300,step:1,unit:\"px\"}}},colors:{type:ControlType.Object,title:\"Colors\",controls:{axis:{type:ControlType.Color,title:\"Axis\",defaultValue:\"#D0D4DC\"},grid:{type:ControlType.Color,title:\"Grid\",defaultValue:\"#E5E7EC\"},gridDash:{type:ControlType.String,title:\"Grid Dash\",defaultValue:\"3,3\"},label:{type:ControlType.Color,title:\"Label\",defaultValue:\"#999999\"},barLabel:{type:ControlType.Color,title:\"Bar Label\",defaultValue:\"#999999\"},ciStroke:{type:ControlType.Color,title:\"CI Stroke\",defaultValue:\"#555555\"},valueLabel:{type:ControlType.Color,title:\"Value\",defaultValue:\"#333333\"},scrollbar:{type:ControlType.Color,title:\"Scrollbar\",defaultValue:\"rgba(0,0,0,0.18)\"},uiText:{type:ControlType.Color,title:\"UI Text\",defaultValue:\"#111111\"},uiMuted:{type:ControlType.Color,title:\"UI Muted\",defaultValue:\"#8A929E\"},uiBorder:{type:ControlType.Color,title:\"UI Border\",defaultValue:\"#E2E5EA\"},uiSurface:{type:ControlType.Color,title:\"UI Surface\",defaultValue:\"#FFFFFF\"},uiAccent:{type:ControlType.Color,title:\"UI Accent\",defaultValue:\"#111111\"}}},fonts:{type:ControlType.Object,title:\"Fonts\",controls:{axis:{type:ControlType.Font,title:\"Axis\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},axisTitle:{type:ControlType.Font,title:\"Axis Title\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",variant:\"Medium\",letterSpacing:\"0em\",lineHeight:\"1em\"}},value:{type:ControlType.Font,title:\"Value\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},barLabel:{type:ControlType.Font,title:\"Bar Label\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},note:{type:ControlType.Font,title:\"Note\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",letterSpacing:\"0em\",lineHeight:\"1em\"}},ui:{type:ControlType.Font,title:\"UI / Filter\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"13px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},tooltipTitle:{type:ControlType.Font,title:\"Tooltip Title\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Bold\",letterSpacing:\"0em\",lineHeight:\"1.2em\"}},tooltipText:{type:ControlType.Font,title:\"Tooltip Text\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"13px\",variant:\"Medium\",letterSpacing:\"0em\",lineHeight:\"1.2em\"}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BarChartFeatureTest\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"920\",\"framerIntrinsicHeight\":\"560\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BarChartFeatureTest.map"],"mappings":"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"}