UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

18 lines (15 loc) 1.77 kB
import React__default from 'react'; import { ThemeProvider } from 'styled-components/native'; import { useTopNavContext } from './TopNavContext.js'; import bladeTheme from '../../tokens/theme/bladeTheme.js'; import 'ts-deepmerge'; import '@babel/runtime/helpers/slicedToArray'; import 'tinycolor2'; import '../../tokens/global/typography.js'; import '../../tokens/global/motion.js'; import { BladeProvider } from '../BladeProvider/BladeProvider.native.js'; import useTheme, { ThemeContext } from '../BladeProvider/useTheme.js'; import { jsx, Fragment } from 'react/jsx-runtime'; var TopNavOverlayThemeOverride=function TopNavOverlayThemeOverride(_ref){var children=_ref.children,shouldOverrideTheme=_ref.shouldOverrideTheme;var topNavContext=useTopNavContext();var _useTheme=useTheme(),platform=_useTheme.platform;var isDark=shouldOverrideTheme?(topNavContext==null?void 0:topNavContext.colorScheme)==='dark':true;var overrideTheme=React__default.useMemo(function(){return Object.assign({},bladeTheme,{colors:isDark?bladeTheme.colors.onDark:bladeTheme.colors.onLight,elevation:isDark?bladeTheme.elevation.onDark:bladeTheme.elevation.onLight,typography:bladeTheme.typography[platform]});},[isDark,platform]);if(!topNavContext){return jsx(Fragment,{children:children});}if(shouldOverrideTheme!==undefined){var noop=function noop(){};return jsx(ThemeContext.Provider,{value:{theme:overrideTheme,colorScheme:shouldOverrideTheme?topNavContext.colorScheme:'dark',setColorScheme:noop,platform:platform},children:jsx(ThemeProvider,{theme:overrideTheme,children:children})});}return jsx(BladeProvider,{themeTokens:bladeTheme,colorScheme:topNavContext.colorScheme,children:children});}; export { TopNavOverlayThemeOverride }; //# sourceMappingURL=TopNavOverlayThemeOverride.js.map