UNPKG

native-variants

Version:

A library for handling variants in React Native components with theme support.

1 lines 683 B
import React,{createContext,useContext,useMemo}from"react";export function createCTX(){const Context=createContext(undefined);function CTXProvider({children,props}){const value=useMemo(()=>({props}),[props]);return React.createElement(Context.Provider,{value:value},children)}function useCTX(){const context=useContext(Context);if(!context){return undefined}return context.props}function useRequiredCTX(componentName="Component"){const context=useContext(Context);if(!context){throw new Error(`${componentName} must be used within a CTXProvider. `+`Make sure to wrap your component tree with the appropriate provider.`)}return context.props}return{CTXProvider,useCTX,useRequiredCTX}}