@pisell/private-materials 3.0.212 → 3.0.214

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +6 -6
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +8 -8
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/Sales/Checkout/index.js +6 -0
  12. package/es/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +6 -2
  13. package/es/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -1
  14. package/es/components/eventBooking/components/Provider/Cart/Item/Total.js +12 -6
  15. package/es/components/eventBooking/components/Provider/Cart/index.js +1 -5
  16. package/es/components/eventBooking/components/Provider/Cart/index.less +0 -2
  17. package/es/components/eventBooking/components/Provider/Content/index.js +24 -0
  18. package/es/components/eventBooking/components/Provider/Content/index.less +3 -2
  19. package/es/components/eventBooking/components/Provider/EmptyHolderModal/index.js +1 -2
  20. package/es/components/eventBooking/components/Provider/Event/index.less +1 -1
  21. package/es/components/eventBooking/components/Provider/Footer/index.js +17 -10
  22. package/es/components/eventBooking/components/Provider/Footer/index.less +29 -5
  23. package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.js +1 -1
  24. package/es/components/eventBooking/components/Provider/OrderProductModal/index.js +0 -1
  25. package/es/components/eventBooking/components/Provider/SelectProduct/index.d.ts +4 -0
  26. package/es/components/eventBooking/components/Provider/SelectProduct/index.js +77 -0
  27. package/es/components/eventBooking/components/Provider/SelectProduct/index.less +131 -0
  28. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/index.js +1 -0
  29. package/es/components/eventBooking/components/bookingDetailModal/index.js +103 -68
  30. package/es/components/eventBooking/components/bookingDetailModal/index.less +1 -1
  31. package/es/components/eventBooking/components/selectHolder/index.js +2 -6
  32. package/es/components/eventBooking/index.less +2 -0
  33. package/es/components/tabProduct/tabs/index.less +13 -3
  34. package/lib/components/Sales/Checkout/index.js +3 -0
  35. package/lib/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +5 -0
  36. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -1
  37. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.js +13 -6
  38. package/lib/components/eventBooking/components/Provider/Cart/index.js +1 -5
  39. package/lib/components/eventBooking/components/Provider/Cart/index.less +0 -2
  40. package/lib/components/eventBooking/components/Provider/Content/index.js +16 -0
  41. package/lib/components/eventBooking/components/Provider/Content/index.less +3 -2
  42. package/lib/components/eventBooking/components/Provider/EmptyHolderModal/index.js +1 -2
  43. package/lib/components/eventBooking/components/Provider/Event/index.less +1 -1
  44. package/lib/components/eventBooking/components/Provider/Footer/index.js +13 -11
  45. package/lib/components/eventBooking/components/Provider/Footer/index.less +29 -5
  46. package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.js +1 -1
  47. package/lib/components/eventBooking/components/Provider/OrderProductModal/index.js +0 -1
  48. package/lib/components/eventBooking/components/Provider/SelectProduct/index.d.ts +4 -0
  49. package/lib/components/eventBooking/components/Provider/SelectProduct/index.js +69 -0
  50. package/lib/components/eventBooking/components/Provider/SelectProduct/index.less +131 -0
  51. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/index.js +1 -0
  52. package/lib/components/eventBooking/components/bookingDetailModal/index.js +74 -51
  53. package/lib/components/eventBooking/components/bookingDetailModal/index.less +1 -1
  54. package/lib/components/eventBooking/components/selectHolder/index.js +1 -1
  55. package/lib/components/eventBooking/index.less +2 -0
  56. package/lib/components/tabProduct/tabs/index.less +13 -3
  57. package/package.json +2 -2
@@ -50,6 +50,12 @@ export var CheckoutProvider = function CheckoutProvider(_ref) {
50
50
  checkoutCallback.current({
51
51
  success: true
52
52
  });
53
+ },
54
+ onError: function onError(err) {
55
+ checkoutCallback.current({
56
+ success: false,
57
+ err: err
58
+ });
53
59
  }
54
60
  });
55
61
 
@@ -10,7 +10,7 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
10
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
11
  import React, { useMemo, useState } from 'react';
12
12
  import { locales } from '@pisell/utils';
13
- import { Button } from '@pisell/materials';
13
+ import { Button, PisellToast } from '@pisell/materials';
14
14
  import { useCart, useHolder, useStep, useCheckout, useSales, useCustomer } from "../../../../../Sales";
15
15
  import { formatValues } from "../../../../../Sales/Checkout/utils";
16
16
  import OrderProductModal from "../../OrderProductModal/index";
@@ -66,7 +66,7 @@ var ContinueButton = function ContinueButton() {
66
66
  */
67
67
  var handleCheckout = /*#__PURE__*/function () {
68
68
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
69
- var value, result;
69
+ var value, result, _result$err;
70
70
  return _regeneratorRuntime().wrap(function _callee$(_context) {
71
71
  while (1) switch (_context.prev = _context.next) {
72
72
  case 0:
@@ -78,6 +78,10 @@ var ContinueButton = function ContinueButton() {
78
78
  // 清空数据
79
79
  if (result !== null && result !== void 0 && result.success) {
80
80
  removeSessionStorage();
81
+ } else {
82
+ PisellToast({
83
+ content: (result === null || result === void 0 ? void 0 : (_result$err = result.err) === null || _result$err === void 0 ? void 0 : _result$err.message) || ''
84
+ });
81
85
  }
82
86
  case 5:
83
87
  case "end":
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import './index.less';
3
- declare const Total: () => React.JSX.Element;
3
+ declare const Total: ({ className, isFooter }: any) => React.JSX.Element;
4
4
  export default Total;
@@ -9,8 +9,10 @@ import { useSummary } from "../../../../../Sales";
9
9
  import useEngineContext from "../../../../../../hooks/useEngineContext";
10
10
  import "./index.less";
11
11
  import classNames from 'classnames';
12
- var Total = function Total() {
12
+ var Total = function Total(_ref) {
13
13
  var _context$appHelper, _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper2, _context$appHelper2$u, _context$appHelper2$u2;
14
+ var className = _ref.className,
15
+ isFooter = _ref.isFooter;
14
16
  var _useSummary = useSummary(),
15
17
  taxTitle = _useSummary.taxTitle,
16
18
  totalTaxFee = _useSummary.totalTaxFee,
@@ -19,22 +21,26 @@ var Total = function Total() {
19
21
  var context = useEngineContext();
20
22
  console.log(taxTitle, isPriceIncludeTax, totalTaxFee, total, context === null || context === void 0 ? void 0 : (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : (_context$appHelper$ut = _context$appHelper.utils) === null || _context$appHelper$ut === void 0 ? void 0 : (_context$appHelper$ut2 = _context$appHelper$ut.getSymbolic) === null || _context$appHelper$ut2 === void 0 ? void 0 : _context$appHelper$ut2.call(_context$appHelper$ut), 'wh97978');
21
23
  return /*#__PURE__*/React.createElement("div", {
22
- className: "event-total-wrap"
24
+ className: "event-total-wrap ".concat(className)
23
25
  }, !isPriceIncludeTax && Number(totalTaxFee) > 0 ? /*#__PURE__*/React.createElement("div", {
24
26
  className: "gst-wrap"
25
- }, /*#__PURE__*/React.createElement("span", null, taxTitle), /*#__PURE__*/React.createElement(PisellText.Amount, {
27
+ }, /*#__PURE__*/React.createElement("span", null, taxTitle, isFooter ? ': ' : ''), /*#__PURE__*/React.createElement(PisellText.Amount, {
26
28
  value: totalTaxFee,
27
29
  showCurrencySymbol: true
28
30
  })) : null, /*#__PURE__*/React.createElement("div", {
29
31
  className: classNames('event-total', _defineProperty({}, ['total-gst-wrap'], !isPriceIncludeTax && Number(totalTaxFee) > 0))
30
32
  }, /*#__PURE__*/React.createElement("div", {
31
33
  className: "left"
32
- }, /*#__PURE__*/React.createElement("span", null, locales.getText('pisell2.event.total')), isPriceIncludeTax && Number(totalTaxFee) > 0 ? /*#__PURE__*/React.createElement("span", {
34
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", null, locales.getText('pisell2.event.total'), isFooter ? ': ' : ''), isFooter ? /*#__PURE__*/React.createElement(PisellText.Amount, {
35
+ value: total,
36
+ showCurrencySymbol: true,
37
+ className: "event-amount"
38
+ }) : null), isPriceIncludeTax && Number(totalTaxFee) > 0 ? /*#__PURE__*/React.createElement("span", {
33
39
  className: "gst"
34
- }, locales.getText('pisell2.event.total.gst')(taxTitle, "".concat(context === null || context === void 0 ? void 0 : (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 ? void 0 : (_context$appHelper2$u = _context$appHelper2.utils) === null || _context$appHelper2$u === void 0 ? void 0 : (_context$appHelper2$u2 = _context$appHelper2$u.getSymbolic) === null || _context$appHelper2$u2 === void 0 ? void 0 : _context$appHelper2$u2.call(_context$appHelper2$u)).concat(totalTaxFee))) : null), /*#__PURE__*/React.createElement(PisellText.Amount, {
40
+ }, locales.getText('pisell2.event.total.gst')("".concat(isFooter ? "".concat(taxTitle, ": ") : taxTitle), "".concat(context === null || context === void 0 ? void 0 : (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 ? void 0 : (_context$appHelper2$u = _context$appHelper2.utils) === null || _context$appHelper2$u === void 0 ? void 0 : (_context$appHelper2$u2 = _context$appHelper2$u.getSymbolic) === null || _context$appHelper2$u2 === void 0 ? void 0 : _context$appHelper2$u2.call(_context$appHelper2$u)).concat(totalTaxFee))) : null), !isFooter ? /*#__PURE__*/React.createElement(PisellText.Amount, {
35
41
  value: total,
36
42
  showCurrencySymbol: true,
37
43
  className: "event-amount"
38
- })));
44
+ }) : null));
39
45
  };
40
46
  export default Total;
@@ -15,12 +15,8 @@ var Cart = function Cart(_ref) {
15
15
  return _onCancel();
16
16
  },
17
17
  bodyStyle: {
18
- padding: '20px',
19
- display: 'flex',
20
- flexDirection: 'column',
21
- height: '100%'
18
+ padding: '20px'
22
19
  },
23
- mobileModalHeight: '90%',
24
20
  destroyOnClose: true,
25
21
  className: "event-cart-modal",
26
22
  footer: null
@@ -1,4 +1,2 @@
1
1
  .event-cart-modal {
2
2
  }
3
- .event-cart-modal {
4
- }
@@ -30,6 +30,30 @@ var Layout = function Layout() {
30
30
  var Com = components[key];
31
31
  return /*#__PURE__*/React.createElement(Com, null);
32
32
  }, [currentStepData === null || currentStepData === void 0 ? void 0 : currentStepData.key]);
33
+
34
+ /**
35
+ * @title: 动态计算中间内容区域的高度
36
+ * @description:
37
+ * @return {*}
38
+ * @Author: WangHan
39
+ * @Date: 2025-02-18 15:36
40
+ */
41
+ useEffect(function () {
42
+ if (isMobile()) {
43
+ var _header$getBoundingCl, _footer$getBoundingCl;
44
+ var header = document.querySelector('.event-progress-bar');
45
+ var footer = document.querySelector('.pisell-section-footers-wrapper');
46
+ var content = document.querySelector('.event-content-mobile-wrap');
47
+ var headerHeight = (header === null || header === void 0 ? void 0 : (_header$getBoundingCl = header.getBoundingClientRect()) === null || _header$getBoundingCl === void 0 ? void 0 : _header$getBoundingCl.height) || 0;
48
+ var footerHeight = (footer === null || footer === void 0 ? void 0 : (_footer$getBoundingCl = footer.getBoundingClientRect()) === null || _footer$getBoundingCl === void 0 ? void 0 : _footer$getBoundingCl.height) || 0;
49
+ var windowHeight = window.innerHeight;
50
+ var contentHeight = windowHeight - headerHeight - footerHeight;
51
+ if (content && content !== null && content !== void 0 && content.style) {
52
+ content.style.height = "".concat(contentHeight, "px");
53
+ content.style.overflowY = 'auto';
54
+ }
55
+ }
56
+ }, [currentStepData === null || currentStepData === void 0 ? void 0 : currentStepData.key]);
33
57
  return /*#__PURE__*/React.createElement("div", {
34
58
  className: "event-content-wrap ".concat(isMobile() ? 'event-content-mobile-wrap' : '')
35
59
  }, /*#__PURE__*/React.createElement("div", {
@@ -3,6 +3,7 @@
3
3
  display: flex;
4
4
  gap: 6px;
5
5
  // align-items: center;
6
+ flex: 1;
6
7
 
7
8
  .event-content-left {
8
9
  flex: 1;
@@ -19,10 +20,10 @@
19
20
 
20
21
  .event-content-mobile-wrap {
21
22
  width: 100%;
23
+ flex: none;
22
24
  .event-content-left {
23
- background: #fff;
24
25
  width: 100%;
25
- min-height: 100vh;
26
+ flex: none;
26
27
  .provider-information-wrap {
27
28
  width: 100%;
28
29
  }
@@ -28,8 +28,7 @@ var EmptyHolderModal = function EmptyHolderModal(props) {
28
28
  },
29
29
  onOk: function onOk() {
30
30
  return _onOk();
31
- },
32
- mobileModalHeight: '80vh'
31
+ }
33
32
  });
34
33
  };
35
34
  export default EmptyHolderModal;
@@ -6,7 +6,7 @@
6
6
  .event-booking-service-list {
7
7
  flex: 1;
8
8
  background: #ffffff;
9
- min-height: calc(100vh - 93px);
9
+ // min-height: calc(100vh - 93px);
10
10
  }
11
11
  }
12
12
 
@@ -5,14 +5,14 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
5
5
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import React from 'react';
8
- import { SectionFooters, PisellText, Button, Badge, Image } from '@pisell/materials';
9
- import { locales } from '@pisell/utils';
8
+ import { SectionFooters, Button, Badge, Image } from '@pisell/materials';
10
9
  import { useState } from 'react';
11
10
  import { useCart, useHolder, useSummary } from "../../../../Sales";
12
11
  import SelectHolderModal from "../SelectHolderModal";
13
12
  import ContinueButton from "../Cart/ContinueButton";
14
13
  import shoppingCartSvg from "../../../assets/shopping-cart.svg";
15
14
  import Cart from "../Cart";
15
+ import Total from "../Cart/Item/Total";
16
16
  import "./index.less";
17
17
  var Footer = function Footer() {
18
18
  var _cartData$cartItems;
@@ -32,13 +32,20 @@ var Footer = function Footer() {
32
32
  setSelectedItem = _useState2[1];
33
33
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SectionFooters, {
34
34
  className: "section-footer-wrap",
35
- left: /*#__PURE__*/React.createElement("div", {
36
- className: "section-footer-left"
37
- }, /*#__PURE__*/React.createElement(PisellText, null, locales.getText('pisell2.event.total')), /*#__PURE__*/React.createElement(PisellText.Amount, {
38
- value: total,
39
- showCurrencySymbol: true,
40
- className: "amount"
41
- })),
35
+ left:
36
+ /*#__PURE__*/
37
+ // <div className="section-footer-left">
38
+ // {/* <PisellText>{locales.getText('pisell2.event.total')}: </PisellText>
39
+ // <PisellText.Amount
40
+ // value={total}
41
+ // showCurrencySymbol={true}
42
+ // className="amount"
43
+ // /> */}
44
+ // </div>
45
+ React.createElement(Total, {
46
+ className: "section-footer-left",
47
+ isFooter: true
48
+ }),
42
49
  right: /*#__PURE__*/React.createElement("div", {
43
50
  className: "section-footer-right"
44
51
  }, /*#__PURE__*/React.createElement(Badge, {
@@ -52,7 +59,7 @@ var Footer = function Footer() {
52
59
  }, /*#__PURE__*/React.createElement(Image, {
53
60
  src: shoppingCartSvg,
54
61
  preview: false
55
- }), locales.getText('pisell2.event.cart'))), /*#__PURE__*/React.createElement(ContinueButton, null))
62
+ }))), /*#__PURE__*/React.createElement(ContinueButton, null))
56
63
  }), /*#__PURE__*/React.createElement(SelectHolderModal, {
57
64
  open: open,
58
65
  selectedItem: selectedItem,
@@ -5,7 +5,7 @@
5
5
  display: flex;
6
6
  padding: 24px;
7
7
  justify-content: space-between;
8
- align-items: flex-start;
8
+ align-items: center;
9
9
  align-self: stretch;
10
10
  background: #ffffff;
11
11
  border-top: 1px solid #eaecf0;
@@ -13,15 +13,30 @@
13
13
  .section-footer-left {
14
14
  display: flex;
15
15
  flex-direction: column;
16
- color: var(--Text-Text_1, #1b1b1b);
17
- font-size: 14px;
16
+ color: var(--Gray-900, #101828);
17
+ font-size: 16px;
18
18
  font-weight: 400;
19
- line-height: 20px;
19
+ line-height: 24px;
20
+ > div {
21
+ justify-content: flex-start;
22
+ }
23
+
24
+ .gst-wrap {
25
+ color: var(--Gray-500, #667085);
26
+ font-size: 14px;
27
+ font-weight: 400;
28
+ line-height: 20px;
29
+ }
20
30
 
21
- .amount {
31
+ .event-total {
32
+ padding: 0;
33
+ }
34
+
35
+ .event-amount {
22
36
  font-size: 16px;
23
37
  font-weight: 500;
24
38
  line-height: 24px;
39
+ color: var(--Gray-900, #101828) !important;
25
40
  }
26
41
  }
27
42
 
@@ -36,5 +51,14 @@
36
51
  display: flex;
37
52
  align-items: center;
38
53
  gap: 8px;
54
+ padding: 0;
55
+ width: 40px;
56
+ height: 40px;
57
+ justify-content: center;
58
+ .pisell-lowcode-image {
59
+ width: 20px;
60
+ height: 20px;
61
+ line-height: 20px;
62
+ }
39
63
  }
40
64
  }
@@ -16,7 +16,7 @@ var InformationOptionsModal = function InformationOptionsModal(props) {
16
16
  destroyOnClose: true,
17
17
  footer: null,
18
18
  onCancel: onCancel,
19
- mobileModalHeight: '200px',
19
+ mobileModalHeight: 'auto',
20
20
  className: 'information-option-modal',
21
21
  headerDivider: false
22
22
  }, /*#__PURE__*/React.createElement("div", {
@@ -21,7 +21,6 @@ var OrderProductModal = function OrderProductModal(props) {
21
21
  onOk: function onOk() {
22
22
  return _onCancel();
23
23
  },
24
- mobileModalHeight: '80vh',
25
24
  zIndex: 1001
26
25
  });
27
26
  };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ declare const SelectProduct: React.FC;
4
+ export default SelectProduct;
@@ -0,0 +1,77 @@
1
+ import React from 'react';
2
+ import { useCart, useSales } from "../../../Sales";
3
+ import { locales } from '@pisell/utils';
4
+ import { PisellCard } from '@pisell/materials';
5
+ import "./index.less";
6
+ var SelectProduct = function SelectProduct() {
7
+ var _cartData$cartItems2;
8
+ var _useSales = useSales(),
9
+ data = _useSales.data;
10
+ var _useCart = useCart(),
11
+ addToCart = _useCart.addToCart,
12
+ cartData = _useCart.cartData;
13
+ var handleAddToCart = function handleAddToCart(product) {
14
+ addToCart(product);
15
+ };
16
+ var renderProductCard = function renderProductCard(product) {
17
+ var _cartData$cartItems;
18
+ var isSelected = cartData === null || cartData === void 0 ? void 0 : (_cartData$cartItems = cartData.cartItems) === null || _cartData$cartItems === void 0 ? void 0 : _cartData$cartItems.some(function (item) {
19
+ return item.id === product.id;
20
+ });
21
+ return /*#__PURE__*/React.createElement("div", {
22
+ key: product.id,
23
+ className: "product-card ".concat(isSelected ? 'product-card-selected' : ''),
24
+ onClick: function onClick() {
25
+ return handleAddToCart(product);
26
+ }
27
+ }, /*#__PURE__*/React.createElement(PisellCard, {
28
+ bodyStyle: {
29
+ padding: '16px'
30
+ }
31
+ }, /*#__PURE__*/React.createElement("div", {
32
+ className: "product-content"
33
+ }, /*#__PURE__*/React.createElement("div", {
34
+ className: "product-title"
35
+ }, product.title), /*#__PURE__*/React.createElement("div", {
36
+ className: "product-price"
37
+ }, product.price, " ", product.currency))));
38
+ };
39
+ return /*#__PURE__*/React.createElement("div", {
40
+ className: "select-product-container"
41
+ }, /*#__PURE__*/React.createElement("div", {
42
+ className: "step-header"
43
+ }, /*#__PURE__*/React.createElement("div", {
44
+ className: "step-number"
45
+ }, "Step 1"), /*#__PURE__*/React.createElement("div", {
46
+ className: "step-title"
47
+ }, "Select Product")), /*#__PURE__*/React.createElement("div", {
48
+ className: "category-section"
49
+ }, /*#__PURE__*/React.createElement("div", {
50
+ className: "category-title"
51
+ }, "Other"), /*#__PURE__*/React.createElement("div", {
52
+ className: "product-list"
53
+ }, renderProductCard({
54
+ id: '1',
55
+ title: 'appointment',
56
+ price: '1.00',
57
+ currency: 'AUD'
58
+ }))), /*#__PURE__*/React.createElement("div", {
59
+ className: "cart-section"
60
+ }, /*#__PURE__*/React.createElement("div", {
61
+ className: "cart-title"
62
+ }, "Your cart"), cartData !== null && cartData !== void 0 && (_cartData$cartItems2 = cartData.cartItems) !== null && _cartData$cartItems2 !== void 0 && _cartData$cartItems2.length ? /*#__PURE__*/React.createElement("div", {
63
+ className: "cart-items"
64
+ }, cartData.cartItems.map(function (item) {
65
+ return /*#__PURE__*/React.createElement("div", {
66
+ key: item.id,
67
+ className: "cart-item"
68
+ }, item.title);
69
+ })) : /*#__PURE__*/React.createElement("div", {
70
+ className: "cart-empty"
71
+ }, /*#__PURE__*/React.createElement("div", {
72
+ className: "cart-empty-icon"
73
+ }, "\uD83D\uDED2"), /*#__PURE__*/React.createElement("div", {
74
+ className: "cart-empty-text"
75
+ }, locales.getText('pisell2.event.cart.empty')))));
76
+ };
77
+ export default SelectProduct;
@@ -0,0 +1,131 @@
1
+ .select-product-container {
2
+ padding: 24px;
3
+ background: #fff;
4
+
5
+ .step-header {
6
+ margin-bottom: 24px;
7
+
8
+ .step-number {
9
+ font-size: 14px;
10
+ color: #666;
11
+ margin-bottom: 8px;
12
+ }
13
+
14
+ .step-title {
15
+ font-size: 24px;
16
+ font-weight: 500;
17
+ color: #333;
18
+ }
19
+ }
20
+
21
+ .category-section {
22
+ margin-bottom: 24px;
23
+
24
+ .category-title {
25
+ font-size: 16px;
26
+ font-weight: 500;
27
+ color: #333;
28
+ margin-bottom: 16px;
29
+ }
30
+
31
+ .product-list {
32
+ display: grid;
33
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
34
+ gap: 16px;
35
+ }
36
+ }
37
+
38
+ .product-card {
39
+ cursor: pointer;
40
+ transition: all 0.3s;
41
+
42
+ &:hover {
43
+ transform: translateY(-2px);
44
+ }
45
+
46
+ &.product-card-selected {
47
+ .pisell-card {
48
+ border-color: #1890ff;
49
+ background: rgba(24, 144, 255, 0.05);
50
+ }
51
+ }
52
+
53
+ .product-content {
54
+ text-align: center;
55
+
56
+ .product-title {
57
+ font-size: 16px;
58
+ color: #333;
59
+ margin-bottom: 8px;
60
+ }
61
+
62
+ .product-price {
63
+ font-size: 14px;
64
+ color: #666;
65
+ }
66
+ }
67
+ }
68
+
69
+ .cart-section {
70
+ background: #f5f5f5;
71
+ border-radius: 4px;
72
+ padding: 24px;
73
+
74
+ .cart-title {
75
+ font-size: 18px;
76
+ font-weight: 500;
77
+ color: #333;
78
+ margin-bottom: 16px;
79
+ }
80
+
81
+ .cart-empty {
82
+ text-align: center;
83
+ padding: 32px 0;
84
+
85
+ .cart-empty-icon {
86
+ font-size: 24px;
87
+ margin-bottom: 8px;
88
+ }
89
+
90
+ .cart-empty-text {
91
+ color: #999;
92
+ }
93
+ }
94
+
95
+ .cart-items {
96
+ .cart-item {
97
+ padding: 12px;
98
+ background: #fff;
99
+ border-radius: 4px;
100
+ margin-bottom: 8px;
101
+
102
+ &:last-child {
103
+ margin-bottom: 0;
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ // 移动端适配
111
+ @media screen and (max-width: 768px) {
112
+ .select-product-container {
113
+ padding: 16px;
114
+
115
+ .step-header {
116
+ margin-bottom: 16px;
117
+
118
+ .step-title {
119
+ font-size: 20px;
120
+ }
121
+ }
122
+
123
+ .product-list {
124
+ grid-template-columns: 1fr !important;
125
+ }
126
+
127
+ .cart-section {
128
+ padding: 16px;
129
+ }
130
+ }
131
+ }
@@ -253,6 +253,7 @@ var CalendarDate = function CalendarDate(props, ref) {
253
253
  return /*#__PURE__*/React.createElement(PisellModal, {
254
254
  open: open,
255
255
  title: 'device',
256
+ mobileModalHeight: 'auto',
256
257
  platform: isMobile() ? 'h5' : 'pc',
257
258
  bodyStyle: {
258
259
  padding: isMobile() ? '16px 24px' : 32