@spark-web/core
Version:
--- title: Core isExperimentalPackage: true ---
46 lines (41 loc) • 1.81 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var react = require('@emotion/react');
var a11y = require('@spark-web/a11y');
var link = require('@spark-web/link');
var theme = require('@spark-web/theme');
var jsxRuntime = require('@emotion/react/jsx-runtime');
/** Consolidates core functionality and dependencies of Spark Web. */
var SparkProvider = function SparkProvider(_ref) {
var children = _ref.children,
_ref$linkComponent = _ref.linkComponent,
linkComponent = _ref$linkComponent === void 0 ? link.DefaultLinkComponent : _ref$linkComponent,
_ref$loadCustomFonts = _ref.loadCustomFonts,
loadCustomFonts = _ref$loadCustomFonts === void 0 ? true : _ref$loadCustomFonts,
_ref$supportedThemes = _ref.supportedThemes,
supportedThemes = _ref$supportedThemes === void 0 ? ['brighte'] : _ref$supportedThemes,
_ref$theme = _ref.theme,
themeName = _ref$theme === void 0 ? 'brighte' : _ref$theme;
a11y.useFocusVisible();
var fontStylesheetMap = {
brighte: theme.AesteticoStylesheet,
pantheon: theme.BeaconSansStylesheet
};
return jsxRuntime.jsx(theme.GlobalThemeProvider, {
value: themeName,
children: jsxRuntime.jsxs(theme.ThemeProvider, {
children: [jsxRuntime.jsx(link.LinkComponentContext.Provider, {
value: linkComponent,
children: jsxRuntime.jsx(a11y.IdProvider, {
children: children
})
}), loadCustomFonts && supportedThemes.map(function (theme) {
var Component = fontStylesheetMap[theme];
return jsxRuntime.jsx(Component, {}, theme);
}), jsxRuntime.jsx(react.Global, {
styles: "body{margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}"
})]
})
});
};
exports.SparkProvider = SparkProvider;