UNPKG

@itwin/presentation-components

Version:

React components based on iTwin.js Presentation library

33 lines 1.32 kB
import { jsx as _jsx } from "react/jsx-runtime"; /*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ /** @packageDocumentation * @module Core */ import { createContext, useContext, useEffect, useState } from "react"; const schemaMetadataContext = createContext(undefined); /** * Provides schema metadata to components that work with schemas. * @public */ export function SchemaMetadataContextProvider({ schemaContextProvider, imodel, children }) { const [state, setState] = useState(() => ({ schemaContext: schemaContextProvider(imodel), })); useEffect(() => { setState({ schemaContext: schemaContextProvider(imodel), }); }, [imodel, schemaContextProvider]); return _jsx(schemaMetadataContext.Provider, { value: state, children: children }); } /** * Returns context provided by [[SchemaMetadataContextProvider]]. * @public */ export function useSchemaMetadataContext() { return useContext(schemaMetadataContext); } //# sourceMappingURL=SchemaMetadataContext.js.map