@pisell/materials 1.0.487 → 1.0.488

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 (71) 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 +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +26 -26
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +17 -17
  11. package/dist/umd/materials.min.css +1 -0
  12. package/dist/umd/materials.min.js +1 -0
  13. package/dist/umd/static/DotsSix.57d66266.svg +1 -0
  14. package/dist/umd/static/arrow-left.e542294f.svg +1 -0
  15. package/dist/umd/static/arrow-right.763f03e0.svg +1 -0
  16. package/dist/umd/static/filter-lines.04a54ae9.svg +1 -0
  17. package/dist/umd/static/help-circle.31c9be40.svg +1 -0
  18. package/dist/umd/static/switch-vertical-01.7ebe3ba8.svg +1 -0
  19. package/es/components/collapse/index.js +27 -4
  20. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
  21. package/es/components/dataSourceComponents/fields/ColorPicker/index.d.ts +1 -1
  22. package/es/components/dataSourceComponents/fields/index.d.ts +1 -1
  23. package/es/components/productCard/components/Action/index.js +1 -1
  24. package/es/components/productCard/components/AmountFooter/index.d.ts +1 -1
  25. package/es/components/productCard/components/AmountFooter/index.js +30 -10
  26. package/es/components/productCard/components/AmountFooter/index.less +11 -0
  27. package/es/components/productCard/components/Header/index.js +22 -14
  28. package/es/components/productCard/components/MultiDay/index.d.ts +4 -0
  29. package/es/components/productCard/components/MultiDay/index.js +81 -0
  30. package/es/components/productCard/components/MultiDay/index.less +34 -0
  31. package/es/components/productCard/components/Packages/components/collapsibleList/utils.js +11 -5
  32. package/es/components/productCard/components/Packages/components/options/index.js +2 -2
  33. package/es/components/productCard/components/Packages/index.js +1 -2
  34. package/es/components/productCard/components/Sales/index.js +2 -2
  35. package/es/components/productCard/components/Time/index.js +15 -13
  36. package/es/components/productCard/index.d.ts +1 -1
  37. package/es/components/productCard/index.js +34 -20
  38. package/es/components/productCard/index.less +3 -2
  39. package/es/components/productCard/status.d.ts +24 -1
  40. package/es/components/productCard/status.js +52 -2
  41. package/es/components/productCard/types.d.ts +60 -1
  42. package/es/components/productCard/utils.d.ts +10 -144
  43. package/es/components/productCard/utils.js +36 -673
  44. package/es/components/table/Table/utils.d.ts +1 -1
  45. package/lib/components/collapse/index.js +30 -4
  46. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
  47. package/lib/components/dataSourceComponents/fields/ColorPicker/index.d.ts +1 -1
  48. package/lib/components/dataSourceComponents/fields/index.d.ts +1 -1
  49. package/lib/components/productCard/components/Action/index.js +1 -1
  50. package/lib/components/productCard/components/AmountFooter/index.d.ts +1 -1
  51. package/lib/components/productCard/components/AmountFooter/index.js +33 -9
  52. package/lib/components/productCard/components/AmountFooter/index.less +11 -0
  53. package/lib/components/productCard/components/Header/index.js +16 -8
  54. package/lib/components/productCard/components/MultiDay/index.d.ts +4 -0
  55. package/lib/components/productCard/components/MultiDay/index.js +77 -0
  56. package/lib/components/productCard/components/MultiDay/index.less +34 -0
  57. package/lib/components/productCard/components/Packages/components/collapsibleList/utils.js +2 -1
  58. package/lib/components/productCard/components/Packages/components/options/index.js +2 -2
  59. package/lib/components/productCard/components/Packages/index.js +1 -1
  60. package/lib/components/productCard/components/Sales/index.js +1 -2
  61. package/lib/components/productCard/components/Time/index.js +14 -11
  62. package/lib/components/productCard/index.d.ts +1 -1
  63. package/lib/components/productCard/index.js +32 -20
  64. package/lib/components/productCard/index.less +3 -2
  65. package/lib/components/productCard/status.d.ts +24 -1
  66. package/lib/components/productCard/status.js +35 -2
  67. package/lib/components/productCard/types.d.ts +60 -1
  68. package/lib/components/productCard/utils.d.ts +10 -144
  69. package/lib/components/productCard/utils.js +30 -567
  70. package/lib/components/table/Table/utils.d.ts +1 -1
  71. package/package.json +3 -3
@@ -167,7 +167,7 @@ export declare const getSettingKeyArrByMode: ({ filter, columnSetting, dataSourc
167
167
  sort?: SortType | undefined;
168
168
  mode: "" | "localStorage" | "remote";
169
169
  currentViewMode: ModeType;
170
- }) => ("view_mode" | "column_setting" | "order_by" | "group_by" | "gallery_setting" | "filter_setting")[];
170
+ }) => ("filter_setting" | "column_setting" | "gallery_setting" | "view_mode" | "group_by" | "order_by")[];
171
171
  export declare const omit: (obj: Record<string, any>, keys: string[]) => Record<string, any>;
172
172
  export declare const stringify: (obj: Record<string, any>) => string;
173
173
  export {};
@@ -34,7 +34,28 @@ __export(collapse_exports, {
34
34
  module.exports = __toCommonJS(collapse_exports);
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_antd = require("antd");
37
+ var import_styled_components = __toESM(require("styled-components"));
37
38
  var import_index = require("./index.less");
39
+ var CustomCollapse = (0, import_styled_components.default)(import_antd.Collapse)`
40
+ &.custom-collapse {
41
+ background-color: ${(props) => props.panelBackground || "#ffffff"};
42
+ }
43
+
44
+ // .ant-collapse-item {
45
+ // background-color: ${(props) => props.panelBackground || "#ffffff"};
46
+ // margin-bottom: ${(props) => props.panelMarginBottom || "0"};
47
+ // border-radius: ${(props) => props.panelBorderRadius || "0"};
48
+ // }
49
+
50
+ // .pisell-lowcode-collapse-header {
51
+ // background-color: ${(props) => props.panelBackground || "#ffffff"};
52
+ // border-radius: ${(props) => props.panelBorderRadius || "0"} !important;
53
+ // }
54
+
55
+ .pisell-lowcode-collapse-content {
56
+ background-color: ${(props) => props.panelBackground || "#ffffff"};
57
+ }
58
+ `;
38
59
  var Collapse = (props) => {
39
60
  const {
40
61
  panelBackground,
@@ -66,16 +87,21 @@ var Collapse = (props) => {
66
87
  },
67
88
  item == null ? void 0 : item.label
68
89
  ) : null,
69
- style: panelStyle
90
+ children: item.children,
91
+ className: "custom-collapse-panel"
70
92
  };
71
93
  });
72
- }, [items, headerColor, showHeader, headerFontSize, panelStyle]);
94
+ }, [items, headerColor, showHeader, headerFontSize]);
73
95
  return /* @__PURE__ */ import_react.default.createElement(
74
- import_antd.Collapse,
96
+ CustomCollapse,
75
97
  {
76
98
  ...rest,
77
99
  expandIcon: expandIcon ? () => expandIcon : void 0,
78
- items: itemsMap
100
+ items: itemsMap,
101
+ className: "custom-collapse",
102
+ panelBackground,
103
+ panelMarginBottom,
104
+ panelBorderRadius
79
105
  }
80
106
  );
81
107
  };
@@ -16,7 +16,7 @@ interface UseTablePropsProps {
16
16
  * @returns
17
17
  */
18
18
  declare const useTableProps: (props: UseTablePropsProps) => {
19
- title: number | boolean | Iterable<React.ReactNode> | React.JSX.Element | (() => React.ReactNode) | null | undefined;
19
+ title: number | boolean | React.JSX.Element | Iterable<React.ReactNode> | (() => React.ReactNode) | null | undefined;
20
20
  pagination: {
21
21
  total: number;
22
22
  current: number;
@@ -25,7 +25,7 @@ declare const useTableProps: (props: UseTablePropsProps) => {
25
25
  showSizeChanger: boolean;
26
26
  };
27
27
  columns: import("./useColumns").Column[];
28
- subTitle: number | boolean | Iterable<React.ReactNode> | React.JSX.Element | (() => React.ReactNode) | null | undefined;
28
+ subTitle: number | boolean | React.JSX.Element | Iterable<React.ReactNode> | (() => React.ReactNode) | null | undefined;
29
29
  buttons: any[] | null;
30
30
  filter: React.JSX.Element | null;
31
31
  onRow: (record: any) => any;
@@ -58,7 +58,7 @@ declare const useTableProps: (props: UseTablePropsProps) => {
58
58
  useCustomAction: boolean;
59
59
  actionType: string;
60
60
  openMode: "modal" | "drawer";
61
- openContentSize: "small" | "large" | "middle";
61
+ openContentSize: "small" | "middle" | "large";
62
62
  openTitle: string;
63
63
  key: string;
64
64
  } | undefined;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const ColorPicker: React.FC<import("antd").ColorPickerProps & import("../../dataSourceForm/utils").WithModeProps & import("../../dataSourceForm/utils").WithFormItemProps>;
2
+ declare const ColorPicker: React.FC<import("./type").ColorPickerProps & import("../../dataSourceForm/utils").WithModeProps & import("../../dataSourceForm/utils").WithFormItemProps>;
3
3
  export default ColorPicker;
@@ -39,7 +39,7 @@ declare const formFieldMap: {
39
39
  FormItemDateRangePicker: import("react").FC<import("./DateRangePicker/type").DateRangePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
40
40
  FormItemUpload: import("react").FC<import("./Upload/type").UploadProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
41
41
  };
42
- declare const getFieldComponent: (fieldComponent: string) => import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps> | import("react").FC<any> | (import("react").FC<{}> & {
42
+ declare const getFieldComponent: (fieldComponent: string) => import("react").FC<any> | import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps> | (import("react").FC<{}> & {
43
43
  Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;
44
44
  } & {
45
45
  Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;
@@ -49,7 +49,7 @@ var Action = ({ item, onAction }) => {
49
49
  onAction();
50
50
  }
51
51
  },
52
- item._actionText
52
+ item.actionText
53
53
  ));
54
54
  };
55
55
  var Action_default = Action;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import './index.less';
3
- declare const Footer: ({ item, hideDivider, type }: any) => React.JSX.Element;
3
+ declare const Footer: ({ item, hideDivider, type, isOnlyTotal }: any) => React.JSX.Element;
4
4
  export default Footer;
@@ -34,28 +34,52 @@ __export(AmountFooter_exports, {
34
34
  module.exports = __toCommonJS(AmountFooter_exports);
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_classnames = __toESM(require("classnames"));
37
+ var import_antd = require("antd");
38
+ var import_icons = require("@ant-design/icons");
37
39
  var import_utils = require("../Packages/utils");
38
40
  var import_Divider = __toESM(require("../Divider"));
39
41
  var import_index = require("./index.less");
40
42
  var import_utils2 = require("@pisell/utils");
41
43
  var prefix = "pisell-lowcode-";
42
- var Footer = ({ item, hideDivider, type }) => {
43
- var _a, _b;
44
+ var Footer = ({ item, hideDivider, type, isOnlyTotal }) => {
45
+ const { total, origin_total, symbol, tip, num, discount_reason } = item;
44
46
  const isDiscount = (0, import_react.useMemo)(() => {
45
- if (!(item == null ? void 0 : item.hasOwnProperty("origin_total")))
47
+ if (!origin_total)
46
48
  return false;
47
- return Number(item == null ? void 0 : item.total) != Number(item == null ? void 0 : item.origin_total);
48
- }, [item]);
49
+ return Number(total) != Number(origin_total);
50
+ }, [total, origin_total]);
49
51
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, !hideDivider ? /* @__PURE__ */ import_react.default.createElement(import_Divider.default, { type: type !== "total" ? "inside" : "" }) : null, /* @__PURE__ */ import_react.default.createElement(
50
52
  "div",
51
53
  {
52
54
  className: (0, import_classnames.default)(
53
55
  `${prefix}packages-product-footer`,
54
- hideDivider && `${prefix}packages-product-hide-divider-footer`
56
+ hideDivider && `${prefix}packages-product-hide-divider-footer`,
57
+ isOnlyTotal && `${prefix}packages-product-only-total-footer`
55
58
  )
56
59
  },
57
- /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)(item == null ? void 0 : item.total, item == null ? void 0 : item.symbol)), /* @__PURE__ */ import_react.default.createElement("span", null, `×${item == null ? void 0 : item.num}`), /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefix}packages-product-footer-total` }, (0, import_utils._formatAmount)((item == null ? void 0 : item.total) * (item == null ? void 0 : item.num), item == null ? void 0 : item.symbol))),
58
- isDiscount ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-footer-discount` }, /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)(item == null ? void 0 : item.origin_total, item == null ? void 0 : item.symbol)), /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)((item == null ? void 0 : item.origin_total) * (item == null ? void 0 : item.num), item == null ? void 0 : item.symbol, 2))) : null
59
- ), isDiscount && ((_a = item._extend) == null ? void 0 : _a.discount_reason) && type === "total" ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Divider.default, null), /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-item-discount-reason` }, /* @__PURE__ */ import_react.default.createElement("span", null, `${import_utils2.locales.getText("pisell2.product.card.discount.reason")}: ${(_b = item._extend) == null ? void 0 : _b.discount_reason}`))) : null);
60
+ /* @__PURE__ */ import_react.default.createElement(
61
+ "div",
62
+ {
63
+ className: (0, import_classnames.default)(`${prefix}packages-product-footer-price-wrap`)
64
+ },
65
+ !isOnlyTotal ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
66
+ "div",
67
+ {
68
+ className: (0, import_classnames.default)(`${prefix}packages-product-footer-price`)
69
+ },
70
+ /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)(total, symbol)),
71
+ tip ? /* @__PURE__ */ import_react.default.createElement(import_antd.Tooltip, { title: import_utils2.locales.getText(tip), destroyTooltipOnHide: true }, /* @__PURE__ */ import_react.default.createElement(
72
+ import_icons.QuestionCircleOutlined,
73
+ {
74
+ style: { fontSize: "16px", color: "#1570ef" }
75
+ }
76
+ )) : null
77
+ ), /* @__PURE__ */ import_react.default.createElement("span", null, `×${num}`)) : null,
78
+ /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefix}packages-product-footer-total` }, (0, import_utils._formatAmount)(total * num, symbol))
79
+ ),
80
+ isDiscount ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-footer-discount` }, !isOnlyTotal ? /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)(origin_total, symbol)) : null, /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)(origin_total * num, symbol, 2))) : null
81
+ ), isDiscount && discount_reason && type === "total" ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Divider.default, null), /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-item-discount-reason` }, /* @__PURE__ */ import_react.default.createElement("span", null, `${import_utils2.locales.getText(
82
+ "pisell2.product.card.discount.reason"
83
+ )}: ${discount_reason}`))) : null);
60
84
  };
61
85
  var AmountFooter_default = Footer;
@@ -12,6 +12,17 @@
12
12
  justify-content: space-between;
13
13
  }
14
14
  }
15
+ &-packages-product-only-total-footer {
16
+ > div {
17
+ justify-content: end !important;
18
+ }
19
+ }
20
+
21
+ &-packages-product-footer-price {
22
+ display: flex;
23
+ align-items: center;
24
+ gap: 4px;
25
+ }
15
26
 
16
27
  &-packages-product-footer-discount {
17
28
  font-size: 12px;
@@ -42,14 +42,22 @@ var import_index = require("./index.less");
42
42
  var prefix = "pisell-lowcode-";
43
43
  var Header = (props) => {
44
44
  const { isShowDelete, item, showImage, onDelete, disabledEdit } = props;
45
+ const {
46
+ id,
47
+ options,
48
+ bundle,
49
+ product_option_string,
50
+ image,
51
+ name,
52
+ price,
53
+ symbol
54
+ } = item;
45
55
  const showPrice = (0, import_react.useMemo)(() => {
46
- var _a, _b;
47
- return ((_a = item == null ? void 0 : item.bundle) == null ? void 0 : _a.length) > 0 || ((_b = item == null ? void 0 : item.options) == null ? void 0 : _b.length) > 0;
48
- }, [item == null ? void 0 : item.bundle, item == null ? void 0 : item.options]);
56
+ return (bundle == null ? void 0 : bundle.length) > 0 || (options == null ? void 0 : options.length) > 0;
57
+ }, [bundle, options]);
49
58
  const headerCenterStyle = (0, import_react.useMemo)(() => {
50
- var _a;
51
- return ((_a = item == null ? void 0 : item.options) == null ? void 0 : _a.length) > 0 || (item == null ? void 0 : item.product_option_string);
52
- }, [item == null ? void 0 : item.options, item == null ? void 0 : item.product_option_string]);
59
+ return (options == null ? void 0 : options.length) > 0 || product_option_string;
60
+ }, [options, product_option_string]);
53
61
  return /* @__PURE__ */ import_react.default.createElement(
54
62
  "div",
55
63
  {
@@ -72,11 +80,11 @@ var Header = (props) => {
72
80
  showImage ? /* @__PURE__ */ import_react.default.createElement(
73
81
  "img",
74
82
  {
75
- src: import_utils.image.ali(item.cover, 64),
83
+ src: import_utils.image.ali(image, 64),
76
84
  className: `${prefix}product-header-cover`
77
85
  }
78
86
  ) : null,
79
- (item == null ? void 0 : item.id) ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-right-wrap` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-title` }, /* @__PURE__ */ import_react.default.createElement("span", null, item == null ? void 0 : item.title), showPrice ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefix}product-title-price` }, (0, import_utils.formatAmount)(item == null ? void 0 : item.price, 2, item == null ? void 0 : item.symbol)) : null), (item == null ? void 0 : item.product_option_string) ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefix}product-title-variant` }, item == null ? void 0 : item.product_option_string) : null, /* @__PURE__ */ import_react.default.createElement(import_options.default, { options: item == null ? void 0 : item.options, amountSymbol: item == null ? void 0 : item.symbol })) : null
87
+ id ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-right-wrap` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-title` }, /* @__PURE__ */ import_react.default.createElement("span", null, name), showPrice ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefix}product-title-price` }, (0, import_utils.formatAmount)(price, 2, symbol)) : null), product_option_string ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefix}product-title-variant` }, product_option_string) : null, /* @__PURE__ */ import_react.default.createElement(import_options.default, { options, amountSymbol: symbol })) : null
80
88
  );
81
89
  };
82
90
  var Header_default = Header;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ declare const MultiDay: ({ dataSource, hideDivider }: any) => React.JSX.Element;
4
+ export default MultiDay;
@@ -0,0 +1,77 @@
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/productCard/components/MultiDay/index.tsx
30
+ var MultiDay_exports = {};
31
+ __export(MultiDay_exports, {
32
+ default: () => MultiDay_default
33
+ });
34
+ module.exports = __toCommonJS(MultiDay_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_classnames = __toESM(require("classnames"));
37
+ var import_Divider = __toESM(require("../Divider"));
38
+ var import_AmountFooter = __toESM(require("../AmountFooter"));
39
+ var import_utils = require("../../utils");
40
+ var import_useEngineContext = __toESM(require("../../../../hooks/useEngineContext"));
41
+ var import_index = require("./index.less");
42
+ var prefix = "pisell-lowcode-";
43
+ var MultiDay = ({ dataSource, hideDivider }) => {
44
+ var _a, _b;
45
+ const { items, symbol, locale } = dataSource;
46
+ let translationOriginal = (text) => "";
47
+ const context = (0, import_useEngineContext.default)();
48
+ translationOriginal = (_b = (_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) == null ? void 0 : _b.translationOriginal;
49
+ const lists = (0, import_react.useMemo)(() => {
50
+ if (!(items == null ? void 0 : items.length))
51
+ return [];
52
+ const _lists = items.map((m) => {
53
+ return {
54
+ ...m
55
+ // tip: `${symbol}${price}=${name} (${symbol}${m?.total})+${bundleDetails}`,
56
+ };
57
+ });
58
+ return _lists;
59
+ }, [items]);
60
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(`${prefix}multi-day-wrap`) }, lists == null ? void 0 : lists.map((m, index) => {
61
+ return /* @__PURE__ */ import_react.default.createElement("div", { key: index }, /* @__PURE__ */ import_react.default.createElement(import_Divider.default, { type: "inside" }), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(`${prefix}multi-day`) }, /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_utils.formatMultiDayDate)({ ...m, locale })), /* @__PURE__ */ import_react.default.createElement(
62
+ import_AmountFooter.default,
63
+ {
64
+ item: { ...m, symbol },
65
+ hideDivider: true
66
+ }
67
+ )));
68
+ }), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(`${prefix}multi-day-total-wrap`) }, /* @__PURE__ */ import_react.default.createElement(
69
+ import_AmountFooter.default,
70
+ {
71
+ item: { ...dataSource, num: 1 },
72
+ type: "total",
73
+ isOnlyTotal: true
74
+ }
75
+ )));
76
+ };
77
+ var MultiDay_default = MultiDay;
@@ -0,0 +1,34 @@
1
+ @pisell-prefix: pisell-lowcode;
2
+
3
+ .@{pisell-prefix} {
4
+ &-multi-day-wrap {
5
+ margin-top: 16px;
6
+ }
7
+
8
+ &-multi-day {
9
+ color: var(--Gray-500, #667085);
10
+ font-size: 14px;
11
+ font-weight: 400;
12
+ line-height: 20px;
13
+ display: flex;
14
+ flex-direction: column;
15
+ }
16
+
17
+ &-multi-day-total {
18
+ color: var(--Gray-900, #101828);
19
+ text-align: right;
20
+ font-size: 14px;
21
+ font-weight: 600;
22
+ line-height: 20px;
23
+ display: flex;
24
+ flex-direction: column;
25
+ }
26
+
27
+ &-multi-day-total-discount {
28
+ font-size: 12px;
29
+ font-weight: 400;
30
+ line-height: 18px;
31
+ text-decoration-line: line-through;
32
+ color: var(--Gray-500, #667085);
33
+ }
34
+ }
@@ -44,7 +44,8 @@ var renderBundles = (item, hidePrice, isShowPackageNote) => {
44
44
  let translationOriginal = (text) => "";
45
45
  const context = (0, import_useEngineContext.default)();
46
46
  translationOriginal = (_b = (_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) == null ? void 0 : _b.translationOriginal;
47
- return /* @__PURE__ */ import_react.default.createElement("div", { key: item.id, className: `${prefix}packages-product-bundle-item` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-bundle-info` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-bundle-info-title` }, translationOriginal(item == null ? void 0 : item.title)), !hidePrice ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-bundle-info-num` }, (0, import_utils._formatAmount)(item == null ? void 0 : item.price, item == null ? void 0 : item.symbol)) : null), /* @__PURE__ */ import_react.default.createElement(import_options.default, { options: item == null ? void 0 : item.option, amountSymbol: item == null ? void 0 : item.symbol }), /* @__PURE__ */ import_react.default.createElement(import_AmountFooter.default, { item }), isShowPackageNote ? /* @__PURE__ */ import_react.default.createElement(import_Note.default, { item, type: "inside" }) : null);
47
+ const { title, name, id, price, symbol, option } = item;
48
+ return /* @__PURE__ */ import_react.default.createElement("div", { key: id, className: `${prefix}packages-product-bundle-item` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-bundle-info` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-bundle-info-title` }, translationOriginal(title || name)), !hidePrice ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}packages-product-bundle-info-num` }, (0, import_utils._formatAmount)(price, symbol)) : null), /* @__PURE__ */ import_react.default.createElement(import_options.default, { options: option, amountSymbol: symbol }), /* @__PURE__ */ import_react.default.createElement(import_AmountFooter.default, { item }), isShowPackageNote ? /* @__PURE__ */ import_react.default.createElement(import_Note.default, { item, type: "inside" }) : null);
48
49
  };
49
50
  // Annotate the CommonJS export names for ESM import in node:
50
51
  0 && (module.exports = {
@@ -55,7 +55,7 @@ var Options = ({ options, amountSymbol }) => {
55
55
  {
56
56
  className: `${prefix}packages-product-bundle-option-item-left-amount`
57
57
  },
58
- /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)(option == null ? void 0 : option.add_price, amountSymbol)),
58
+ /* @__PURE__ */ import_react.default.createElement("span", null, (0, import_utils._formatAmount)(option == null ? void 0 : option.price, amountSymbol)),
59
59
  /* @__PURE__ */ import_react.default.createElement("span", null, "×"),
60
60
  /* @__PURE__ */ import_react.default.createElement("span", null, option == null ? void 0 : option.num)
61
61
  )
@@ -65,7 +65,7 @@ var Options = ({ options, amountSymbol }) => {
65
65
  {
66
66
  className: `${prefix}packages-product-bundle-option-item-amount`
67
67
  },
68
- (0, import_utils._formatAmount)((option == null ? void 0 : option.add_price) * (option == null ? void 0 : option.num), amountSymbol)
68
+ (0, import_utils._formatAmount)((option == null ? void 0 : option.price) * (option == null ? void 0 : option.num), amountSymbol)
69
69
  )
70
70
  );
71
71
  })) : null;
@@ -46,7 +46,7 @@ var Packages = ({ item, isShowPackageNote }) => {
46
46
  {
47
47
  list: bundle || [],
48
48
  renderItem: (items) => (0, import_utils2.renderBundles)(
49
- { ...items, symbol: item == null ? void 0 : item.symbol, total: items == null ? void 0 : items.price },
49
+ { ...items, symbol: item == null ? void 0 : item.symbol },
50
50
  false,
51
51
  isShowPackageNote
52
52
  )
@@ -38,8 +38,7 @@ var import_utils = require("../Packages/components/collapsibleList/utils");
38
38
  var import_index = require("./index.less");
39
39
  var prefix = "pisell-lowcode-";
40
40
  var Sales = ({ item, isShowNote }) => {
41
- var _a;
42
- let other_products = ((_a = item == null ? void 0 : item._extend) == null ? void 0 : _a.relation_details) || [];
41
+ let other_products = (item == null ? void 0 : item.relation_products) || [];
43
42
  other_products = other_products.map((p) => {
44
43
  return {
45
44
  ...p,
@@ -39,26 +39,29 @@ var import_Like = __toESM(require("./components/Like"));
39
39
  var import_index = require("./index.less");
40
40
  var prefix = "pisell-lowcode-";
41
41
  var Time = ({ item, isShowHolder, onLike }) => {
42
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
42
+ const {
43
+ start_date,
44
+ end_date,
45
+ holder_title,
46
+ resource_id,
47
+ relation_form_name,
48
+ like_status
49
+ } = item;
43
50
  const isShow = (0, import_react.useMemo)(() => {
44
- var _a2, _b2, _c2, _d2, _e2;
45
- return ((_b2 = (_a2 = item == null ? void 0 : item._extend) == null ? void 0 : _a2.date) == null ? void 0 : _b2.value) || isShowHolder && ((_c2 = item == null ? void 0 : item._extend) == null ? void 0 : _c2.holder_title) || ((_d2 = item == null ? void 0 : item._extend) == null ? void 0 : _d2.resource) || ((_e2 = item == null ? void 0 : item._extend) == null ? void 0 : _e2.relation_form_name);
46
- }, [item == null ? void 0 : item._extend, isShowHolder]);
47
- return isShow ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Divider.default, null), /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-time-wrap` }, ((_b = (_a = item == null ? void 0 : item._extend) == null ? void 0 : _a.date) == null ? void 0 : _b.value) ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-date` }, (0, import_utils.getServiceTime)(item, (_c = item._extend) == null ? void 0 : _c.start_date)) : null, isShowHolder && ((_d = item == null ? void 0 : item._extend) == null ? void 0 : _d.holder_title) ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-holder-wrap` }, item._extend.holder_title) : null, ((_e = item == null ? void 0 : item._extend) == null ? void 0 : _e.resource) || ((_f = item == null ? void 0 : item._extend) == null ? void 0 : _f.relation_form_name) ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-technician` }, ((_g = item == null ? void 0 : item._extend) == null ? void 0 : _g.resource) ? /* @__PURE__ */ import_react.default.createElement(
51
+ return start_date && end_date || isShowHolder && holder_title || resource_id || relation_form_name;
52
+ }, [start_date, isShowHolder, holder_title, resource_id]);
53
+ return isShow ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Divider.default, null), /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-time-wrap` }, start_date && end_date ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-date` }, (0, import_utils.getServiceTime)(item, start_date)) : null, isShowHolder && holder_title ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-holder-wrap` }, holder_title) : null, resource_id || relation_form_name ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-technician` }, resource_id ? /* @__PURE__ */ import_react.default.createElement(
48
54
  import_Like.default,
49
55
  {
50
56
  style: { marginRight: 4 },
51
- status: (_h = item._extend) == null ? void 0 : _h.like_status,
57
+ status: like_status,
52
58
  onLike: (e) => {
53
59
  onLike({
54
60
  ...item,
55
- _extend: {
56
- ...item._extend,
57
- like_status: e
58
- }
61
+ like_status: e
59
62
  });
60
63
  }
61
64
  }
62
- ) : null, (_i = item == null ? void 0 : item._extend) == null ? void 0 : _i.relation_form_name) : null)) : null;
65
+ ) : null, relation_form_name) : null)) : null;
63
66
  };
64
67
  var Time_default = Time;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { ProductCardTypes } from './types';
3
3
  import './index.less';
4
- declare const ProductCard: (props: ProductCardTypes) => React.JSX.Element;
4
+ declare const ProductCard: React.FC<ProductCardTypes>;
5
5
  export default ProductCard;
@@ -42,21 +42,23 @@ var import_Time = __toESM(require("./components/Time"));
42
42
  var import_Packages = __toESM(require("./components/Packages"));
43
43
  var import_Sales = __toESM(require("./components/Sales"));
44
44
  var import_AmountFooter = __toESM(require("./components/AmountFooter"));
45
+ var import_MultiDay = __toESM(require("./components/MultiDay"));
45
46
  var import_Note = __toESM(require("./components/Note"));
46
47
  var import_Action = __toESM(require("./components/Action"));
47
48
  var import_useOpenNote = __toESM(require("./hooks/useOpenNote"));
48
49
  var import_locales = __toESM(require("./locales"));
50
+ var import_status = require("./status");
49
51
  var import_index = require("./index.less");
50
52
  import_utils.locales.init(import_locales.default, localStorage.getItem("umi_locale") || "en");
51
53
  var ProductCard = (props) => {
52
- var _a, _b;
54
+ var _a;
53
55
  const {
54
- dataSource,
55
- isShowImage = true,
56
- isShowHolder = true,
57
- isShowNote = true,
58
- isShowDelete = true,
59
- isShowPackageNote = true,
56
+ dataSource = import_status.defaultValue.dataSource,
57
+ isShowImage = import_status.defaultValue.isShowImage,
58
+ isShowHolder = import_status.defaultValue.isShowHolder,
59
+ isShowNote = import_status.defaultValue.isShowNote,
60
+ isShowDelete = import_status.defaultValue.isShowDelete,
61
+ isShowPackageNote = import_status.defaultValue.isShowPackageNote,
60
62
  onAction,
61
63
  onDelete,
62
64
  onNote,
@@ -65,21 +67,31 @@ var ProductCard = (props) => {
65
67
  ...other
66
68
  } = props;
67
69
  const useOpenNoteRef = (0, import_react.useRef)();
70
+ console.log(dataSource, isShowImage, isShowNote, "dataSource");
71
+ const {
72
+ image,
73
+ bundle,
74
+ relation_products,
75
+ _id,
76
+ isShowAction,
77
+ actionText,
78
+ errorMessage,
79
+ isNormalProduct
80
+ } = dataSource;
68
81
  const showImage = (0, import_react.useMemo)(() => {
69
- return isShowImage && (dataSource == null ? void 0 : dataSource.cover);
70
- }, [isShowImage, dataSource == null ? void 0 : dataSource.cover]);
82
+ return isShowImage && image;
83
+ }, [isShowImage, image]);
71
84
  const hideDivider = (0, import_react.useMemo)(() => {
72
- var _a2, _b2;
73
- return ((_a2 = dataSource == null ? void 0 : dataSource.bundle) == null ? void 0 : _a2.length) || ((_b2 = dataSource == null ? void 0 : dataSource.relation_details) == null ? void 0 : _b2.length);
74
- }, [dataSource == null ? void 0 : dataSource.bundle, dataSource == null ? void 0 : dataSource.relation_details]);
85
+ return (bundle == null ? void 0 : bundle.length) || (relation_products == null ? void 0 : relation_products.length);
86
+ }, [bundle, relation_products]);
75
87
  return /* @__PURE__ */ import_react.default.createElement(
76
88
  import_cardPro.default,
77
89
  {
78
90
  className: (0, import_classnames.default)("pisell-lowcode-product-card", {
79
91
  ["pisell-lowcode-product-card-image"]: !showImage,
80
- ["pisell-lowcode-normal-product-card"]: !showImage && !((_b = (_a = dataSource == null ? void 0 : dataSource._extend) == null ? void 0 : _a.date) == null ? void 0 : _b.value)
92
+ ["pisell-lowcode-normal-product-card"]: !showImage && isNormalProduct
81
93
  }),
82
- key: dataSource == null ? void 0 : dataSource._id
94
+ key: _id
83
95
  },
84
96
  /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
85
97
  "div",
@@ -103,17 +115,17 @@ var ProductCard = (props) => {
103
115
  }
104
116
  }
105
117
  ),
106
- (dataSource == null ? void 0 : dataSource._extend) ? /* @__PURE__ */ import_react.default.createElement(
118
+ /* @__PURE__ */ import_react.default.createElement(
107
119
  import_Time.default,
108
120
  {
109
121
  item: dataSource,
110
122
  isShowHolder,
111
123
  onLike: (item) => onLike == null ? void 0 : onLike(item)
112
124
  }
113
- ) : null,
125
+ ),
114
126
  /* @__PURE__ */ import_react.default.createElement(import_Packages.default, { item: dataSource, isShowPackageNote }),
115
127
  /* @__PURE__ */ import_react.default.createElement(import_Sales.default, { item: dataSource, isShowNote }),
116
- /* @__PURE__ */ import_react.default.createElement(
128
+ ((_a = dataSource.items) == null ? void 0 : _a.length) ? /* @__PURE__ */ import_react.default.createElement(import_MultiDay.default, { dataSource, hideDivider }) : /* @__PURE__ */ import_react.default.createElement(
117
129
  import_AmountFooter.default,
118
130
  {
119
131
  item: dataSource,
@@ -133,11 +145,11 @@ var ProductCard = (props) => {
133
145
  }
134
146
  }
135
147
  ) : null,
136
- (dataSource == null ? void 0 : dataSource._showAction) && (dataSource == null ? void 0 : dataSource._actionText) ? /* @__PURE__ */ import_react.default.createElement(import_Action.default, { item: dataSource, onAction: () => onAction == null ? void 0 : onAction(dataSource) }) : null,
137
- (dataSource == null ? void 0 : dataSource._errorMessage) ? /* @__PURE__ */ import_react.default.createElement(
148
+ isShowAction && actionText ? /* @__PURE__ */ import_react.default.createElement(import_Action.default, { item: dataSource, onAction: () => onAction == null ? void 0 : onAction(dataSource) }) : null,
149
+ errorMessage ? /* @__PURE__ */ import_react.default.createElement(
138
150
  import_antd.Alert,
139
151
  {
140
- message: dataSource._errorMessage,
152
+ message: errorMessage,
141
153
  type: "warning",
142
154
  showIcon: true,
143
155
  className: "pisell-lowcode-product-card-error"
@@ -1,6 +1,7 @@
1
1
  .pisell-lowcode-product-card {
2
2
  overflow: hidden;
3
3
  border: 1px solid var(--Gray-300, #d0d5dd);
4
+
4
5
  &:hover,
5
6
  &:active {
6
7
  border: 1px solid var(--Gray-400, #98a2b3);
@@ -36,7 +37,7 @@
36
37
  width: 6px;
37
38
  height: 100%;
38
39
  background: var(--Blue-400, #53b1fd);
39
- z-index: 2;
40
+ z-index: 0 !important;
40
41
  }
41
42
  }
42
43
 
@@ -50,4 +51,4 @@
50
51
  border: none !important;
51
52
  margin: 8px -16px -8px;
52
53
  border-radius: 0 0 8px 8px;
53
- }
54
+ }