@pisell/private-materials 6.8.86 → 6.8.87

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 (118) 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 +9 -9
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/booking/components/customiseItemModal/index.js +4 -7
  12. package/es/components/booking/components/footer/index.d.ts +0 -1
  13. package/es/components/booking/deposit/index.d.ts +0 -1
  14. package/es/components/booking/info/index.d.ts +0 -1
  15. package/es/components/booking/info/service/addTimeModal/index.d.ts +0 -1
  16. package/es/components/booking/utils.d.ts +2 -2
  17. package/es/components/eftposPay/amount.d.ts +1 -1
  18. package/es/components/eftposPay/app.d.ts +1 -1
  19. package/es/components/eftposPay/device.d.ts +1 -1
  20. package/es/components/eftposPay/hooks.d.ts +1 -1
  21. package/es/components/eftposPay/store/index.d.ts +4 -4
  22. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -1
  23. package/es/components/ticketBooking/components/addServiceVariant/addService.js +1 -1
  24. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +0 -1
  25. package/es/components/ticketBooking/index.d.ts +0 -1
  26. package/es/components/ticketBooking/utils/index.d.ts +1 -1
  27. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
  28. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
  29. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
  30. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
  31. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
  32. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
  33. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
  34. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
  35. package/es/plus/saasLogin/utils.d.ts +5 -5
  36. package/es/plus/skuOptionsSelection/components/OptionsCard/OptionItemCard.d.ts +0 -1
  37. package/es/plus/skuOptionsSelection/components/OptionsCard/index.d.ts +0 -1
  38. package/es/plus/skuOptionsSelection/components/OptionsModal/index.d.ts +0 -1
  39. package/es/plus/skuOptionsSelection/components/VariantCard/index.d.ts +0 -1
  40. package/es/plus/skuOptionsSelection/utils/transformBundleGroup.js +5 -0
  41. package/es/plus/skuOptionsSelection/utils/transformValueToSelectorValue.js +1 -0
  42. package/es/plus/walletEditor/components/ImageUpload/index.d.ts +1 -1
  43. package/es/pro/NumericStepper/index.d.ts +21 -1
  44. package/es/pro/NumericStepper/index.js +74 -66
  45. package/es/pro/NumericStepper/index.less +289 -136
  46. package/es/pro/Selector/demo.d.ts +0 -1
  47. package/es/pro/Selector/hooks/usePresetProps.js +2 -1
  48. package/es/pro/keyboards/index.d.ts +2 -0
  49. package/es/pro/keyboards/index.js +1 -0
  50. package/es/pro/keyboards/locales.d.ts +24 -0
  51. package/es/pro/keyboards/locales.js +35 -0
  52. package/es/pro/keyboards/numberKeyboard/index.d.ts +16 -0
  53. package/es/pro/keyboards/numberKeyboard/index.js +524 -0
  54. package/es/pro/keyboards/numberKeyboard/index.less +59 -0
  55. package/es/pro/keyboards/numberKeyboard/types.d.ts +63 -0
  56. package/es/pro/keyboards/numberKeyboard/types.js +1 -0
  57. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardSimple.js +2 -1
  58. package/es/pro/priceKeyboard/components/discountKeyboard/index.js +2 -1
  59. package/es/pro/priceKeyboard/components/paymentKeyboard/index.d.ts +0 -1
  60. package/es/pro/priceKeyboard/components/paymentKeyboard/index.js +6 -3
  61. package/es/pro/skuDetailModal/index.js +6 -8
  62. package/es/pro/skuDetailModal/index.less +4 -4
  63. package/lib/components/booking/components/customiseItemModal/index.js +4 -5
  64. package/lib/components/booking/components/footer/index.d.ts +0 -1
  65. package/lib/components/booking/deposit/index.d.ts +0 -1
  66. package/lib/components/booking/info/index.d.ts +0 -1
  67. package/lib/components/booking/info/service/addTimeModal/index.d.ts +0 -1
  68. package/lib/components/booking/utils.d.ts +2 -2
  69. package/lib/components/eftposPay/amount.d.ts +1 -1
  70. package/lib/components/eftposPay/app.d.ts +1 -1
  71. package/lib/components/eftposPay/device.d.ts +1 -1
  72. package/lib/components/eftposPay/hooks.d.ts +1 -1
  73. package/lib/components/eftposPay/store/index.d.ts +4 -4
  74. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -1
  75. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +0 -1
  76. package/lib/components/ticketBooking/index.d.ts +0 -1
  77. package/lib/components/ticketBooking/utils/index.d.ts +1 -1
  78. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
  79. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
  80. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
  81. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
  82. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
  83. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
  84. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
  85. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
  86. package/lib/plus/saasLogin/utils.d.ts +5 -5
  87. package/lib/plus/skuOptionsSelection/components/OptionsCard/OptionItemCard.d.ts +0 -1
  88. package/lib/plus/skuOptionsSelection/components/OptionsCard/index.d.ts +0 -1
  89. package/lib/plus/skuOptionsSelection/components/OptionsModal/index.d.ts +0 -1
  90. package/lib/plus/skuOptionsSelection/components/VariantCard/index.d.ts +0 -1
  91. package/lib/plus/skuOptionsSelection/utils/transformBundleGroup.js +5 -0
  92. package/lib/plus/skuOptionsSelection/utils/transformValueToSelectorValue.js +1 -0
  93. package/lib/plus/walletEditor/components/ImageUpload/index.d.ts +1 -1
  94. package/lib/pro/NumericStepper/index.d.ts +21 -1
  95. package/lib/pro/NumericStepper/index.js +67 -69
  96. package/lib/pro/NumericStepper/index.less +289 -136
  97. package/lib/pro/Selector/demo.d.ts +0 -1
  98. package/lib/pro/Selector/hooks/usePresetProps.js +2 -1
  99. package/lib/pro/keyboards/index.d.ts +2 -0
  100. package/lib/pro/keyboards/index.js +39 -0
  101. package/lib/pro/keyboards/locales.d.ts +24 -0
  102. package/lib/pro/keyboards/locales.js +47 -0
  103. package/lib/pro/keyboards/numberKeyboard/index.d.ts +16 -0
  104. package/lib/pro/keyboards/numberKeyboard/index.js +400 -0
  105. package/lib/pro/keyboards/numberKeyboard/index.less +59 -0
  106. package/lib/pro/keyboards/numberKeyboard/types.d.ts +63 -0
  107. package/lib/pro/keyboards/numberKeyboard/types.js +17 -0
  108. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardSimple.js +2 -1
  109. package/lib/pro/priceKeyboard/components/discountKeyboard/index.js +2 -1
  110. package/lib/pro/priceKeyboard/components/paymentKeyboard/index.d.ts +0 -1
  111. package/lib/pro/priceKeyboard/components/paymentKeyboard/index.js +6 -3
  112. package/lib/pro/skuDetailModal/index.js +94 -41
  113. package/lib/pro/skuDetailModal/index.less +4 -4
  114. package/package.json +1 -1
  115. package/es/pro/pisellNumberSelector/example.d.ts +0 -3
  116. package/es/pro/pisellNumberSelector/example.js +0 -68
  117. package/lib/pro/pisellNumberSelector/example.d.ts +0 -3
  118. package/lib/pro/pisellNumberSelector/example.js +0 -93
@@ -39,7 +39,7 @@ var import_utils = require("@pisell/utils");
39
39
  var import_Delete_wght300_24px = __toESM(require("@pisell/icon/es/Delete_wght300_24px"));
40
40
  var import_locales = __toESM(require("./locales"));
41
41
  var import_index = require("./index.less");
42
- var import_pisellNumberSelector = __toESM(require("../pisellNumberSelector"));
42
+ var import_NumericStepper = __toESM(require("../NumericStepper"));
43
43
  var import_noteModal = __toESM(require("../../plus/noteModal"));
44
44
  var import_useEngineContext = __toESM(require("../../hooks/useEngineContext"));
45
45
  var import_priceKeyboard = require("../priceKeyboard");
@@ -116,7 +116,9 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
116
116
  ];
117
117
  if (hasSkuOptions) {
118
118
  items.push({
119
- title: import_utils.locales.getText("pisell2.text.sku.detail.modal.step.select.bundle"),
119
+ title: import_utils.locales.getText(
120
+ "pisell2.text.sku.detail.modal.step.select.bundle"
121
+ ),
120
122
  description: ""
121
123
  });
122
124
  }
@@ -212,12 +214,15 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
212
214
  setNote(((_b2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _b2.note) || "");
213
215
  setQuantity(((_c2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _c2.quantity) || 1);
214
216
  setDiscounts((_data == null ? void 0 : _data.discount_list) || []);
215
- console.log({
216
- product_id: _data == null ? void 0 : _data.product_id,
217
- product_variant_id: ((_e2 = (_d2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _d2.other) == null ? void 0 : _e2.product_variant_id) || 0,
218
- bundle: ((_g2 = (_f2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _f2.other) == null ? void 0 : _g2.bundle) || [],
219
- option: ((_i2 = (_h2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _h2.other) == null ? void 0 : _i2.option) || []
220
- }, "skuValue");
217
+ console.log(
218
+ {
219
+ product_id: _data == null ? void 0 : _data.product_id,
220
+ product_variant_id: ((_e2 = (_d2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _d2.other) == null ? void 0 : _e2.product_variant_id) || 0,
221
+ bundle: ((_g2 = (_f2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _f2.other) == null ? void 0 : _g2.bundle) || [],
222
+ option: ((_i2 = (_h2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _h2.other) == null ? void 0 : _i2.option) || []
223
+ },
224
+ "skuValue"
225
+ );
221
226
  setSkuValue({
222
227
  product_id: _data == null ? void 0 : _data.product_id,
223
228
  product_variant_id: ((_k = (_j2 = _data == null ? void 0 : _data._extend) == null ? void 0 : _j2.other) == null ? void 0 : _k.product_variant_id) || 0,
@@ -257,7 +262,8 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
257
262
  return getSelectedUnitPrice({ productData, skuValue: activeSkuValue });
258
263
  }, [productData, skuValue, skuDefaultValue]);
259
264
  const displayUnitPrice = (0, import_react.useMemo)(() => {
260
- if (priceOverride === null || typeof priceOverride === "undefined") return unitPrice;
265
+ if (priceOverride === null || typeof priceOverride === "undefined")
266
+ return unitPrice;
261
267
  return priceOverride;
262
268
  }, [priceOverride, unitPrice]);
263
269
  const subtotal = (0, import_react.useMemo)(() => {
@@ -290,15 +296,19 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
290
296
  return `${priceSign}${symbol}${finalTotal.abs().toNumber().toFixed(2)}`;
291
297
  }, [finalTotal, symbol]);
292
298
  const priceOverrideText = (0, import_react.useMemo)(() => {
293
- if (priceOverride === null || typeof priceOverride === "undefined") return "";
294
- const prefix = `(${import_utils.locales.getText("pisell2.text.sku.detail.modal.price.override")} `;
299
+ if (priceOverride === null || typeof priceOverride === "undefined")
300
+ return "";
301
+ const prefix = `(${import_utils.locales.getText(
302
+ "pisell2.text.sku.detail.modal.price.override"
303
+ )} `;
295
304
  const overrideNumber = new import_decimal.default(priceOverride || 0);
296
305
  const sign = overrideNumber.toNumber() < 0 ? "-" : "";
297
306
  const absValue = overrideNumber.abs().toNumber().toFixed(2);
298
307
  return `${prefix}${sign}${symbol}${absValue})`;
299
308
  }, [priceOverride, symbol]);
300
309
  const priceChangeText = (0, import_react.useMemo)(() => {
301
- if (priceOverride === null || typeof priceOverride === "undefined") return "";
310
+ if (priceOverride === null || typeof priceOverride === "undefined")
311
+ return "";
302
312
  const diff = new import_decimal.default(priceOverride || 0).minus(new import_decimal.default(unitPrice || 0)).mul(new import_decimal.default(quantity || 1));
303
313
  const diffNumber = diff.toNumber();
304
314
  const diffSign = diffNumber > 0 ? "+" : diffNumber < 0 ? "-" : "";
@@ -405,7 +415,11 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
405
415
  });
406
416
  if (!hasStock) {
407
417
  if (allowAddToCartWhenOutStock !== 1) {
408
- Toast == null ? void 0 : Toast.fail(import_utils.locales.getText("pisell2.skuOptionsSelection.variantItemCard.soldOut"));
418
+ Toast == null ? void 0 : Toast.fail(
419
+ import_utils.locales.getText(
420
+ "pisell2.skuOptionsSelection.variantItemCard.soldOut"
421
+ )
422
+ );
409
423
  return;
410
424
  }
411
425
  const productId = Number((productData == null ? void 0 : productData.product_id) || 0);
@@ -495,7 +509,9 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
495
509
  onClick: () => setNoteModalOpen(true)
496
510
  },
497
511
  import_utils.locales.getText("pisell2.text.sku.detail.modal.btn.add.note")
498
- )), note && /* @__PURE__ */ import_react.default.createElement("div", { className: "note-section" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.note")), /* @__PURE__ */ import_react.default.createElement("div", { className: "note-text", onClick: () => setNoteModalOpen(true) }, note))), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-summary-section" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.subtotal")), /* @__PURE__ */ import_react.default.createElement("div", null, subtotalText)), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.discount"), discountsCount > 0 && /* @__PURE__ */ import_react.default.createElement("span", { className: "price-item-danger" }, " (", discountsCount, ")")), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item-danger" }, discountsCount > 0 ? "-" : "", symbol, totalDiscounts)), priceOverride !== null && typeof priceOverride !== "undefined" && /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item" }, /* @__PURE__ */ import_react.default.createElement("div", { onClick: handleManualPriceChange }, import_utils.locales.getText("pisell2.text.sku.detail.modal.manual.price.change"), /* @__PURE__ */ import_react.default.createElement("span", { className: "price-item-override" }, priceOverrideText)), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item-danger" }, priceChangeText)), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item-total" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.total"), /* @__PURE__ */ import_react.default.createElement("span", { className: "price-item-total-gst" }, "(", (productData == null ? void 0 : productData.is_charge_tax) ? import_utils.locales.getText("pisell2.text.sku.detail.modal.gst.incl") : import_utils.locales.getText("pisell2.text.sku.detail.modal.gst.excl"), ")")), /* @__PURE__ */ import_react.default.createElement("div", null, totalText))))
512
+ )), note && /* @__PURE__ */ import_react.default.createElement("div", { className: "note-section" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.note")), /* @__PURE__ */ import_react.default.createElement("div", { className: "note-text", onClick: () => setNoteModalOpen(true) }, note))), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-summary-section" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.subtotal")), /* @__PURE__ */ import_react.default.createElement("div", null, subtotalText)), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.discount"), discountsCount > 0 && /* @__PURE__ */ import_react.default.createElement("span", { className: "price-item-danger" }, " (", discountsCount, ")")), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item-danger" }, discountsCount > 0 ? "-" : "", symbol, totalDiscounts)), priceOverride !== null && typeof priceOverride !== "undefined" && /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item" }, /* @__PURE__ */ import_react.default.createElement("div", { onClick: handleManualPriceChange }, import_utils.locales.getText(
513
+ "pisell2.text.sku.detail.modal.manual.price.change"
514
+ ), /* @__PURE__ */ import_react.default.createElement("span", { className: "price-item-override" }, priceOverrideText)), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item-danger" }, priceChangeText)), /* @__PURE__ */ import_react.default.createElement("div", { className: "price-item-total" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.sku.detail.modal.total"), /* @__PURE__ */ import_react.default.createElement("span", { className: "price-item-total-gst" }, "(", (productData == null ? void 0 : productData.is_charge_tax) ? import_utils.locales.getText("pisell2.text.sku.detail.modal.gst.incl") : import_utils.locales.getText("pisell2.text.sku.detail.modal.gst.excl"), ")")), /* @__PURE__ */ import_react.default.createElement("div", null, totalText))))
499
515
  );
500
516
  };
501
517
  if (!productData) return null;
@@ -562,7 +578,7 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
562
578
  onCancel: handleCancel,
563
579
  closable: false,
564
580
  destroyOnClose: true,
565
- width: 880,
581
+ width: "80%",
566
582
  className: "pisell-sku-detail-modal"
567
583
  },
568
584
  /* @__PURE__ */ import_react.default.createElement(
@@ -572,8 +588,12 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
572
588
  className: "pisell-sku-procedure",
573
589
  mode: "modal",
574
590
  defaultCurrent: currentStep,
591
+ layoutMode: "ratio",
575
592
  onStepsChange: (result) => {
576
- const nextStep = Math.min(Number(result.currentStep || 0), maxStepIndex);
593
+ const nextStep = Math.min(
594
+ Number(result.currentStep || 0),
595
+ maxStepIndex
596
+ );
577
597
  setCurrentStep(nextStep);
578
598
  },
579
599
  headerProps: {
@@ -602,16 +622,13 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
602
622
  position: "fixed-bottom",
603
623
  style: { height: "72px !important" },
604
624
  leftSlot: /* @__PURE__ */ import_react.default.createElement("div", { className: "quantity-section" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "quantity-section-title" }, import_utils.locales.getText("pisell2.text.sku.detail.modal.quantity")), /* @__PURE__ */ import_react.default.createElement(
605
- import_pisellNumberSelector.default,
625
+ import_NumericStepper.default,
606
626
  {
627
+ variant: "capsule",
607
628
  value: quantity,
608
- width: "120px",
609
629
  onChange: handleQuantityChange,
610
630
  min: 1,
611
- max: 99999,
612
- step: 1,
613
- size: "middle",
614
- enablePriceAdjust: true
631
+ max: 99999
615
632
  }
616
633
  )),
617
634
  actions: /* @__PURE__ */ import_react.default.createElement("div", { className: "sku-detail-content-footer" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "modal-actions" }, isCreateMode ? /* @__PURE__ */ import_react.default.createElement(
@@ -633,7 +650,9 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
633
650
  className: "sku-detail-content-footer-remove-btn",
634
651
  onClick: handleRemove
635
652
  },
636
- import_utils.locales.getText("pisell2.text.sku.detail.modal.btn.remove")
653
+ import_utils.locales.getText(
654
+ "pisell2.text.sku.detail.modal.btn.remove"
655
+ )
637
656
  ), /* @__PURE__ */ import_react.default.createElement(
638
657
  import_materials.Button,
639
658
  {
@@ -653,7 +672,11 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
653
672
  onClick: handleConfirm,
654
673
  className: "sku-detail-content-footer-confirm-btn"
655
674
  },
656
- currentStep === 0 && hasSkuOptions ? /* @__PURE__ */ import_react.default.createElement("span", { className: "sku-detail-content-footer-confirm-btn-text" }, import_utils.locales.getText("pisell2.text.sku.detail.modal.btn.next")) : /* @__PURE__ */ import_react.default.createElement("span", { className: "sku-detail-content-footer-confirm-btn-text" }, import_utils.locales.getText("pisell2.text.sku.detail.modal.btn.confirm"))
675
+ currentStep === 0 && hasSkuOptions ? /* @__PURE__ */ import_react.default.createElement("span", { className: "sku-detail-content-footer-confirm-btn-text" }, import_utils.locales.getText(
676
+ "pisell2.text.sku.detail.modal.btn.next"
677
+ )) : /* @__PURE__ */ import_react.default.createElement("span", { className: "sku-detail-content-footer-confirm-btn-text" }, import_utils.locales.getText(
678
+ "pisell2.text.sku.detail.modal.btn.confirm"
679
+ ))
657
680
  )))
658
681
  }
659
682
  }
@@ -691,13 +714,35 @@ var SkuDetailModal = ({ onConfirm, onRemove, onClose }, ref) => {
691
714
  {
692
715
  platform: "pc",
693
716
  open: stockAlertOpen,
694
- title: import_utils.locales.getText("pisell2.text.sku.detail.modal.stock.alert.title"),
717
+ title: import_utils.locales.getText(
718
+ "pisell2.text.sku.detail.modal.stock.alert.title"
719
+ ),
695
720
  headerDivider: false,
696
- footer: /* @__PURE__ */ import_react.default.createElement("div", { style: { width: "100%", display: "flex", justifyContent: "flex-end", gap: 12 } }, /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { size: "large", onClick: handleStockAlertCancel }, import_utils.locales.getText(
697
- "pisell2.text.sku.detail.modal.stock.alert.btn.cancel"
698
- )), /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { type: "primary", size: "large", onClick: handleStockAlertContinue }, import_utils.locales.getText(
699
- "pisell2.text.sku.detail.modal.stock.alert.btn.continue"
700
- ))),
721
+ footer: /* @__PURE__ */ import_react.default.createElement(
722
+ "div",
723
+ {
724
+ style: {
725
+ width: "100%",
726
+ display: "flex",
727
+ justifyContent: "flex-end",
728
+ gap: 12
729
+ }
730
+ },
731
+ /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { size: "large", onClick: handleStockAlertCancel }, import_utils.locales.getText(
732
+ "pisell2.text.sku.detail.modal.stock.alert.btn.cancel"
733
+ )),
734
+ /* @__PURE__ */ import_react.default.createElement(
735
+ import_materials.Button,
736
+ {
737
+ type: "primary",
738
+ size: "large",
739
+ onClick: handleStockAlertContinue
740
+ },
741
+ import_utils.locales.getText(
742
+ "pisell2.text.sku.detail.modal.stock.alert.btn.continue"
743
+ )
744
+ )
745
+ ),
701
746
  width: 520,
702
747
  centered: true,
703
748
  destroyOnClose: true,
@@ -764,7 +809,9 @@ function getSelectedUnitPrice(params) {
764
809
  var _a, _b;
765
810
  const { productData, skuValue } = params;
766
811
  if (!productData) return 0;
767
- let price = new import_decimal.default((productData == null ? void 0 : productData.base_price) ?? ((_a = productData == null ? void 0 : productData._extend) == null ? void 0 : _a.price) ?? 0);
812
+ let price = new import_decimal.default(
813
+ (productData == null ? void 0 : productData.base_price) ?? ((_a = productData == null ? void 0 : productData._extend) == null ? void 0 : _a.price) ?? 0
814
+ );
768
815
  if (skuValue == null ? void 0 : skuValue.product_variant_id) {
769
816
  const variantItem = (_b = productData == null ? void 0 : productData.variant) == null ? void 0 : _b.find(
770
817
  (item) => Number(item == null ? void 0 : item.id) === Number(skuValue.product_variant_id)
@@ -774,18 +821,24 @@ function getSelectedUnitPrice(params) {
774
821
  }
775
822
  }
776
823
  if (Array.isArray(skuValue == null ? void 0 : skuValue.bundle) && skuValue.bundle.length > 0) {
777
- price = skuValue.bundle.reduce((accumulator, currentValue) => {
778
- const currentPrice = new import_decimal.default((currentValue == null ? void 0 : currentValue.price) || 0);
779
- const currentNum = new import_decimal.default((currentValue == null ? void 0 : currentValue.num) || 0);
780
- return accumulator.add(currentPrice.mul(currentNum));
781
- }, price);
824
+ price = skuValue.bundle.reduce(
825
+ (accumulator, currentValue) => {
826
+ const currentPrice = new import_decimal.default((currentValue == null ? void 0 : currentValue.price) || 0);
827
+ const currentNum = new import_decimal.default((currentValue == null ? void 0 : currentValue.num) || 0);
828
+ return accumulator.add(currentPrice.mul(currentNum));
829
+ },
830
+ price
831
+ );
782
832
  }
783
833
  if (Array.isArray(skuValue == null ? void 0 : skuValue.option) && skuValue.option.length > 0) {
784
- price = skuValue.option.reduce((accumulator, currentValue) => {
785
- const currentPrice = new import_decimal.default((currentValue == null ? void 0 : currentValue.price) || 0);
786
- const currentNum = new import_decimal.default((currentValue == null ? void 0 : currentValue.num) || 0);
787
- return accumulator.add(currentPrice.mul(currentNum));
788
- }, price);
834
+ price = skuValue.option.reduce(
835
+ (accumulator, currentValue) => {
836
+ const currentPrice = new import_decimal.default((currentValue == null ? void 0 : currentValue.price) || 0);
837
+ const currentNum = new import_decimal.default((currentValue == null ? void 0 : currentValue.num) || 0);
838
+ return accumulator.add(currentPrice.mul(currentNum));
839
+ },
840
+ price
841
+ );
789
842
  }
790
843
  return price.toNumber();
791
844
  }
@@ -3,12 +3,12 @@
3
3
  * 固定弹窗高度,确保内部滚动容器有“可计算的最大高度”
4
4
  * 否则内容会把 modal 撑开,overflow-y: auto 无法生效(看起来就“滚不动”)
5
5
  */
6
- height: 684px;
6
+ height: 884px;
7
7
 
8
8
  // PisellModal(PC)内容容器:固定高度,内部 body 使用 flex 占满剩余空间
9
9
  .pisell-lowcode-modal-content {
10
- height: 684px;
11
- max-height: 684px!important;
10
+ height: 884px;
11
+ max-height: 884px!important;
12
12
  }
13
13
 
14
14
  // SkuDetailModal 内部使用自定义滚动容器(右侧内容区),避免整块 modal body 滚动
@@ -37,7 +37,7 @@
37
37
  flex: 1;
38
38
  min-height: 0;
39
39
  overflow-y: auto;
40
- max-height: 530px;
40
+ max-height: 730px;
41
41
  /**
42
42
  * @description
43
43
  * 让滚动条不要贴着内容(尤其是 macOS overlay scrollbar 会覆盖内容)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/private-materials",
3
- "version": "6.8.86",
3
+ "version": "6.8.87",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- declare const Example: React.FC;
3
- export default Example;
@@ -1,68 +0,0 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- import React, { useState } from 'react';
8
- import PisellNumberSelector from "./index";
9
- var Example = function Example() {
10
- var _useState = useState(1),
11
- _useState2 = _slicedToArray(_useState, 2),
12
- value1 = _useState2[0],
13
- setValue1 = _useState2[1];
14
- var _useState3 = useState(50),
15
- _useState4 = _slicedToArray(_useState3, 2),
16
- value2 = _useState4[0],
17
- setValue2 = _useState4[1];
18
- var _useState5 = useState(99),
19
- _useState6 = _slicedToArray(_useState5, 2),
20
- value3 = _useState6[0],
21
- setValue3 = _useState6[1];
22
- return /*#__PURE__*/React.createElement("div", {
23
- style: {
24
- padding: '20px',
25
- display: 'flex',
26
- flexDirection: 'column',
27
- gap: '20px'
28
- }
29
- }, /*#__PURE__*/React.createElement("h3", null, "PisellNumberSelector \u4F7F\u7528\u793A\u4F8B"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h4", null, "\u57FA\u7840\u7528\u6CD5"), /*#__PURE__*/React.createElement(PisellNumberSelector, {
30
- value: value1,
31
- onChange: setValue1,
32
- min: 0,
33
- max: 10,
34
- size: "middle"
35
- }), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C: ", value1)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h4", null, "\u4E0D\u540C\u5C3A\u5BF8"), /*#__PURE__*/React.createElement("div", {
36
- style: {
37
- display: 'flex',
38
- gap: '10px',
39
- alignItems: 'center'
40
- }
41
- }, /*#__PURE__*/React.createElement(PisellNumberSelector, {
42
- value: value2,
43
- onChange: setValue2,
44
- size: "small"
45
- }), /*#__PURE__*/React.createElement(PisellNumberSelector, {
46
- value: value2,
47
- onChange: setValue2,
48
- size: "middle"
49
- }), /*#__PURE__*/React.createElement(PisellNumberSelector, {
50
- value: value2,
51
- onChange: setValue2,
52
- size: "large"
53
- }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h4", null, "\u542F\u7528\u4EF7\u683C\u8C03\u6574\u529F\u80FD"), /*#__PURE__*/React.createElement(PisellNumberSelector, {
54
- value: value3,
55
- onChange: setValue3,
56
- min: 0,
57
- max: 999,
58
- size: "large",
59
- enablePriceAdjust: true,
60
- originValue: 100
61
- }), /*#__PURE__*/React.createElement("p", null, "\u70B9\u51FB\u6570\u5B57\u53EF\u4EE5\u6253\u5F00\u4EF7\u683C\u8C03\u6574\u9762\u677F"), /*#__PURE__*/React.createElement("p", null, "\u5F53\u524D\u503C: ", value3)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h4", null, "\u7981\u7528\u72B6\u6001"), /*#__PURE__*/React.createElement(PisellNumberSelector, {
62
- value: 50,
63
- onChange: function onChange() {},
64
- disabled: true,
65
- size: "middle"
66
- })));
67
- };
68
- export default Example;
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- declare const Example: React.FC;
3
- export default Example;
@@ -1,93 +0,0 @@
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/pro/pisellNumberSelector/example.tsx
30
- var example_exports = {};
31
- __export(example_exports, {
32
- default: () => example_default
33
- });
34
- module.exports = __toCommonJS(example_exports);
35
- var import_react = __toESM(require("react"));
36
- var import_index = __toESM(require("./index"));
37
- var Example = () => {
38
- const [value1, setValue1] = (0, import_react.useState)(1);
39
- const [value2, setValue2] = (0, import_react.useState)(50);
40
- const [value3, setValue3] = (0, import_react.useState)(99);
41
- return /* @__PURE__ */ import_react.default.createElement("div", { style: { padding: "20px", display: "flex", flexDirection: "column", gap: "20px" } }, /* @__PURE__ */ import_react.default.createElement("h3", null, "PisellNumberSelector 使用示例"), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("h4", null, "基础用法"), /* @__PURE__ */ import_react.default.createElement(
42
- import_index.default,
43
- {
44
- value: value1,
45
- onChange: setValue1,
46
- min: 0,
47
- max: 10,
48
- size: "middle"
49
- }
50
- ), /* @__PURE__ */ import_react.default.createElement("p", null, "当前值: ", value1)), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("h4", null, "不同尺寸"), /* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", gap: "10px", alignItems: "center" } }, /* @__PURE__ */ import_react.default.createElement(
51
- import_index.default,
52
- {
53
- value: value2,
54
- onChange: setValue2,
55
- size: "small"
56
- }
57
- ), /* @__PURE__ */ import_react.default.createElement(
58
- import_index.default,
59
- {
60
- value: value2,
61
- onChange: setValue2,
62
- size: "middle"
63
- }
64
- ), /* @__PURE__ */ import_react.default.createElement(
65
- import_index.default,
66
- {
67
- value: value2,
68
- onChange: setValue2,
69
- size: "large"
70
- }
71
- ))), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("h4", null, "启用价格调整功能"), /* @__PURE__ */ import_react.default.createElement(
72
- import_index.default,
73
- {
74
- value: value3,
75
- onChange: setValue3,
76
- min: 0,
77
- max: 999,
78
- size: "large",
79
- enablePriceAdjust: true,
80
- originValue: 100
81
- }
82
- ), /* @__PURE__ */ import_react.default.createElement("p", null, "点击数字可以打开价格调整面板"), /* @__PURE__ */ import_react.default.createElement("p", null, "当前值: ", value3)), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("h4", null, "禁用状态"), /* @__PURE__ */ import_react.default.createElement(
83
- import_index.default,
84
- {
85
- value: 50,
86
- onChange: () => {
87
- },
88
- disabled: true,
89
- size: "middle"
90
- }
91
- )));
92
- };
93
- var example_default = Example;