|
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 |
|
@@ -154,8 +152,6 @@ export interface Props { |
154 | 152 | json?: NodeProps[] | NodeProps; |
155 | 153 | } |
156 | 154 |
|
157 | | -export const OverridesContext = createContext<Overrides | null>(null); |
158 | | - |
159 | 155 | export const NodeContent = (props: NodeProps) => { |
160 | 156 | const { textContent } = props; |
161 | 157 |
|
@@ -202,9 +198,8 @@ export function renderTextContent(text: String) { |
202 | 198 |
|
203 | 199 | export const ContentTransformerNode = (props: NodeProps): JSX.Element => { |
204 | 200 | let Renderer = Renderers.span; |
205 | | - const overrides = useContext(OverridesContext); |
206 | 201 |
|
207 | | - const { type, kind, textContent } = props; |
| 202 | + const { type, kind, textContent, overrides } = props; |
208 | 203 |
|
209 | 204 | if (type) { |
210 | 205 | const tag = type as keyof typeof Renderers; |
@@ -234,19 +229,15 @@ export const ContentTransformer = ({ overrides = null, json }: Props) => { |
234 | 229 | if (Array.isArray(json)) { |
235 | 230 | const nodes: NodeProps[] = json; |
236 | 231 | return ( |
237 | | - <OverridesContext.Provider value={overrides}> |
| 232 | + <Fragment> |
238 | 233 | {nodes.map((j, i) => ( |
239 | | - <ContentTransformerNode key={i} {...j} /> |
| 234 | + <ContentTransformerNode key={i} {...j} overrides={overrides} /> |
240 | 235 | ))} |
241 | | - </OverridesContext.Provider> |
| 236 | + </Fragment> |
242 | 237 | ); |
243 | 238 | } |
244 | 239 |
|
245 | 240 | const node: NodeProps = json; |
246 | 241 |
|
247 | | - return ( |
248 | | - <OverridesContext.Provider value={overrides}> |
249 | | - <ContentTransformerNode {...node} /> |
250 | | - </OverridesContext.Provider> |
251 | | - ); |
| 242 | + return <ContentTransformerNode {...node} overrides={overrides} />; |
252 | 243 | }; |
0 commit comments