UNPKG

baseui

Version:

A React Component library implementing the Base design language

73 lines (67 loc) 3.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createThemedStyled = createThemedStyled; exports.createThemedUseStyletron = createThemedUseStyletron; exports.createThemedWithStyle = createThemedWithStyle; exports.withStyle = exports.useStyletron = exports.styled = void 0; exports.withWrapper = withWrapper; var React = _interopRequireWildcard(require("react")); var _styletronReact = require("styletron-react"); var _styletronStandard = require("styletron-standard"); var _themeProvider = require("./theme-provider"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* Copyright (c) Uber Technologies, Inc. This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree. */ const wrapper = StyledComponent => { // eslint-disable-next-line react/display-name return /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(_themeProvider.ThemeContext.Consumer, null, theme => /*#__PURE__*/React.createElement(StyledComponent, _extends({ ref: ref }, props, { $theme: theme })))); }; function createThemedStyled() { return (0, _styletronReact.createStyled)({ wrapper, getInitialStyle: _styletronStandard.getInitialStyle, driver: _styletronStandard.driver // eslint-disable-next-line @typescript-eslint/no-explicit-any }); } const styled = exports.styled = createThemedStyled(); function createThemedWithStyle() { // eslint-disable-next-line @typescript-eslint/no-explicit-any return _styletronReact.withStyle; } const withStyle = exports.withStyle = createThemedWithStyle(); function createThemedUseStyletron() { return function () { // eslint-disable-next-line @typescript-eslint/no-explicit-any const theme = React.useContext(_themeProvider.ThemeContext); const [css] = (0, _styletronReact.useStyletron)(); return [css, theme]; }; } const useStyletron = exports.useStyletron = createThemedUseStyletron(); // eslint-disable-next-line @typescript-eslint/no-explicit-any function withWrapper(StyledElement, wrapperFn) { return (0, _styletronReact.withWrapper)(StyledElement, Styled => { // eslint-disable-next-line @typescript-eslint/no-explicit-any,react/display-name return /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(_themeProvider.ThemeContext.Consumer, null, theme => // @ts-ignore wrapperFn(Styled)({ ref: ref, ...props, $theme: theme }))); }); } /** @deprecated use StyleFn instead. To be removed in future versions.*/ /** @deprecated use WithStyleFn instead. To be removed in future versions.*/ /** @deprecated use StyleFn instead. To be removed in future versions.*/