@itwin/itwinui-react
Version:
A react component library for iTwinUI
49 lines (48 loc) • 1.24 kB
JavaScript
;
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,
);
};