function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
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); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
import { Collapse } from '@pisell/materials';
import { locales } from '@pisell/utils';
import classNames from 'classnames';
import React, { useMemo } from 'react';
import { useContext } from "../../hooks/useContext";
import localeTexts from "../../locales";
import Empty from "../Empty";
import Product from "./Product";
import "./index.less";
locales.init(localeTexts, localStorage.getItem('umi_locale') || 'en');
var Cart = function Cart() {
  var _useContext = useContext(),
    state = _useContext.state,
    updateState = _useContext.updateState,
    onActiveKey = _useContext.onActiveKey;
  var platform = state.platform,
    carts = state.carts,
    isProductList = state.isProductList,
    collapseParams = state.collapseParams;
  /**
   * @title: 折叠面板
   * @description:
   * @param {*} useMemo
   * @return {*}
   * @Author: WangHan
   * @Date: 2024-11-27 15:01
   */
  var cartsMap = useMemo(function () {
    return carts === null || carts === void 0 ? void 0 : carts.map(function (item) {
      var _item$products, _item$products2, _item$products3;
      var _length = item === null || item === void 0 || (_item$products = item.products) === null || _item$products === void 0 ? void 0 : _item$products.length;
      return _objectSpread(_objectSpread({}, item), {}, {
        label: /*#__PURE__*/React.createElement("div", {
          className: "pisell-lowcode__shopping-cart-label"
        }, "".concat(item === null || item === void 0 ? void 0 : item.label, " ").concat(locales.getText('pisell2.text.shopping-cart.item')(item === null || item === void 0 || (_item$products2 = item.products) === null || _item$products2 === void 0 ? void 0 : _item$products2.length))),
        children: (item === null || item === void 0 || (_item$products3 = item.products) === null || _item$products3 === void 0 ? void 0 : _item$products3.length) > 0 ? /*#__PURE__*/React.createElement(Product, {
          id: item === null || item === void 0 ? void 0 : item.key,
          lists: item === null || item === void 0 ? void 0 : item.products,
          isAdd: state.maxLength > _length
        }) : /*#__PURE__*/React.createElement(Empty, {
          id: item === null || item === void 0 ? void 0 : item.key
        }),
        showArrow: platform === 'shop'
      });
    });
  }, [carts, platform]);
  return /*#__PURE__*/React.createElement("div", {
    className: classNames('pisell-lowcode__shopping-cart')
  }, isProductList ? /*#__PURE__*/React.createElement(Product, {
    id: undefined,
    lists: state === null || state === void 0 ? void 0 : state.products
  }) : /*#__PURE__*/React.createElement(Collapse, _extends({
    items: cartsMap,
    showHeader: true,
    panelBackground: "#ffffff",
    collapsible: platform !== 'shop' ? 'disabled' : '-',
    accordion: platform === 'shop',
    onChange: function onChange(key) {
      updateState({
        activeKey: key
      });
      onActiveKey(key);
    }
  }, collapseParams)));
};
export default Cart;