UNPKG

@ozen-ui/kit

Version:

React component library

17 lines (16 loc) 1.27 kB
import { __assign, __read, __rest, __spreadArray } from "tslib"; import './OzenProvider.css'; import React from 'react'; import { polymorphicComponentWithRef } from '../../utils/polymorphicComponentWithRef'; import { cnOzenProvider } from './classNames'; import { OZEN_PROVIDER_DEFAULT_TAG, OZEN_PROVIDER_DEFAULT_THEME, } from './constants'; import { OzenSSRProvider, OzenThemeProvider } from './providers'; export var OzenProvider = polymorphicComponentWithRef(function (_a, ref) { var children = _a.children, ssr = _a.ssr, _b = _a.theme, theme = _b === void 0 ? OZEN_PROVIDER_DEFAULT_THEME : _b, _c = _a.as, Tag = _c === void 0 ? OZEN_PROVIDER_DEFAULT_TAG : _c, className = _a.className, other = __rest(_a, ["children", "ssr", "theme", "as", "className"]); return (React.createElement(OzenSSRProvider, { config: ssr }, React.createElement(OzenThemeProvider, __assign({}, other, { theme: theme }), React.createElement(Tag, __assign({}, other, { ref: ref, className: cnOzenProvider('', __spreadArray(__spreadArray([], __read(Object.values(theme.tokens).map(function (token) { return token.className; })), false), [ className, ], false)) }), children)))); }); OzenProvider.displayName = 'OzenProvider';