@pisell/private-materials 3.0.211 โ†’ 3.0.213

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 (101) 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 +5 -5
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +6 -6
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +8 -8
  11. package/es/components/Sales/Cart/index.js +3 -1
  12. package/es/components/Sales/Checkout/index.js +6 -0
  13. package/es/components/Sales/Event/Detail.js +1 -1
  14. package/es/components/Sales/Init/index.d.ts +4 -0
  15. package/es/components/Sales/Init/index.js +6 -2
  16. package/es/components/Sales/Resource/serve.d.ts +1 -0
  17. package/es/components/Sales/Summary/index.d.ts +3 -0
  18. package/es/components/Sales/Summary/index.js +9 -3
  19. package/es/components/Sales/Summary/serve.d.ts +0 -2
  20. package/es/components/Sales/Summary/serve.js +0 -11
  21. package/es/components/Sales/Summary/utils.d.ts +15 -1
  22. package/es/components/Sales/Summary/utils.js +32 -3
  23. package/es/components/eftposPay/hooks.d.ts +2 -2
  24. package/es/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +6 -2
  25. package/es/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +4 -0
  26. package/es/components/eventBooking/components/Provider/Cart/Item/Total.js +46 -0
  27. package/es/components/eventBooking/components/Provider/Cart/Item/index.js +2 -8
  28. package/es/components/eventBooking/components/Provider/Cart/Item/index.less +42 -10
  29. package/es/components/eventBooking/components/Provider/Cart/index.js +1 -5
  30. package/es/components/eventBooking/components/Provider/Cart/index.less +0 -2
  31. package/es/components/eventBooking/components/Provider/Content/index.js +24 -0
  32. package/es/components/eventBooking/components/Provider/Content/index.less +3 -2
  33. package/es/components/eventBooking/components/Provider/EmptyHolderModal/index.js +1 -2
  34. package/es/components/eventBooking/components/Provider/Event/index.less +1 -1
  35. package/es/components/eventBooking/components/Provider/Footer/index.js +18 -11
  36. package/es/components/eventBooking/components/Provider/Footer/index.less +29 -5
  37. package/es/components/eventBooking/components/Provider/Header/index.js +4 -2
  38. package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.js +1 -1
  39. package/es/components/eventBooking/components/Provider/OrderProductModal/index.js +0 -1
  40. package/es/components/eventBooking/components/Provider/Resource/index.js +4 -21
  41. package/es/components/eventBooking/components/Provider/SelectProduct/index.d.ts +4 -0
  42. package/es/components/eventBooking/components/Provider/SelectProduct/index.js +77 -0
  43. package/es/components/eventBooking/components/Provider/SelectProduct/index.less +131 -0
  44. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/index.js +1 -0
  45. package/es/components/eventBooking/components/bookingDetailModal/index.js +142 -41
  46. package/es/components/eventBooking/components/bookingDetailModal/index.less +2 -2
  47. package/es/components/eventBooking/components/resourceDisplay/index.less +14 -0
  48. package/es/components/eventBooking/components/selectHolder/index.js +2 -6
  49. package/es/components/eventBooking/index.js +2 -1
  50. package/es/components/eventBooking/index.less +2 -0
  51. package/es/components/eventBooking/locales.d.ts +6 -3
  52. package/es/components/eventBooking/locales.js +22 -7
  53. package/es/components/eventBooking/utils.d.ts +9 -0
  54. package/es/components/eventBooking/utils.js +17 -0
  55. package/es/components/tabProduct/tabs/index.less +13 -3
  56. package/lib/components/Sales/Cart/index.js +6 -4
  57. package/lib/components/Sales/Checkout/index.js +3 -0
  58. package/lib/components/Sales/Event/Detail.js +1 -1
  59. package/lib/components/Sales/Init/index.d.ts +4 -0
  60. package/lib/components/Sales/Init/index.js +5 -2
  61. package/lib/components/Sales/Resource/serve.d.ts +1 -0
  62. package/lib/components/Sales/Summary/index.d.ts +3 -0
  63. package/lib/components/Sales/Summary/index.js +11 -3
  64. package/lib/components/Sales/Summary/serve.d.ts +0 -2
  65. package/lib/components/Sales/Summary/serve.js +0 -37
  66. package/lib/components/Sales/Summary/utils.d.ts +15 -1
  67. package/lib/components/Sales/Summary/utils.js +25 -5
  68. package/lib/components/eftposPay/hooks.d.ts +2 -2
  69. package/lib/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +5 -0
  70. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +4 -0
  71. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.js +82 -0
  72. package/lib/components/eventBooking/components/Provider/Cart/Item/index.js +2 -9
  73. package/lib/components/eventBooking/components/Provider/Cart/Item/index.less +42 -10
  74. package/lib/components/eventBooking/components/Provider/Cart/index.js +1 -5
  75. package/lib/components/eventBooking/components/Provider/Cart/index.less +0 -2
  76. package/lib/components/eventBooking/components/Provider/Content/index.js +16 -0
  77. package/lib/components/eventBooking/components/Provider/Content/index.less +3 -2
  78. package/lib/components/eventBooking/components/Provider/EmptyHolderModal/index.js +1 -2
  79. package/lib/components/eventBooking/components/Provider/Event/index.less +1 -1
  80. package/lib/components/eventBooking/components/Provider/Footer/index.js +14 -12
  81. package/lib/components/eventBooking/components/Provider/Footer/index.less +29 -5
  82. package/lib/components/eventBooking/components/Provider/Header/index.js +5 -2
  83. package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.js +1 -1
  84. package/lib/components/eventBooking/components/Provider/OrderProductModal/index.js +0 -1
  85. package/lib/components/eventBooking/components/Provider/Resource/index.js +4 -12
  86. package/lib/components/eventBooking/components/Provider/SelectProduct/index.d.ts +4 -0
  87. package/lib/components/eventBooking/components/Provider/SelectProduct/index.js +69 -0
  88. package/lib/components/eventBooking/components/Provider/SelectProduct/index.less +131 -0
  89. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/index.js +1 -0
  90. package/lib/components/eventBooking/components/bookingDetailModal/index.js +101 -22
  91. package/lib/components/eventBooking/components/bookingDetailModal/index.less +2 -2
  92. package/lib/components/eventBooking/components/resourceDisplay/index.less +14 -0
  93. package/lib/components/eventBooking/components/selectHolder/index.js +1 -1
  94. package/lib/components/eventBooking/index.js +2 -1
  95. package/lib/components/eventBooking/index.less +2 -0
  96. package/lib/components/eventBooking/locales.d.ts +6 -3
  97. package/lib/components/eventBooking/locales.js +10 -7
  98. package/lib/components/eventBooking/utils.d.ts +9 -0
  99. package/lib/components/eventBooking/utils.js +12 -2
  100. package/lib/components/tabProduct/tabs/index.less +13 -3
  101. package/package.json +2 -2
@@ -34,11 +34,11 @@ __export(Item_exports, {
34
34
  module.exports = __toCommonJS(Item_exports);
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_utils = require("@pisell/utils");
37
- var import_materials = require("@pisell/materials");
38
37
  var import_shoppingCart = __toESM(require("../../../../../shoppingCart"));
39
38
  var import_Sales = require("../../../../../Sales");
40
39
  var import_SelectHolderModal = __toESM(require("../../SelectHolderModal"));
41
40
  var import_ContinueButton = __toESM(require("../ContinueButton"));
41
+ var import_Total = __toESM(require("./Total"));
42
42
  var import_index = require("./index.less");
43
43
  var CartItem = () => {
44
44
  const { open, holderData, selectedHolderIds } = (0, import_Sales.useHolder)();
@@ -86,14 +86,7 @@ var CartItem = () => {
86
86
  onChange: (e, type, key) => handleClickCard(e, type, key)
87
87
  }
88
88
  )),
89
- /* @__PURE__ */ import_react.default.createElement("div", { className: "event-footer" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "event-total-wrap" }, /* @__PURE__ */ import_react.default.createElement("span", null, import_utils.locales.getText("pisell2.event.total")), /* @__PURE__ */ import_react.default.createElement(
90
- import_materials.PisellText.Amount,
91
- {
92
- value: subtotal,
93
- showCurrencySymbol: true,
94
- className: "event-amount"
95
- }
96
- )), /* @__PURE__ */ import_react.default.createElement(import_ContinueButton.default, null))
89
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "event-footer" }, /* @__PURE__ */ import_react.default.createElement(import_Total.default, null), /* @__PURE__ */ import_react.default.createElement(import_ContinueButton.default, null))
97
90
  ), /* @__PURE__ */ import_react.default.createElement(import_SelectHolderModal.default, { open }));
98
91
  };
99
92
  var Item_default = CartItem;
@@ -17,19 +17,51 @@
17
17
  flex-direction: column;
18
18
  gap: 14px;
19
19
  margin-top: 6px;
20
- .event-total-wrap {
21
- color: var(--Text-Text_1, #1b1b1b);
22
- font-size: 20px;
23
- font-weight: 600;
24
- line-height: 28px;
20
+ }
21
+ }
22
+
23
+ .event-total-wrap {
24
+ color: var(--Text-Text_1, #1b1b1b);
25
+ font-size: 20px;
26
+ font-weight: 600;
27
+ line-height: 28px;
28
+ display: flex;
29
+ flex-direction: column;
30
+ align-items: start;
31
+
32
+ > div {
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: space-between;
36
+ width: 100%;
37
+ }
38
+
39
+ .gst-wrap {
40
+ font-size: 16px;
41
+ font-weight: 500;
42
+ line-height: 24px;
43
+ }
44
+
45
+ .event-total {
46
+ .left {
25
47
  display: flex;
26
- align-items: center;
27
- justify-content: space-between;
28
- .event-amount {
29
- color: var(--Blue-600, #1570ef);
48
+ flex-direction: column;
49
+ .gst {
50
+ color: var(--Gray-500, #667085);
51
+ font-size: 14px;
52
+ font-weight: 400;
53
+ line-height: 20px;
30
54
  }
31
55
  }
32
56
  }
57
+
58
+ .total-gst-wrap {
59
+ padding: 14px 0 0;
60
+ }
61
+
62
+ .event-amount {
63
+ color: var(--Blue-600, #1570ef);
64
+ }
33
65
  }
34
66
 
35
67
  .cart-mobile-item-wrap {
@@ -40,7 +72,7 @@
40
72
  .content {
41
73
  flex: 1;
42
74
  overflow-y: auto;
43
- padding: 0 0 120px;
75
+ padding: 0 0 140px;
44
76
  }
45
77
  .event-footer {
46
78
  z-index: 10;
@@ -47,12 +47,8 @@ var Cart = ({ open, onCancel }) => {
47
47
  closable: true,
48
48
  onCancel: () => onCancel(),
49
49
  bodyStyle: {
50
- padding: "20px",
51
- display: "flex",
52
- flexDirection: "column",
53
- height: "100%"
50
+ padding: "20px"
54
51
  },
55
- mobileModalHeight: "90%",
56
52
  destroyOnClose: true,
57
53
  className: `event-cart-modal`,
58
54
  footer: null
@@ -1,4 +1,2 @@
1
1
  .event-cart-modal {
2
2
  }
3
- .event-cart-modal {
4
- }
@@ -63,6 +63,22 @@ var Layout = () => {
63
63
  let Com2 = components[key];
64
64
  return /* @__PURE__ */ import_react.default.createElement(Com2, null);
65
65
  }, [currentStepData == null ? void 0 : currentStepData.key]);
66
+ (0, import_react.useEffect)(() => {
67
+ var _a, _b;
68
+ if ((0, import_utils.isMobile)()) {
69
+ const header = document.querySelector(".event-progress-bar");
70
+ const footer = document.querySelector(".pisell-section-footers-wrapper");
71
+ const content = document.querySelector(".event-content-mobile-wrap");
72
+ const headerHeight = ((_a = header == null ? void 0 : header.getBoundingClientRect()) == null ? void 0 : _a.height) || 0;
73
+ const footerHeight = ((_b = footer == null ? void 0 : footer.getBoundingClientRect()) == null ? void 0 : _b.height) || 0;
74
+ const windowHeight = window.innerHeight;
75
+ const contentHeight = windowHeight - headerHeight - footerHeight;
76
+ if (content && (content == null ? void 0 : content.style)) {
77
+ content.style.height = `${contentHeight}px`;
78
+ content.style.overflowY = "auto";
79
+ }
80
+ }
81
+ }, [currentStepData == null ? void 0 : currentStepData.key]);
66
82
  return /* @__PURE__ */ import_react.default.createElement(
67
83
  "div",
68
84
  {
@@ -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
  }
@@ -53,8 +53,7 @@ var EmptyHolderModal = (props) => {
53
53
  cancelText: import_utils.locales.getText("pisell2.event.empty.holder.go.back"),
54
54
  closable: true,
55
55
  onCancel: () => onCancel(),
56
- onOk: () => onOk(),
57
- mobileModalHeight: "80vh"
56
+ onOk: () => onOk()
58
57
  }
59
58
  );
60
59
  };
@@ -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
 
@@ -34,32 +34,35 @@ __export(Footer_exports, {
34
34
  module.exports = __toCommonJS(Footer_exports);
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_materials = require("@pisell/materials");
37
- var import_utils = require("@pisell/utils");
38
37
  var import_react2 = require("react");
39
38
  var import_Sales = require("../../../../Sales");
40
39
  var import_SelectHolderModal = __toESM(require("../SelectHolderModal"));
41
40
  var import_ContinueButton = __toESM(require("../Cart/ContinueButton"));
42
41
  var import_shopping_cart = __toESM(require("../../../assets/shopping-cart.svg"));
43
42
  var import_Cart = __toESM(require("../Cart"));
43
+ var import_Total = __toESM(require("../Cart/Item/Total"));
44
44
  var import_index = require("./index.less");
45
45
  var Footer = () => {
46
46
  var _a;
47
47
  const { open } = (0, import_Sales.useHolder)();
48
48
  const { onOpenCart, openCart, onCloseCart, cartData } = (0, import_Sales.useCart)();
49
- const { subtotal } = (0, import_Sales.useSummary)();
49
+ const { total } = (0, import_Sales.useSummary)();
50
50
  const [selectedItem, setSelectedItem] = (0, import_react2.useState)(null);
51
51
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
52
52
  import_materials.SectionFooters,
53
53
  {
54
54
  className: "section-footer-wrap",
55
- left: /* @__PURE__ */ import_react.default.createElement("div", { className: "section-footer-left" }, /* @__PURE__ */ import_react.default.createElement(import_materials.PisellText, null, import_utils.locales.getText("pisell2.event.total")), /* @__PURE__ */ import_react.default.createElement(
56
- import_materials.PisellText.Amount,
57
- {
58
- value: subtotal,
59
- showCurrencySymbol: true,
60
- className: "amount"
61
- }
62
- )),
55
+ left: (
56
+ // <div className="section-footer-left">
57
+ // {/* <PisellText>{locales.getText('pisell2.event.total')}: </PisellText>
58
+ // <PisellText.Amount
59
+ // value={total}
60
+ // showCurrencySymbol={true}
61
+ // className="amount"
62
+ // /> */}
63
+ // </div>
64
+ /* @__PURE__ */ import_react.default.createElement(import_Total.default, { className: "section-footer-left", isFooter: true })
65
+ ),
63
66
  right: /* @__PURE__ */ import_react.default.createElement("div", { className: "section-footer-right" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Badge, { count: ((_a = cartData.cartItems) == null ? void 0 : _a.length) || 0 }, /* @__PURE__ */ import_react.default.createElement(
64
67
  import_materials.Button,
65
68
  {
@@ -67,8 +70,7 @@ var Footer = () => {
67
70
  onClick: () => onOpenCart(),
68
71
  className: "section-footer-btn"
69
72
  },
70
- /* @__PURE__ */ import_react.default.createElement(import_materials.Image, { src: import_shopping_cart.default, preview: false }),
71
- import_utils.locales.getText("pisell2.event.cart")
73
+ /* @__PURE__ */ import_react.default.createElement(import_materials.Image, { src: import_shopping_cart.default, preview: false })
72
74
  )), /* @__PURE__ */ import_react.default.createElement(import_ContinueButton.default, null))
73
75
  }
74
76
  ), /* @__PURE__ */ import_react.default.createElement(
@@ -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
  }
@@ -36,15 +36,18 @@ var import_react = __toESM(require("react"));
36
36
  var import_utils = require("@pisell/utils");
37
37
  var import_Sales = require("../../../../Sales");
38
38
  var import_progressBar = __toESM(require("../../progressBar"));
39
+ var import_utils2 = require("../../../utils");
39
40
  var import_index = require("./index.less");
40
41
  var Header = () => {
41
42
  var _a, _b;
42
43
  const { currentStepData, closePage, prevStep, isFirstStep } = (0, import_Sales.useStep)();
43
- const { removeSessionStorage } = (0, import_Sales.useSales)();
44
+ const { removeSessionStorage, data } = (0, import_Sales.useSales)();
44
45
  const steps = {
45
46
  "select-category": {
46
47
  title: import_utils.locales.getText("pisell2.event.step")(1),
47
- description: import_utils.locales.getText("pisell2.event.select.category")
48
+ description: import_utils.locales.getText("pisell2.event.select.category")(
49
+ (0, import_utils2.resourceTitle)(data)
50
+ )
48
51
  },
49
52
  "select-event": {
50
53
  title: import_utils.locales.getText("pisell2.event.step")(2),
@@ -47,7 +47,7 @@ var InformationOptionsModal = (props) => {
47
47
  destroyOnClose: true,
48
48
  footer: null,
49
49
  onCancel,
50
- mobileModalHeight: "200px",
50
+ mobileModalHeight: "auto",
51
51
  className: "information-option-modal",
52
52
  headerDivider: false
53
53
  },
@@ -50,7 +50,6 @@ var OrderProductModal = (props) => {
50
50
  closable: true,
51
51
  onCancel: () => onCancel(),
52
52
  onOk: () => onCancel(),
53
- mobileModalHeight: "80vh",
54
53
  zIndex: 1001
55
54
  }
56
55
  );
@@ -36,16 +36,15 @@ var import_react = __toESM(require("react"));
36
36
  var import_materials = require("@pisell/materials");
37
37
  var import_utils = require("@pisell/utils");
38
38
  var import_Sales = require("../../../../Sales");
39
- var import_useEngineContext = __toESM(require("../../../../../hooks/useEngineContext"));
40
39
  var import_resourceDisplay = __toESM(require("../../resourceDisplay"));
40
+ var import_utils2 = require("../../../utils");
41
41
  var import_index = require("./index.less");
42
42
  var Resource = () => {
43
- var _a, _b, _c;
43
+ var _a, _b;
44
44
  const { data } = (0, import_Sales.useSales)();
45
45
  const { getResourceList, selectResource } = (0, import_Sales.useResource)();
46
46
  const { createCartItem } = (0, import_Sales.useCart)();
47
47
  const { nextStep } = (0, import_Sales.useStep)();
48
- const context = (0, import_useEngineContext.default)();
49
48
  const handleClick = (item) => {
50
49
  createCartItem();
51
50
  selectResource(item);
@@ -66,20 +65,13 @@ var Resource = () => {
66
65
  }
67
66
  );
68
67
  };
69
- const resourceTitle = (0, import_react.useMemo)(() => {
70
- var _a2, _b2, _c2, _d, _e, _f, _g;
71
- const form = (_c2 = (_b2 = (_a2 = data == null ? void 0 : data.initData) == null ? void 0 : _a2.boardSetting) == null ? void 0 : _b2.event_v2_form) == null ? void 0 : _c2.form;
72
- const title = ((_d = form == null ? void 0 : form.setting) == null ? void 0 : _d.title) || (form == null ? void 0 : form.title);
73
- const translation = (_f = (_e = context == null ? void 0 : context.appHelper) == null ? void 0 : _e.utils) == null ? void 0 : _f.translation;
74
- return (_g = translation(title)) == null ? void 0 : _g.toLowerCase();
75
- }, [(_a = data == null ? void 0 : data.initData) == null ? void 0 : _a.boardSetting]);
76
68
  return /* @__PURE__ */ import_react.default.createElement(
77
69
  "div",
78
70
  {
79
71
  className: `event-interface-resource-wrap ${(0, import_utils.isMobile)() ? "event-interface-resource-mobile-wrap" : ""}`
80
72
  },
81
- /* @__PURE__ */ import_react.default.createElement("span", { className: "title" }, import_utils.locales.getText("pisell2.event.select.campus")(resourceTitle)),
82
- /* @__PURE__ */ import_react.default.createElement("div", { className: "content" }, (_c = (_b = data == null ? void 0 : data.resourceData) == null ? void 0 : _b.resourceList) == null ? void 0 : _c.map((item, index) => {
73
+ /* @__PURE__ */ import_react.default.createElement("span", { className: "title" }, import_utils.locales.getText("pisell2.event.select.campus")((0, import_utils2.resourceTitle)(data))),
74
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "content" }, (_b = (_a = data == null ? void 0 : data.resourceData) == null ? void 0 : _a.resourceList) == null ? void 0 : _b.map((item, index) => {
83
75
  return /* @__PURE__ */ import_react.default.createElement("div", { key: index, className: "content-item" }, /* @__PURE__ */ import_react.default.createElement("span", { className: "content-title" }, item == null ? void 0 : item.title), /* @__PURE__ */ import_react.default.createElement(
84
76
  import_materials.PisellViewGrid,
85
77
  {
@@ -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,69 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/eventBooking/components/Provider/SelectProduct/index.tsx
30
+ var SelectProduct_exports = {};
31
+ __export(SelectProduct_exports, {
32
+ default: () => SelectProduct_default
33
+ });
34
+ module.exports = __toCommonJS(SelectProduct_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_Sales = require("../../../Sales");
37
+ var import_utils = require("@pisell/utils");
38
+ var import_materials = require("@pisell/materials");
39
+ var import_index = require("./index.less");
40
+ var SelectProduct = () => {
41
+ var _a;
42
+ const { data } = (0, import_Sales.useSales)();
43
+ const { addToCart, cartData } = (0, import_Sales.useCart)();
44
+ const handleAddToCart = (product) => {
45
+ addToCart(product);
46
+ };
47
+ const renderProductCard = (product) => {
48
+ var _a2;
49
+ const isSelected = (_a2 = cartData == null ? void 0 : cartData.cartItems) == null ? void 0 : _a2.some(
50
+ (item) => item.id === product.id
51
+ );
52
+ return /* @__PURE__ */ import_react.default.createElement(
53
+ "div",
54
+ {
55
+ key: product.id,
56
+ className: `product-card ${isSelected ? "product-card-selected" : ""}`,
57
+ onClick: () => handleAddToCart(product)
58
+ },
59
+ /* @__PURE__ */ import_react.default.createElement(import_materials.PisellCard, { bodyStyle: { padding: "16px" } }, /* @__PURE__ */ import_react.default.createElement("div", { className: "product-content" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "product-title" }, product.title), /* @__PURE__ */ import_react.default.createElement("div", { className: "product-price" }, product.price, " ", product.currency)))
60
+ );
61
+ };
62
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "select-product-container" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "step-header" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "step-number" }, "Step 1"), /* @__PURE__ */ import_react.default.createElement("div", { className: "step-title" }, "Select Product")), /* @__PURE__ */ import_react.default.createElement("div", { className: "category-section" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "category-title" }, "Other"), /* @__PURE__ */ import_react.default.createElement("div", { className: "product-list" }, renderProductCard({
63
+ id: "1",
64
+ title: "appointment",
65
+ price: "1.00",
66
+ currency: "AUD"
67
+ }))), /* @__PURE__ */ import_react.default.createElement("div", { className: "cart-section" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "cart-title" }, "Your cart"), ((_a = cartData == null ? void 0 : cartData.cartItems) == null ? void 0 : _a.length) ? /* @__PURE__ */ import_react.default.createElement("div", { className: "cart-items" }, cartData.cartItems.map((item) => /* @__PURE__ */ import_react.default.createElement("div", { key: item.id, className: "cart-item" }, item.title))) : /* @__PURE__ */ import_react.default.createElement("div", { className: "cart-empty" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "cart-empty-icon" }, "๐Ÿ›’"), /* @__PURE__ */ import_react.default.createElement("div", { className: "cart-empty-text" }, import_utils.locales.getText("pisell2.event.cart.empty")))));
68
+ };
69
+ var SelectProduct_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
+ }
@@ -184,6 +184,7 @@ var CalendarDate = (props, ref) => {
184
184
  {
185
185
  open,
186
186
  title: "device",
187
+ mobileModalHeight: "auto",
187
188
  platform: (0, import_utils.isMobile)() ? "h5" : "pc",
188
189
  bodyStyle: { padding: (0, import_utils.isMobile)() ? "16px 24px" : 32 },
189
190
  destroyOnClose: true,