@pisell/materials 3.3.28 → 3.3.30

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 (109) 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/batch-editor/index.d.ts +1 -0
  12. package/es/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +1 -0
  13. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +1 -1
  14. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -0
  15. package/es/components/dataSourceComponents/fields/index.d.ts +5 -4
  16. package/es/components/drag-sort-tree/TreeItem/index.d.ts +1 -0
  17. package/es/components/filter/index.d.ts +1 -0
  18. package/es/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +1 -0
  19. package/es/components/pisellAdjustPrice/index.d.ts +1 -0
  20. package/es/components/pisellGoodPassCard/index.d.ts +2 -0
  21. package/es/components/pisellGoodPassCard/index.js +14 -7
  22. package/es/components/pisellGoodPassCard/index.less +11 -2
  23. package/es/components/pisellInformationEntry/Scan/index.d.ts +1 -0
  24. package/es/components/pisellLoading/index.d.ts +0 -1
  25. package/es/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
  26. package/es/components/productCard/components/Time/components/SelectHolder/index.js +31 -12
  27. package/es/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
  28. package/es/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +13 -0
  29. package/es/components/productCard/components/Time/components/SelectHolderModal/index.js +157 -0
  30. package/es/components/productCard/components/Time/components/SelectHolderModal/index.less +39 -0
  31. package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.d.ts +2 -0
  32. package/es/components/productCard/components/Time/components/SelectHolderMultiple/index.js +144 -0
  33. package/es/components/productCard/components/Time/index.js +9 -4
  34. package/es/components/productCard/locales.d.ts +18 -0
  35. package/es/components/productCard/locales.js +27 -3
  36. package/es/components/select-time/index.d.ts +1 -0
  37. package/es/components/table/Actions/component/ColumnsSetting/index.d.ts +1 -0
  38. package/es/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +1 -0
  39. package/es/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +1 -0
  40. package/es/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +1 -0
  41. package/es/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +1 -0
  42. package/es/components/table/Actions/component/GallerySetting/index.d.ts +1 -0
  43. package/es/components/table/Actions/component/Group/PopoverContent.d.ts +1 -0
  44. package/es/components/table/Actions/component/Group/index.d.ts +1 -0
  45. package/es/components/table/Actions/index.d.ts +1 -0
  46. package/es/components/table/Table/SelectField/index.d.ts +1 -0
  47. package/es/components/table/Table/fields/index.d.ts +1 -0
  48. package/es/components/table/Table/fields/treeSelect/index.d.ts +0 -1
  49. package/es/components/table/Table/utils.d.ts +1 -1
  50. package/es/components/versionSelect/index.d.ts +1 -0
  51. package/es/components/walletCard/Guide/index.d.ts +4 -0
  52. package/es/components/walletCard/index.js +11 -3
  53. package/es/components/walletCard/index.less +2 -2
  54. package/es/locales/en-US.d.ts +1 -0
  55. package/es/locales/en-US.js +2 -1
  56. package/es/locales/zh-CN.d.ts +1 -0
  57. package/es/locales/zh-CN.js +2 -1
  58. package/es/locales/zh-TW.d.ts +1 -0
  59. package/es/locales/zh-TW.js +2 -1
  60. package/lib/components/batch-editor/index.d.ts +1 -0
  61. package/lib/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +1 -0
  62. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +1 -1
  63. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -0
  64. package/lib/components/dataSourceComponents/fields/index.d.ts +5 -4
  65. package/lib/components/drag-sort-tree/TreeItem/index.d.ts +1 -0
  66. package/lib/components/filter/index.d.ts +1 -0
  67. package/lib/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +1 -0
  68. package/lib/components/pisellAdjustPrice/index.d.ts +1 -0
  69. package/lib/components/pisellGoodPassCard/index.d.ts +2 -0
  70. package/lib/components/pisellGoodPassCard/index.js +8 -6
  71. package/lib/components/pisellGoodPassCard/index.less +11 -2
  72. package/lib/components/pisellInformationEntry/Scan/index.d.ts +1 -0
  73. package/lib/components/pisellLoading/index.d.ts +0 -1
  74. package/lib/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
  75. package/lib/components/productCard/components/Time/components/SelectHolder/index.js +24 -7
  76. package/lib/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
  77. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +13 -0
  78. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.js +177 -0
  79. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.less +39 -0
  80. package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.d.ts +2 -0
  81. package/lib/components/productCard/components/Time/components/SelectHolderMultiple/index.js +152 -0
  82. package/lib/components/productCard/components/Time/index.js +11 -4
  83. package/lib/components/productCard/locales.d.ts +18 -0
  84. package/lib/components/productCard/locales.js +21 -3
  85. package/lib/components/select-time/index.d.ts +1 -0
  86. package/lib/components/table/Actions/component/ColumnsSetting/index.d.ts +1 -0
  87. package/lib/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +1 -0
  88. package/lib/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +1 -0
  89. package/lib/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +1 -0
  90. package/lib/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +1 -0
  91. package/lib/components/table/Actions/component/GallerySetting/index.d.ts +1 -0
  92. package/lib/components/table/Actions/component/Group/PopoverContent.d.ts +1 -0
  93. package/lib/components/table/Actions/component/Group/index.d.ts +1 -0
  94. package/lib/components/table/Actions/index.d.ts +1 -0
  95. package/lib/components/table/Table/SelectField/index.d.ts +1 -0
  96. package/lib/components/table/Table/fields/index.d.ts +1 -0
  97. package/lib/components/table/Table/fields/treeSelect/index.d.ts +0 -1
  98. package/lib/components/table/Table/utils.d.ts +1 -1
  99. package/lib/components/versionSelect/index.d.ts +1 -0
  100. package/lib/components/walletCard/Guide/index.d.ts +4 -0
  101. package/lib/components/walletCard/index.js +15 -1
  102. package/lib/components/walletCard/index.less +2 -2
  103. package/lib/locales/en-US.d.ts +1 -0
  104. package/lib/locales/en-US.js +2 -1
  105. package/lib/locales/zh-CN.d.ts +1 -0
  106. package/lib/locales/zh-CN.js +2 -1
  107. package/lib/locales/zh-TW.d.ts +1 -0
  108. package/lib/locales/zh-TW.js +2 -1
  109. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import "./index.less";
2
3
  interface BatchEditorProps {
3
4
  columns: any[];
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  interface BaseFilterItem {
3
4
  name?: string;
@@ -70,7 +70,7 @@ declare const useTableProps: (props: UseTablePropsProps) => {
70
70
  useCustomAction: boolean;
71
71
  actionType: string;
72
72
  openMode: "modal" | "drawer";
73
- openContentSize: "small" | "middle" | "large";
73
+ openContentSize: "small" | "large" | "middle";
74
74
  openTitle: string;
75
75
  key: string;
76
76
  } | undefined;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  declare const SelectWithDataSource: (props: import("antd").SelectProps<any, import("antd/es/select").DefaultOptionType> & import("../../dataSourceForm/utils").WithModeProps & import("../../dataSourceForm/utils").WithFormItemProps & {
2
3
  options?: any;
3
4
  optionSourceType?: "default" | "custom" | "api" | undefined;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  declare const formFieldMap: {
2
3
  FormItemCheckbox: import("react").FC<{}> & {
3
4
  Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;
@@ -19,7 +20,7 @@ declare const formFieldMap: {
19
20
  Subdomain: import("react").FC<import("antd").InputProps & {
20
21
  onChange: (value: string) => void;
21
22
  onBlur?: ((e: import("react").FocusEvent<HTMLInputElement, Element>) => void) | undefined;
22
- rootDomain: "custom" | "xzero" | "saas";
23
+ rootDomain: "custom" | "saas" | "xzero";
23
24
  customDomain?: string | undefined;
24
25
  value?: string | undefined;
25
26
  tenantId: string;
@@ -59,7 +60,7 @@ declare const formFieldMap: {
59
60
  FormItemTranslation: import("react").FC<import("./Translation/type").TranslationProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
60
61
  FormItemIconSelect: import("react").FC<import("./IconSelect/type").IconSelectProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
61
62
  };
62
- declare const getFieldComponent: (fieldComponent: string) => import("react").FC<import("./Translation/type").TranslationProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | (import("react").FC<{}> & {
63
+ declare const getFieldComponent: (fieldComponent: string) => (import("react").FC<{}> & {
63
64
  Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;
64
65
  } & {
65
66
  Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;
@@ -76,7 +77,7 @@ declare const getFieldComponent: (fieldComponent: string) => import("react").FC<
76
77
  Subdomain: import("react").FC<import("antd").InputProps & {
77
78
  onChange: (value: string) => void;
78
79
  onBlur?: ((e: import("react").FocusEvent<HTMLInputElement, Element>) => void) | undefined;
79
- rootDomain: "custom" | "xzero" | "saas";
80
+ rootDomain: "custom" | "saas" | "xzero";
80
81
  customDomain?: string | undefined;
81
82
  value?: string | undefined;
82
83
  tenantId: string;
@@ -97,5 +98,5 @@ declare const getFieldComponent: (fieldComponent: string) => import("react").FC<
97
98
  dataSource?: any;
98
99
  }) => JSX.Element) | import("react").FC<any> | import("react").FC<import("./TimePicker/type").TimePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Input.Phone/WithMode").PhoneInputProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Input.Mobile/WithMode").PhoneInputProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("antd").InputProps & {
99
100
  onChange: (value: string) => void;
100
- } & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("antd").InputProps & import("react").RefAttributes<import("antd").InputRef> & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("antd/es/input").PasswordProps & import("react").RefAttributes<import("antd").InputRef> & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Radio/type").RadioGroupProps & import("../dataSourceForm/utils").WithModeProps> | import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps> | import("react").FC<import("./DateRangePicker/type").DateRangePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Upload/type").UploadProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./IconSelect/type").IconSelectProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
101
+ } & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("antd").InputProps & import("react").RefAttributes<import("antd").InputRef> & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("antd/es/input").PasswordProps & import("react").RefAttributes<import("antd").InputRef> & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Radio/type").RadioGroupProps & import("../dataSourceForm/utils").WithModeProps> | import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps> | import("react").FC<import("./DateRangePicker/type").DateRangePickerProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Upload/type").UploadProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./Translation/type").TranslationProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps> | import("react").FC<import("./IconSelect/type").IconSelectProps & import("../dataSourceForm/utils").WithModeProps & import("../dataSourceForm/utils").WithFormItemProps>;
101
102
  export { getFieldComponent, formFieldMap };
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  import { ValueProps, SortType } from '../types';
3
4
  declare type IdType = string | number;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { FilterProps } from "./types";
2
3
  declare const Filter: (props: FilterProps) => JSX.Element | null;
3
4
  export default Filter;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { InputNumberProps } from 'antd/es/input-number';
2
3
  export interface PisellAdjustPriceInputNumberProps extends Omit<InputNumberProps, 'onChange'> {
3
4
  value?: number;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  export interface PisellAdjustPriceProps {
3
4
  value?: number;
@@ -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, {
@@ -22,7 +22,7 @@
22
22
  .item-title {
23
23
  color: var(--Gray-500, #667085);
24
24
  // text-align: center;
25
- font-size: 14px;
25
+ font-size: 16px;
26
26
  font-style: normal;
27
27
  font-weight: 600;
28
28
  line-height: 20px;
@@ -30,12 +30,21 @@
30
30
 
31
31
  .item-content {
32
32
  color: var(--, #8157d5);
33
- font-size: 14px;
33
+ font-size: 16px;
34
34
  font-style: normal;
35
35
  font-weight: 400;
36
36
  line-height: 20px;
37
37
  white-space: nowrap;
38
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
+
39
48
  .add-btn {
40
49
  color: var(--, #8157d5);
41
50
  text-align: center;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  export interface ScanProps {
3
4
  onChange: (val: string) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { SpinProps } from 'antd';
3
2
  import './index.less';
4
3
  declare type MaskType = {
@@ -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;