{"version":3,"file":"CodeDemo.CnzTpXSF.mjs","names":["useState","useRef","useMemo","useCallback","c","_Fragment"],"sources":["https:/framerusercontent.com/modules/hQrU9rKnmz2uveqC7uC6/Io1heWdxuNcEqDhV0eR5/CodeDemo.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState,useCallback,useMemo}from\"react\";// ─── Lightweight TSX tokenizer ────────────────────────────────────────────────\nconst TOKEN_RULES=[{type:\"comment\",re:/^(\\/\\/.*|\\/\\*.*)/},{type:\"tag\",re:/^(<\\/[A-Za-z][A-Za-z0-9.]*>|<\\/?>|<[A-Za-z][A-Za-z0-9.]*(?=[\\s/>]))/},{type:\"attribute\",re:/^(\\{\\.\\.\\.[\\w]+\\}|[a-zA-Z][\\w-]*(?==))/},{type:\"string\",re:/^(`(?:[^`\\\\]|\\\\.)*`|'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\")/},{type:\"keyword\",re:/^(import|export|from|as|type|interface|function|class|const|let|var|return|if|else|for|while|of|in|new|typeof|instanceof|extends|implements|default|async|await|void|never|null|undefined|true|false|this|super|static|readonly|public|private|protected|abstract|declare|namespace|enum|keyof|infer|is)\\b/},{type:\"type\",re:/^([A-Z][A-Za-z0-9]*)/},{type:\"number\",re:/^(\\d+\\.?\\d*)/},{type:\"punctuation\",re:/^([{}()[\\]<>:;,.|&?!=+\\-*/^%~@#])/},{type:\"function\",re:/^([a-z_$][\\w$]*(?=\\())/},{type:\"plain\",re:/^([\\w$]+|[^\\w\\s])/},{type:\"plain\",re:/^(\\s+)/}];function tokenizeLine(lineText){const tokens=[];let remaining=lineText;while(remaining.length>0){let matched=false;for(const{type,re}of TOKEN_RULES){const m=remaining.match(re);if(m){tokens.push({type,text:m[1]});remaining=remaining.slice(m[1].length);matched=true;break;}}if(!matched){tokens.push({type:\"plain\",text:remaining[0]});remaining=remaining.slice(1);}}return tokens;}function tokenizeCode(rawCode){return rawCode.split(\"\\n\").map(line=>tokenizeLine(line));}// ─── Default code ─────────────────────────────────────────────────────────────\nconst DEFAULT_CODE=`'use client';\n \nimport * as React from 'react';\n  \ntype MyComponentProps = {\n  myProps: string;\n} & React.ComponentProps<'div'>;\n  \nfunction MyComponent(props: MyComponentProps) {\n  return (\n    <div {...props}>\n      <p>My Component</p>\n    </div>\n  );\n}\nexport { MyComponent, type MyComponentProps };`;// ─── Themes ───────────────────────────────────────────────────────────────────\nconst DARK_THEME={window:\"#013120\",header:\"#161b22\",border:\"#30363d\",lineNumber:\"#484f58\",keyword:\"#ff7b72\",string:\"#a5d6ff\",type:\"#ffa657\",punctuation:\"#79c0ff\",function:\"#d2a8ff\",tag:\"#7ee787\",attribute:\"#79c0ff\",comment:\"#8b949e\",number:\"#79c0ff\",plain:\"#e6edf3\",cursor:\"#58a6ff\",editorBg:\"#010409\",editorText:\"#e6edf3\",editorBorder:\"#21262d\",copyBtn:{bg:\"#21262d\",border:\"#30363d\",text:\"#8b949e\"}};const LIGHT_THEME={window:\"#ffffff\",header:\"#f6f8fa\",border:\"#d0d7de\",lineNumber:\"#8c959f\",keyword:\"#cf222e\",string:\"#0a3069\",type:\"#953800\",punctuation:\"#0550ae\",function:\"#8250df\",tag:\"#116329\",attribute:\"#0550ae\",comment:\"#6e7781\",number:\"#0550ae\",plain:\"#24292f\",cursor:\"#0550ae\",editorBg:\"#f6f8fa\",editorText:\"#24292f\",editorBorder:\"#d0d7de\",copyBtn:{bg:\"#f6f8fa\",border:\"#d0d7de\",text:\"#57606a\"}};// ─── Helpers ──────────────────────────────────────────────────────────────────\nfunction getEasedTime(index,total,duration,easing){const t=index/Math.max(total-1,1);let factor;switch(easing){case\"ease\":factor=t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;break;case\"spring\":{const overshoot=Math.sin(t*Math.PI*1.5)*.08;factor=Math.min(1,t+overshoot);break;}default:factor=t;}return factor*duration*1e3;}// ─── Icons ────────────────────────────────────────────────────────────────────\nfunction ReactIcon({size=14}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"#58a6ff\",style:{flexShrink:0},children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 9.861a2.14 2.14 0 1 0 0 4.279 2.14 2.14 0 0 0 0-4.279zm-5.992 6.394-.472-.12C2.018 15.246 0 13.737 0 11.996s2.018-3.25 5.536-4.139l.472-.119.133.468a23.53 23.53 0 0 0 1.363 3.578l.101.213-.101.213a23.307 23.307 0 0 0-1.363 3.578l-.133.467zM5.317 8.95c-2.674.751-4.315 1.9-4.315 3.046 0 1.145 1.641 2.294 4.315 3.046a24.95 24.95 0 0 1 1.182-3.046A24.752 24.752 0 0 1 5.317 8.95zm12.675 7.444-.133-.468a23.479 23.479 0 0 0-1.363-3.578l-.101-.213.101-.213a23.479 23.479 0 0 0 1.363-3.578l.133-.468.473.119c3.517.889 5.535 2.398 5.535 4.139s-2.018 3.25-5.535 4.139l-.473.12zm-.491-4.259c.48 1.039.877 2.06 1.182 3.046 2.675-.752 4.315-1.901 4.315-3.046 0-1.146-1.641-2.294-4.315-3.046a24.788 24.788 0 0 1-1.182 3.046zM12 16.51l-.478-.43a24.787 24.787 0 0 0-2.647-2.837 24.788 24.788 0 0 0-2.647 2.837l-.478.43.478.43a24.787 24.787 0 0 0 2.647 2.837 24.788 24.788 0 0 0 2.647-2.837l.478-.43zm0-9.02-.478-.43A24.787 24.787 0 0 0 8.875 4.223a24.788 24.788 0 0 0-2.647 2.837l-.478.43.478.43a24.787 24.787 0 0 0 2.647 2.837 24.788 24.788 0 0 0 2.647-2.837L12 7.49z\"})});}function PencilIcon({size=13,color=\"currentColor\"}){return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"})]});}function CheckIcon({size=13,color=\"currentColor\"}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:2.5,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"20 6 9 17 4 12\"})});}function TokenSpan({token,colors}){const colorMap={keyword:colors.keyword,string:colors.string,type:colors.type,punctuation:colors.punctuation,function:colors.function,tag:colors.tag,attribute:colors.attribute,comment:colors.comment,number:colors.number,plain:colors.plain};return /*#__PURE__*/_jsx(\"span\",{style:{color:colorMap[token.type]},children:token.text});}// ─── Main Component ───────────────────────────────────────────────────────────\nexport default function CodeDemo({code:propCode,filename,duration,delay,writing,cursor,easing,theme,showCopyButton,showLineNumbers,showEditButton,fontSize,onCopy,onCodeChange}){const colors=theme===\"dark\"?DARK_THEME:LIGHT_THEME;const[localCode,setLocalCode]=useState(propCode||DEFAULT_CODE);const[isEditing,setIsEditing]=useState(false);const[editorDraft,setEditorDraft]=useState(localCode);const textareaRef=useRef(null);useEffect(()=>{if(!isEditing)setLocalCode(propCode||DEFAULT_CODE);},[propCode]);const codeLines=useMemo(()=>tokenizeCode(localCode),[localCode]);// ── Animation state ─────────────────────────────────────────────────────\nconst[visibleLines,setVisibleLines]=useState([]);const[cursorLineIndex,setCursorLineIndex]=useState(null);const[copied,setCopied]=useState(false);const timersRef=useRef([]);const clearAllTimers=useCallback(()=>{timersRef.current.forEach(clearTimeout);timersRef.current=[];},[]);const runAnimation=useCallback(()=>{clearAllTimers();setVisibleLines([]);setCursorLineIndex(null);if(isEditing)return;const total=codeLines.length;const delayMs=delay*1e3;if(!writing){const t=setTimeout(()=>{setVisibleLines(codeLines.map((_,i)=>i));if(cursor)setCursorLineIndex(total-1);},delayMs);timersRef.current.push(t);return;}codeLines.forEach((_,i)=>{const offset=delayMs+getEasedTime(i,total,duration,easing);const t=setTimeout(()=>{setVisibleLines(prev=>[...prev,i]);if(cursor)setCursorLineIndex(i);},offset);timersRef.current.push(t);});if(!cursor){const endT=setTimeout(()=>setCursorLineIndex(null),delayMs+duration*1e3+100);timersRef.current.push(endT);}},[writing,cursor,duration,delay,easing,codeLines,isEditing,clearAllTimers]);useEffect(()=>{runAnimation();return clearAllTimers;},[runAnimation]);// ── Editor handlers ──────────────────────────────────────────────────────\nconst openEditor=()=>{setEditorDraft(localCode);setIsEditing(true);clearAllTimers();setVisibleLines(codeLines.map((_,i)=>i));setCursorLineIndex(null);setTimeout(()=>textareaRef.current?.focus(),50);};const applyEdit=()=>{setLocalCode(editorDraft);setIsEditing(false);onCodeChange?.(editorDraft);};const cancelEdit=()=>{setEditorDraft(localCode);setIsEditing(false);};const handleTextareaKeyDown=e=>{if(e.key===\"Tab\"){e.preventDefault();const el=e.currentTarget;const start=el.selectionStart;const end=el.selectionEnd;const next=editorDraft.substring(0,start)+\"  \"+editorDraft.substring(end);setEditorDraft(next);requestAnimationFrame(()=>{el.selectionStart=el.selectionEnd=start+2;});}if(e.key===\"Escape\")cancelEdit();if(e.key===\"Enter\"&&(e.metaKey||e.ctrlKey))applyEdit();};// ── Copy ─────────────────────────────────────────────────────────────────\nconst handleCopy=()=>{navigator.clipboard.writeText(localCode).catch(()=>{});setCopied(true);onCopy?.();setTimeout(()=>setCopied(false),1500);};const lineCount=localCode.split(\"\\n\").length;// ── Render ───────────────────────────────────────────────────────────────\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",maxWidth:1e3,margin:\"0 auto\",boxSizing:\"border-box\",fontFamily:'\"Fira Code\", \"JetBrains Mono\", \"Cascadia Code\", Menlo, monospace',fontSize,lineHeight:1.65,borderRadius:10,overflow:\"hidden\",border:`1px solid ${colors.border}`,boxShadow:\"0 4px 32px rgba(0,0,0,0.18)\",background:colors.window,position:\"relative\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }\n                .cd-textarea { caret-color: ${colors.cursor}; }\n                .cd-textarea:focus { outline: none; }\n                .cd-textarea::selection { background: rgba(88,166,255,0.25); }\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,padding:\"10px 14px\",background:colors.header,borderBottom:`1px solid ${colors.border}`,flexShrink:0},children:[[\"#FF5F56\",\"#FFBD2E\",\"#27C93F\"].map(c=>/*#__PURE__*/_jsx(\"div\",{style:{width:11,height:11,borderRadius:\"50%\",background:c}},c)),/*#__PURE__*/_jsxs(\"div\",{style:{marginLeft:4,display:\"flex\",alignItems:\"center\",gap:6,fontSize:fontSize-1,color:colors.lineNumber},children:[/*#__PURE__*/_jsx(ReactIcon,{size:14}),filename]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginLeft:\"auto\",display:\"flex\",alignItems:\"center\",gap:6},children:[showEditButton&&!isEditing&&/*#__PURE__*/_jsxs(\"button\",{onClick:openEditor,title:\"Edit code\",style:{display:\"flex\",alignItems:\"center\",gap:5,padding:\"3px 9px\",fontSize:fontSize-2,fontFamily:\"inherit\",background:colors.copyBtn.bg,border:`1px solid ${colors.copyBtn.border}`,borderRadius:5,color:colors.copyBtn.text,cursor:\"pointer\",transition:\"opacity 0.15s\"},children:[/*#__PURE__*/_jsx(PencilIcon,{size:11,color:colors.copyBtn.text}),\"edit\"]}),isEditing&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{onClick:cancelEdit,title:\"Cancel (Esc)\",style:{padding:\"3px 9px\",fontSize:fontSize-2,fontFamily:\"inherit\",background:\"transparent\",border:`1px solid ${colors.copyBtn.border}`,borderRadius:5,color:colors.copyBtn.text,cursor:\"pointer\"},children:\"cancel\"}),/*#__PURE__*/_jsxs(\"button\",{onClick:applyEdit,title:\"Apply (⌘+Enter)\",style:{display:\"flex\",alignItems:\"center\",gap:5,padding:\"3px 9px\",fontSize:fontSize-2,fontFamily:\"inherit\",background:\"#1D9E75\",border:\"1px solid #1D9E75\",borderRadius:5,color:\"#fff\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(CheckIcon,{size:11,color:\"#fff\"}),\"apply\"]})]}),showCopyButton&&/*#__PURE__*/_jsx(\"button\",{onClick:handleCopy,style:{padding:\"3px 10px\",fontSize:fontSize-2,fontFamily:\"inherit\",background:colors.copyBtn.bg,border:`1px solid ${colors.copyBtn.border}`,borderRadius:5,color:copied?\"#3fb950\":colors.copyBtn.text,cursor:\"pointer\",transition:\"all 0.15s\"},children:copied?\"copied!\":\"copy\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",background:colors.window,flex:1,display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{padding:\"14px 16px\",flex:1},children:codeLines.map((line,lineIdx)=>{const isVisible=isEditing||visibleLines.includes(lineIdx);const isCursorLine=!isEditing&&cursorLineIndex===lineIdx;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",opacity:isVisible?1:0,minHeight:`${fontSize*1.65}px`,whiteSpace:\"pre\"},children:[showLineNumbers&&/*#__PURE__*/_jsx(\"span\",{style:{color:colors.lineNumber,minWidth:22,marginRight:16,textAlign:\"right\",userSelect:\"none\",fontSize:fontSize-1.5,paddingTop:1,flexShrink:0},children:lineIdx+1}),line.map((token,tIdx)=>/*#__PURE__*/_jsx(TokenSpan,{token:token,colors:colors},tIdx)),cursor&&isCursorLine&&/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:2,height:fontSize+1,background:colors.cursor,marginLeft:1,verticalAlign:\"middle\",animation:\"blink 1s step-end infinite\"}})]},lineIdx);})}),isEditing&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,background:colors.editorBg,display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flex:1,overflow:\"hidden\"},children:[showLineNumbers&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"14px 0 14px 16px\",minWidth:38,background:colors.editorBg,borderRight:`1px solid ${colors.editorBorder}`,userSelect:\"none\",overflowY:\"hidden\",flexShrink:0},children:Array.from({length:lineCount},(_,i)=>/*#__PURE__*/_jsx(\"div\",{style:{height:`${fontSize*1.65}px`,fontSize:fontSize-1.5,lineHeight:1.65,color:colors.lineNumber,textAlign:\"right\",paddingRight:10},children:i+1},i))}),/*#__PURE__*/_jsx(\"textarea\",{ref:textareaRef,className:\"cd-textarea\",value:editorDraft,onChange:e=>setEditorDraft(e.target.value),onKeyDown:handleTextareaKeyDown,spellCheck:false,autoComplete:\"off\",autoCorrect:\"off\",autoCapitalize:\"off\",style:{flex:1,padding:\"14px 16px 40px\",fontSize,fontFamily:'\"Fira Code\", \"JetBrains Mono\", \"Cascadia Code\", Menlo, monospace',lineHeight:1.65,color:colors.editorText,background:colors.editorBg,border:\"none\",resize:\"none\",tabSize:2,whiteSpace:\"pre\",overflowWrap:\"normal\",overflowX:\"auto\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"5px 14px\",background:colors.header,borderTop:`1px solid ${colors.editorBorder}`,display:\"flex\",alignItems:\"center\",gap:16,fontSize:fontSize-2.5,color:colors.lineNumber,flexShrink:0},children:[/*#__PURE__*/_jsx(\"span\",{children:\"⌘↵ apply\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Esc cancel\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Tab → 2 spaces\"})]})]})]})]});}// ─── Default props ────────────────────────────────────────────────────────────\nCodeDemo.defaultProps={code:DEFAULT_CODE,filename:\"my-component.tsx\",duration:8,delay:0,writing:true,cursor:true,easing:\"linear\",theme:\"dark\",showCopyButton:true,showLineNumbers:true,showEditButton:true,fontSize:12.5};// ─── Framer property controls ─────────────────────────────────────────────────\naddPropertyControls(CodeDemo,{code:{type:ControlType.String,title:\"Code\",defaultValue:DEFAULT_CODE,displayTextArea:true},filename:{type:ControlType.String,title:\"Filename\",defaultValue:\"my-component.tsx\",placeholder:\"my-component.tsx\"},writing:{type:ControlType.Boolean,title:\"Writing\",defaultValue:true,enabledTitle:\"Animated\",disabledTitle:\"Instant\"},cursor:{type:ControlType.Boolean,title:\"Cursor\",defaultValue:true,enabledTitle:\"Visible\",disabledTitle:\"Hidden\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:8,min:.5,max:30,step:.5,unit:\"s\",displayStepper:true,hidden:props=>!props.writing},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:10,step:.5,unit:\"s\",displayStepper:true},easing:{type:ControlType.Enum,title:\"Easing\",defaultValue:\"linear\",options:[\"linear\",\"ease\",\"spring\"],optionTitles:[\"Linear\",\"Ease In-Out\",\"Spring\"],hidden:props=>!props.writing},theme:{type:ControlType.Enum,title:\"Theme\",defaultValue:\"dark\",options:[\"dark\",\"light\"],optionTitles:[\"Dark\",\"Light\"],displaySegmentedControl:true},showCopyButton:{type:ControlType.Boolean,title:\"Copy Button\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showLineNumbers:{type:ControlType.Boolean,title:\"Line Numbers\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showEditButton:{type:ControlType.Boolean,title:\"Edit Button\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:12.5,min:10,max:16,step:.5,unit:\"px\",displayStepper:true},onCopy:{type:ControlType.EventHandler,title:\"On Copy\"},onCodeChange:{type:ControlType.EventHandler,title:\"On Code Change\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CodeDemo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CodeDemo.map"],"mappings":"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"}