@b2bfinance/products-embed
Version:
products-embed React component
81 lines (65 loc) • 2.54 kB
JavaScript
"use strict";
exports.__esModule = true;
var _core = require("@material-ui/core");
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _EmbedContext = require("./EmbedContext");
var _EmbedContext2 = _interopRequireDefault(_EmbedContext);
var _FilterList = require("./FilterList");
var _FilterList2 = _interopRequireDefault(_FilterList);
var _utils = require("./utils");
var _ProductList = require("./ProductList");
var _ProductList2 = _interopRequireDefault(_ProductList);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var EmbedWrapper = function EmbedWrapper(_ref) {
var _ref$products = _ref.products,
products = _ref$products === undefined ? [] : _ref$products,
_ref$productsLimit = _ref.productsLimit,
productsLimit = _ref$productsLimit === undefined ? 10 : _ref$productsLimit,
_ref$filters = _ref.filters,
filters = _ref$filters === undefined ? [] : _ref$filters,
_ref$cta = _ref.cta,
cta = _ref$cta === undefined ? "Get Deal" : _ref$cta,
_ref$provider = _ref.provider,
provider = _ref$provider === undefined ? null : _ref$provider,
_ref$onMoreDetails = _ref.onMoreDetails,
onMoreDetails = _ref$onMoreDetails === undefined ? null : _ref$onMoreDetails,
_ref$onApply = _ref.onApply,
onApply = _ref$onApply === undefined ? null : _ref$onApply;
var _useReducer = (0, _react.useReducer)(_utils.embedReducer, {
products: [],
productsLoading: false,
productsError: false,
filterQuery: (0, _utils.makeFilterQueryString)(filters),
productsLimit: productsLimit,
preFetchedProducts: products,
filters: filters,
cta: cta,
provider: provider,
onMoreDetails: onMoreDetails,
onApply: onApply
}),
state = _useReducer[0],
dispatch = _useReducer[1];
return _react2.default.createElement(
_EmbedContext2.default.Provider,
{ value: { state: state, dispatch: dispatch } },
_react2.default.createElement(_core.CssBaseline, null),
_react2.default.createElement(
_core.Grid,
{ item: true, xs: 12 },
_react2.default.createElement(_FilterList2.default, null)
),
_react2.default.createElement(
_core.Grid,
{ item: true, xs: 12 },
_react2.default.createElement(
_core.Grid,
{ item: true, xs: 12 },
_react2.default.createElement(_ProductList2.default, null)
)
)
);
};
exports.default = EmbedWrapper;
module.exports = exports["default"];