@pisell/materials 6.12.55 → 6.12.57
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.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +32 -32
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +32 -32
- package/es/components/PisellCards/index.d.ts +0 -1
- package/es/components/PisellFields/index.d.ts +0 -1
- package/es/components/PisellLayouts/index.d.ts +0 -1
- package/es/components/PisellMetrics/index.d.ts +0 -1
- package/es/components/appVersionControl/types.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.d.ts +0 -1
- package/es/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Checkbox/WithMode.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Radio/WithMode.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Select/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +0 -1
- package/es/components/dataSourceComponents/fields/Translation/type.d.ts +0 -1
- package/es/components/dataSourceComponents/provider/dataSource/DataSourceContext.d.ts +0 -1
- package/es/components/drag-sort-tree/types.d.ts +0 -1
- package/es/components/filter/components/FilterButton/types.d.ts +0 -1
- package/es/components/input/index.d.ts +0 -1
- package/es/components/list/index.d.ts +0 -1
- package/es/components/pisell-config-provider/context.d.ts +0 -1
- package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +0 -1
- package/es/components/pisellFloorMapLayout/components/FloorMapBuiltinShapeElement.d.ts +0 -1
- package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +0 -1
- package/es/components/pisellFloorMapLayout/components/FloorMapSelectionZoneElement.d.ts +0 -1
- package/es/components/pisellGridPro/ToolBar/type.d.ts +0 -1
- package/es/components/pisellInput/index.d.ts +0 -1
- package/es/components/pisellMenu/types.d.ts +0 -1
- package/es/components/pisellQuickFilter/type.d.ts +0 -1
- package/es/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +0 -1
- package/es/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +0 -1
- package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +0 -1
- package/es/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +0 -1
- package/es/components/pisellWalletPassCard/index.d.ts +2 -0
- package/es/components/pisellWalletPassCard/index.js +2 -2
- package/es/components/productCard/cartSkuCard/components/AmountFooter/index.js +2 -1
- package/es/components/productCard/cartSkuCard/components/Note/index.less +6 -2
- package/es/components/productCard/cartSkuCard/components/basicInfo/index.js +5 -4
- package/es/components/productCard/cartSkuCard/components/packages/index.js +5 -3
- package/es/components/productCard/cartSkuCard/components/specs/index.js +5 -3
- package/es/components/productCard/components/Packages/components/options/index.js +3 -2
- package/es/components/productCard/lineItem/index.js +16 -9
- package/es/components/section-footers/index.d.ts +0 -1
- package/es/components/virtual-keyboard/Amount/types.d.ts +0 -1
- package/lib/components/PisellBasicGrid/PisellBasicGrid.d.ts +0 -1
- package/lib/components/PisellCards/components/GraphicTextCard/GraphicTextCard.d.ts +0 -1
- package/lib/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +0 -1
- package/lib/components/PisellCards/components/TabCard/TabCard.d.ts +0 -1
- package/lib/components/PisellCards/components/TextCard/TextCard.d.ts +0 -1
- package/lib/components/PisellCards/index.d.ts +0 -1
- package/lib/components/PisellFields/index.d.ts +0 -1
- package/lib/components/PisellGroupView/PisellGroupView.d.ts +0 -1
- package/lib/components/PisellLayouts/index.d.ts +0 -1
- package/lib/components/PisellMetrics/index.d.ts +0 -1
- package/lib/components/appVersionControl/index.d.ts +0 -1
- package/lib/components/appVersionControl/types.d.ts +0 -1
- package/lib/components/auto-complete-number/index.d.ts +0 -1
- package/lib/components/badge/index.d.ts +0 -1
- package/lib/components/batch-editor/index.d.ts +0 -1
- package/lib/components/calendar/index.d.ts +0 -1
- package/lib/components/cardPro/index.d.ts +0 -1
- package/lib/components/checkbox/index.d.ts +0 -1
- package/lib/components/classicLayout/index.d.ts +0 -1
- package/lib/components/config-provider/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -1
- package/lib/components/dataSourceComponents/dataSourceWrapper/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Checkbox/WithMode.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Radio/WithMode.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Select/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +0 -1
- package/lib/components/dataSourceComponents/fields/Translation/type.d.ts +0 -1
- package/lib/components/dataSourceComponents/provider/dataSource/DataSourceContext.d.ts +0 -1
- package/lib/components/date-picker/index.d.ts +0 -1
- package/lib/components/drag-sort-tree/index.d.ts +0 -1
- package/lib/components/drag-sort-tree/types.d.ts +0 -1
- package/lib/components/dropdown/index.d.ts +0 -1
- package/lib/components/filter/components/FilterButton/types.d.ts +0 -1
- package/lib/components/filter/index.d.ts +0 -1
- package/lib/components/input/index.d.ts +0 -1
- package/lib/components/list/index.d.ts +0 -1
- package/lib/components/lowCodePage/index.d.ts +0 -1
- package/lib/components/page/index.d.ts +0 -1
- package/lib/components/pisell-config-provider/context.d.ts +0 -1
- package/lib/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
- package/lib/components/pisellAdjustPrice/index.d.ts +0 -1
- package/lib/components/pisellCard/index.d.ts +0 -1
- package/lib/components/pisellDatePicker/index.d.ts +0 -1
- package/lib/components/pisellFilter/index.d.ts +0 -1
- package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +0 -1
- package/lib/components/pisellFloorMapLayout/components/FloorMapBuiltinShapeElement.d.ts +0 -1
- package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +0 -1
- package/lib/components/pisellFloorMapLayout/components/FloorMapSelectionZoneElement.d.ts +0 -1
- package/lib/components/pisellGridPro/GridView/index.d.ts +0 -1
- package/lib/components/pisellGridPro/ToolBar/type.d.ts +0 -1
- package/lib/components/pisellInput/components/BankCard/index.d.ts +0 -1
- package/lib/components/pisellInput/components/Copy/index.d.ts +0 -1
- package/lib/components/pisellInput/components/SecurityCode/index.d.ts +0 -1
- package/lib/components/pisellInput/index.d.ts +0 -1
- package/lib/components/pisellLoading/index.d.ts +0 -1
- package/lib/components/pisellMenu/types.d.ts +0 -1
- package/lib/components/pisellQuickFilter/type.d.ts +0 -1
- package/lib/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +0 -1
- package/lib/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +0 -1
- package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +0 -1
- package/lib/components/pisellSort/index.d.ts +0 -1
- package/lib/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +0 -1
- package/lib/components/pisellTooltip/index.d.ts +0 -1
- package/lib/components/pisellUpload/index.d.ts +0 -1
- package/lib/components/pisellWalletPassCard/index.d.ts +2 -0
- package/lib/components/pisellWalletPassCard/index.js +2 -2
- package/lib/components/productCard/cartSkuCard/components/AmountFooter/index.js +2 -1
- package/lib/components/productCard/cartSkuCard/components/Note/index.less +6 -2
- package/lib/components/productCard/cartSkuCard/components/basicInfo/index.js +5 -4
- package/lib/components/productCard/cartSkuCard/components/packages/index.js +5 -3
- package/lib/components/productCard/cartSkuCard/components/specs/index.js +5 -3
- package/lib/components/productCard/components/Packages/components/options/index.js +3 -2
- package/lib/components/productCard/lineItem/index.js +16 -9
- package/lib/components/qrcode/index.d.ts +0 -1
- package/lib/components/radio/index.d.ts +0 -1
- package/lib/components/section-footers/index.d.ts +0 -1
- package/lib/components/segmented/index.d.ts +0 -1
- package/lib/components/select-time/index.d.ts +0 -1
- package/lib/components/skeleton/index.d.ts +0 -1
- package/lib/components/slider/index.d.ts +0 -1
- package/lib/components/time-picker/index.d.ts +0 -1
- package/lib/components/upload/index.d.ts +0 -1
- package/lib/components/versionSelect/index.d.ts +0 -1
- package/lib/components/virtual-keyboard/Amount/index.d.ts +0 -1
- package/lib/components/virtual-keyboard/Amount/types.d.ts +0 -1
- package/lib/components/virtual-keyboard/Number/index.d.ts +0 -1
- package/package.json +3 -3
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { PisellBasicCardProps } from "./types.js";
|
|
3
2
|
import { ImageDataSource, ImageFillMode, PisellImageCardProps } from "./components/PisellImageCard/types.js";
|
|
4
3
|
import { GraphicConfig, GraphicTextCardProps, GraphicTextCardSize, GraphicTextCardVariant } from "./components/GraphicTextCard/types.js";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { PisellBasicGridProps } from "../PisellBasicGrid/types.js";
|
|
3
2
|
import { PisellScrollViewProps, PisellScrollViewRef } from "../PisellScrollView/types.js";
|
|
4
3
|
import { FloorMapFullscreenMode, FloorMapItemBase, FloorMapLayoutContextValue, PisellFloorMapLayoutProps, PisellFloorMapLayoutRef } from "../pisellFloorMapLayout/types.js";
|
|
@@ -39,7 +39,7 @@ const PisellWalletPassCard = (props) => {
|
|
|
39
39
|
if (pressTimer) clearTimeout(pressTimer);
|
|
40
40
|
};
|
|
41
41
|
}, [pressTimer]);
|
|
42
|
-
const { id, type, code, qrCode, balance, disabledReason, name, storeName, redeem, validDate, disabled, active = false, cover, balanceTitle, redeemTitle, showCover = true, showDetail = true, showBalance = true, showRedeem = true, showName = true, showCode = true, showStoreName = true, showValidDate = true, showQrCode = true, showBalanceSymbol = true, showDisabledReason = true, showDiscount = false, discount, showActions, actions, beforeEdit, onBeforeEditAmount, onConfirmEdit, onConfirmEditAmount, onDetail, useExternalDetail = false, originData, style = {}, mode = "multiple", showActiveIcon, enableEditAmount, showStatus, cardStatus, nameTitleStyle, formatBalance, formatBalanceTitle, formatRedeem, formatRedeemTitle, maxRedeem, showHolderName = true, holder, onSetHolder, validDateBySchedule, scheduleList } = props;
|
|
42
|
+
const { id, type, code, qrCode, balance, formattedBalance, disabledReason, name, storeName, redeem, validDate, disabled, active = false, cover, balanceTitle, redeemTitle, showCover = true, showDetail = true, showBalance = true, showRedeem = true, showName = true, showCode = true, showStoreName = true, showValidDate = true, showQrCode = true, showBalanceSymbol = true, showDisabledReason = true, showDiscount = false, discount, showActions, actions, beforeEdit, onBeforeEditAmount, onConfirmEdit, onConfirmEditAmount, onDetail, useExternalDetail = false, originData, style = {}, mode = "multiple", showActiveIcon, enableEditAmount, showStatus, cardStatus, nameTitleStyle, formatBalance, formatBalanceTitle, formatRedeem, formatRedeemTitle, maxRedeem, showHolderName = true, holder, onSetHolder, validDateBySchedule, scheduleList } = props;
|
|
43
43
|
useEffect(() => {
|
|
44
44
|
document.body.id = "body";
|
|
45
45
|
}, []);
|
|
@@ -267,7 +267,7 @@ const PisellWalletPassCard = (props) => {
|
|
|
267
267
|
active,
|
|
268
268
|
data: props
|
|
269
269
|
}) : balanceTitle || getText("pisell-wallet-pass-card-balance"), disabled || isMini ? ": " : "");
|
|
270
|
-
const createOriginalBalanceDom = () => /* @__PURE__ */ React.createElement(Amount, {
|
|
270
|
+
const createOriginalBalanceDom = () => formattedBalance !== void 0 ? /* @__PURE__ */ React.createElement("span", { className: "pisell-card-amount-item-value" }, formattedBalance) : /* @__PURE__ */ React.createElement(Amount, {
|
|
271
271
|
className: "pisell-card-amount-item-value",
|
|
272
272
|
useThousandsSeparator: true,
|
|
273
273
|
value: balance,
|
|
@@ -8,9 +8,10 @@ import classNames from "classnames";
|
|
|
8
8
|
import "./index.less";
|
|
9
9
|
//#region src/components/productCard/cartSkuCard/components/AmountFooter/index.tsx
|
|
10
10
|
const Footer = ({ item, hideDivider, type, isOnlyTotal }) => {
|
|
11
|
-
const { total, origin_total, symbol, tip, num, discount_reason } = item;
|
|
11
|
+
const { total, origin_total, symbol, tip, num, discount_reason, amountFormatter } = item;
|
|
12
12
|
const weighingInfo = resolveWeighingSnapshot(item);
|
|
13
13
|
const formatFooterAmount = (amount, precision = 2) => {
|
|
14
|
+
if (amountFormatter) return amountFormatter(amount, precision);
|
|
14
15
|
if (!weighingInfo) return _formatAmount(amount, symbol, precision);
|
|
15
16
|
return formatAmountWithOptions(amount, symbol, {
|
|
16
17
|
precision,
|
|
@@ -10,15 +10,19 @@
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
&__note-text {
|
|
13
|
+
min-width: 0;
|
|
14
|
+
flex: 1;
|
|
15
|
+
overflow: hidden;
|
|
13
16
|
color: #101828;
|
|
14
17
|
font-size: 14px;
|
|
15
18
|
font-weight: 400;
|
|
16
19
|
line-height: 20px;
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
text-overflow: ellipsis;
|
|
21
|
+
white-space: nowrap;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
&__note-btn {
|
|
25
|
+
flex-shrink: 0;
|
|
22
26
|
color: var(--Blue-600, #1570ef);
|
|
23
27
|
font-weight: 600;
|
|
24
28
|
cursor: pointer;
|
|
@@ -10,7 +10,8 @@ import "./index.less";
|
|
|
10
10
|
//#region src/components/productCard/cartSkuCard/components/basicInfo/index.tsx
|
|
11
11
|
const BasicInfo = (props) => {
|
|
12
12
|
const { isShowImage, isShowQuantityBadge = true, dataSource = {}, style, isMainProduct, type, maxSpecsCount = 1, isBundle, showFooter, isShowOriginalPrice = false, isShowEditProduct = false, onEditProduct, disabledEditClick = false } = props;
|
|
13
|
-
const { image: image$1, bundle, options, product_option_string, name, price, symbol, total = 0, origin_total = 0, num = 1, holder_id, isFormSubject, totalDifference = 0 } = dataSource;
|
|
13
|
+
const { image: image$1, bundle, options, product_option_string, name, price, symbol, total = 0, origin_total = 0, num = 1, holder_id, isFormSubject, totalDifference = 0, amountFormatter } = dataSource;
|
|
14
|
+
const formatProductAmount = (value, precision = 2) => amountFormatter ? amountFormatter(value, precision) : formatAmount(value, precision, symbol);
|
|
14
15
|
const renderNumTag = () => {
|
|
15
16
|
return /* @__PURE__ */ React.createElement("div", { className: classNames(`num-tag`, { "is-main": isMainProduct }) }, num < 100 ? num : "99+");
|
|
16
17
|
};
|
|
@@ -32,7 +33,7 @@ const BasicInfo = (props) => {
|
|
|
32
33
|
};
|
|
33
34
|
const renderProductPrice = () => {
|
|
34
35
|
if (hasWeighingInfo) return null;
|
|
35
|
-
return
|
|
36
|
+
return formatProductAmount(price !== null && price !== void 0 ? price : 0);
|
|
36
37
|
};
|
|
37
38
|
const renderImage = () => {
|
|
38
39
|
if (!isShowImage) return null;
|
|
@@ -78,12 +79,12 @@ const BasicInfo = (props) => {
|
|
|
78
79
|
return /* @__PURE__ */ React.createElement("div", {
|
|
79
80
|
className: basicInfoClassName,
|
|
80
81
|
style: style || {}
|
|
81
|
-
}, isShowQuantityBadge ? renderNumTag() : null, renderImage(), !isShowImage || !image$1 && !name ? /* @__PURE__ */ React.createElement("div", { style: { width: 20 } }) : null, /* @__PURE__ */ React.createElement("div", { className: `product-info product-info-a9` }, /* @__PURE__ */ React.createElement("div", { className: `product-basic-info-wrap` }, /* @__PURE__ */ React.createElement("div", { className: `product-basic-info ${isBundle ? "row" : ""}` }, /* @__PURE__ */ React.createElement("div", { className: `product-name ${renderEdit ? "product-name-edit" : ""}` }, name), /* @__PURE__ */ React.createElement("div", { className: `product-price` }, /* @__PURE__ */ React.createElement("span", null, renderProductPrice()), _isShowOriginalPrice ? /* @__PURE__ */ React.createElement("span", { className: `original-price` },
|
|
82
|
+
}, isShowQuantityBadge ? renderNumTag() : null, renderImage(), !isShowImage || !image$1 && !name ? /* @__PURE__ */ React.createElement("div", { style: { width: 20 } }) : null, /* @__PURE__ */ React.createElement("div", { className: `product-info product-info-a9` }, /* @__PURE__ */ React.createElement("div", { className: `product-basic-info-wrap` }, /* @__PURE__ */ React.createElement("div", { className: `product-basic-info ${isBundle ? "row" : ""}` }, /* @__PURE__ */ React.createElement("div", { className: `product-name ${renderEdit ? "product-name-edit" : ""}` }, name), /* @__PURE__ */ React.createElement("div", { className: `product-price` }, /* @__PURE__ */ React.createElement("span", null, renderProductPrice()), _isShowOriginalPrice ? /* @__PURE__ */ React.createElement("span", { className: `original-price` }, formatProductAmount(origin_total)) : null)), renderProductMeta()), renderEdit));
|
|
82
83
|
}
|
|
83
84
|
return /* @__PURE__ */ React.createElement("div", {
|
|
84
85
|
className: basicInfoClassName,
|
|
85
86
|
style: style || {}
|
|
86
|
-
}, isShowQuantityBadge ? renderNumTag() : null, renderImage(), !isShowImage || !image$1 && !name ? /* @__PURE__ */ React.createElement("div", { style: { width: 20 } }) : null, /* @__PURE__ */ React.createElement("div", { className: `product-info` }, /* @__PURE__ */ React.createElement("div", { className: `product-name` }, name), hasProductMeta ? renderProductMeta() : /* @__PURE__ */ React.createElement("div", { className: `product-price` }, renderProductPrice())), /* @__PURE__ */ React.createElement("div", { className: `product-amount` }, /* @__PURE__ */ React.createElement("div", { className: `total-amont` },
|
|
87
|
+
}, isShowQuantityBadge ? renderNumTag() : null, renderImage(), !isShowImage || !image$1 && !name ? /* @__PURE__ */ React.createElement("div", { style: { width: 20 } }) : null, /* @__PURE__ */ React.createElement("div", { className: `product-info` }, /* @__PURE__ */ React.createElement("div", { className: `product-name` }, name), hasProductMeta ? renderProductMeta() : /* @__PURE__ */ React.createElement("div", { className: `product-price` }, renderProductPrice())), /* @__PURE__ */ React.createElement("div", { className: `product-amount` }, /* @__PURE__ */ React.createElement("div", { className: `total-amont` }, formatProductAmount(total * num - (totalDifference !== null && totalDifference !== void 0 ? totalDifference : 0))), origin_total && Number(total) !== Number(origin_total) ? /* @__PURE__ */ React.createElement("div", { className: `origin-amount` }, formatProductAmount(origin_total * num)) : null));
|
|
87
88
|
};
|
|
88
89
|
//#endregion
|
|
89
90
|
export { BasicInfo as default };
|
|
@@ -9,7 +9,7 @@ import { Divider } from "antd";
|
|
|
9
9
|
import "./index.less";
|
|
10
10
|
//#region src/components/productCard/cartSkuCard/components/packages/index.tsx
|
|
11
11
|
const Packages = ({ isShowImage, isShowQuantityBadge, dataSource = {}, type }) => {
|
|
12
|
-
const { bundle = [], symbol = "$" } = dataSource;
|
|
12
|
+
const { bundle = [], symbol = "$", amountFormatter } = dataSource;
|
|
13
13
|
const showFooter = useCallback((_bundle) => {
|
|
14
14
|
const { options = [], bundle = [] } = _bundle;
|
|
15
15
|
const hasSpecs = (bundle === null || bundle === void 0 ? void 0 : bundle.length) || (options === null || options === void 0 ? void 0 : options.length);
|
|
@@ -29,7 +29,8 @@ const Packages = ({ isShowImage, isShowQuantityBadge, dataSource = {}, type }) =
|
|
|
29
29
|
dataSource: _objectSpread2(_objectSpread2({}, item), {}, {
|
|
30
30
|
name: item.title,
|
|
31
31
|
image: item.cover,
|
|
32
|
-
symbol
|
|
32
|
+
symbol,
|
|
33
|
+
amountFormatter
|
|
33
34
|
}),
|
|
34
35
|
type,
|
|
35
36
|
isBundle: true,
|
|
@@ -37,7 +38,8 @@ const Packages = ({ isShowImage, isShowQuantityBadge, dataSource = {}, type }) =
|
|
|
37
38
|
}), showFooter(item) ? /* @__PURE__ */ React.createElement(Footer, {
|
|
38
39
|
item: _objectSpread2(_objectSpread2({}, item), {}, {
|
|
39
40
|
total: item === null || item === void 0 ? void 0 : item.price,
|
|
40
|
-
symbol: dataSource === null || dataSource === void 0 ? void 0 : dataSource.symbol
|
|
41
|
+
symbol: dataSource === null || dataSource === void 0 ? void 0 : dataSource.symbol,
|
|
42
|
+
amountFormatter
|
|
41
43
|
}),
|
|
42
44
|
hideDivider: false,
|
|
43
45
|
type: "total"
|
|
@@ -6,7 +6,8 @@ import "./index.less";
|
|
|
6
6
|
//#region src/components/productCard/cartSkuCard/components/specs/index.tsx
|
|
7
7
|
const Specs = (props) => {
|
|
8
8
|
const { dataSource = {}, maxSpecsCount = 1, type } = props;
|
|
9
|
-
const { bundle, options, product_option_string, symbol } = dataSource;
|
|
9
|
+
const { bundle, options, product_option_string, symbol, amountFormatter } = dataSource;
|
|
10
|
+
const formatSpecAmount = (value) => amountFormatter ? amountFormatter(value, 2) : `${symbol || ""}${value}`;
|
|
10
11
|
const more = /* @__PURE__ */ React.createElement("div", { className: `${PREFIX}__specs-more` }, locales.getText("pisell2.cart.sku-card.more"));
|
|
11
12
|
/**
|
|
12
13
|
* @description: 渲染多规格字符串
|
|
@@ -17,7 +18,8 @@ const Specs = (props) => {
|
|
|
17
18
|
};
|
|
18
19
|
if (type === "a9") return /* @__PURE__ */ React.createElement("div", { className: `${PREFIX}__specs-a9-wrap` }, product_option_string ? /* @__PURE__ */ React.createElement("div", { className: "option-string-wrap" }, renderOptionString()) : null, options && (options === null || options === void 0 ? void 0 : options.length) > 0 ? /* @__PURE__ */ React.createElement(Options, {
|
|
19
20
|
options,
|
|
20
|
-
amountSymbol: symbol
|
|
21
|
+
amountSymbol: symbol,
|
|
22
|
+
amountFormatter
|
|
21
23
|
}) : null);
|
|
22
24
|
if (Array.isArray(bundle) && (bundle === null || bundle === void 0 ? void 0 : bundle.length) > 0) {
|
|
23
25
|
const displayItems = bundle.slice(0, maxSpecsCount);
|
|
@@ -29,7 +31,7 @@ const Specs = (props) => {
|
|
|
29
31
|
return /* @__PURE__ */ React.createElement("div", { className: `${PREFIX}__specs` }, displayItems.map((item, index) => /* @__PURE__ */ React.createElement("div", {
|
|
30
32
|
className: "spec-item",
|
|
31
33
|
key: index
|
|
32
|
-
}, /* @__PURE__ */ React.createElement("span", { className: "spec-name" }, item.name), /* @__PURE__ */ React.createElement("span", { className: "spec-num" }, /* @__PURE__ */ React.createElement("span", null,
|
|
34
|
+
}, /* @__PURE__ */ React.createElement("span", { className: "spec-name" }, item.name), /* @__PURE__ */ React.createElement("span", { className: "spec-num" }, /* @__PURE__ */ React.createElement("span", null, formatSpecAmount(item.price)), /* @__PURE__ */ React.createElement("span", null), "x", /* @__PURE__ */ React.createElement("span", null, item.num)))), options.length > maxSpecsCount ? more : null);
|
|
33
35
|
}
|
|
34
36
|
return null;
|
|
35
37
|
};
|
|
@@ -3,12 +3,13 @@ import React from "react";
|
|
|
3
3
|
import "./index.less";
|
|
4
4
|
//#region src/components/productCard/components/Packages/components/options/index.tsx
|
|
5
5
|
const prefix = "pisell-lowcode-";
|
|
6
|
-
const Options = ({ options, amountSymbol }) => {
|
|
6
|
+
const Options = ({ options, amountSymbol, amountFormatter }) => {
|
|
7
|
+
const formatOptionAmount = (value) => amountFormatter ? amountFormatter(value, 2) : _formatAmount(value, amountSymbol);
|
|
7
8
|
return (options === null || options === void 0 ? void 0 : options.length) > 0 ? /* @__PURE__ */ React.createElement("div", { className: `${prefix}packages-product-bundle-option` }, options.map((option, index) => {
|
|
8
9
|
return /* @__PURE__ */ React.createElement("div", {
|
|
9
10
|
key: option.id,
|
|
10
11
|
className: `${prefix}packages-product-bundle-option-item`
|
|
11
|
-
}, /* @__PURE__ */ React.createElement("div", { className: `${prefix}packages-product-bundle-option-item-left` }, /* @__PURE__ */ React.createElement("span", null, option === null || option === void 0 ? void 0 : option.name), /* @__PURE__ */ React.createElement("div", { className: `${prefix}packages-product-bundle-option-item-left-amount` }, /* @__PURE__ */ React.createElement("span", null,
|
|
12
|
+
}, /* @__PURE__ */ React.createElement("div", { className: `${prefix}packages-product-bundle-option-item-left` }, /* @__PURE__ */ React.createElement("span", null, option === null || option === void 0 ? void 0 : option.name), /* @__PURE__ */ React.createElement("div", { className: `${prefix}packages-product-bundle-option-item-left-amount` }, /* @__PURE__ */ React.createElement("span", null, formatOptionAmount(option === null || option === void 0 ? void 0 : option.price)), /* @__PURE__ */ React.createElement("span", null, "×"), /* @__PURE__ */ React.createElement("span", null, option === null || option === void 0 ? void 0 : option.num))), /* @__PURE__ */ React.createElement("span", { className: `${prefix}packages-product-bundle-option-item-amount` }, formatOptionAmount((option === null || option === void 0 ? void 0 : option.price) * (option === null || option === void 0 ? void 0 : option.num))));
|
|
12
13
|
})) : null;
|
|
13
14
|
};
|
|
14
15
|
//#endregion
|
|
@@ -40,7 +40,9 @@ const _excluded = [
|
|
|
40
40
|
"onNote",
|
|
41
41
|
"onCard",
|
|
42
42
|
"onPromotion",
|
|
43
|
-
"onGift"
|
|
43
|
+
"onGift",
|
|
44
|
+
"symbol",
|
|
45
|
+
"amountFormatter"
|
|
44
46
|
];
|
|
45
47
|
const isBookingItem = (dataSource) => {
|
|
46
48
|
var _dataSource$_extend;
|
|
@@ -78,7 +80,7 @@ const convertBundleOption = (option, translationOriginal) => {
|
|
|
78
80
|
num: (_ref = (_option$num = option.num) !== null && _option$num !== void 0 ? _option$num : option.quantity) !== null && _ref !== void 0 ? _ref : 1
|
|
79
81
|
});
|
|
80
82
|
};
|
|
81
|
-
const convertBundle = (bundle, translationOriginal) => {
|
|
83
|
+
const convertBundle = (bundle, translationOriginal, amountFormatter) => {
|
|
82
84
|
const options = (bundle.option || []).map((option) => convertBundleOption(option, translationOriginal));
|
|
83
85
|
const bundlePrice = bundle.price_type === "markdown" && Number.isFinite(Number(bundle.price)) ? -Math.abs(Number(bundle.price)) : bundle.price;
|
|
84
86
|
return _objectSpread2(_objectSpread2({}, bundle), {}, {
|
|
@@ -95,6 +97,7 @@ const convertBundle = (bundle, translationOriginal) => {
|
|
|
95
97
|
custom_price_type_ext: bundle.price_type_ext,
|
|
96
98
|
options,
|
|
97
99
|
option: options,
|
|
100
|
+
amountFormatter,
|
|
98
101
|
_origin: bundle
|
|
99
102
|
});
|
|
100
103
|
};
|
|
@@ -146,10 +149,10 @@ const resolveA12Eyebrow = (product, translationOriginal) => {
|
|
|
146
149
|
(_categories$ = categories[0]) === null || _categories$ === void 0 ? void 0 : _categories$.name
|
|
147
150
|
], translationOriginal);
|
|
148
151
|
};
|
|
149
|
-
const convertProductToLineItemProduct = (product, translationOriginal, symbol) => {
|
|
152
|
+
const convertProductToLineItemProduct = (product, translationOriginal, symbol, amountFormatter) => {
|
|
150
153
|
var _product$metadata4, _ref3, _product$num, _ref4, _product$num2, _product$metadata5, _product$metadata6, _product$product_opti, _product$product_sku2, _product$discount_lis, _product$discount_lis2, _product$metadata7, _product$metadata8, _ref5, _product$num3;
|
|
151
154
|
const title = translateText(product.product_title || product.title, translationOriginal);
|
|
152
|
-
const bundle = (product.product_bundle || []).map((bundleItem) => convertBundle(bundleItem, translationOriginal));
|
|
155
|
+
const bundle = (product.product_bundle || []).map((bundleItem) => convertBundle(bundleItem, translationOriginal, amountFormatter));
|
|
153
156
|
const lineOriginTotal = resolveLineOriginTotal(product);
|
|
154
157
|
const lineOptions = mapLineItemOptions(resolveLineItemOptions(product), translationOriginal);
|
|
155
158
|
const a12Eyebrow = resolveA12Eyebrow(product, translationOriginal);
|
|
@@ -174,6 +177,7 @@ const convertProductToLineItemProduct = (product, translationOriginal, symbol) =
|
|
|
174
177
|
payment_price: product.payment_price,
|
|
175
178
|
tax_fee: product.tax_fee,
|
|
176
179
|
symbol,
|
|
180
|
+
amountFormatter,
|
|
177
181
|
note: product.note,
|
|
178
182
|
product_sku: product.product_sku,
|
|
179
183
|
product_bundle: bundle,
|
|
@@ -204,15 +208,16 @@ const convertProductToLineItemProduct = (product, translationOriginal, symbol) =
|
|
|
204
208
|
};
|
|
205
209
|
const LineItem = (props) => {
|
|
206
210
|
var _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _context$appHelper$ut4, _dataSource$_extend2, _dataSource$_extend4;
|
|
207
|
-
const { dataSource = defaultValue.dataSource, itemType, type = "a9", isShowBookingHeader, rightActions = [], rightActionsDisplay = "swipe", escapeDom, isShowImage = defaultValue.isShowImage, isShowDelete = defaultValue.isShowDelete, isShowInlineDelete = isShowDelete, isShowNote = defaultValue.isShowNote, isShowAmountFooter = defaultValue.isShowAmountFooter, disabledClick = defaultValue.disabledClick, disabledEdit = defaultValue.disabledEdit, disabledNoteEdit = disabledEdit, statusOptions = [], statusLoading = false, statusDisabled = false, isShowRelatedProduct = true, holderOptions, onBookingStatusChange, onAddTimeProductCard, a12UnsupportedFallback = "a9", onAction, onDelete, onNote, onCard, onPromotion, onGift } = props, other = _objectWithoutProperties(props, _excluded);
|
|
211
|
+
const { dataSource = defaultValue.dataSource, itemType, type = "a9", isShowBookingHeader, rightActions = [], rightActionsDisplay = "swipe", escapeDom, isShowImage = defaultValue.isShowImage, isShowDelete = defaultValue.isShowDelete, isShowInlineDelete = isShowDelete, isShowNote = defaultValue.isShowNote, isShowAmountFooter = defaultValue.isShowAmountFooter, disabledClick = defaultValue.disabledClick, disabledEdit = defaultValue.disabledEdit, disabledNoteEdit = disabledEdit, statusOptions = [], statusLoading = false, statusDisabled = false, isShowRelatedProduct = true, holderOptions, onBookingStatusChange, onAddTimeProductCard, a12UnsupportedFallback = "a9", onAction, onDelete, onNote, onCard, onPromotion, onGift, symbol: amountSymbol, amountFormatter } = props, other = _objectWithoutProperties(props, _excluded);
|
|
208
212
|
const itemKind = itemType || (isBookingItem(dataSource) ? "booking" : "product");
|
|
209
213
|
const context = useEngineContext();
|
|
210
214
|
const translationOriginal = useTranslationOriginal();
|
|
211
|
-
const symbol = context.appHelper.utils.getSymbolic();
|
|
215
|
+
const symbol = amountSymbol || context.appHelper.utils.getSymbolic();
|
|
212
216
|
const locale = ((_context$appHelper$ut = context.appHelper.utils) === null || _context$appHelper$ut === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut.getApp) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut2.call(_context$appHelper$ut)) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut2.locales) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut3 = _context$appHelper$ut2.getLocale) === null || _context$appHelper$ut3 === void 0 ? void 0 : _context$appHelper$ut3.call(_context$appHelper$ut2)) || ((_context$appHelper$ut4 = context.appHelper.utils) === null || _context$appHelper$ut4 === void 0 || (_context$appHelper$ut4 = _context$appHelper$ut4.storage) === null || _context$appHelper$ut4 === void 0 ? void 0 : _context$appHelper$ut4.get("umi_locale")) || "en-US";
|
|
213
217
|
useInitLocalesOnce(locales_default$1, locale);
|
|
214
218
|
useInitLocalesOnce(locales_default, locale);
|
|
215
|
-
const productDataSource = useMemo(() => itemKind === "product" ? convertProductToLineItemProduct(dataSource, translationOriginal, symbol) : null, [
|
|
219
|
+
const productDataSource = useMemo(() => itemKind === "product" ? convertProductToLineItemProduct(dataSource, translationOriginal, symbol, amountFormatter) : null, [
|
|
220
|
+
amountFormatter,
|
|
216
221
|
dataSource,
|
|
217
222
|
itemKind,
|
|
218
223
|
symbol,
|
|
@@ -221,16 +226,18 @@ const LineItem = (props) => {
|
|
|
221
226
|
const relatedProduct = dataSource === null || dataSource === void 0 || (_dataSource$_extend2 = dataSource._extend) === null || _dataSource$_extend2 === void 0 ? void 0 : _dataSource$_extend2.product;
|
|
222
227
|
const relatedProductDataSource = useMemo(() => {
|
|
223
228
|
if (!relatedProduct) return null;
|
|
224
|
-
return convertProductToLineItemProduct(relatedProduct, translationOriginal, symbol);
|
|
229
|
+
return convertProductToLineItemProduct(relatedProduct, translationOriginal, symbol, amountFormatter);
|
|
225
230
|
}, [
|
|
231
|
+
amountFormatter,
|
|
226
232
|
relatedProduct,
|
|
227
233
|
symbol,
|
|
228
234
|
translationOriginal
|
|
229
235
|
]);
|
|
230
236
|
const addTimeProductDataSources = useMemo(() => {
|
|
231
237
|
var _dataSource$_extend3;
|
|
232
|
-
return (Array.isArray(dataSource === null || dataSource === void 0 || (_dataSource$_extend3 = dataSource._extend) === null || _dataSource$_extend3 === void 0 ? void 0 : _dataSource$_extend3.addTimeProduct) ? dataSource._extend.addTimeProduct : []).map((item) => convertProductToLineItemProduct(item, translationOriginal, symbol));
|
|
238
|
+
return (Array.isArray(dataSource === null || dataSource === void 0 || (_dataSource$_extend3 = dataSource._extend) === null || _dataSource$_extend3 === void 0 ? void 0 : _dataSource$_extend3.addTimeProduct) ? dataSource._extend.addTimeProduct : []).map((item) => convertProductToLineItemProduct(item, translationOriginal, symbol, amountFormatter));
|
|
233
239
|
}, [
|
|
240
|
+
amountFormatter,
|
|
234
241
|
dataSource === null || dataSource === void 0 || (_dataSource$_extend4 = dataSource._extend) === null || _dataSource$_extend4 === void 0 ? void 0 : _dataSource$_extend4.addTimeProduct,
|
|
235
242
|
symbol,
|
|
236
243
|
translationOriginal
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { PisellBasicCardProps } from "./types.js";
|
|
3
2
|
import { ImageDataSource, ImageFillMode, PisellImageCardProps } from "./components/PisellImageCard/types.js";
|
|
4
3
|
import { GraphicConfig, GraphicTextCardProps, GraphicTextCardSize, GraphicTextCardVariant } from "./components/GraphicTextCard/types.js";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { PisellBasicGridProps } from "../PisellBasicGrid/types.js";
|
|
3
2
|
import { PisellScrollViewProps, PisellScrollViewRef } from "../PisellScrollView/types.js";
|
|
4
3
|
import { FloorMapFullscreenMode, FloorMapItemBase, FloorMapLayoutContextValue, PisellFloorMapLayoutProps, PisellFloorMapLayoutRef } from "../pisellFloorMapLayout/types.js";
|