@pisell/materials 2.2.100 → 2.2.102

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 (231) 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 +2 -2
  6. package/build/lowcode/render/default/view.css +1 -1
  7. package/build/lowcode/render/default/view.js +4 -4
  8. package/build/lowcode/view.css +1 -1
  9. package/build/lowcode/view.js +3 -3
  10. package/es/components/auto-complete-number/index.d.ts +1 -0
  11. package/es/components/badge/index.d.ts +1 -0
  12. package/es/components/batch-editor/fields/index.d.ts +1 -0
  13. package/es/components/calendar/index.d.ts +1 -0
  14. package/es/components/cardPro/index.d.ts +1 -0
  15. package/es/components/checkbox/index.d.ts +1 -0
  16. package/es/components/classicLayout/index.d.ts +1 -0
  17. package/es/components/colorPicker/index.d.ts +1 -0
  18. package/es/components/config-provider/index.d.ts +1 -0
  19. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  20. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
  21. package/es/components/dataSourceComponents/fields/ColorPicker/ReadPretty.d.ts +1 -0
  22. package/es/components/dataSourceComponents/fields/DateRangePicker/ReadPretty.d.ts +1 -0
  23. package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +1 -0
  24. package/es/components/dataSourceComponents/fields/Input/ReadPretty.d.ts +1 -0
  25. package/es/components/dataSourceComponents/fields/Input.Email/ReadPretty.d.ts +1 -0
  26. package/es/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +1 -0
  27. package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  28. package/es/components/dataSourceComponents/fields/Input.TextArea/ReadPretty.d.ts +1 -0
  29. package/es/components/dataSourceComponents/fields/Input.Url/ReadPretty.d.ts +1 -0
  30. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  31. package/es/components/dataSourceComponents/fields/TimePicker/ReadPretty.d.ts +1 -0
  32. package/es/components/dataSourceComponents/fields/Translation/ReadPretty.d.ts +1 -0
  33. package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  34. package/es/components/dataSourceComponents/fields/index.d.ts +13 -13
  35. package/es/components/dropdown/index.d.ts +1 -0
  36. package/es/components/filter/components/items/index.d.ts +1 -0
  37. package/es/components/filter/components/items/text/Editor/index.d.ts +1 -0
  38. package/es/components/filter/components/items/text/Preview/index.d.ts +1 -0
  39. package/es/components/filter/components/items/text/index.d.ts +1 -0
  40. package/es/components/media/index.d.ts +18 -0
  41. package/es/components/media/index.js +340 -0
  42. package/es/components/media/index.less +100 -0
  43. package/es/components/pisell-config-provider/index.d.ts +1 -0
  44. package/es/components/pisellCard/index.d.ts +1 -0
  45. package/es/components/pisellCardList/index.d.ts +2 -0
  46. package/es/components/pisellCardList/index.js +3 -1
  47. package/es/components/pisellCheckboxGroup/index.d.ts +1 -0
  48. package/es/components/pisellCheckboxGroup/index.js +5 -2
  49. package/es/components/pisellCheckboxGroup/index.less +7 -1
  50. package/es/components/pisellDatePicker/index.d.ts +1 -0
  51. package/es/components/pisellText/components/Amount/index.js +2 -1
  52. package/es/components/pisellUpload/index.d.ts +1 -0
  53. package/es/components/pisellVHFix/index.d.ts +13 -0
  54. package/es/components/pisellVHFix/index.js +36 -0
  55. package/es/components/pisellVHFix/index.less +10 -0
  56. package/es/components/productCard/cartSkuCard/components/packages/utils.d.ts +1 -1
  57. package/es/components/productCard/components/Divider/index.d.ts +1 -0
  58. package/es/components/productCard/components/Packages/utils.d.ts +1 -1
  59. package/es/components/productCard/components/Time/components/Like/index.d.ts +1 -0
  60. package/es/components/radio/index.d.ts +1 -0
  61. package/es/components/segmented/index.d.ts +1 -0
  62. package/es/components/select-time/RightPanel/index.d.ts +1 -0
  63. package/es/components/skeleton/index.d.ts +1 -0
  64. package/es/components/slider/index.d.ts +1 -0
  65. package/es/components/sort/components/InlineMenu/index.d.ts +1 -0
  66. package/es/components/table/Actions/component/ColumnsSetting/index.d.ts +1 -0
  67. package/es/components/table/Summary/index.d.ts +1 -0
  68. package/es/components/table/Table/fields/date/Config/index.d.ts +1 -0
  69. package/es/components/table/Table/fields/date/Sort/index.d.ts +1 -0
  70. package/es/components/table/Table/fields/image/Config/index.d.ts +1 -0
  71. package/es/components/table/Table/fields/image/Sort/index.d.ts +1 -0
  72. package/es/components/table/Table/fields/link/Config/index.d.ts +1 -0
  73. package/es/components/table/Table/fields/link/Sort/index.d.ts +1 -0
  74. package/es/components/table/Table/fields/number/Config/index.d.ts +1 -0
  75. package/es/components/table/Table/fields/number/Sort/index.d.ts +1 -0
  76. package/es/components/table/Table/fields/numberRange/Config/index.d.ts +1 -0
  77. package/es/components/table/Table/fields/numberRange/Sort/index.d.ts +1 -0
  78. package/es/components/table/Table/fields/oldRangePicker/Config/index.d.ts +1 -0
  79. package/es/components/table/Table/fields/oldRangePicker/Show/index.d.ts +1 -0
  80. package/es/components/table/Table/fields/oldRangePicker/Sort/index.d.ts +1 -0
  81. package/es/components/table/Table/fields/pSwitch/Config/index.d.ts +1 -0
  82. package/es/components/table/Table/fields/pSwitch/Sort/index.d.ts +1 -0
  83. package/es/components/table/Table/fields/rangePicker/Config/index.d.ts +1 -0
  84. package/es/components/table/Table/fields/rangePicker/Show/index.d.ts +1 -0
  85. package/es/components/table/Table/fields/rangePicker/Sort/index.d.ts +1 -0
  86. package/es/components/table/Table/fields/search/Config/index.d.ts +1 -0
  87. package/es/components/table/Table/fields/search/Sort/index.d.ts +1 -0
  88. package/es/components/table/Table/fields/select/Config/index.d.ts +1 -0
  89. package/es/components/table/Table/fields/select/Show/index.d.ts +1 -0
  90. package/es/components/table/Table/fields/select/Sort/index.d.ts +1 -0
  91. package/es/components/table/Table/fields/text/Config/index.d.ts +1 -0
  92. package/es/components/table/Table/fields/text/Sort/index.d.ts +1 -0
  93. package/es/components/table/Table/fields/treeSelect/Config/index.d.ts +1 -0
  94. package/es/components/table/Table/fields/treeSelect/Show/index.d.ts +1 -0
  95. package/es/components/table/Table/fields/treeSelect/Sort/index.d.ts +1 -0
  96. package/es/components/table/Table/tableConfig/summary/index.d.ts +1 -0
  97. package/es/components/table/Table/utils.d.ts +1 -1
  98. package/es/components/table/TableFilter/SortIcon.d.ts +1 -0
  99. package/es/components/time-picker/index.d.ts +1 -0
  100. package/es/components/upload/index.d.ts +1 -0
  101. package/es/components/virtual-keyboard/BaseNumberKeyboard/Presets.d.ts +1 -0
  102. package/es/components/virtual-keyboard/Time/utils.d.ts +1 -0
  103. package/es/components/walletCard/Guest/index.d.ts +1 -0
  104. package/es/utils/platform.d.ts +1 -1
  105. package/lib/components/auto-complete-number/index.d.ts +1 -0
  106. package/lib/components/badge/index.d.ts +1 -0
  107. package/lib/components/batch-editor/fields/index.d.ts +1 -0
  108. package/lib/components/calendar/index.d.ts +1 -0
  109. package/lib/components/cardPro/index.d.ts +1 -0
  110. package/lib/components/checkbox/index.d.ts +1 -0
  111. package/lib/components/classicLayout/index.d.ts +1 -0
  112. package/lib/components/colorPicker/index.d.ts +1 -0
  113. package/lib/components/config-provider/index.d.ts +1 -0
  114. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  115. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
  116. package/lib/components/dataSourceComponents/fields/ColorPicker/ReadPretty.d.ts +1 -0
  117. package/lib/components/dataSourceComponents/fields/DateRangePicker/ReadPretty.d.ts +1 -0
  118. package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +1 -0
  119. package/lib/components/dataSourceComponents/fields/Input/ReadPretty.d.ts +1 -0
  120. package/lib/components/dataSourceComponents/fields/Input.Email/ReadPretty.d.ts +1 -0
  121. package/lib/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +1 -0
  122. package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  123. package/lib/components/dataSourceComponents/fields/Input.TextArea/ReadPretty.d.ts +1 -0
  124. package/lib/components/dataSourceComponents/fields/Input.Url/ReadPretty.d.ts +1 -0
  125. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  126. package/lib/components/dataSourceComponents/fields/TimePicker/ReadPretty.d.ts +1 -0
  127. package/lib/components/dataSourceComponents/fields/Translation/ReadPretty.d.ts +1 -0
  128. package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  129. package/lib/components/dataSourceComponents/fields/index.d.ts +13 -13
  130. package/lib/components/dropdown/index.d.ts +1 -0
  131. package/lib/components/filter/components/items/index.d.ts +1 -0
  132. package/lib/components/filter/components/items/text/Editor/index.d.ts +1 -0
  133. package/lib/components/filter/components/items/text/Preview/index.d.ts +1 -0
  134. package/lib/components/filter/components/items/text/index.d.ts +1 -0
  135. package/lib/components/media/index.d.ts +18 -0
  136. package/lib/components/media/index.js +265 -0
  137. package/lib/components/media/index.less +100 -0
  138. package/lib/components/pisell-config-provider/index.d.ts +1 -0
  139. package/lib/components/pisellCard/index.d.ts +1 -0
  140. package/lib/components/pisellCardList/index.d.ts +2 -0
  141. package/lib/components/pisellCardList/index.js +3 -1
  142. package/lib/components/pisellCheckboxGroup/index.d.ts +1 -0
  143. package/lib/components/pisellCheckboxGroup/index.js +2 -0
  144. package/lib/components/pisellCheckboxGroup/index.less +7 -1
  145. package/lib/components/pisellDatePicker/index.d.ts +1 -0
  146. package/lib/components/pisellText/components/Amount/index.js +2 -1
  147. package/lib/components/pisellUpload/index.d.ts +1 -0
  148. package/lib/components/pisellVHFix/index.d.ts +13 -0
  149. package/lib/components/pisellVHFix/index.js +56 -0
  150. package/lib/components/pisellVHFix/index.less +10 -0
  151. package/lib/components/productCard/cartSkuCard/components/packages/utils.d.ts +1 -1
  152. package/lib/components/productCard/components/Divider/index.d.ts +1 -0
  153. package/lib/components/productCard/components/Packages/utils.d.ts +1 -1
  154. package/lib/components/productCard/components/Time/components/Like/index.d.ts +1 -0
  155. package/lib/components/radio/index.d.ts +1 -0
  156. package/lib/components/segmented/index.d.ts +1 -0
  157. package/lib/components/select-time/RightPanel/index.d.ts +1 -0
  158. package/lib/components/skeleton/index.d.ts +1 -0
  159. package/lib/components/slider/index.d.ts +1 -0
  160. package/lib/components/sort/components/InlineMenu/index.d.ts +1 -0
  161. package/lib/components/table/Actions/component/ColumnsSetting/index.d.ts +1 -0
  162. package/lib/components/table/Summary/index.d.ts +1 -0
  163. package/lib/components/table/Table/fields/date/Config/index.d.ts +1 -0
  164. package/lib/components/table/Table/fields/date/Sort/index.d.ts +1 -0
  165. package/lib/components/table/Table/fields/image/Config/index.d.ts +1 -0
  166. package/lib/components/table/Table/fields/image/Sort/index.d.ts +1 -0
  167. package/lib/components/table/Table/fields/link/Config/index.d.ts +1 -0
  168. package/lib/components/table/Table/fields/link/Sort/index.d.ts +1 -0
  169. package/lib/components/table/Table/fields/number/Config/index.d.ts +1 -0
  170. package/lib/components/table/Table/fields/number/Sort/index.d.ts +1 -0
  171. package/lib/components/table/Table/fields/numberRange/Config/index.d.ts +1 -0
  172. package/lib/components/table/Table/fields/numberRange/Sort/index.d.ts +1 -0
  173. package/lib/components/table/Table/fields/oldRangePicker/Config/index.d.ts +1 -0
  174. package/lib/components/table/Table/fields/oldRangePicker/Show/index.d.ts +1 -0
  175. package/lib/components/table/Table/fields/oldRangePicker/Sort/index.d.ts +1 -0
  176. package/lib/components/table/Table/fields/pSwitch/Config/index.d.ts +1 -0
  177. package/lib/components/table/Table/fields/pSwitch/Sort/index.d.ts +1 -0
  178. package/lib/components/table/Table/fields/rangePicker/Config/index.d.ts +1 -0
  179. package/lib/components/table/Table/fields/rangePicker/Show/index.d.ts +1 -0
  180. package/lib/components/table/Table/fields/rangePicker/Sort/index.d.ts +1 -0
  181. package/lib/components/table/Table/fields/search/Config/index.d.ts +1 -0
  182. package/lib/components/table/Table/fields/search/Sort/index.d.ts +1 -0
  183. package/lib/components/table/Table/fields/select/Config/index.d.ts +1 -0
  184. package/lib/components/table/Table/fields/select/Show/index.d.ts +1 -0
  185. package/lib/components/table/Table/fields/select/Sort/index.d.ts +1 -0
  186. package/lib/components/table/Table/fields/text/Config/index.d.ts +1 -0
  187. package/lib/components/table/Table/fields/text/Sort/index.d.ts +1 -0
  188. package/lib/components/table/Table/fields/treeSelect/Config/index.d.ts +1 -0
  189. package/lib/components/table/Table/fields/treeSelect/Show/index.d.ts +1 -0
  190. package/lib/components/table/Table/fields/treeSelect/Sort/index.d.ts +1 -0
  191. package/lib/components/table/Table/tableConfig/summary/index.d.ts +1 -0
  192. package/lib/components/table/Table/utils.d.ts +1 -1
  193. package/lib/components/table/TableFilter/SortIcon.d.ts +1 -0
  194. package/lib/components/time-picker/index.d.ts +1 -0
  195. package/lib/components/upload/index.d.ts +1 -0
  196. package/lib/components/virtual-keyboard/BaseNumberKeyboard/Presets.d.ts +1 -0
  197. package/lib/components/virtual-keyboard/Time/utils.d.ts +1 -0
  198. package/lib/components/walletCard/Guest/index.d.ts +1 -0
  199. package/lib/utils/platform.d.ts +1 -1
  200. package/lowcode/pisell-upload/meta.ts +8 -0
  201. package/package.json +1 -1
  202. package/es/components/iconfont/index.d.ts +0 -8
  203. package/es/components/pisell-config-provider/context.d.ts +0 -20
  204. package/es/components/pisellAdjustPrice/status.d.ts +0 -32
  205. package/es/components/pisellAdjustPrice/type.d.ts +0 -22
  206. package/es/components/productCard/cartSkuCard/components/MultiDay/utils.d.ts +0 -14
  207. package/es/components/productCard/cartSkuCard/components/swipeAction/index.d.ts +0 -45
  208. package/es/components/productCard/cartSkuCard/locales.d.ts +0 -96
  209. package/es/components/productCard/components/Action/index.d.ts +0 -3
  210. package/es/components/productCard/locales.d.ts +0 -84
  211. package/es/components/virtual-keyboard/Amount/themeConfig.d.ts +0 -32
  212. package/es/components/virtual-keyboard/Keyboard/index.d.ts +0 -21
  213. package/es/components/virtual-keyboard/Number/themeConfig.d.ts +0 -32
  214. package/es/components/virtual-keyboard/Number/types.d.ts +0 -26
  215. package/es/components/virtual-keyboard/VirtualKeyInput/index.d.ts +0 -13
  216. package/es/components/walletCard/Guide/index.d.ts +0 -3
  217. package/lib/components/iconfont/index.d.ts +0 -8
  218. package/lib/components/pisell-config-provider/context.d.ts +0 -20
  219. package/lib/components/pisellAdjustPrice/status.d.ts +0 -32
  220. package/lib/components/pisellAdjustPrice/type.d.ts +0 -22
  221. package/lib/components/productCard/cartSkuCard/components/MultiDay/utils.d.ts +0 -14
  222. package/lib/components/productCard/cartSkuCard/components/swipeAction/index.d.ts +0 -45
  223. package/lib/components/productCard/cartSkuCard/locales.d.ts +0 -96
  224. package/lib/components/productCard/components/Action/index.d.ts +0 -3
  225. package/lib/components/productCard/locales.d.ts +0 -84
  226. package/lib/components/virtual-keyboard/Amount/themeConfig.d.ts +0 -32
  227. package/lib/components/virtual-keyboard/Keyboard/index.d.ts +0 -21
  228. package/lib/components/virtual-keyboard/Number/themeConfig.d.ts +0 -32
  229. package/lib/components/virtual-keyboard/Number/types.d.ts +0 -26
  230. package/lib/components/virtual-keyboard/VirtualKeyInput/index.d.ts +0 -13
  231. package/lib/components/walletCard/Guide/index.d.ts +0 -3
@@ -0,0 +1,265 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/media/index.tsx
30
+ var media_exports = {};
31
+ __export(media_exports, {
32
+ default: () => media_default
33
+ });
34
+ module.exports = __toCommonJS(media_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_icons = require("@ant-design/icons");
38
+ var import_ahooks = require("ahooks");
39
+ var import_utils = require("../table/utils");
40
+ var import_useEngineContext = __toESM(require("../../hooks/useEngineContext"));
41
+ var import_index = require("./index.less");
42
+ var Media = (0, import_react.forwardRef)((props, ref) => {
43
+ const {
44
+ __designMode,
45
+ value,
46
+ onChange,
47
+ multiple = false,
48
+ maxCount = 10,
49
+ accept = "image/*,video/*,audio/*",
50
+ disabled = false,
51
+ className,
52
+ style,
53
+ placeholder = "選擇媒體文件",
54
+ showUploadList = true,
55
+ listType = "picture-card"
56
+ } = props;
57
+ const [isModalVisible, setIsModalVisible] = (0, import_react.useState)(false);
58
+ const [selectedItems, setSelectedItems] = (0, import_react.useState)([]);
59
+ const [uploading, setUploading] = (0, import_react.useState)(false);
60
+ const { appHelper } = (0, import_useEngineContext.default)();
61
+ const { mediaUploadUrl, getHeaders } = (appHelper == null ? void 0 : appHelper.constants) || {};
62
+ const { data: mediaList, run: fetchMediaList } = (0, import_ahooks.useRequest)(
63
+ async () => {
64
+ const { data } = await import_utils.request.getRequest().get(
65
+ `/media:list`,
66
+ {
67
+ page: 1,
68
+ pageSize: 100
69
+ },
70
+ {
71
+ isNocobase: true,
72
+ fullResult: true,
73
+ headers: {
74
+ "x-data-source": "pisell2"
75
+ }
76
+ }
77
+ );
78
+ return (data == null ? void 0 : data.data) || [];
79
+ },
80
+ {
81
+ manual: true
82
+ }
83
+ );
84
+ const { run: uploadFile } = (0, import_ahooks.useRequest)(
85
+ async (file) => {
86
+ const formData = new FormData();
87
+ formData.append("file", file);
88
+ formData.append("group_id", "0");
89
+ const { data } = await import_utils.request.getRequest().post(mediaUploadUrl || "/api/media:upload", formData, {
90
+ headers: {
91
+ ...getHeaders == null ? void 0 : getHeaders(),
92
+ "Content-Type": "multipart/form-data"
93
+ }
94
+ });
95
+ return data;
96
+ },
97
+ {
98
+ manual: true,
99
+ onSuccess: (result) => {
100
+ import_antd.message.success("上傳成功");
101
+ fetchMediaList();
102
+ },
103
+ onError: () => {
104
+ import_antd.message.error("上傳失敗");
105
+ }
106
+ }
107
+ );
108
+ const handleUpload = (0, import_react.useCallback)(
109
+ async (file) => {
110
+ if (file.size > 10 * 1024 * 1024) {
111
+ import_antd.message.error("文件大小不能超過10MB");
112
+ return false;
113
+ }
114
+ setUploading(true);
115
+ try {
116
+ await uploadFile(file);
117
+ } finally {
118
+ setUploading(false);
119
+ }
120
+ return false;
121
+ },
122
+ [uploadFile]
123
+ );
124
+ const showModal = (0, import_react.useCallback)(() => {
125
+ if (__designMode === "design") {
126
+ return;
127
+ }
128
+ setIsModalVisible(true);
129
+ fetchMediaList();
130
+ }, [__designMode, fetchMediaList]);
131
+ const handleCancel = (0, import_react.useCallback)(() => {
132
+ setIsModalVisible(false);
133
+ setSelectedItems([]);
134
+ }, []);
135
+ const handleSelect = (0, import_react.useCallback)(
136
+ (item) => {
137
+ if (multiple) {
138
+ const isSelected = selectedItems.find(
139
+ (selected) => selected.id === item.id
140
+ );
141
+ if (isSelected) {
142
+ setSelectedItems(
143
+ selectedItems.filter((selected) => selected.id !== item.id)
144
+ );
145
+ } else {
146
+ if (selectedItems.length >= maxCount) {
147
+ import_antd.message.warning(`最多只能選擇${maxCount}個文件`);
148
+ return;
149
+ }
150
+ setSelectedItems([...selectedItems, item]);
151
+ }
152
+ } else {
153
+ setSelectedItems([item]);
154
+ }
155
+ },
156
+ [multiple, selectedItems, maxCount]
157
+ );
158
+ const handleOk = (0, import_react.useCallback)(() => {
159
+ if (selectedItems.length === 0) {
160
+ import_antd.message.warning("請選擇媒體文件");
161
+ return;
162
+ }
163
+ const urls = selectedItems.map((item) => item.url);
164
+ const result = multiple ? urls : urls[0];
165
+ onChange == null ? void 0 : onChange(result);
166
+ setIsModalVisible(false);
167
+ setSelectedItems([]);
168
+ }, [selectedItems, multiple, onChange]);
169
+ const renderCurrentFiles = (0, import_react.useMemo)(() => {
170
+ if (!value) return null;
171
+ const files = Array.isArray(value) ? value : [value];
172
+ if (listType === "picture-card") {
173
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-current-files" }, files.map((url, index) => /* @__PURE__ */ import_react.default.createElement("div", { key: index, className: "pisell-media-file-item" }, /* @__PURE__ */ import_react.default.createElement(
174
+ import_antd.Image,
175
+ {
176
+ src: url,
177
+ alt: `file-${index}`,
178
+ width: 80,
179
+ height: 80,
180
+ style: { objectFit: "cover" }
181
+ }
182
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-file-actions" }, /* @__PURE__ */ import_react.default.createElement(
183
+ import_antd.Button,
184
+ {
185
+ type: "text",
186
+ size: "small",
187
+ onClick: () => {
188
+ const newFiles = files.filter((_, i) => i !== index);
189
+ onChange == null ? void 0 : onChange(multiple ? newFiles : newFiles[0] || "");
190
+ }
191
+ },
192
+ "刪除"
193
+ )))));
194
+ }
195
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-current-files" }, files.map((url, index) => /* @__PURE__ */ import_react.default.createElement("div", { key: index, className: "pisell-media-file-item" }, /* @__PURE__ */ import_react.default.createElement("span", null, url), /* @__PURE__ */ import_react.default.createElement(
196
+ import_antd.Button,
197
+ {
198
+ type: "text",
199
+ size: "small",
200
+ onClick: () => {
201
+ const newFiles = files.filter((_, i) => i !== index);
202
+ onChange == null ? void 0 : onChange(multiple ? newFiles : newFiles[0] || "");
203
+ }
204
+ },
205
+ "刪除"
206
+ ))));
207
+ }, [value, listType, multiple, onChange]);
208
+ return /* @__PURE__ */ import_react.default.createElement("div", { ref, className: `pisell-media ${className || ""}`, style }, /* @__PURE__ */ import_react.default.createElement(
209
+ import_antd.Button,
210
+ {
211
+ type: "dashed",
212
+ icon: /* @__PURE__ */ import_react.default.createElement(import_icons.PictureOutlined, null),
213
+ onClick: showModal,
214
+ disabled,
215
+ style: { width: "100%", height: listType === "picture-card" ? 80 : 32 }
216
+ },
217
+ placeholder
218
+ ), showUploadList && renderCurrentFiles, /* @__PURE__ */ import_react.default.createElement(
219
+ import_antd.Modal,
220
+ {
221
+ title: "媒體庫",
222
+ open: isModalVisible,
223
+ onCancel: handleCancel,
224
+ onOk: handleOk,
225
+ width: 800,
226
+ okText: "確定",
227
+ cancelText: "取消"
228
+ },
229
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-modal" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-upload" }, /* @__PURE__ */ import_react.default.createElement(
230
+ import_antd.Upload,
231
+ {
232
+ accept,
233
+ beforeUpload: handleUpload,
234
+ showUploadList: false,
235
+ disabled: uploading
236
+ },
237
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.PlusOutlined, null), loading: uploading }, "上傳文件")
238
+ )), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-list" }, mediaList == null ? void 0 : mediaList.map((item) => {
239
+ const isSelected = selectedItems.find(
240
+ (selected) => selected.id === item.id
241
+ );
242
+ return /* @__PURE__ */ import_react.default.createElement(
243
+ "button",
244
+ {
245
+ key: item.id,
246
+ className: `pisell-media-item ${isSelected ? "selected" : ""}`,
247
+ onClick: () => handleSelect(item),
248
+ type: "button"
249
+ },
250
+ /* @__PURE__ */ import_react.default.createElement(
251
+ import_antd.Image,
252
+ {
253
+ src: item.url,
254
+ alt: item.name,
255
+ width: 80,
256
+ height: 80,
257
+ style: { objectFit: "cover" }
258
+ }
259
+ ),
260
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-item-info" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-item-name" }, item.name), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-item-size" }, (item.size / 1024 / 1024).toFixed(2), " MB"))
261
+ );
262
+ })), selectedItems.length > 0 && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-media-selected" }, "已選擇 ", selectedItems.length, " 個文件"))
263
+ ));
264
+ });
265
+ var media_default = Media;
@@ -0,0 +1,100 @@
1
+ .pisell-media {
2
+ .pisell-media-current-files {
3
+ margin-top: 8px;
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ gap: 8px;
7
+
8
+ .pisell-media-file-item {
9
+ position: relative;
10
+ border: 1px solid #d9d9d9;
11
+ border-radius: 6px;
12
+ padding: 4px;
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 8px;
16
+
17
+ .pisell-media-file-actions {
18
+ position: absolute;
19
+ top: 4px;
20
+ right: 4px;
21
+ opacity: 0;
22
+ transition: opacity 0.2s;
23
+ }
24
+
25
+ &:hover .pisell-media-file-actions {
26
+ opacity: 1;
27
+ }
28
+ }
29
+ }
30
+
31
+ .pisell-media-modal {
32
+ .pisell-media-upload {
33
+ margin-bottom: 16px;
34
+ padding-bottom: 16px;
35
+ border-bottom: 1px solid #f0f0f0;
36
+ }
37
+
38
+ .pisell-media-list {
39
+ display: grid;
40
+ grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
41
+ gap: 12px;
42
+ max-height: 400px;
43
+ overflow-y: auto;
44
+
45
+ .pisell-media-item {
46
+ border: 2px solid transparent;
47
+ border-radius: 8px;
48
+ padding: 8px;
49
+ cursor: pointer;
50
+ background: #fafafa;
51
+ transition: all 0.2s;
52
+ display: flex;
53
+ flex-direction: column;
54
+ align-items: center;
55
+ text-align: center;
56
+ min-height: 120px;
57
+
58
+ &:hover {
59
+ border-color: #1890ff;
60
+ background: #f0f8ff;
61
+ }
62
+
63
+ &.selected {
64
+ border-color: #1890ff;
65
+ background: #e6f7ff;
66
+ }
67
+
68
+ .pisell-media-item-info {
69
+ margin-top: 8px;
70
+ width: 100%;
71
+
72
+ .pisell-media-item-name {
73
+ font-size: 12px;
74
+ color: #333;
75
+ margin-bottom: 4px;
76
+ overflow: hidden;
77
+ text-overflow: ellipsis;
78
+ white-space: nowrap;
79
+ }
80
+
81
+ .pisell-media-item-size {
82
+ font-size: 10px;
83
+ color: #999;
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ .pisell-media-selected {
90
+ margin-top: 16px;
91
+ padding: 8px 12px;
92
+ background: #f6ffed;
93
+ border: 1px solid #b7eb8f;
94
+ border-radius: 6px;
95
+ color: #52c41a;
96
+ font-size: 14px;
97
+ text-align: center;
98
+ }
99
+ }
100
+ }
@@ -7,6 +7,7 @@ interface PisellConfigProviderType {
7
7
  symbol?: string;
8
8
  /** 当前语言环境 */
9
9
  locale?: string;
10
+ getSymbolic?: () => string;
10
11
  }
11
12
  declare const PisellConfigProvider: React.FC<PisellConfigProviderType>;
12
13
  export default PisellConfigProvider;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { CardProps } from 'antd';
2
3
  import './index.less';
3
4
  export interface PisellCardProps extends CardProps {
@@ -96,6 +96,8 @@ export interface PisellCardListProps extends Omit<PisellCheckboxGroupProps, 'opt
96
96
  onBeforeEditAmount?: (value: any, index: number, data: any) => Promise<any> | boolean | void;
97
97
  /** 选项点击事件 */
98
98
  onItemClick?: (e: React.MouseEvent<HTMLDivElement>, option: any) => void;
99
+ /** 是否展示选中状态的背景色 */
100
+ showActiveBackground?: boolean;
99
101
  }
100
102
  declare const _default: React.NamedExoticComponent<PisellCardListProps>;
101
103
  export default _default;
@@ -74,7 +74,8 @@ var PisellCardList = (props) => {
74
74
  formatRedeem,
75
75
  formatRedeemTitle,
76
76
  onBeforeEditAmount,
77
- onItemClick
77
+ onItemClick,
78
+ showActiveBackground
78
79
  } = props;
79
80
  return data.length ? /* @__PURE__ */ import_react.default.createElement(
80
81
  import_pisellCheckboxGroup.default,
@@ -90,6 +91,7 @@ var PisellCardList = (props) => {
90
91
  fullWidth,
91
92
  onChangeDebounce,
92
93
  onItemClick,
94
+ showActiveBackground,
93
95
  renderOption: (item, active, index) => {
94
96
  return /* @__PURE__ */ import_react.default.createElement(
95
97
  import_pisellWalletPassCard.default,
@@ -26,6 +26,7 @@ export interface PisellCheckboxGroupProps extends React.HTMLAttributes<HTMLDivEl
26
26
  optionActiveClassName?: string;
27
27
  onChangeDebounce?: boolean;
28
28
  onItemClick?: (e: React.MouseEvent<HTMLDivElement>, option: PisellCheckboxGroupOption) => void;
29
+ showActiveBackground?: boolean;
29
30
  }
30
31
  /**
31
32
  * @title: PisellCheckboxGroup
@@ -65,6 +65,7 @@ var PisellCheckboxGroup = (props) => {
65
65
  optionActiveClassName,
66
66
  onChangeDebounce,
67
67
  onItemClick,
68
+ showActiveBackground = false,
68
69
  ...rest
69
70
  } = props;
70
71
  const [_value, set_value] = (0, import_react2.useState)([]);
@@ -151,6 +152,7 @@ var PisellCheckboxGroup = (props) => {
151
152
  optionClassName,
152
153
  {
153
154
  "pisell-checkbox-group-item-active": active,
155
+ "pisell-checkbox-group-item-with-background": active && showActiveBackground,
154
156
  [optionActiveClassName]: active,
155
157
  "pisell-checkbox-group-item-error": option.error
156
158
  }
@@ -26,10 +26,16 @@
26
26
  &::before {
27
27
  border-width: 4px;
28
28
  border-color: var(--theme-color);
29
- background: var(--Primary-50, #F9F5FF);
30
29
  z-index: 1;
31
30
  box-sizing: border-box;
32
31
  }
32
+
33
+ // 可选的背景色样式,需要额外的类名才会应用
34
+ &.pisell-checkbox-group-item-with-background {
35
+ &::before {
36
+ background: var(--Primary-50, #F9F5FF);
37
+ }
38
+ }
33
39
  .pisell-row-center {
34
40
  .pisell-row {
35
41
  position: relative;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const PisellDatePicker: (props: any) => JSX.Element;
2
3
  export default PisellDatePicker;
@@ -47,7 +47,8 @@ var Amount = (props) => {
47
47
  } = props;
48
48
  const config = (0, import_usePisellConfig.default)();
49
49
  const amount = (0, import_react.useMemo)(() => {
50
- return (0, import_utils.formatAmountWithOptions)(value, symbol || (config == null ? void 0 : config.symbol) || "", {
50
+ var _a;
51
+ return (0, import_utils.formatAmountWithOptions)(value, symbol || (config == null ? void 0 : config.symbol) || ((_a = config == null ? void 0 : config.getSymbolic) == null ? void 0 : _a.call(config)) || "", {
51
52
  precision,
52
53
  showCurrencySymbol,
53
54
  useThousandsSeparator,
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { UploadProps } from 'antd';
2
3
  import './index.less';
3
4
  export interface PisellUploadProps extends UploadProps {
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ interface PisellVHFixProps {
4
+ children?: React.ReactNode;
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ height?: number;
8
+ minHeight?: boolean;
9
+ maxHeight?: boolean;
10
+ minusPixels?: number;
11
+ }
12
+ declare const PisellVHFix: React.FC<PisellVHFixProps>;
13
+ export default PisellVHFix;
@@ -0,0 +1,56 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/pisellVHFix/index.tsx
30
+ var pisellVHFix_exports = {};
31
+ __export(pisellVHFix_exports, {
32
+ default: () => pisellVHFix_default
33
+ });
34
+ module.exports = __toCommonJS(pisellVHFix_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_useVH = require("../../hooks/useVH");
37
+ var import_index = require("./index.less");
38
+ var PisellVHFix = ({
39
+ children,
40
+ className,
41
+ style,
42
+ height = 100,
43
+ minHeight = false,
44
+ maxHeight = false,
45
+ minusPixels = 0
46
+ }) => {
47
+ (0, import_useVH.useVH)();
48
+ const containerStyle = {
49
+ ...style,
50
+ height: minusPixels > 0 ? `calc(var(--vh, 1vh) * ${height} - ${minusPixels}px)` : `calc(var(--vh, 1vh) * ${height})`,
51
+ ...minHeight && { minHeight: `calc(var(--vh, 1vh) * ${height})` },
52
+ ...maxHeight && { maxHeight: `calc(var(--vh, 1vh) * ${height})` }
53
+ };
54
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: `pisell-vh-fix ${className || ""}`, style: containerStyle }, children);
55
+ };
56
+ var pisellVHFix_default = PisellVHFix;
@@ -0,0 +1,10 @@
1
+ .pisell-vh-fix {
2
+ box-sizing: border-box;
3
+ overflow: hidden;
4
+
5
+ // 确保在Safari移动端正确显示
6
+ -webkit-overflow-scrolling: touch;
7
+
8
+ // 防止iOS Safari的弹性滚动
9
+ overscroll-behavior: contain;
10
+ }
@@ -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) => string | number;
20
+ export declare const _formatAmount: (price?: number, amountSymbol?: string, digit?: number) => any;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const Divider: ({ type }: any) => JSX.Element;
3
4
  export default Divider;
@@ -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) => string | number;
20
+ export declare const _formatAmount: (price?: number, amountSymbol?: string, digit?: number) => any;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const Like: ({ status, onLike, className, style, isShowChangeResource, }: {
3
4
  style?: any;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Radio: (props: any) => JSX.Element;
2
3
  export default Radio;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SegmentedProps } from "antd";
2
3
  import "./index.less";
3
4
  declare const Segmented: (props: SegmentedProps) => JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  interface RightPanelProps {
3
4
  value: string;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Skeleton: (props: any) => JSX.Element;
2
3
  export default Skeleton;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const SliderOuter: (props: any) => JSX.Element;
2
3
  export default SliderOuter;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { MenuProps } from "antd";
2
3
  import "./index.less";
3
4
  interface InlineMenuProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  declare type ColumnsSettingProps = {
2
3
  value?: Record<string, any>[];
3
4
  onChange?: (val: Record<string, any>[]) => void;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import "./index.less";
2
3
  declare const Summary: ({ summary }: any) => JSX.Element | null;
3
4
  export default Summary;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Config: () => JSX.Element;
2
3
  export default Config;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Sort: () => JSX.Element;
2
3
  export default Sort;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Config: () => JSX.Element;
2
3
  export default Config;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Sort: () => JSX.Element;
2
3
  export default Sort;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Config: () => JSX.Element;
2
3
  export default Config;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const Sort: () => JSX.Element;
2
3
  export default Sort;