|
1 | | -'use client'; |
2 | | - |
3 | | -import { Fragment, createContext, useContext } from 'react'; |
| 1 | +import { Fragment } from 'react'; |
4 | 2 | import { NodeProps, Overrides } from './types'; |
5 | 3 | export { NodeProps, Overrides }; |
6 | 4 |
|
@@ -139,8 +137,6 @@ export interface Props { |
139 | 137 | json?: NodeProps[] | NodeProps; |
140 | 138 | } |
141 | 139 |
|
142 | | -export const OverridesContext = createContext<Overrides | null>(null); |
143 | | - |
144 | 140 | export const NodeContent = (props: NodeProps) => { |
145 | 141 | const { textContent } = props; |
146 | 142 |
|
@@ -187,9 +183,8 @@ export function renderTextContent(text: String) { |
187 | 183 |
|
188 | 184 | export const ContentTransformerNode = (props: NodeProps): JSX.Element => { |
189 | 185 | let Renderer = Renderers.span; |
190 | | - const overrides = useContext(OverridesContext); |
191 | 186 |
|
192 | | - const { type, kind, textContent } = props; |
| 187 | + const { type, kind, textContent, overrides } = props; |
193 | 188 |
|
194 | 189 | if (type) { |
195 | 190 | const tag = type as keyof typeof Renderers; |
@@ -219,19 +214,15 @@ export const ContentTransformer = ({ overrides = null, json }: Props) => { |
219 | 214 | if (Array.isArray(json)) { |
220 | 215 | const nodes: NodeProps[] = json; |
221 | 216 | return ( |
222 | | - <OverridesContext.Provider value={overrides}> |
| 217 | + <Fragment> |
223 | 218 | {nodes.map((j, i) => ( |
224 | | - <ContentTransformerNode key={i} {...j} /> |
| 219 | + <ContentTransformerNode key={i} {...j} overrides={overrides} /> |
225 | 220 | ))} |
226 | | - </OverridesContext.Provider> |
| 221 | + </Fragment> |
227 | 222 | ); |
228 | 223 | } |
229 | 224 |
|
230 | 225 | const node: NodeProps = json; |
231 | 226 |
|
232 | | - return ( |
233 | | - <OverridesContext.Provider value={overrides}> |
234 | | - <ContentTransformerNode {...node} /> |
235 | | - </OverridesContext.Provider> |
236 | | - ); |
| 227 | + return <ContentTransformerNode {...node} overrides={overrides} />; |
237 | 228 | }; |
0 commit comments