@pisell/materials 1.0.779 → 1.0.780

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 (132) 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/render/default/view.css +1 -1
  7. package/build/lowcode/render/default/view.js +1 -1
  8. package/build/lowcode/view.css +1 -1
  9. package/build/lowcode/view.js +1 -1
  10. package/es/components/Pagination/index.d.ts +1 -1
  11. package/es/components/appVersionControl/index.d.ts +5 -0
  12. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  13. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +39 -0
  14. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +98 -0
  15. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +1 -0
  16. package/es/components/dataSourceComponents/dataSourceTable/type.d.ts +79 -0
  17. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  18. package/es/components/dataSourceComponents/fields/index.d.ts +2 -2
  19. package/es/components/drag-sort-tree/index.d.ts +4 -0
  20. package/es/components/login-and-register/index.d.ts +82 -0
  21. package/es/components/pisell-config-provider/index.d.ts +12 -0
  22. package/es/components/pisellCardList/index.d.ts +71 -0
  23. package/es/components/pisellCheckboxGroup/index.d.ts +36 -0
  24. package/es/components/pisellEmpty/index.d.ts +19 -0
  25. package/es/components/pisellInformationEntry/hooks/useNativeScanner.d.ts +4 -0
  26. package/es/components/pisellInformationEntry/index.d.ts +33 -0
  27. package/es/components/pisellText/components/Amount/index.d.ts +20 -0
  28. package/es/components/pisellWalletPassCard/index.d.ts +83 -0
  29. package/es/components/productCard/components/Packages/utils.d.ts +1 -1
  30. package/es/components/productCard/components/Time/components/Like/index.d.ts +10 -0
  31. package/es/components/productCard/components/Time/components/SelectHolder/index.d.ts +4 -0
  32. package/es/components/productCard/components/Time/components/SelectHolder/index.js +40 -12
  33. package/es/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
  34. package/es/components/productCard/components/Time/components/SelectResource/index.d.ts +18 -0
  35. package/es/components/productCard/components/Time/components/SelectResource/index.js +10 -3
  36. package/es/components/productCard/components/Time/index.d.ts +4 -0
  37. package/es/components/productCard/components/Time/index.js +16 -7
  38. package/es/components/productCard/index.d.ts +5 -0
  39. package/es/components/productCard/index.js +3 -1
  40. package/es/components/productCard/locales.d.ts +54 -0
  41. package/es/components/productCard/locales.js +12 -3
  42. package/es/components/productCard/types.d.ts +83 -0
  43. package/es/components/productCard/utils.d.ts +31 -0
  44. package/es/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +1 -0
  45. package/es/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +1 -0
  46. package/es/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +1 -0
  47. package/es/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +1 -0
  48. package/es/components/table/Actions/component/ExportImport/index.d.ts +8 -0
  49. package/es/components/table/Actions/component/GallerySetting/index.d.ts +1 -0
  50. package/es/components/table/Actions/component/Group/index.d.ts +1 -0
  51. package/es/components/table/Actions/component/ViewMode/index.d.ts +1 -0
  52. package/es/components/table/Actions/index.d.ts +1 -0
  53. package/es/components/table/BasicTable/index.d.ts +1 -0
  54. package/es/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +1 -0
  55. package/es/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +1 -0
  56. package/es/components/table/Gallery/components/GalleryItem/index.d.ts +14 -0
  57. package/es/components/table/Gallery/index.d.ts +5 -0
  58. package/es/components/table/Table/index.d.ts +4 -0
  59. package/es/components/table/Table/tableConfig/SortRow/index.d.ts +1 -0
  60. package/es/components/table/Table/utils.d.ts +173 -0
  61. package/es/components/table/View/index.d.ts +1 -0
  62. package/es/components/table/hooks/useTableSetting.d.ts +22 -0
  63. package/es/components/table/hooks/useTransDataSource.d.ts +12 -0
  64. package/es/components/table/types.d.ts +253 -0
  65. package/es/components/versionModal/index.d.ts +24 -0
  66. package/es/index.d.ts +141 -0
  67. package/es/locales/en-US.d.ts +276 -0
  68. package/es/locales/zh-CN.d.ts +271 -0
  69. package/es/locales/zh-TW.d.ts +271 -0
  70. package/es/utils/platform.d.ts +1 -1
  71. package/lib/components/Pagination/index.d.ts +1 -1
  72. package/lib/components/appVersionControl/index.d.ts +5 -0
  73. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  74. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +39 -0
  75. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +98 -0
  76. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +1 -0
  77. package/lib/components/dataSourceComponents/dataSourceTable/type.d.ts +79 -0
  78. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  79. package/lib/components/dataSourceComponents/fields/index.d.ts +2 -2
  80. package/lib/components/drag-sort-tree/index.d.ts +4 -0
  81. package/lib/components/login-and-register/index.d.ts +82 -0
  82. package/lib/components/pisell-config-provider/index.d.ts +12 -0
  83. package/lib/components/pisellCardList/index.d.ts +71 -0
  84. package/lib/components/pisellCheckboxGroup/index.d.ts +36 -0
  85. package/lib/components/pisellEmpty/index.d.ts +19 -0
  86. package/lib/components/pisellInformationEntry/hooks/useNativeScanner.d.ts +4 -0
  87. package/lib/components/pisellInformationEntry/index.d.ts +33 -0
  88. package/lib/components/pisellText/components/Amount/index.d.ts +20 -0
  89. package/lib/components/pisellWalletPassCard/index.d.ts +83 -0
  90. package/lib/components/productCard/components/Packages/utils.d.ts +1 -1
  91. package/lib/components/productCard/components/Time/components/Like/index.d.ts +10 -0
  92. package/lib/components/productCard/components/Time/components/SelectHolder/index.d.ts +4 -0
  93. package/lib/components/productCard/components/Time/components/SelectHolder/index.js +78 -40
  94. package/lib/components/productCard/components/Time/components/SelectHolder/index.less +27 -0
  95. package/lib/components/productCard/components/Time/components/SelectResource/index.d.ts +18 -0
  96. package/lib/components/productCard/components/Time/components/SelectResource/index.js +25 -18
  97. package/lib/components/productCard/components/Time/index.d.ts +4 -0
  98. package/lib/components/productCard/components/Time/index.js +19 -7
  99. package/lib/components/productCard/index.d.ts +5 -0
  100. package/lib/components/productCard/index.js +3 -1
  101. package/lib/components/productCard/locales.d.ts +54 -0
  102. package/lib/components/productCard/locales.js +6 -3
  103. package/lib/components/productCard/types.d.ts +83 -0
  104. package/lib/components/productCard/utils.d.ts +31 -0
  105. package/lib/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +1 -0
  106. package/lib/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +1 -0
  107. package/lib/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +1 -0
  108. package/lib/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +1 -0
  109. package/lib/components/table/Actions/component/ExportImport/index.d.ts +8 -0
  110. package/lib/components/table/Actions/component/GallerySetting/index.d.ts +1 -0
  111. package/lib/components/table/Actions/component/Group/index.d.ts +1 -0
  112. package/lib/components/table/Actions/component/ViewMode/index.d.ts +1 -0
  113. package/lib/components/table/Actions/index.d.ts +1 -0
  114. package/lib/components/table/BasicTable/index.d.ts +1 -0
  115. package/lib/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +1 -0
  116. package/lib/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +1 -0
  117. package/lib/components/table/Gallery/components/GalleryItem/index.d.ts +14 -0
  118. package/lib/components/table/Gallery/index.d.ts +5 -0
  119. package/lib/components/table/Table/index.d.ts +4 -0
  120. package/lib/components/table/Table/tableConfig/SortRow/index.d.ts +1 -0
  121. package/lib/components/table/Table/utils.d.ts +173 -0
  122. package/lib/components/table/View/index.d.ts +1 -0
  123. package/lib/components/table/hooks/useTableSetting.d.ts +22 -0
  124. package/lib/components/table/hooks/useTransDataSource.d.ts +12 -0
  125. package/lib/components/table/types.d.ts +253 -0
  126. package/lib/components/versionModal/index.d.ts +24 -0
  127. package/lib/index.d.ts +141 -0
  128. package/lib/locales/en-US.d.ts +276 -0
  129. package/lib/locales/zh-CN.d.ts +271 -0
  130. package/lib/locales/zh-TW.d.ts +271 -0
  131. package/lib/utils/platform.d.ts +1 -1
  132. package/package.json +1 -1
@@ -0,0 +1,71 @@
1
+ import React from 'react';
2
+ import { PisellCheckboxGroupProps } from '../pisellCheckboxGroup';
3
+ import { PisellContextType } from '../pisell-config-provider/context';
4
+ import { PisellWalletPassCardProps } from '../pisellWalletPassCard';
5
+ import './index.less';
6
+ export interface PisellCardListProps extends Omit<PisellCheckboxGroupProps, 'options'> {
7
+ platform?: PisellContextType['platform'];
8
+ /** 当用户查看完所有记录时,底部会显示此消息 */
9
+ endMessage?: React.ReactNode;
10
+ /** 加载下次数据时的加载站位 */
11
+ loader?: React.ReactNode;
12
+ /** 是否有更多数据 */
13
+ hasMore: boolean;
14
+ /** 加载更多数据回调 */
15
+ loadMoreData?: () => Promise<void>;
16
+ /** 当前list数据 */
17
+ data: PisellWalletPassCardProps[];
18
+ /** list空数据时展示内容 */
19
+ empty?: React.ReactNode;
20
+ /** 是否展示空状态 */
21
+ showEmpty?: boolean;
22
+ /** 是否展示卡片名称 */
23
+ showName?: boolean;
24
+ /** 是否展示店铺名称 */
25
+ showStoreName?: boolean;
26
+ /** 是否展示核销金额 */
27
+ showRedeem?: boolean;
28
+ /** 是否展示余额 */
29
+ showBalance?: boolean;
30
+ /** 是否展示编码 */
31
+ showCode?: boolean;
32
+ /** 是否展示到期时间 */
33
+ showValidDate?: boolean;
34
+ /** 是否展示详情按钮 */
35
+ showDetail?: boolean;
36
+ /** 是否展示二维码 */
37
+ showQrCode?: boolean;
38
+ /** 是否展示封面图 */
39
+ showCover?: boolean;
40
+ /** 是否余额货币单位 */
41
+ showBalanceSymbol?: boolean;
42
+ /** 卡片大小 */
43
+ type?: 'default' | 'mini';
44
+ /** 展示操作按钮 */
45
+ showActions?: boolean;
46
+ /** 操作按钮配置 */
47
+ actions?: {
48
+ /** 按钮展示方式 */
49
+ layout: 'expanded' | 'collapsed';
50
+ /** detail 按钮配置 */
51
+ detail?: {
52
+ visible: boolean;
53
+ iconColor: string;
54
+ };
55
+ /** edit按钮配置 */
56
+ edit?: {
57
+ visible: boolean;
58
+ iconColor: string;
59
+ dialogTitle: string;
60
+ enableDialog: boolean;
61
+ fields: {
62
+ name: string;
63
+ label: string;
64
+ };
65
+ };
66
+ };
67
+ /** 编辑弹窗点击提交 */
68
+ onConfirmEdit?: (value: any, index: number) => void;
69
+ }
70
+ declare const _default: React.NamedExoticComponent<PisellCardListProps>;
71
+ export default _default;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { PisellContextType } from '../pisell-config-provider/context';
3
+ import './index.less';
4
+ export interface PisellCheckboxGroupOption {
5
+ label: string;
6
+ value: string;
7
+ disabled?: boolean;
8
+ [key: string]: any;
9
+ }
10
+ declare type PisellCheckboxGroupValue = string | string[] | any;
11
+ export interface PisellCheckboxGroupProps extends React.HTMLAttributes<HTMLDivElement> {
12
+ platform?: PisellContextType['platform'];
13
+ direction?: 'horizontal' | 'vertical';
14
+ fullWidth?: boolean;
15
+ gap?: number;
16
+ padding?: number;
17
+ options: PisellCheckboxGroupOption[];
18
+ onChange?: (value: PisellCheckboxGroupValue, item: PisellCheckboxGroupOption) => void;
19
+ value?: PisellCheckboxGroupValue;
20
+ renderOption?: (option: PisellCheckboxGroupOption, active: boolean, index: number) => React.ReactNode;
21
+ rowKey?: string;
22
+ mode?: 'multiple' | 'single';
23
+ iconPosition?: 'left' | 'right' | 'hide';
24
+ optionClassName?: string;
25
+ optionActiveClassName?: string;
26
+ }
27
+ /**
28
+ * @title: PisellCheckboxGroup
29
+ * @description: 选中组件
30
+ * @param {PisellCheckboxGroupProps} props
31
+ * @return {*}
32
+ * @Author: zhiwei.Wang
33
+ * @Date: 2024-08-16 10:34
34
+ */
35
+ declare const PisellCheckboxGroup: (props: PisellCheckboxGroupProps) => JSX.Element;
36
+ export default PisellCheckboxGroup;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { EmptyProps } from 'antd';
3
+ import { PisellContextType } from '../pisell-config-provider/context';
4
+ import './index.less';
5
+ export interface PisellEmptyProps extends EmptyProps {
6
+ /** 平台 */
7
+ platform?: PisellContextType['platform'];
8
+ /** 额外内容描述 */
9
+ extraDescription?: React.ReactNode;
10
+ /** 额外内容描述 */
11
+ icon?: React.ReactNode;
12
+ /** 自定义底部额外操作区域 */
13
+ footer?: React.ReactNode;
14
+ /** 最大宽度 */
15
+ maxWidth?: number;
16
+ [key: string]: any;
17
+ }
18
+ declare const PisellEmpty: (props: PisellEmptyProps) => JSX.Element;
19
+ export default PisellEmpty;
@@ -0,0 +1,4 @@
1
+ export declare const useNativeScanner: (onChange?: ((val: string) => void) | undefined) => {
2
+ activeNativeScanner: () => void;
3
+ isTerminal: any;
4
+ };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { PisellContextType } from '../pisell-config-provider/context';
3
+ import './index.less';
4
+ export declare type EntryModeType = {
5
+ /**
6
+ * 录入模式名称
7
+ * scanCode: 扫码录入
8
+ * input: 手动录入
9
+ * scanner: 扫码枪录入
10
+ * nfc: NFC录入
11
+ */
12
+ type: 'scanCode' | 'input' | 'scanner' | 'nfc';
13
+ /**
14
+ * 录入模式文案 没有使用默认文案
15
+ */
16
+ name?: string;
17
+ };
18
+ export interface PisellInformationEntryProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'onChange'> {
19
+ /** 平台 */
20
+ platform?: PisellContextType['platform'];
21
+ /** 录入模式 */
22
+ entryModes: EntryModeType[];
23
+ /** 标题文案 */
24
+ title?: React.ReactNode;
25
+ /** 搜索框描述文案 */
26
+ searchDescribe?: React.ReactNode;
27
+ /** 录入信息值改变 */
28
+ onChange?: (val: string) => void;
29
+ /** 录入类型切换时候触发的 */
30
+ onChangeType?: (val: null | EntryModeType['type']) => void;
31
+ }
32
+ declare const PisellInformationEntry: (props: PisellInformationEntryProps) => JSX.Element;
33
+ export default PisellInformationEntry;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { PisellContextType } from '../../../pisell-config-provider/context';
3
+ export interface AmountProps extends React.HTMLAttributes<HTMLSpanElement> {
4
+ /** 平台 */
5
+ platform?: PisellContextType['platform'];
6
+ /** 当前数值 */
7
+ value?: number | string;
8
+ /** 小数点后位数 默认是小数点后2位 */
9
+ precision?: number;
10
+ /** 显示货币符号 指的是 ¥$ 等货币符号等显隐,默认是展示 */
11
+ showCurrencySymbol?: boolean;
12
+ /** 千分位 指的是长金额的千分位逗号隔开,比如“123, 245, 315” 这种展现形式,默认是关闭 */
13
+ useThousandsSeparator?: boolean;
14
+ /** 整数位隐藏小数 指的是如果价格为整数,后面的".00" 将被省略以节省页面空间 */
15
+ hideDecimalForWholeNumbers?: boolean;
16
+ /** 货币符号 */
17
+ symbol?: string;
18
+ }
19
+ declare const Amount: (props: AmountProps) => JSX.Element;
20
+ export default Amount;
@@ -0,0 +1,83 @@
1
+ /// <reference types="react" />
2
+ import './index.less';
3
+ export interface PisellWalletPassCardProps {
4
+ id: number;
5
+ /** 卡片样式 */
6
+ type: 'default' | 'mini';
7
+ /** 商品名称 */
8
+ name: string;
9
+ /** 二维码 */
10
+ qrCode: string;
11
+ /** 共享店铺名称 */
12
+ storeName: string;
13
+ /** 余额 */
14
+ balance?: number;
15
+ /** 识别码编号 */
16
+ code: string;
17
+ /** 有效期 */
18
+ validDate: string;
19
+ /** 使用金额 */
20
+ redeem?: number;
21
+ /** 是否禁用 */
22
+ disabled?: boolean;
23
+ /** 禁用原因 */
24
+ disabledReason?: string;
25
+ /** 是否展示禁用原因 */
26
+ showDisabledReason?: boolean;
27
+ /** 封面图 */
28
+ cover?: string;
29
+ /** 余额标题文案 */
30
+ balanceTitle?: string;
31
+ /** 使用金额标题文案 */
32
+ redeemTitle?: string;
33
+ /** 是否选中 */
34
+ active?: boolean;
35
+ /** 是否展示商品名称 */
36
+ showName?: boolean;
37
+ /** 是否展示共享店铺名称 */
38
+ showStoreName?: boolean;
39
+ /** 是否展示使用金额 */
40
+ showRedeem?: boolean;
41
+ /** 是否展示余额 */
42
+ showBalance?: boolean;
43
+ /** 是否展示识别码编号 */
44
+ showCode?: boolean;
45
+ /** 是否展示有效期 */
46
+ showValidDate?: boolean;
47
+ /** 是否展示右上角详情按钮 */
48
+ showDetail?: boolean;
49
+ /** 是否展示qrCode */
50
+ showQrCode?: boolean;
51
+ /** 是否展示封面 */
52
+ showCover?: boolean;
53
+ /** 是否展示余额货币符号 */
54
+ showBalanceSymbol?: boolean;
55
+ /** 展示操作按钮 */
56
+ showActions?: boolean;
57
+ /** 操作按钮配置 */
58
+ actions?: {
59
+ /** 按钮展示方式 */
60
+ layout: 'expanded' | 'collapsed';
61
+ /** detail 按钮配置 */
62
+ detail?: {
63
+ visible: boolean;
64
+ iconColor: string;
65
+ };
66
+ /** edit按钮配置 */
67
+ edit?: {
68
+ visible: boolean;
69
+ iconColor: string;
70
+ dialogTitle: string;
71
+ enableDialog: boolean;
72
+ fields: {
73
+ name: string;
74
+ label: string;
75
+ };
76
+ };
77
+ };
78
+ /** 编辑弹窗点击提交 */
79
+ onConfirmEdit?: (value: any) => void;
80
+ [key: string]: any;
81
+ }
82
+ declare const PisellWalletPassCard: (props: PisellWalletPassCardProps) => JSX.Element;
83
+ export default PisellWalletPassCard;
@@ -17,4 +17,4 @@ export declare const minusSign: (item: any, type?: string) => "" | "-";
17
17
  * @Author: WangHan
18
18
  * @Date: 2024-11-22 10:58
19
19
  */
20
- export declare const _formatAmount: (price?: number, amountSymbol?: string, digit?: number) => any;
20
+ export declare const _formatAmount: (price?: number, amountSymbol?: string, digit?: number) => string | number;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import './index.less';
3
+ declare const Like: ({ status, onLike, className, style, isShowChangeResource, }: {
4
+ style?: any;
5
+ status: string;
6
+ onLike?: any;
7
+ className?: string | undefined;
8
+ isShowChangeResource?: boolean | undefined;
9
+ }) => JSX.Element;
10
+ export default Like;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import './index.less';
3
+ declare const SelectHolder: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, addHolderButtonText, onClearHolder, isErrorHolder, allowClear, }: any) => JSX.Element;
4
+ export default SelectHolder;
@@ -35,7 +35,7 @@ module.exports = __toCommonJS(SelectHolder_exports);
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_antd = require("antd");
37
37
  var import_utils = require("@pisell/utils");
38
- var import_icons = require("@ant-design/icons");
38
+ var import_iconfont = __toESM(require("../../../../../iconfont"));
39
39
  var import_index = require("./index.less");
40
40
  var SelectHolder = ({
41
41
  lists,
@@ -44,7 +44,10 @@ var SelectHolder = ({
44
44
  holderMode,
45
45
  isShowAddHolderButton,
46
46
  onAddHolder,
47
- addHolderButtonText
47
+ addHolderButtonText,
48
+ onClearHolder,
49
+ isErrorHolder,
50
+ allowClear = false
48
51
  }) => {
49
52
  const [selectedValue, setSelectedValue] = (0, import_react.useState)();
50
53
  (0, import_react.useEffect)(() => {
@@ -61,49 +64,84 @@ var SelectHolder = ({
61
64
  addHolderButtonText,
62
65
  "select-holder"
63
66
  );
64
- return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-product-card-select-holder" }, /* @__PURE__ */ import_react.default.createElement(
65
- import_antd.Select,
67
+ const isError = (0, import_react.useMemo)(() => {
68
+ if (!selectedValue && isErrorHolder) return true;
69
+ }, [selectedValue, isErrorHolder]);
70
+ return /* @__PURE__ */ import_react.default.createElement(
71
+ "div",
66
72
  {
67
- onClick: (e) => e.stopPropagation(),
68
- mode: holderMode,
69
- size: "large",
70
- showSearch: true,
71
- value: selectedValue,
72
- onChange: (val) => {
73
- setSelectedValue(val);
74
- const item = lists.find((d) => d.id === val);
75
- onChange(item);
76
- },
77
- options: lists.map((item) => ({
78
- label: item == null ? void 0 : item.label,
79
- value: item == null ? void 0 : item.id
80
- })),
81
- dropdownRender: (menu) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, menu, isShowAddHolderButton ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_antd.Divider, { style: { margin: "8px 0" } }), /* @__PURE__ */ import_react.default.createElement(
82
- import_antd.Button,
83
- {
84
- type: "text",
85
- icon: /* @__PURE__ */ import_react.default.createElement(import_icons.PlusOutlined, null),
86
- onClick: addItem,
87
- style: { width: "100%" }
73
+ className: `pisell-lowcode-product-card-select-holder ${isError ? "pisell-lowcode-product-card-select-holder-error" : ""}`
74
+ },
75
+ /* @__PURE__ */ import_react.default.createElement(
76
+ import_antd.Select,
77
+ {
78
+ onClick: (e) => e.stopPropagation(),
79
+ mode: holderMode,
80
+ size: "large",
81
+ showSearch: true,
82
+ allowClear,
83
+ onClear: () => onChange(""),
84
+ value: selectedValue,
85
+ placeholder: import_utils.locales.getText(
86
+ "pisell2.product.card.add.holder.placeholder"
87
+ )(""),
88
+ onChange: (val) => {
89
+ setSelectedValue(val);
90
+ const item = lists.find((d) => d.id === val);
91
+ onChange(item);
88
92
  },
89
- /* @__PURE__ */ import_react.default.createElement(
90
- "span",
93
+ options: lists.map((item) => ({
94
+ label: item == null ? void 0 : item.label,
95
+ value: item == null ? void 0 : item.id
96
+ })),
97
+ dropdownRender: (menu) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, menu, isShowAddHolderButton ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_antd.Divider, { style: { margin: "8px 0" } }), /* @__PURE__ */ import_react.default.createElement(
98
+ "div",
91
99
  {
100
+ onClick: addItem,
101
+ className: "select-holder-add-btn-wrap",
92
102
  style: {
93
- display: "inline-block",
94
- maxWidth: "100%",
95
- whiteSpace: "nowrap",
96
- overflow: "hidden",
97
- textOverflow: "ellipsis",
98
- verticalAlign: "middle"
103
+ display: "flex",
104
+ alignContent: "center",
105
+ padding: "4px 10px 10px 8px",
106
+ gap: "8px",
107
+ flex: "1 0 0",
108
+ color: "var(--Primary-600, #7f56d9)",
109
+ fontSize: "14px",
110
+ fontWeight: 600,
111
+ lineHeight: "20px",
112
+ cursor: "pointer"
99
113
  }
100
114
  },
101
- import_utils.locales.getText(
102
- "pisell2.product.card.add.holder.button.text"
103
- )(addHolderButtonText || "")
104
- )
105
- )) : null)
106
- }
107
- ));
115
+ /* @__PURE__ */ import_react.default.createElement(
116
+ import_iconfont.default,
117
+ {
118
+ type: "pisell2-plus-circle",
119
+ style: { fontSize: "20px" }
120
+ }
121
+ ),
122
+ /* @__PURE__ */ import_react.default.createElement(
123
+ "span",
124
+ {
125
+ style: {
126
+ flex: 1,
127
+ display: "inline-block",
128
+ maxWidth: "100%",
129
+ whiteSpace: "nowrap",
130
+ overflow: "hidden",
131
+ textOverflow: "ellipsis",
132
+ verticalAlign: "middle"
133
+ }
134
+ },
135
+ import_utils.locales.getText(
136
+ "pisell2.product.card.add.holder.button.text"
137
+ )(addHolderButtonText)
138
+ )
139
+ )) : null)
140
+ }
141
+ ),
142
+ isError ? /* @__PURE__ */ import_react.default.createElement("div", { className: "select-holder-error" }, import_utils.locales.getText("pisell2.product.card.add.holder.placeholder")(
143
+ addHolderButtonText
144
+ )) : null
145
+ );
108
146
  };
109
147
  var SelectHolder_default = SelectHolder;
@@ -7,4 +7,31 @@
7
7
  border-radius: 50px;
8
8
  }
9
9
  }
10
+
11
+ .select-holder-add-btn-wrap {
12
+ display: flex;
13
+ align-items: center;
14
+ flex-wrap: wrap;
15
+ padding: 12px 10px 12px 8px;
16
+ gap: 8px;
17
+ flex: 1 0 0;
18
+ color: var(--Primary-600, #7f56d9);
19
+ font-size: 14px;
20
+ font-weight: 600;
21
+ line-height: 20px;
22
+ }
23
+
24
+ .select-holder-error {
25
+ color: var(--Error-600, #d92d20);
26
+ font-size: 14px;
27
+ font-style: normal;
28
+ font-weight: 400;
29
+ line-height: 20px;
30
+ }
31
+ }
32
+
33
+ .pisell-lowcode-product-card-select-holder-error {
34
+ .pisell-lowcode-select-selector {
35
+ border: 1px solid var(--Error-600, #d92d20) !important;
36
+ }
10
37
  }
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ interface ResourceItem {
3
+ id: string | number;
4
+ label: string;
5
+ isError?: boolean;
6
+ [key: string]: any;
7
+ }
8
+ interface SelectResourceProps {
9
+ lists: ResourceItem[];
10
+ value: any;
11
+ onChange: (val: any) => void;
12
+ resourceMode?: 'multiple' | 'tags' | undefined;
13
+ maxLength?: number;
14
+ isParallelResource?: boolean;
15
+ [key: string]: any;
16
+ }
17
+ declare const SelectResource: ({ lists, value, onChange, resourceMode, maxLength, allowClear, onClearResource, ...props }: SelectResourceProps) => JSX.Element;
18
+ export default SelectResource;
@@ -42,6 +42,8 @@ var SelectResource = ({
42
42
  onChange,
43
43
  resourceMode,
44
44
  maxLength,
45
+ allowClear = false,
46
+ onClearResource,
45
47
  ...props
46
48
  }) => {
47
49
  const [selectedValue, setSelectedValue] = (0, import_react.useState)();
@@ -59,25 +61,28 @@ var SelectResource = ({
59
61
  return /* @__PURE__ */ import_react.default.createElement(import_antd.Select.Option, { value: d.id, key: d.id, ...d || {} }, /* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "8px" } }, /* @__PURE__ */ import_react.default.createElement("span", null, d["label"]), (d == null ? void 0 : d.isError) ? /* @__PURE__ */ import_react.default.createElement(import_AlertTriangle.default, { style: { color: "#b42318", cursor: "pointer" } }) : null));
60
62
  });
61
63
  }, [lists]);
62
- const handleChange = (0, import_react.useCallback)((val) => {
63
- if (["multiple", "tags"].includes(resourceMode) && maxLength) {
64
- if (value && value.length >= maxLength && val.length > value.length) {
65
- return;
64
+ const handleChange = (0, import_react.useCallback)(
65
+ (val) => {
66
+ if (["multiple", "tags"].includes(resourceMode) && maxLength) {
67
+ if (value && value.length >= maxLength && val.length > value.length) {
68
+ return;
69
+ }
66
70
  }
67
- }
68
- setSelectedValue(val);
69
- if (props.isParallelResource) {
70
- const valueArray = (0, import_utils.isArr)(val) ? val : [val];
71
- return onChange({
72
- value: valueArray,
73
- options: valueArray.map((v) => resourceMap[v]),
74
- resourceMode,
75
- props
76
- });
77
- }
78
- const item = resourceMap[val];
79
- onChange(item);
80
- }, [resourceMode, maxLength, value, onChange, props, resourceMap]);
71
+ setSelectedValue(val);
72
+ if (props.isParallelResource) {
73
+ const valueArray = (0, import_utils.isArr)(val) ? val : [val];
74
+ return onChange({
75
+ value: valueArray,
76
+ options: valueArray.map((v) => resourceMap[v]),
77
+ resourceMode,
78
+ props
79
+ });
80
+ }
81
+ const item = resourceMap[val];
82
+ onChange(item);
83
+ },
84
+ [resourceMode, maxLength, value, onChange, props, resourceMap]
85
+ );
81
86
  return /* @__PURE__ */ import_react.default.createElement(
82
87
  import_antd.Select,
83
88
  {
@@ -86,6 +91,8 @@ var SelectResource = ({
86
91
  showSearch: true,
87
92
  style: { flex: 1, overflow: "hidden" },
88
93
  onClick: (e) => e.stopPropagation(),
94
+ allowClear,
95
+ onClear: () => onChange(""),
89
96
  value: selectedValue,
90
97
  onChange: handleChange
91
98
  },
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import './index.less';
3
+ declare const Time: ({ item, isShowHolder, onLike, isShowChangeResource, changeResource, changeHolder, isShowChangeHolder, holderMode, onAddHolder, isShowAddHolderButton, onClearHolder, onClearResource, }: any) => JSX.Element | null;
4
+ export default Time;
@@ -50,7 +50,9 @@ var Time = ({
50
50
  isShowChangeHolder,
51
51
  holderMode,
52
52
  onAddHolder,
53
- isShowAddHolderButton
53
+ isShowAddHolderButton,
54
+ onClearHolder,
55
+ onClearResource
54
56
  }) => {
55
57
  const {
56
58
  start_date,
@@ -66,7 +68,10 @@ var Time = ({
66
68
  // 多个资源数据
67
69
  multiResources,
68
70
  addHolderButtonText,
69
- isMultipleResource
71
+ isMultipleResource,
72
+ isErrorHolder,
73
+ allowClearHolder,
74
+ allowClearResource
70
75
  } = item;
71
76
  const holderCom = (0, import_react.useMemo)(() => {
72
77
  if (!isShowHolder) return null;
@@ -80,7 +85,10 @@ var Time = ({
80
85
  holderMode,
81
86
  isShowAddHolderButton,
82
87
  onAddHolder,
83
- addHolderButtonText
88
+ addHolderButtonText,
89
+ onClearHolder,
90
+ isErrorHolder,
91
+ allowClear: allowClearHolder
84
92
  }
85
93
  );
86
94
  }
@@ -94,7 +102,10 @@ var Time = ({
94
102
  holderMode,
95
103
  holders,
96
104
  isShowAddHolderButton,
97
- isShowChangeHolder
105
+ isShowChangeHolder,
106
+ isErrorHolder,
107
+ addHolderButtonText,
108
+ allowClearHolder
98
109
  ]);
99
110
  const likeCom = (0, import_react.useCallback)(
100
111
  (status, item2) => {
@@ -126,14 +137,15 @@ var Time = ({
126
137
  ...item2,
127
138
  lists: item2 == null ? void 0 : item2.lists,
128
139
  value: item2 == null ? void 0 : item2.id,
129
- allowClear: item2 == null ? void 0 : item2.allowClear,
130
140
  onChange: changeResource,
131
141
  resourceMode: item2.resourceMode,
132
- maxLength: item2.maxLength
142
+ maxLength: item2.maxLength,
143
+ onClearResource,
144
+ allowClear: allowClearResource
133
145
  }
134
146
  );
135
147
  },
136
- [isShowChangeResource]
148
+ [isShowChangeResource, allowClearResource]
137
149
  );
138
150
  const likeAndResourceCom = (0, import_react.useMemo)(() => {
139
151
  if (isMultipleResource) {
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ProductCardTypes } from './types';
3
+ import './index.less';
4
+ declare const ProductCard: React.FC<ProductCardTypes>;
5
+ export default ProductCard;
@@ -142,7 +142,9 @@ var ProductCard = (props) => {
142
142
  changeResource: onChangeResource,
143
143
  changeHolder: onChangeHolder,
144
144
  onAddHolder: other == null ? void 0 : other.onAddHolder,
145
- isShowAddHolderButton: other == null ? void 0 : other.isShowAddHolderButton
145
+ isShowAddHolderButton: other == null ? void 0 : other.isShowAddHolderButton,
146
+ onClearResource: other == null ? void 0 : other.onClearResource,
147
+ onClearHolder: other == null ? void 0 : other.onClearHolder
146
148
  }
147
149
  ),
148
150
  /* @__PURE__ */ import_react.default.createElement(import_Packages.default, { item: dataSource, isShowPackageNote }),