@pisell/materials 2.2.75 → 2.2.76

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 (76) 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 +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +14 -14
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +15 -15
  11. package/es/components/cardMetricItem/index.less +0 -1
  12. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.js +1 -1
  13. package/es/components/dataSourceComponents/fields/DatePicker/ReadPretty.js +12 -4
  14. package/es/components/dataSourceComponents/fields/utils.js +5 -0
  15. package/es/components/pisellAnchor/index.less +1 -2
  16. package/es/components/pisellGoodPassCard/index.d.ts +2 -0
  17. package/es/components/pisellGoodPassCard/index.js +14 -7
  18. package/es/components/pisellGoodPassCard/index.less +11 -6
  19. package/es/components/pisellQrcode/index.less +0 -2
  20. package/es/components/productCard/components/Header/index.js +18 -2
  21. package/es/components/productCard/components/Packages/components/collapsibleList/index.less +0 -1
  22. package/es/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
  23. package/es/components/productCard/components/Time/components/SelectHolder/index.js +31 -12
  24. package/es/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
  25. package/es/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +13 -0
  26. package/es/components/productCard/components/Time/components/SelectHolderModal/index.js +157 -0
  27. package/es/components/productCard/components/Time/components/SelectHolderModal/index.less +39 -0
  28. package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.d.ts +2 -0
  29. package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.js +144 -0
  30. package/es/components/productCard/components/Time/index.js +9 -4
  31. package/es/components/productCard/index.js +2 -1
  32. package/es/components/productCard/locales.d.ts +18 -0
  33. package/es/components/productCard/locales.js +27 -3
  34. package/es/components/profileMenu/index.less +2 -5
  35. package/es/components/record-view/index.less +0 -2
  36. package/es/components/walletCard/index.js +2 -2
  37. package/es/components/walletCard/index.less +1 -3
  38. package/es/locales/en-US.d.ts +1 -0
  39. package/es/locales/en-US.js +2 -1
  40. package/es/locales/zh-CN.d.ts +1 -0
  41. package/es/locales/zh-CN.js +2 -1
  42. package/es/locales/zh-TW.d.ts +1 -0
  43. package/es/locales/zh-TW.js +2 -1
  44. package/lib/components/cardMetricItem/index.less +0 -1
  45. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.js +1 -1
  46. package/lib/components/dataSourceComponents/fields/DatePicker/ReadPretty.js +15 -7
  47. package/lib/components/dataSourceComponents/fields/utils.js +5 -0
  48. package/lib/components/pisellAnchor/index.less +1 -2
  49. package/lib/components/pisellGoodPassCard/index.d.ts +2 -0
  50. package/lib/components/pisellGoodPassCard/index.js +8 -6
  51. package/lib/components/pisellGoodPassCard/index.less +11 -6
  52. package/lib/components/pisellQrcode/index.less +0 -2
  53. package/lib/components/productCard/components/Header/index.js +5 -2
  54. package/lib/components/productCard/components/Packages/components/collapsibleList/index.less +0 -1
  55. package/lib/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
  56. package/lib/components/productCard/components/Time/components/SelectHolder/index.js +24 -7
  57. package/lib/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
  58. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +13 -0
  59. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.js +177 -0
  60. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.less +39 -0
  61. package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.d.ts +2 -0
  62. package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.js +152 -0
  63. package/lib/components/productCard/components/Time/index.js +11 -4
  64. package/lib/components/productCard/index.js +2 -1
  65. package/lib/components/productCard/locales.d.ts +18 -0
  66. package/lib/components/productCard/locales.js +21 -3
  67. package/lib/components/profileMenu/index.less +2 -5
  68. package/lib/components/record-view/index.less +0 -2
  69. package/lib/components/walletCard/index.less +1 -3
  70. package/lib/locales/en-US.d.ts +1 -0
  71. package/lib/locales/en-US.js +2 -1
  72. package/lib/locales/zh-CN.d.ts +1 -0
  73. package/lib/locales/zh-CN.js +2 -1
  74. package/lib/locales/zh-TW.d.ts +1 -0
  75. package/lib/locales/zh-TW.js +2 -1
  76. package/package.json +3 -3
@@ -29,7 +29,6 @@
29
29
  color: var(--Gray-900, #101828);
30
30
 
31
31
  /* Display md/Semibold */
32
- font-family: Inter;
33
32
  font-size: 36px;
34
33
  font-style: normal;
35
34
  font-weight: 600;
@@ -21,7 +21,7 @@ var useTableQuery = function useTableQuery(props) {
21
21
  // 分页配置
22
22
  var _useState = useState({
23
23
  page: 1,
24
- pageSize: 10,
24
+ pageSize: 20,
25
25
  filter: (tabs === null || tabs === void 0 || (_tabs$items = tabs.items) === null || _tabs$items === void 0 || (_tabs$items = _tabs$items[0]) === null || _tabs$items === void 0 ? void 0 : _tabs$items.filterBy) || filterBy || {},
26
26
  sort: (tabs === null || tabs === void 0 || (_tabs$items2 = tabs.items) === null || _tabs$items2 === void 0 || (_tabs$items2 = _tabs$items2[0]) === null || _tabs$items2 === void 0 ? void 0 : _tabs$items2.sortBy) || sortBy
27
27
  }),
@@ -3,15 +3,23 @@ import classNames from 'classnames';
3
3
  import dayjs from 'dayjs';
4
4
  import usePisellConfig from "../../../pisell-config-provider/hooks/usePisellConfig";
5
5
  import "./ReadPretty.less";
6
- var DEFAULT_FORMAT = 'YYYY-MM-DD HH:mm:ss';
6
+ var DEFAULT_FORMAT = 'DD/MM/YYYY HH:mm';
7
7
  var DATE_FORMATS = {
8
8
  'zh-CN': {
9
- withTime: 'YYYY-MM-DD HH:mm:ss',
9
+ withTime: 'YYYY-MM-DD HH:mm',
10
10
  withoutTime: 'YYYY-MM-DD'
11
11
  },
12
12
  'en-US': {
13
- withTime: 'HH:mm:ss YYYY-MM-DD',
14
- withoutTime: 'YYYY-MM-DD'
13
+ withTime: 'MM/DD/YYYY HH:mm',
14
+ withoutTime: 'MM/DD/YYYY'
15
+ },
16
+ 'en-AU': {
17
+ withTime: 'DD/MM/YYYY HH:mm',
18
+ withoutTime: 'DD/MM/YYYY'
19
+ },
20
+ en: {
21
+ withTime: 'DD/MM/YYYY HH:mm',
22
+ withoutTime: 'DD/MM/YYYY'
15
23
  }
16
24
  };
17
25
  var DatePickerReadPretty = function DatePickerReadPretty(_ref) {
@@ -67,6 +67,11 @@ var formFieldFilterFuncMap = {
67
67
  $eq: value
68
68
  };
69
69
  },
70
+ 'Input.TextArea': function InputTextArea(value) {
71
+ return {
72
+ $includes: value
73
+ };
74
+ },
70
75
  'Input.JSON': function InputJSON(value) {
71
76
  return {
72
77
  $includes: value
@@ -25,7 +25,6 @@
25
25
 
26
26
  &-title {
27
27
  color: var(--Gray-900, #101828);
28
- font-family: Inter;
29
28
  font-size: 16px;
30
29
  font-weight: 600;
31
30
  line-height: 40px;
@@ -114,7 +113,7 @@
114
113
  display: flex;
115
114
  align-items: center;
116
115
  justify-content: center;
117
- background:none;
116
+ background: none;
118
117
  cursor: pointer;
119
118
  transition: width 300ms ease;
120
119
  user-select: none;
@@ -42,6 +42,8 @@ export interface PisellGoodPassCardProps {
42
42
  }) => void;
43
43
  /**样式 */
44
44
  style: React.CSSProperties;
45
+ /**快捷展示排序 */
46
+ mixedSort?: (val: Discount[]) => Discount[];
45
47
  }
46
48
  declare const index: (props: PisellGoodPassCardProps) => JSX.Element;
47
49
  export default index;
@@ -26,7 +26,8 @@ var index = function index(props) {
26
26
  dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
27
27
  onChange = props.onChange,
28
28
  _props$style = props.style,
29
- style = _props$style === void 0 ? {} : _props$style;
29
+ style = _props$style === void 0 ? {} : _props$style,
30
+ mixedSort = props.mixedSort;
30
31
  var _useState = useState(false),
31
32
  _useState2 = _slicedToArray(_useState, 2),
32
33
  showModal = _useState2[0],
@@ -44,7 +45,9 @@ var index = function index(props) {
44
45
  });
45
46
  };
46
47
  var renderVoucherContent = function renderVoucherContent(item) {
47
- return /*#__PURE__*/React.createElement("span", null, getText('pisell2.text.goodpass.save'), " ", /*#__PURE__*/React.createElement(PisellText.Amount, {
48
+ return /*#__PURE__*/React.createElement("span", {
49
+ className: "voucher-item-content-save"
50
+ }, getText('pisell2.text.goodpass.save'), " ", /*#__PURE__*/React.createElement(PisellText.Amount, {
48
51
  value: item.savedAmount
49
52
  }));
50
53
  };
@@ -59,7 +62,7 @@ var index = function index(props) {
59
62
  onChange: function onChange(e) {
60
63
  return handleItemChange(item, e.target.checked);
61
64
  }
62
- });
65
+ }, renderVoucherContent(item));
63
66
  };
64
67
  var renderVoucherItem = function renderVoucherItem(item) {
65
68
  return /*#__PURE__*/React.createElement("div", {
@@ -67,9 +70,9 @@ var index = function index(props) {
67
70
  className: "".concat(clsPrefix, "-voucher-item")
68
71
  }, /*#__PURE__*/React.createElement("div", {
69
72
  className: "item-title"
70
- }, translation(item.format_title)), /*#__PURE__*/React.createElement("div", {
73
+ }, translation(item.format_title), item.isEditMode && getText('pisell2.text.goodpass.last-settlement')), /*#__PURE__*/React.createElement("div", {
71
74
  className: "item-content"
72
- }, renderVoucherContent(item), renderActionElement(item)));
75
+ }, renderActionElement(item)));
73
76
  };
74
77
  var renderModal = function renderModal() {
75
78
  return /*#__PURE__*/React.createElement(PisellModal, {
@@ -82,12 +85,16 @@ var index = function index(props) {
82
85
  className: "".concat(clsPrefix, "-all-items-modal")
83
86
  }, /*#__PURE__*/React.createElement("div", {
84
87
  style: {
85
- padding: '10px 0'
88
+ padding: '10px 0',
89
+ display: "flex",
90
+ flexDirection: "column",
91
+ gap: 12
86
92
  }
87
93
  }, dataSource.map(renderVoucherItem)));
88
94
  };
89
95
  var renderMixedMode = function renderMixedMode() {
90
- var list = dataSource.length > 3 ? dataSource.slice(0, 3) : dataSource;
96
+ var sortList = (mixedSort === null || mixedSort === void 0 ? void 0 : mixedSort(dataSource)) || dataSource;
97
+ var list = sortList.length > 3 ? sortList.slice(0, 3) : sortList;
91
98
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
92
99
  className: "".concat(clsPrefix, "-header")
93
100
  }, /*#__PURE__*/React.createElement("div", null, getText('pisell2.text.goodpass.product-vouchers')), /*#__PURE__*/React.createElement(Typography.Text, {
@@ -7,7 +7,6 @@
7
7
  align-items: center;
8
8
  color: var(--Gray-900, #101828);
9
9
  text-align: center;
10
- font-family: Inter;
11
10
  font-size: 14px;
12
11
  font-style: normal;
13
12
  font-weight: 600;
@@ -23,8 +22,7 @@
23
22
  .item-title {
24
23
  color: var(--Gray-500, #667085);
25
24
  // text-align: center;
26
- font-family: Inter;
27
- font-size: 14px;
25
+ font-size: 16px;
28
26
  font-style: normal;
29
27
  font-weight: 600;
30
28
  line-height: 20px;
@@ -32,17 +30,24 @@
32
30
 
33
31
  .item-content {
34
32
  color: var(--, #8157d5);
35
- font-family: Inter;
36
- font-size: 14px;
33
+ font-size: 16px;
37
34
  font-style: normal;
38
35
  font-weight: 400;
39
36
  line-height: 20px;
40
37
  white-space: nowrap;
41
38
 
39
+ .voucher-item-content-save {
40
+ color: var(--, #8157d5);
41
+ }
42
+
43
+ .pisell-lowcode-checkbox-wrapper {
44
+ display: flex;
45
+ flex-direction: row-reverse;
46
+ }
47
+
42
48
  .add-btn {
43
49
  color: var(--, #8157d5);
44
50
  text-align: center;
45
- font-family: Inter;
46
51
  font-size: 14px;
47
52
  font-style: normal;
48
53
  font-weight: 600;
@@ -11,7 +11,6 @@
11
11
  flex-direction: column;
12
12
  .pisell-qrcode-modal-value {
13
13
  color: var(--Gray-500, #667085);
14
- font-family: Inter;
15
14
  font-size: 14px;
16
15
  font-style: normal;
17
16
  font-weight: 400;
@@ -26,7 +25,6 @@
26
25
 
27
26
  color: var(--Base-White, #fff);
28
27
 
29
- font-family: Inter;
30
28
  font-size: 16px;
31
29
  font-style: normal;
32
30
  font-weight: 600;
@@ -53,9 +53,21 @@ var Header = function Header(props) {
53
53
  var headerCenterStyle = useMemo(function () {
54
54
  return (options === null || options === void 0 ? void 0 : options.length) > 0 || product_option_string;
55
55
  }, [options, product_option_string]);
56
+
57
+ /**
58
+ * @title: 是否显示删除按钮
59
+ * @description:
60
+ * @param {*} useMemo
61
+ * @return {*}
62
+ * @Author: WangHan
63
+ * @Date: 2025-06-11 15:14
64
+ */
65
+ var showDelete = useMemo(function () {
66
+ return isShowDelete && !disabledEdit && !disabled;
67
+ }, [isShowDelete, disabledEdit, disabled]);
56
68
  return /*#__PURE__*/React.createElement("div", {
57
69
  className: classNames("".concat(prefix, "product-header"), headerCenterStyle && "".concat(prefix, "product-options-header"))
58
- }, isShowDelete && !disabledEdit && !disabled ? /*#__PURE__*/React.createElement(DeleteButton, {
70
+ }, showDelete ? /*#__PURE__*/React.createElement(DeleteButton, {
59
71
  onDelete: onDelete
60
72
  }) : null, showImage ? /*#__PURE__*/React.createElement("img", {
61
73
  src: imageAli.ali(image, 64),
@@ -64,7 +76,11 @@ var Header = function Header(props) {
64
76
  className: classNames("".concat(prefix, "product-right-wrap"), _defineProperty({}, "".concat(prefix, "product-right-wrap-stretch"), isShowEditProduct))
65
77
  }, /*#__PURE__*/React.createElement("div", {
66
78
  className: "".concat(prefix, "product-title")
67
- }, /*#__PURE__*/React.createElement("span", null, name), showPrice ? /*#__PURE__*/React.createElement("span", {
79
+ }, /*#__PURE__*/React.createElement("span", {
80
+ style: {
81
+ paddingRight: showDelete ? '18px' : '0'
82
+ }
83
+ }, name), showPrice ? /*#__PURE__*/React.createElement("span", {
68
84
  className: "".concat(prefix, "product-title-price")
69
85
  }, formatAmount(price, 2, symbol)) : null), product_option_string ? /*#__PURE__*/React.createElement("span", {
70
86
  className: "".concat(prefix, "product-title-variant")
@@ -17,7 +17,6 @@
17
17
 
18
18
  &-packages-product-bundle-info-title {
19
19
  color: var(--Gray-500, #667085);
20
- font-family: Inter;
21
20
  font-size: 14px;
22
21
  font-style: normal;
23
22
  font-weight: 600;
@@ -1,3 +1,3 @@
1
1
  import './index.less';
2
- declare const SelectHolder: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, addHolderButtonText, onClearHolder, isErrorHolder, allowClear, }: any) => JSX.Element;
2
+ declare const SelectHolder: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, addHolderButtonText, onClearHolder, isErrorHolder, allowClear, holderMaxCount, }: any) => JSX.Element;
3
3
  export default SelectHolder;
@@ -6,13 +6,13 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import React, { useEffect, useMemo, useState } from 'react';
8
8
  import { Select, Divider } from 'antd';
9
- import { locales } from '@pisell/utils';
9
+ import { isArr, locales } from '@pisell/utils';
10
10
  import Iconfont from "../../../../../iconfont";
11
11
  import "./index.less";
12
12
  var SelectHolder = function SelectHolder(_ref) {
13
13
  var lists = _ref.lists,
14
14
  value = _ref.value,
15
- _onChange = _ref.onChange,
15
+ onChange = _ref.onChange,
16
16
  holderMode = _ref.holderMode,
17
17
  isShowAddHolderButton = _ref.isShowAddHolderButton,
18
18
  onAddHolder = _ref.onAddHolder,
@@ -20,7 +20,8 @@ var SelectHolder = function SelectHolder(_ref) {
20
20
  onClearHolder = _ref.onClearHolder,
21
21
  isErrorHolder = _ref.isErrorHolder,
22
22
  _ref$allowClear = _ref.allowClear,
23
- allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear;
23
+ allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear,
24
+ holderMaxCount = _ref.holderMaxCount;
24
25
  var _useState = useState(),
25
26
  _useState2 = _slicedToArray(_useState, 2),
26
27
  selectedValue = _useState2[0],
@@ -48,8 +49,32 @@ var SelectHolder = function SelectHolder(_ref) {
48
49
  setOpen(false);
49
50
  };
50
51
  var isError = useMemo(function () {
51
- if (!selectedValue && isErrorHolder) return true;
52
+ if (!isErrorHolder) {
53
+ return false;
54
+ }
55
+ if (!selectedValue) {
56
+ return true;
57
+ }
58
+ if (isArr(selectedValue) && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) !== holderMaxCount) {
59
+ return true;
60
+ }
61
+ return false;
52
62
  }, [selectedValue, isErrorHolder]);
63
+ var handleChange = function handleChange(val) {
64
+ var item;
65
+ if (isArr(val)) {
66
+ if (val.length > holderMaxCount) return;
67
+ item = lists.filter(function (d) {
68
+ return val.includes(d.id);
69
+ });
70
+ } else {
71
+ item = lists.find(function (d) {
72
+ return d.id === val;
73
+ });
74
+ }
75
+ setSelectedValue(val);
76
+ onChange(item);
77
+ };
53
78
  return /*#__PURE__*/React.createElement("div", {
54
79
  className: "pisell-lowcode-product-card-select-holder ".concat(isError ? 'pisell-lowcode-product-card-select-holder-error' : '')
55
80
  }, /*#__PURE__*/React.createElement(Select, {
@@ -63,17 +88,11 @@ var SelectHolder = function SelectHolder(_ref) {
63
88
  showSearch: true,
64
89
  allowClear: allowClear,
65
90
  onClear: function onClear() {
66
- return _onChange('');
91
+ return onChange('');
67
92
  },
68
93
  value: selectedValue,
69
94
  placeholder: locales.getText('pisell2.product.card.add.holder.placeholder')(addHolderButtonText),
70
- onChange: function onChange(val) {
71
- setSelectedValue(val);
72
- var item = lists.find(function (d) {
73
- return d.id === val;
74
- });
75
- _onChange(item);
76
- },
95
+ onChange: handleChange,
77
96
  options: lists.map(function (item) {
78
97
  return {
79
98
  label: item === null || item === void 0 ? void 0 : item.label,
@@ -33,3 +33,30 @@
33
33
  border: 1px solid var(--Error-600, #d92d20) !important;
34
34
  }
35
35
  }
36
+
37
+ .select-holder-multiple-tag {
38
+ padding: 6px 12px;
39
+ border-radius: 12px;
40
+ display: inline-flex;
41
+ align-items: center;
42
+ font-size: 16px;
43
+ .pisell-lowcode-tag-close-icon {
44
+ font-size: 16px;
45
+ }
46
+ }
47
+
48
+ .select-holder-multiple-edit-button {
49
+ font-weight: 600;
50
+ line-height: 22px;
51
+ color: var(--Blue-600, #1570EF);
52
+ display: inline-block;
53
+ }
54
+
55
+ .select-holder-multiple-wrap {
56
+ display: flex;
57
+ align-items: center;
58
+ flex-wrap: wrap;
59
+ row-gap: 8px;
60
+ align-items: center;
61
+ flex-wrap: wrap;
62
+ }
@@ -0,0 +1,13 @@
1
+ import './index.less';
2
+ interface SelectHolderModalProps {
3
+ visible: boolean;
4
+ onClose: () => void;
5
+ onConfirm: (value: any) => void;
6
+ lists: any[];
7
+ value: any[];
8
+ holderMaxCount: number;
9
+ addHolderButtonText: string;
10
+ onAdd: () => void;
11
+ }
12
+ declare const SelectHolderModal: (props: SelectHolderModalProps) => JSX.Element;
13
+ export default SelectHolderModal;
@@ -0,0 +1,157 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+ 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."); }
7
+ 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); }
8
+ 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; }
9
+ 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; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ import React, { useEffect, useMemo, useState } from 'react';
12
+ import { locales } from '@pisell/utils';
13
+ import PisellModal from "../../../../../pisellModal";
14
+ import PisellCustomCheckboxGroup from "../../../../../pisellCustomCheckboxGroup";
15
+ import PisellCard from "../../../../../pisellCard";
16
+ import PisellAvatar from "../../../../../pisellAvatar";
17
+ import { Button, Checkbox } from 'antd';
18
+ import Iconfont from "../../../../../iconfont";
19
+ import "./index.less";
20
+ var SelectHolderModal = function SelectHolderModal(props) {
21
+ var lists = props.lists,
22
+ value = props.value,
23
+ visible = props.visible,
24
+ holderMaxCount = props.holderMaxCount,
25
+ addHolderButtonText = props.addHolderButtonText,
26
+ onClose = props.onClose,
27
+ onAdd = props.onAdd,
28
+ onConfirm = props.onConfirm;
29
+ var _useState = useState([]),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ selectedValue = _useState2[0],
32
+ setSelectedValue = _useState2[1];
33
+ var renderItem = function renderItem(item) {
34
+ return /*#__PURE__*/React.createElement(PisellCard, {
35
+ key: item.id,
36
+ padding: 12,
37
+ selected: selectedValue.includes(item.id)
38
+ }, /*#__PURE__*/React.createElement("div", {
39
+ className: "select-holder-modal-card"
40
+ }, /*#__PURE__*/React.createElement(Checkbox, {
41
+ checked: selectedValue.includes(item.id)
42
+ }), /*#__PURE__*/React.createElement(PisellAvatar, {
43
+ src: item.avatar,
44
+ size: "lg",
45
+ useTextAvatar: true,
46
+ className: "select-holder-modal-add-item-avatar"
47
+ }, /*#__PURE__*/React.createElement("span", {
48
+ className: "select-holder-name"
49
+ }, item.label)), /*#__PURE__*/React.createElement("span", {
50
+ className: "select-holder-name"
51
+ }, item.label)));
52
+ };
53
+ var handleConfirm = function handleConfirm() {
54
+ onConfirm(selectedValue);
55
+ onClose();
56
+ };
57
+ useEffect(function () {
58
+ setSelectedValue(value || []);
59
+ }, [value, visible]);
60
+ var handleClick = function handleClick(value) {
61
+ if (value.id === 0) {
62
+ onAdd();
63
+ return;
64
+ }
65
+ setSelectedValue(function (v) {
66
+ if (v.some(function (v) {
67
+ return v === value.id;
68
+ })) {
69
+ return v.filter(function (v) {
70
+ return v !== value.id;
71
+ });
72
+ }
73
+ if (v.length >= holderMaxCount) {
74
+ return v;
75
+ }
76
+ return [].concat(_toConsumableArray(v), [value.id]);
77
+ });
78
+ };
79
+ var handleClear = function handleClear() {
80
+ setSelectedValue([]);
81
+ };
82
+ var handleApply = function handleApply() {
83
+ onConfirm(selectedValue);
84
+ onClose();
85
+ };
86
+ var title = useMemo(function () {
87
+ return /*#__PURE__*/React.createElement("span", null, "".concat(locales.getText('pisell2.product.card.add.holder.modal.title.1'), " "), /*#__PURE__*/React.createElement("span", {
88
+ className: "select-holder-modal-title-count"
89
+ }, (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) || 0, "/", holderMaxCount), " ".concat(addHolderButtonText));
90
+ }, [selectedValue, holderMaxCount, addHolderButtonText]);
91
+ var renderAddItem = function renderAddItem(item) {
92
+ return /*#__PURE__*/React.createElement(PisellCard, {
93
+ key: item.id,
94
+ padding: 12
95
+ }, /*#__PURE__*/React.createElement("div", {
96
+ className: "select-holder-modal-card"
97
+ }, /*#__PURE__*/React.createElement(PisellAvatar, {
98
+ src: item.avatar,
99
+ size: "lg",
100
+ useTextAvatar: true,
101
+ className: "select-holder-modal-add-item-avatar",
102
+ style: {
103
+ backgroundColor: 'var(--Pisell-, #EEE5FF)'
104
+ }
105
+ }, /*#__PURE__*/React.createElement(Iconfont, {
106
+ type: "pisell2-plus",
107
+ style: {
108
+ fontSize: '24px'
109
+ }
110
+ })), /*#__PURE__*/React.createElement("span", {
111
+ className: "select-holder-name"
112
+ }, locales.getText('pisell2.product.card.add.holder.modal.add'))));
113
+ };
114
+ return /*#__PURE__*/React.createElement("div", {
115
+ onClick: function onClick(e) {
116
+ return e.stopPropagation();
117
+ }
118
+ }, /*#__PURE__*/React.createElement(PisellModal, {
119
+ open: visible,
120
+ onCancel: onClose,
121
+ onOk: handleConfirm,
122
+ width: 780,
123
+ footer: null,
124
+ title: title,
125
+ headerDivider: false
126
+ }, /*#__PURE__*/React.createElement("div", {
127
+ className: "select-holder-modal-content"
128
+ }, /*#__PURE__*/React.createElement(PisellCustomCheckboxGroup, {
129
+ className: "select-holder-modal-checkbox-group",
130
+ allowAdd: true,
131
+ dataSource: lists,
132
+ renderItem: renderItem,
133
+ renderAddItem: renderAddItem,
134
+ value: selectedValue,
135
+ isMultiple: true,
136
+ columns: 3,
137
+ horizontalGap: 16,
138
+ verticalGap: 16,
139
+ onClick: handleClick
140
+ }), /*#__PURE__*/React.createElement("div", {
141
+ className: "select-holder-modal-footer"
142
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
143
+ size: "large",
144
+ onClick: onClose,
145
+ className: "select-holder-modal-cancel-button"
146
+ }, locales.getText('pisell2.product.card.add.holder.modal.cancel'))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
147
+ size: "large",
148
+ onClick: handleClear,
149
+ className: "select-holder-modal-clear-button"
150
+ }, locales.getText('pisell2.product.card.add.holder.modal.clear')), /*#__PURE__*/React.createElement(Button, {
151
+ size: "large",
152
+ type: "primary",
153
+ onClick: handleApply,
154
+ className: "select-holder-modal-apply-button"
155
+ }, locales.getText('pisell2.product.card.add.holder.modal.apply')))))));
156
+ };
157
+ export default SelectHolderModal;
@@ -0,0 +1,39 @@
1
+ .select-holder-modal-title-count {
2
+ color: var(--theme-color, #7f56da);
3
+ }
4
+ .select-holder-modal-content {
5
+ .select-holder-modal-checkbox-group {
6
+ margin-bottom: 16px;
7
+ max-height: 60vh;
8
+ overflow: auto !important;
9
+ }
10
+ .select-holder-modal-card {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 10px;
14
+ color: var(--Text-Text_1, #1b1b1b);
15
+ font-size: 16px;
16
+ font-weight: 600;
17
+ line-height: 22px;
18
+ }
19
+ .select-holder-modal-add-item-avatar {
20
+ flex-shrink: 0;
21
+ .anticon {
22
+ color: var(--Pisell-, #5d3f9f);
23
+ }
24
+ }
25
+ .select-holder-modal-footer {
26
+ display: flex;
27
+ justify-content: space-between;
28
+ align-items: center;
29
+ padding: 16px 0 36px;
30
+ .select-holder-modal-apply-button {
31
+ width: 352px;
32
+ margin-left: 8px;
33
+ }
34
+ .select-holder-modal-cancel-button,
35
+ .select-holder-modal-clear-button {
36
+ width: 132px;
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,2 @@
1
+ declare const SelectHolderMultiple: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, addHolderButtonText, onClearHolder, isErrorHolder, allowClear, holderMaxCount, }: any) => JSX.Element;
2
+ export default SelectHolderMultiple;