1import{a1 as c,Z as t,H as d}from"./app-CSq-4D6B.js";import{D as p}from"./DemoShell-r8RAjwM9.js";import{P as n}from"./PreviewSlider-D-O1-atf.js";import{P as m}from"./PreviewSwitch-4I9MZ2Gd.js";import"./rotate-ccw-DURTGv-m.js";const f={componentId:"honeycomb-grid",dependencies:"",usage:`import HoneycombGrid from './HoneycombGrid'; 2 3const apps = [ 4 { label: 'Mint', color: '#3CCB91' }, 5 { label: 'Violet', color: '#5227FF' }, 6 { label: 'Ember', color: '#F25C2A' } 7]; 8 9<HoneycombGrid 10 apps={apps} 11 wideCount={4} 12 fisheyeStrength={0.7} 13 onSelect={(app) => console.log(app.label)} 14/>`},h={wideCount:4,fillFactor:.92,gapRatio:.18,fisheyeStrength:.7,enabled:!0},x=()=>{const r=c.useMemo(()=>[{name:"apps",type:"AppItem[]",default:"12-color built-in palette",description:"List of cells to render. Cycled by row+col hash so any length tiles the infinite grid. Each item: `{ label, color, glyph?, image? }`."},{name:"wideCount",type:"number",default:"4",description:"Cells in a wide row. Narrow rows have `wideCount - 1`. Default alternates 4 / 3."},{name:"fillFactor",type:"number",default:"0.92",description:"Fraction of viewport width the wide row spans."},{name:"gapRatio",type:"number",default:"0.18",description:"Gap between cells, as a fraction of icon size."},{name:"fisheyeStrength",type:"number",default:"0.7",description:"0 = uniform scale, 1 = aggressive edge shrink. Quadratic falloff from center."},{name:"enabled",type:"boolean",default:"true",description:"Toggle pointer/wheel interaction and the rAF loop."},{name:"onSelect",type:"(app, rect) => void",default:"â",description:"Fired when a cell is tapped (drag gestures are filtered out)."},{name:"className",type:"string",default:"''",description:"Additional classes merged onto the root frame."}],[]);return t.jsx(p,{defaultProps:h,propData:r,dependencies:[],codeObject:f,componentName:"HoneycombGrid",flexProps:{minH:"600px",h:"600px"},preview:({props:o,key:i})=>t.jsx(d,{...o},i),controls:({props:o,updateProp:i,forceRerender:l})=>{const a=(e,s)=>{i(e,s),l()};return t.jsxs(t.Fragment,{children:[t.jsx(n,{title:"Wide row count",min:3,max:7,step:1,value:o.wideCount,onChange:e=>a("wideCount",e)}),t.jsx(n,{title:"Fill factor",min:.5,max:1,step:.02,value:o.fillFactor,onChange:e=>a("fillFactor",e)}),t.jsx(n,{title:"Gap ratio",min:0,max:.4,step:.01,value:o.gapRatio,onChange:e=>a("gapRatio",e)}),t.jsx(n,{title:"Fisheye strength",min:0,max:1,step:.05,value:o.fisheyeStrength,onChange:e=>a("fisheyeStrength",e)}),t.jsx(m,{title:"Interactive",isChecked:o.enabled,onChange:e=>a("enabled",e)})]})}})};export{x as default}; 15//# sourceMappingURL=HoneycombGridDemo-CCgAA9mt.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.