@razorpay/blade
Version:
The Design System that powers Razorpay
45 lines (42 loc) • 1.6 kB
JavaScript
import { ThemeProvider, StyleSheetManager } from 'styled-components';
import { FloatingDelayGroup } from '@floating-ui/react';
import createStylisCSSHigherSpecificityPlugin from './stylisCSSHigherSpecificity.js';
import { ThemeContext } from './useTheme.js';
import { useBladeProvider } from './useBladeProvider.js';
import { BottomSheetStackProvider } from '../BottomSheet/BottomSheetStack.js';
import { DrawerStackProvider } from '../Drawer/StackProvider.js';
import { jsx } from 'react/jsx-runtime';
var tooltipDelays = {
open: 300,
close: 300
};
var BladeProvider = function BladeProvider(_ref) {
var themeTokens = _ref.themeTokens,
initialColorScheme = _ref.colorScheme,
children = _ref.children;
var _useBladeProvider = useBladeProvider({
initialColorScheme: initialColorScheme,
themeTokens: themeTokens
}),
theme = _useBladeProvider.theme,
themeContextValue = _useBladeProvider.themeContextValue;
return /*#__PURE__*/jsx(ThemeContext.Provider, {
value: themeContextValue,
children: /*#__PURE__*/jsx(FloatingDelayGroup, {
delay: tooltipDelays,
children: /*#__PURE__*/jsx(ThemeProvider, {
theme: theme,
children: /*#__PURE__*/jsx(StyleSheetManager, {
stylisPlugins: [createStylisCSSHigherSpecificityPlugin()],
children: /*#__PURE__*/jsx(DrawerStackProvider, {
children: /*#__PURE__*/jsx(BottomSheetStackProvider, {
children: children
})
})
})
})
})
});
};
export { BladeProvider };
//# sourceMappingURL=BladeProvider.web.js.map