MCPcopy Create free account
hub / github.com/DavidHDev/react-bits / CodeExample

Function CodeExample

src/components/code/CodeExample.jsx:105–182  ·  view source on GitHub ↗
({ codeObject, componentName })

Source from the content-addressed store, hash-verified

103}
104
105const CodeExample = ({ codeObject, componentName }) => {
106 const { tailwind, css, tsTailwind, tsCode, code, usage, dependencies } = codeObject;
107 const { props, hasChanges, demoOnlyProps, computedProps } = useComponentPropsContext();
108
109 const dynamicUsage = useMemo(() => {
110 if (!usage || !componentName || !props || Object.keys(props).length === 0) return usage;
111
112 const mergedProps = { ...props, ...computedProps };
113 return injectPropsIntoCode(usage, mergedProps, {}, componentName, demoOnlyProps);
114 }, [usage, props, computedProps, componentName, demoOnlyProps]);
115
116 const renderCssSection = () =>
117 css && (
118 <>
119 <h2 className="demo-title">CSS</h2>
120 <CodeHighlighter snippetId="css" language="css" codeString={css} />
121 </>
122 );
123
124 return (
125 <>
126 <CliInstallation deps={dependencies} />
127
128 {dynamicUsage && (
129 <div>
130 <h2 className="demo-title">
131 Usage {hasChanges && <span style={{ color: colors.accent, fontSize: '12px' }}>(with your settings)</span>}
132 </h2>
133 <CodeHighlighter snippetId="usage" language="jsx" codeString={dynamicUsage} />
134 </div>
135 )}
136
137 {Object.entries(codeObject).map(([name, snippet]) => {
138 if (SKIP_KEYS.has(name)) return null;
139 if (name === 'usage') return null;
140
141 if (name === 'code' || name === 'tsCode') {
142 return (
143 <div key={name}>
144 <h2 className="demo-title">{name}</h2>
145 <CodeOptions>
146 {tailwind && (
147 <Tailwind>
148 <CodeHighlighter snippetId="code" language="jsx" codeString={tailwind} />
149 </Tailwind>
150 )}
151 {code && (
152 <CSS>
153 <CodeHighlighter snippetId="code" language="jsx" codeString={code} />
154 {css && renderCssSection()}
155 </CSS>
156 )}
157 {tsTailwind && (
158 <TSTailwind>
159 <CodeHighlighter snippetId="code" language="tsx" codeString={tsTailwind} />
160 </TSTailwind>
161 )}
162 {tsCode && (

Callers

nothing calls this directly

Calls 4

useComponentPropsContextFunction · 0.90
getLanguageFunction · 0.90
injectPropsIntoCodeFunction · 0.85
renderCssSectionFunction · 0.85

Tested by

no test coverage detected