UNPKG

@tapcart/app-studio-components

Version:

A library for accessing global components across different environments with a consistent API

32 lines (31 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createComponentSource = exports.ComponentProvider = exports.useComponents = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); // Create a context for components const ComponentContext = (0, react_1.createContext)({}); /** * Hook to access global components * @returns Record of available components */ function useComponents() { return (0, react_1.useContext)(ComponentContext); } exports.useComponents = useComponents; /** * Provider component that makes components available via useComponents hook */ function ComponentProvider({ children, componentSource }) { return ((0, jsx_runtime_1.jsx)(ComponentContext.Provider, Object.assign({ value: componentSource }, { children: children }))); } exports.ComponentProvider = ComponentProvider; /** * Helper function to create a component source from a map of components * @param components Map of component names to component implementations * @returns Component source object */ function createComponentSource(components) { return components; } exports.createComponentSource = createComponentSource;