From b84b87c4e13bfb2af097b23e5e511a2189223904 Mon Sep 17 00:00:00 2001 From: Tamas Kovacs Date: Tue, 10 Sep 2024 11:14:52 +0200 Subject: [PATCH] chore: codeSandbox error fixed in Select, SimpleSelect, Selectable Closes: INSTUI-4201 --- .../__docs__/src/CodeSandboxButton/index.tsx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/__docs__/src/CodeSandboxButton/index.tsx b/packages/__docs__/src/CodeSandboxButton/index.tsx index 8e7057fe59..a9857c2bc0 100644 --- a/packages/__docs__/src/CodeSandboxButton/index.tsx +++ b/packages/__docs__/src/CodeSandboxButton/index.tsx @@ -73,14 +73,16 @@ import 'moment/min/locales' ', ' )}} from "@instructure/ui"\n\n` - const codeLines = this.props.code.split('\n') - const shouldRender = !codeLines[codeLines.length - 1] - .split(' ') - .join('') - .includes('render(<') - const codeBlock = shouldRender - ? `render(${this.props.code})` - : this.props.code + // removes all whitespace (spaces, tabs, newlines, etc.) from the code string + const cleanedCode = this.props.code.replace(/\s+/g, '') + const lastRenderIndex = cleanedCode.lastIndexOf('render(<') + const endsWithRenderStatement = + lastRenderIndex !== -1 && cleanedCode.endsWith('>)') + + const codeBlock = endsWithRenderStatement + ? this.props.code + : `render(${this.props.code})` + const renderStatement = `const render = (el) => { ReactDOM.render(el, document.getElementById('app')) }\n` const codeSandboxData = { title: this.props.title,