@ozen-ui/kit
Version:
React component library
17 lines (16 loc) • 1.27 kB
JavaScript
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';