'use client'; import React from 'react'; import { ParentContext } from '../context'; import { useParentContext } from '../context'; type WithStyleContextProps = { context?: any; }; export const withStyleContext = >( Component: T, scope: string = 'Global' ) => { return React.forwardRef(({ context, ...props }, ref) => { let contextValues = {}; const parentContextValues = useParentContext(); if (parentContextValues[scope] !== undefined) { parentContextValues[scope] = context; contextValues = parentContextValues; } else { contextValues = { ...parentContextValues, [scope]: context }; } return ( ); }) as React.ForwardRefExoticComponent< React.ComponentPropsWithoutRef & WithStyleContextProps & React.RefAttributes >; }; export const useStyleContext = (scope: string = 'Global') => { const parentContextValues = useParentContext(); return parentContextValues[scope]; };