UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

49 lines (48 loc) 1.24 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); function _export(target, all) { for (var name in all) Object.defineProperty(target, name, { enumerable: true, get: all[name], }); } _export(exports, { FutureFlagsProvider: function () { return FutureFlagsProvider; }, useFutureFlag: function () { return useFutureFlag; }, }); const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard'); const _react = /*#__PURE__*/ _interop_require_wildcard._(require('react')); const _useSafeContext = require('../hooks/useSafeContext.js'); const FutureFlagsContext = _react.createContext({}); function useFutureFlag(key) { let context = (0, _useSafeContext.useSafeContext)(FutureFlagsContext); return context[key]; } const FutureFlagsProvider = ({ children, value }) => { if (true === value) value = { themeBridge: true, }; let context = _react.useContext(FutureFlagsContext); let combinedValue = { ...context, ...value, }; return _react.createElement( FutureFlagsContext.Provider, { value: _react.useMemo( () => combinedValue, [JSON.stringify(combinedValue)], ), }, children, ); };