{"version":3,"file":"CopyCode.Da2i20Hv.mjs","names":["useState","useRef","useMemo","c","__esmMin","de","pe","ce","init_ssg_sandbox_shims","navigator","_e","p","init_npm_react_18_3_1","init_jsx_runtime","addPropertyControls","ControlType","init_framer_BWFVvmND","GraphySnippet","props","list","snippets","DEFAULT_SNIPPETS","sel","setSel","copied","setCopied","copyHover","setCopyHover","tabHover","setTabHover","timer","hybrid","layout","i","current","code","textOverride","copyPayload","copyOverride","tabbed","mono","font","copy","done","fallback","ta","colorFor","group","cmtColor","strColor","kwColor","numColor","clsColor","fnColor","textColor","punColor","lang","rows","src","r","isProse","isShell","proseFont","proseType","autoAccents","cmdLine","toks","target","t","w","renderShell","empty","line","key","named","words","tone","segs","next","seg","parts","piece","k","wi","fontSize","lineHeight","sg","PROSE_RE","renderProse","out","last","m","n","lines","fadePreview","previewLines","previewLineHeight","previewMask","renderLine","TOKEN_RE","g","c$1","tabIdle","mutedColor","tabActiveInk","inkColor","copyHoverBg","copyBgHoverLight","copyBgHoverDark","tabButton","active","hot","hotWash","base","styles","tabStyle","tabAccent","dividerColor","s","caption","tabGroup","copyButton","showCopy","copyBg","copyText","copyBorder","radius","cardBg","bg","cardBorder","cardShadow","style","showHeader","tabHeight","showLineNumbers","wrapLines","init_CopyCode"],"sources":["https:/framerusercontent.com/modules/66A39o3LPPNnqQ5hVuSm/xyI5HH6fK73Hr2ZK6FhR/CopyCode.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useEffect,useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/* Keep this list short. Every word here outranks the \"is it a call?\" and\n * \"is it a property?\" rules, so an over-eager keyword list turns ordinary\n * identifiers gold and the highlighting stops meaning anything. */const KEYWORDS=\"import|from|export|default|const|let|var|await|async|function|return|for|of|in|if|else|try|catch|new|type|interface|extends|implements|instanceof|typeof|as|null|undefined|true|false|string|number|boolean|unknown|void\";const TOKEN_RE=new RegExp([\"(\\\\/\\\\/[^\\\\n]*)\",\"('(?:\\\\\\\\.|[^'\\\\\\\\\\\\n])*'|\\\"(?:\\\\\\\\.|[^\\\"\\\\\\\\\\\\n])*\\\"|`(?:\\\\\\\\.|[^`\\\\\\\\])*`)\",`\\\\b(${KEYWORDS})\\\\b`,\"\\\\b(\\\\d+(?:\\\\.\\\\d+)?)\\\\b\",\"\\\\b([A-Z][A-Za-z0-9_]*)\\\\b\",\"\\\\b([a-zA-Z_$][\\\\w$]*)\\\\b(?=\\\\s*\\\\()\",\"\\\\b([a-zA-Z_$][\\\\w$]*)\\\\b(?=\\\\s*:)\",\"([{}()\\\\[\\\\];,.<>=+\\\\-*/&|?!:])\"].join(\"|\"),\"g\");export default function GraphySnippet(props){const{snippets=[],textOverride=\"\",copyOverride=\"\",previewLines=0,layout=\"hybrid\",tabStyle=\"pill\",tabHeight=48,minHeight=141,showHeader=true,showCopy=true,showLineNumbers=false,wrapLines=false,proseType=\"mono\",kwColor=\"#E8B04B\",clsColor=\"#E89A7B\",strColor=\"#A9C77F\",fnColor=\"#9DBBD6\",numColor=\"#D98E6A\",cmtColor=\"#948A79\",punColor=\"#9A9280\",textColor=\"#EFEBE2\",bg=\"#26221D\",cardBg=\"#FCFAF6\",cardBorder=\"rgba(88,80,68,0.16)\",cardShadow=true,inkColor=\"#211D19\",mutedColor=\"#8D867B\",dividerColor=\"rgba(88,80,68,0.10)\",tabAccent=\"#B84737\",copyBg=\"#FFFFFF\",copyBgHoverDark=\"rgba(255,255,255,0.62)\",copyBgHoverLight=\"#F2EEE6\",copyText=\"#211D19\",copyBorder=\"rgba(88,80,68,0.16)\",radius=14,fontSize=13,lineHeight=1.65,font,style}=props;const list=snippets.length?snippets:DEFAULT_SNIPPETS;const[sel,setSel]=useState(0);const[copied,setCopied]=useState(false);const[copyHover,setCopyHover]=useState(false);const[tabHover,setTabHover]=useState(-1);const timer=useRef(null);const hybrid=layout===\"hybrid\";const i=Math.min(sel,list.length-1);const current=list[i]||list[0];const code=textOverride||current?.code||\"\";const copyPayload=copyOverride||code;const tabbed=list.length>1;const mono={fontFamily:\"'Space Mono', ui-monospace, Menlo, monospace\",...font};useEffect(()=>{if(sel>list.length-1)setSel(Math.max(0,list.length-1));},[list.length,sel]);useEffect(()=>()=>{if(timer.current)clearTimeout(timer.current);},[]);const copy=()=>{const done=()=>{setCopied(true);if(timer.current)clearTimeout(timer.current);timer.current=setTimeout(()=>setCopied(false),1400);};const fallback=()=>{try{const ta=document.createElement(\"textarea\");ta.value=copyPayload;ta.setAttribute(\"readonly\",\"\");ta.style.position=\"fixed\";ta.style.opacity=\"0\";document.body.appendChild(ta);ta.select();document.execCommand(\"copy\");document.body.removeChild(ta);done();}catch(e){/* clipboard unavailable — the code is on screen to select */}};if(navigator.clipboard?.writeText){navigator.clipboard.writeText(copyPayload).then(done).catch(fallback);}else fallback();};const colorFor=group=>{switch(group){case 1:return cmtColor;case 2:return strColor;case 3:return kwColor;case 4:return numColor;case 5:return clsColor;case 6:return fnColor;case 7:return textColor;case 8:return punColor;default:return null;}};/* Auto-detect by default. A control that must be set correctly on every\n     * instance before the component looks right is a control that will be left\n     * on its default — and \"left on its default\" here means shell commands\n     * rendered as TypeScript. Detection is cheap and the enum is still there\n     * to override it. */const detect=src=>{const rows=src.split(\"\\n\").map(r=>r.trim()).filter(Boolean);if(!rows.length)return\"code\";// a `#` line is a shell comment; TS has no such thing\nif(rows.some(r=>r.charAt(0)===\"#\"))return\"shell\";// a leading command word, or a slash-command like /plugin\nif(/^(npx|npm|pnpm|yarn|bun|deno|git|curl|brew|pip|docker|sh|bash)\\b/.test(rows[0])||/^\\/[a-z][a-z-]*\\b/.test(rows[0]))return\"shell\";// no code punctuation anywhere + reads like sentences → prose\nconst hasCodeShape=/[{}();=]|=>|<\\/?[A-Za-z]/.test(src);if(!hasCodeShape&&src.split(/\\s+/).length>6)return\"prose\";return\"code\";};const explicit=current?.lang&&current.lang!==\"auto\";const lang=explicit?current.lang:current?.prose?\"prose\":detect(current?.code||\"\");const isProse=lang===\"prose\";const isShell=lang===\"shell\";const proseFont=isProse&&proseType===\"sans\"?{fontFamily:\"'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif\"}:mono;const autoAccents=useMemo(()=>{if(lang!==\"shell\")return[];const cmdLine=(current?.code||\"\").split(\"\\n\").map(r=>r.trim()).find(r=>r&&r.charAt(0)!==\"#\");if(!cmdLine)return[];const toks=cmdLine.split(/\\s+/);const target=toks.find(t=>t.indexOf(\"@\")===0||t.indexOf(\"/\")>0&&t.indexOf(\"/\")<t.length-1);return[toks[0],target].filter(w=>!!w);},[lang,current?.code]);/* Shell: dim the `#` lines, mark at most two named words, leave the rest\n     * alone. Deliberately NOT positional — see the note on `lang` above. */const renderShell=(line,key)=>{const empty=line===\"\";if(line.trim().charAt(0)===\"#\"){return /*#__PURE__*/_jsx(\"div\",{style:{color:cmtColor},children:line},key);}/* With no accents named, take the sensible pair: the command word and\n         * the thing it acts on (an @scope/name or owner/repo). Same two roles\n         * InstallSnippet colours, derived rather than configured. */const named=[current?.accent1,current?.accent2].filter(w=>!!w);const words=named.length?named:autoAccents;const tone=[kwColor,strColor];let segs=[{t:line,c:null}];words.forEach((w,wi)=>{const next=[];segs.forEach(seg=>{if(seg.c!==null){next.push(seg);return;}const parts=seg.t.split(w);parts.forEach((piece,k)=>{if(piece)next.push({t:piece,c:null});if(k<parts.length-1)next.push({t:w,c:tone[wi]});});});segs=next;});return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:empty?fontSize*lineHeight:undefined},children:segs.length?segs.map((sg,k)=>sg.c?/*#__PURE__*/_jsx(\"span\",{style:{color:sg.c,fontWeight:700},children:sg.t},k):/*#__PURE__*/_jsx(\"span\",{children:sg.t},k)):\" \"},key);};/* Prose keeps exactly two things marked: the URL (the payload — it's the\n     * one part a reader must not mistype) and any @scoped package. Everything\n     * else stays plain, because emphasis on everything is emphasis on nothing. */// the trailing char class stops a sentence's comma or full stop being\n// swallowed into the link — \"llms.txt,\" coloured as if the comma were URL\nconst PROSE_RE=/(https?:\\/\\/[^\\s)]*[^\\s).,;:!?'\"]|\\bgraphy\\.dev\\/[^\\s)]*[^\\s).,;:!?'\"]|@[a-z0-9-]+\\/[a-z0-9-]+)/gi;const renderProse=(line,key)=>{const out=[];let last=0;let m;let n=0;PROSE_RE.lastIndex=0;while((m=PROSE_RE.exec(line))!==null){if(m.index>last)out.push(line.slice(last,m.index));out.push(/*#__PURE__*/_jsx(\"span\",{style:{color:m[0].charAt(0)===\"@\"?clsColor:strColor},children:m[0]},`p${n++}`));last=m.index+m[0].length;}if(last<line.length)out.push(line.slice(last));return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:line===\"\"?fontSize*lineHeight:undefined},children:out.length?out:\" \"},key);};/* Tokenise per LINE, not per file. Line comments can't span lines anyway,\n     * and per-line keeps each rendered row independent — which is what lets the\n     * gutter stay aligned when a long line scrolls sideways. */const lines=useMemo(()=>code.split(\"\\n\"),[code]);const fadePreview=previewLines>0&&lines.length>previewLines;const previewLineHeight=fontSize*(isProse?Math.max(lineHeight,1.7):lineHeight);const previewMask=`linear-gradient(to bottom, black 0px, black ${previewLineHeight}px, rgba(0,0,0,0.5) ${previewLines*.65*previewLineHeight}px, transparent ${(previewLines+.5)*previewLineHeight}px), linear-gradient(to right, black 0%, black calc(100% - 48px), transparent 100%)`;const renderLine=(line,key)=>{const out=[];let last=0;let m;let n=0;TOKEN_RE.lastIndex=0;while((m=TOKEN_RE.exec(line))!==null){if(m.index>last)out.push(line.slice(last,m.index));let g=1;while(g<=8&&m[g]===undefined)g++;const c=colorFor(g);out.push(/*#__PURE__*/_jsx(\"span\",{style:{color:c||textColor,fontStyle:g===1?\"italic\":undefined,fontWeight:g===3?700:undefined},children:m[0]},`t${n++}`));last=m.index+m[0].length;if(m[0]===\"\")TOKEN_RE.lastIndex++// guard: zero-width match\n;}if(last<line.length)out.push(line.slice(last));return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:line===\"\"?fontSize*lineHeight:undefined},children:out.length?out:\"\\xa0\"},key);};/* ——— header ——— */const tabIdle=hybrid?mutedColor:\"rgba(239,235,226,0.65)\";const tabActiveInk=hybrid?inkColor:textColor;const copyOnDark=!hybrid;const copyHoverBg=copyOnDark?copyBgHoverDark:copyBgHoverLight;const tabButton=(s,k)=>{const active=k===i;const hot=!active&&tabHover===k;const hotWash=hybrid?\"rgba(88,80,68,0.05)\":\"rgba(255,255,255,0.05)\";const base={...mono,background:\"transparent\",borderWidth:1,borderStyle:\"solid\",borderTopColor:\"transparent\",borderRightColor:\"transparent\",borderBottomColor:\"transparent\",borderLeftColor:\"transparent\",color:active?tabActiveInk:hot?tabActiveInk:tabIdle,fontSize:fontSize,// explicit and generous: the label is clipped by `overflow:hidden`\n// below, and a line box shorter than the glyph box slices\n// descenders off words like \"agents\"\nlineHeight:1.5,fontWeight:active?700:400,cursor:\"pointer\",whiteSpace:\"nowrap\",transition:\"color .15s ease, background .15s ease\"};let styles=base;if(tabStyle===\"underline\"){styles={...base,display:\"inline-flex\",alignItems:\"center\",alignSelf:\"stretch\",padding:\"0 14px\",boxShadow:active?`inset 0 -2px 0 ${tabAccent}`:hot?`inset 0 -2px 0 ${dividerColor}`:\"none\"};}else if(tabStyle===\"pill\"){styles={...base,padding:\"6px 12px\",borderRadius:hybrid?8:999,background:active?hybrid?\"#FFFFFF\":\"rgba(255,255,255,0.08)\":hot?hotWash:\"transparent\",borderTopColor:active&&hybrid?dividerColor:\"transparent\",borderRightColor:active&&hybrid?dividerColor:\"transparent\",borderBottomColor:active&&hybrid?dividerColor:\"transparent\",borderLeftColor:active&&hybrid?dividerColor:\"transparent\",boxShadow:active&&hybrid?\"0 1px 3px rgba(0,0,0,0.05)\":\"none\"};}else{styles={...base,padding:\"5px 12px\",borderRadius:6,background:active?hybrid?\"#FFFFFF\":\"rgba(239,235,226,0.14)\":hot?hotWash:\"transparent\",boxShadow:active&&hybrid?\"0 1px 3px rgba(0,0,0,0.05)\":\"none\"};}return /*#__PURE__*/_jsx(\"button\",{type:\"button\",role:\"tab\",\"aria-selected\":active,onClick:()=>setSel(k),onMouseEnter:()=>setTabHover(k),onMouseLeave:()=>setTabHover(-1),onFocus:()=>setTabHover(k),onBlur:()=>setTabHover(-1),style:styles,children:s.label||`Option ${k+1}`},k);};/* One snippet → a quiet caption, not a tab. A lone pill invites a click\n     * that does nothing; a caption reads as a title, which is what it is. */const caption=/*#__PURE__*/_jsx(\"span\",{style:{...mono,fontSize:fontSize-1.5,lineHeight:1.5,letterSpacing:\"0.04em\",color:hybrid?mutedColor:\"rgba(239,235,226,0.55)\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",paddingLeft:4,minWidth:0},children:current?.label||\"\"});const tabGroup=tabStyle===\"segmented\"?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:2,padding:3,borderRadius:8,background:hybrid?\"rgba(88,80,68,0.06)\":\"rgba(255,255,255,0.06)\"},children:list.map(tabButton)}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:tabStyle===\"pill\"?4:0,alignItems:tabStyle===\"underline\"?\"stretch\":\"center\",alignSelf:tabStyle===\"underline\"?\"stretch\":\"auto\"},children:list.map(tabButton)});const copyButton=showCopy&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:copy,onMouseEnter:()=>setCopyHover(true),onMouseLeave:()=>setCopyHover(false),onFocus:()=>setCopyHover(true),onBlur:()=>setCopyHover(false),\"aria-label\":copied?\"Code copied\":\"Copy code\",style:{...mono,flex:\"none\",minWidth:\"max-content\",background:copied||copyHover?copyHoverBg:copyBg,color:copyText,border:`1px solid ${copyBorder}`,borderRadius:Math.max(6,Math.min(9,radius-4)),fontSize:fontSize-3,letterSpacing:\"0.06em\",textTransform:\"uppercase\",padding:\"7px 12px\",cursor:\"pointer\",transition:\"background .15s ease\"},children:copied?\"Copied\":\"Copy\"});return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",minHeight,display:\"flex\",flexDirection:\"column\",background:hybrid?cardBg:bg,border:hybrid?`1px solid ${cardBorder}`:\"none\",boxShadow:hybrid&&cardShadow?\"0 2px 16px rgba(0,0,0,0.05), inset 0 1px 0 rgba(255,255,255,0.72)\":\"none\",borderRadius:radius,boxSizing:\"border-box\",overflow:\"hidden\",...style},children:[showHeader&&/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"none\",height:tabHeight,display:\"flex\",alignItems:\"center\",gap:8,padding:\"0 10px\",borderBottom:hybrid?\"none\":`1px solid ${dividerColor}`,// the ROW never scrolls — only the tab group inside it.\n// Copy stays pinned instead of sliding out of frame.\noverflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{role:tabbed?\"tablist\":undefined,\"aria-label\":tabbed?\"Examples\":undefined,style:{display:\"flex\",alignItems:\"center\",alignSelf:tabbed&&tabStyle===\"underline\"?\"stretch\":\"auto\",minWidth:0,overflowX:\"auto\",scrollbarWidth:\"none\"},children:tabbed?tabGroup:caption}),showCopy&&/*#__PURE__*/_jsx(\"div\",{style:{marginLeft:\"auto\",flex:\"none\"},children:copyButton})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"1 1 auto\",minHeight:0,display:\"flex\",overflow:\"auto\",...hybrid?{background:bg,margin:10,marginTop:showHeader?4:10,borderRadius:Math.max(6,radius-5),padding:14}:{padding:\"12px 14px\"}},children:[showLineNumbers&&!isProse&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{...mono,flex:\"none\",position:\"sticky\",left:0,zIndex:1,textAlign:\"right\",paddingRight:12,marginRight:12,fontSize,lineHeight,color:\"rgba(239,235,226,0.34)\",userSelect:\"none\",whiteSpace:\"pre\",background:bg,borderRightWidth:1,borderRightStyle:\"solid\",borderRightColor:\"rgba(255,255,255,0.06)\"},children:lines.map((_,k)=>/*#__PURE__*/_jsx(\"div\",{children:k+1},k))}),/*#__PURE__*/_jsx(\"div\",{style:{...proseFont,flex:\"1 1 auto\",minWidth:0,fontSize,// prose wants air; code wants the author's line height\nlineHeight:isProse?Math.max(lineHeight,1.7):lineHeight,color:textColor,// Code is NOT wrapped by default — wrapping destroys the\n// indentation, which is half of a snippet's legibility.\n// Prose has no indentation to lose, so it always wraps.\nwhiteSpace:isProse||isShell||wrapLines?\"pre-wrap\":\"pre\",wordBreak:isProse||wrapLines?\"break-word\":\"normal\",...fadePreview?{maxHeight:(previewLines+.5)*previewLineHeight,overflow:\"clip\",scrollbarWidth:\"none\",maskImage:previewMask,maskComposite:\"intersect\",WebkitMaskImage:previewMask,WebkitMaskComposite:\"source-in\"}:{}},children:lines.map(isProse?renderProse:isShell?renderShell:renderLine)})]})]});}const DEFAULT_SNIPPETS=[{label:\"Your first chart\",code:`const input = pipe(\n  createSpec(),\n  mapping({ x: 'month', y: 'revenue' }),\n  geom.bar(),\n)\n\n<GraphProvider data={data} input={input}>\n  <GraphRenderer />\n</GraphProvider>`}];addPropertyControls(GraphySnippet,{snippets:{type:ControlType.Array,title:\"Snippets\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Your first chart\",description:\"One snippet: shows as a caption. Two or more: shows as tabs.\"},code:{type:ControlType.String,title:\"Code\",displayTextArea:true,defaultValue:DEFAULT_SNIPPETS[0].code},lang:{type:ControlType.Enum,title:\"Payload\",options:[\"auto\",\"code\",\"shell\",\"prose\"],optionTitles:[\"Auto\",\"Code\",\"Shell\",\"Prose\"],defaultValue:\"auto\",displaySegmentedControl:true,description:\"Auto reads the content: a # line or a leading npx/npm//plugin means shell; sentences with no code punctuation mean prose. Override if it guesses wrong.\"},accent1:{type:ControlType.String,title:\"Accent 1\",defaultValue:\"\",hidden:s=>s.lang===\"code\"||s.lang===\"prose\"},accent2:{type:ControlType.String,title:\"Accent 2\",defaultValue:\"\",hidden:s=>s.lang===\"code\"||s.lang===\"prose\"}}},defaultValue:DEFAULT_SNIPPETS},textOverride:{type:ControlType.String,title:\"Text Override\",displayTextArea:true,defaultValue:\"\",description:\"Optional visible payload; also copied unless Copy Override is set.\"},copyOverride:{type:ControlType.String,title:\"Copy Override\",displayTextArea:true,defaultValue:\"\",description:\"Optional copy-only payload. When empty, Copy uses the visible code.\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"hybrid\",\"solid\"],optionTitles:[\"Hybrid card\",\"Solid dark\"],defaultValue:\"hybrid\",displaySegmentedControl:true},tabStyle:{type:ControlType.Enum,title:\"Tab Style\",options:[\"underline\",\"pill\",\"segmented\"],optionTitles:[\"Underline\",\"Pill\",\"Segmented\"],defaultValue:\"pill\",displaySegmentedControl:true,hidden:p=>(p.snippets?.length||1)<2},showHeader:{type:ControlType.Boolean,title:\"Header row\",defaultValue:true},tabHeight:{type:ControlType.Number,title:\"Header H\",min:36,max:72,defaultValue:48,hidden:p=>!p.showHeader},minHeight:{type:ControlType.Number,title:\"Min Height\",min:0,max:600,defaultValue:141,description:\"Match InstallSnippet so the two align in a column.\"},showCopy:{type:ControlType.Boolean,title:\"Copy Button\",defaultValue:true},previewLines:{type:ControlType.Number,title:\"Preview Lines\",defaultValue:0,min:0,max:20,step:1,description:\"0 shows all lines. A preview fades the rest; Copy keeps the full code.\"},showLineNumbers:{type:ControlType.Boolean,title:\"Line Nums\",defaultValue:false,description:\"Costs ~34px of width. Off in narrow columns.\"},proseType:{type:ControlType.Enum,title:\"Prose font\",options:[\"mono\",\"sans\"],optionTitles:[\"Mono\",\"Sans\"],defaultValue:\"mono\",displaySegmentedControl:true,description:\"Only affects snippets marked Prose.\"},wrapLines:{type:ControlType.Boolean,title:\"Long Lines\",enabledTitle:\"Wrap\",disabledTitle:\"Scroll\",defaultValue:false,description:\"Wrapping breaks indentation — prefer shorter lines.\"},kwColor:{type:ControlType.Color,title:\"Keyword\",defaultValue:\"#E8B04B\"},clsColor:{type:ControlType.Color,title:\"Type\",defaultValue:\"#E89A7B\"},strColor:{type:ControlType.Color,title:\"String\",defaultValue:\"#A9C77F\"},fnColor:{type:ControlType.Color,title:\"Call\",defaultValue:\"#9DBBD6\"},numColor:{type:ControlType.Color,title:\"Number\",defaultValue:\"#D98E6A\"},cmtColor:{type:ControlType.Color,title:\"Comment\",defaultValue:\"#948A79\"},punColor:{type:ControlType.Color,title:\"Punctuation\",defaultValue:\"#9A9280\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#EFEBE2\"},bg:{type:ControlType.Color,title:\"Strip BG\",defaultValue:\"#26221D\"},cardBg:{type:ControlType.Color,title:\"Card BG\",defaultValue:\"#FCFAF6\",hidden:p=>p.layout!==\"hybrid\"},cardBorder:{type:ControlType.Color,title:\"Card Border\",defaultValue:\"rgba(88,80,68,0.16)\",hidden:p=>p.layout!==\"hybrid\"},cardShadow:{type:ControlType.Boolean,title:\"Card Shadow\",defaultValue:true,hidden:p=>p.layout!==\"hybrid\"},inkColor:{type:ControlType.Color,title:\"Tab Ink\",defaultValue:\"#211D19\",hidden:p=>p.layout!==\"hybrid\"},mutedColor:{type:ControlType.Color,title:\"Tab Muted\",defaultValue:\"#8D867B\"},dividerColor:{type:ControlType.Color,title:\"Divider\",defaultValue:\"rgba(88,80,68,0.10)\"},tabAccent:{type:ControlType.Color,title:\"Tab Accent\",defaultValue:\"#B84737\"},copyBg:{type:ControlType.Color,title:\"Copy BG\",defaultValue:\"#FFFFFF\"},copyBgHoverDark:{type:ControlType.Color,title:\"Copy Hover\",defaultValue:\"rgba(255,255,255,0.62)\",hidden:p=>p.layout===\"hybrid\"},copyBgHoverLight:{type:ControlType.Color,title:\"Copy Hover\",defaultValue:\"#F2EEE6\",hidden:p=>p.layout!==\"hybrid\"},copyText:{type:ControlType.Color,title:\"Copy Text\",defaultValue:\"#211D19\"},copyBorder:{type:ControlType.Color,title:\"Copy Border\",defaultValue:\"rgba(88,80,68,0.16)\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"monospace\"},fontSize:{type:ControlType.Number,title:\"Font Size\",min:10,max:20,step:.5,defaultValue:13},lineHeight:{type:ControlType.Number,title:\"Line Height\",min:1.2,max:2.2,step:.05,defaultValue:1.65},radius:{type:ControlType.Number,title:\"Corner\",min:0,max:24,defaultValue:14}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GraphySnippet\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CopyCode.map"],"mappings":"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"}