"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.withAll = exports.withThemeProvider = exports.withStyletronProvider = void 0;

var React = _interopRequireWildcard(require("react"));

var _styletronReact = require("styletron-react");

var _styletronEngineAtomic = require("styletron-engine-atomic");

var _index = require("../styles/index.js");

var _index2 = require("../themes/index.js");

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }

/*
Copyright (c) 2018 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.
*/
var engine = new _styletronEngineAtomic.Client();

var withStyletronProvider = function withStyletronProvider(Component) {
  return function withStyletronProviderHOC(props) {
    return React.createElement(_styletronReact.Provider, {
      value: engine
    }, React.createElement(Component, props));
  };
};

exports.withStyletronProvider = withStyletronProvider;

var withThemeProvider = function withThemeProvider(Component) {
  return function withThemeProviderHOC(props) {
    return React.createElement(_index.ThemeProvider, {
      theme: _index2.LightTheme
    }, React.createElement(Component, props));
  };
};

exports.withThemeProvider = withThemeProvider;

var withAll = function withAll(Component) {
  return React.createElement(_styletronReact.Provider, {
    value: engine
  }, React.createElement(_index.ThemeProvider, {
    theme: _index2.LightTheme
  }, Component()));
};

exports.withAll = withAll;