@pisell/materials 1.0.918 → 1.0.919

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 (233) 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 +164 -148
  7. package/build/lowcode/render/default/view.js +33 -19
  8. package/build/lowcode/view.js +30 -16
  9. package/es/components/Pagination/index.d.ts +1 -1
  10. package/es/components/appVersionControl/index.d.ts +5 -0
  11. package/es/components/cardPro/index.js +10 -3
  12. package/es/components/colorPicker/index.d.ts +0 -1
  13. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +56 -0
  14. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +39 -0
  15. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +99 -0
  16. package/es/components/dataSourceComponents/dataSourceTable/type.d.ts +80 -0
  17. package/es/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +16 -0
  18. package/es/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +16 -0
  19. package/es/components/dataSourceComponents/fields/Input.Phone/serve.d.ts +25 -0
  20. package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  21. package/es/components/dataSourceComponents/fields/index.d.ts +9 -9
  22. package/es/components/drag-sort-tree/TreeItem/index.d.ts +19 -0
  23. package/es/components/drag-sort-tree/index.d.ts +4 -0
  24. package/es/components/filter/components/items/index.d.ts +0 -1
  25. package/es/components/filter/components/items/text/Editor/index.d.ts +0 -1
  26. package/es/components/filter/components/items/text/Preview/index.d.ts +0 -1
  27. package/es/components/filter/components/items/text/index.d.ts +0 -1
  28. package/es/components/hardwareErrorTip/demo.d.ts +3 -0
  29. package/es/components/hardwareErrorTip/errorCard/index.d.ts +29 -0
  30. package/es/components/hardwareErrorTip/errorTipStatistics/index.d.ts +13 -0
  31. package/es/components/hardwareErrorTip/index.d.ts +19 -0
  32. package/es/components/hardwareErrorTip/logCard/index.d.ts +28 -0
  33. package/es/components/hardwareErrorTip/types.d.ts +28 -0
  34. package/es/components/iconfont/index.d.ts +8 -0
  35. package/es/components/login-and-register/index.d.ts +82 -0
  36. package/es/components/media/index.d.ts +18 -0
  37. package/es/components/media/index.js +340 -0
  38. package/es/components/media/index.less +100 -0
  39. package/es/components/page/index.d.ts +1 -0
  40. package/es/components/pisell-config-provider/context.d.ts +22 -0
  41. package/es/components/pisell-config-provider/index.d.ts +13 -0
  42. package/es/components/pisellAdjustPrice/index.d.ts +5 -0
  43. package/es/components/pisellAdjustPrice/status.d.ts +32 -0
  44. package/es/components/pisellAdjustPrice/type.d.ts +22 -0
  45. package/es/components/pisellCardList/index.d.ts +103 -0
  46. package/es/components/pisellCheckboxGroup/index.d.ts +40 -0
  47. package/es/components/pisellDatePicker/datePickerCpt.d.ts +1 -0
  48. package/es/components/pisellEmpty/index.d.ts +19 -0
  49. package/es/components/pisellGoodPassCard/index.d.ts +50 -0
  50. package/es/components/pisellInput/components/BankCard/index.d.ts +1 -0
  51. package/es/components/pisellInput/components/Copy/index.d.ts +1 -0
  52. package/es/components/pisellInput/components/SecurityCode/index.d.ts +1 -0
  53. package/es/components/pisellInput/index.d.ts +1 -0
  54. package/es/components/pisellText/components/Amount/index.d.ts +20 -0
  55. package/es/components/pisellToast/index.d.ts +16 -0
  56. package/es/components/pisellTooltip/index.d.ts +1 -0
  57. package/es/components/pisellVHFix/index.d.ts +13 -0
  58. package/es/components/pisellVHFix/index.js +36 -0
  59. package/es/components/pisellVHFix/index.less +10 -0
  60. package/es/components/pisellWalletPassCard/index.d.ts +136 -0
  61. package/es/components/productCard/cartSkuCard/components/AmountFooter/index.d.ts +4 -0
  62. package/es/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +4 -0
  63. package/es/components/productCard/cartSkuCard/components/MultiDay/utils.d.ts +14 -0
  64. package/es/components/productCard/cartSkuCard/components/Note/index.d.ts +4 -0
  65. package/es/components/productCard/cartSkuCard/components/basicInfo/index.d.ts +27 -0
  66. package/es/components/productCard/cartSkuCard/components/discountReason/index.d.ts +3 -0
  67. package/es/components/productCard/cartSkuCard/components/holders/index.d.ts +4 -0
  68. package/es/components/productCard/cartSkuCard/components/packages/index.d.ts +11 -0
  69. package/es/components/productCard/cartSkuCard/components/packages/utils.d.ts +20 -0
  70. package/es/components/productCard/cartSkuCard/components/resources/index.d.ts +4 -0
  71. package/es/components/productCard/cartSkuCard/components/sales/index.d.ts +13 -0
  72. package/es/components/productCard/cartSkuCard/components/specs/index.d.ts +4 -0
  73. package/es/components/productCard/cartSkuCard/components/swipeAction/index.d.ts +45 -0
  74. package/es/components/productCard/cartSkuCard/components/timeRange/index.d.ts +7 -0
  75. package/es/components/productCard/cartSkuCard/index.d.ts +11 -0
  76. package/es/components/productCard/cartSkuCard/locales.d.ts +96 -0
  77. package/es/components/productCard/components/Action/index.d.ts +4 -0
  78. package/es/components/productCard/components/Header/Actions/index.d.ts +4 -0
  79. package/es/components/productCard/components/Header/DeleteButton/index.d.ts +4 -0
  80. package/es/components/productCard/components/Header/index.d.ts +4 -0
  81. package/es/components/productCard/components/Packages/utils.d.ts +1 -1
  82. package/es/components/productCard/components/Sales/index.d.ts +4 -0
  83. package/es/components/productCard/components/Time/components/SelectHolder/index.d.ts +4 -0
  84. package/es/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +14 -0
  85. package/es/components/productCard/components/Time/components/SelectResource/index.d.ts +19 -0
  86. package/es/components/productCard/components/Time/index.d.ts +4 -0
  87. package/es/components/productCard/index.d.ts +7 -0
  88. package/es/components/productCard/locales.d.ts +84 -0
  89. package/es/components/table/Actions/component/ExportImport/index.d.ts +8 -0
  90. package/es/components/table/Gallery/components/GalleryItem/index.d.ts +14 -0
  91. package/es/components/table/Gallery/index.d.ts +5 -0
  92. package/es/components/table/Table/AddFieldModal/index.d.ts +4 -0
  93. package/es/components/table/Table/fields/index.d.ts +2 -2
  94. package/es/components/table/Table/index.d.ts +4 -0
  95. package/es/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  96. package/es/components/table/Table/utils.d.ts +173 -0
  97. package/es/components/table/hooks/useTableSetting.d.ts +22 -0
  98. package/es/components/table/hooks/useTransDataSource.d.ts +12 -0
  99. package/es/components/table/types.d.ts +253 -0
  100. package/es/components/translation/index.d.ts +15 -0
  101. package/es/components/versionModal/index.d.ts +24 -0
  102. package/es/components/virtual-keyboard/Amount/index.d.ts +6 -0
  103. package/es/components/virtual-keyboard/Amount/themeConfig.d.ts +32 -0
  104. package/es/components/virtual-keyboard/Amount/types.d.ts +44 -0
  105. package/es/components/virtual-keyboard/BaseNumberKeyboard/index.d.ts +21 -0
  106. package/es/components/virtual-keyboard/Keyboard/index.d.ts +21 -0
  107. package/es/components/virtual-keyboard/Number/index.d.ts +6 -0
  108. package/es/components/virtual-keyboard/Number/themeConfig.d.ts +32 -0
  109. package/es/components/virtual-keyboard/Number/types.d.ts +26 -0
  110. package/es/components/virtual-keyboard/VirtualKeyInput/index.d.ts +13 -0
  111. package/es/components/virtual-keyboard/index.d.ts +25 -0
  112. package/es/components/walletCard/index.d.ts +71 -0
  113. package/es/index.d.ts +143 -0
  114. package/es/locales/en-US.d.ts +330 -0
  115. package/es/locales/en-US.js +16 -1
  116. package/es/locales/zh-CN.d.ts +325 -0
  117. package/es/locales/zh-CN.js +16 -1
  118. package/es/locales/zh-TW.d.ts +325 -0
  119. package/es/locales/zh-TW.js +16 -1
  120. package/es/utils/platform.d.ts +1 -1
  121. package/lib/components/Pagination/index.d.ts +1 -1
  122. package/lib/components/appVersionControl/index.d.ts +5 -0
  123. package/lib/components/cardPro/index.js +3 -2
  124. package/lib/components/colorPicker/index.d.ts +0 -1
  125. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +56 -0
  126. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +39 -0
  127. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +99 -0
  128. package/lib/components/dataSourceComponents/dataSourceTable/type.d.ts +80 -0
  129. package/lib/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +16 -0
  130. package/lib/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +16 -0
  131. package/lib/components/dataSourceComponents/fields/Input.Phone/serve.d.ts +25 -0
  132. package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  133. package/lib/components/dataSourceComponents/fields/index.d.ts +9 -9
  134. package/lib/components/drag-sort-tree/TreeItem/index.d.ts +19 -0
  135. package/lib/components/drag-sort-tree/index.d.ts +4 -0
  136. package/lib/components/filter/components/items/index.d.ts +0 -1
  137. package/lib/components/filter/components/items/text/Editor/index.d.ts +0 -1
  138. package/lib/components/filter/components/items/text/Preview/index.d.ts +0 -1
  139. package/lib/components/filter/components/items/text/index.d.ts +0 -1
  140. package/lib/components/hardwareErrorTip/demo.d.ts +3 -0
  141. package/lib/components/hardwareErrorTip/errorCard/index.d.ts +29 -0
  142. package/lib/components/hardwareErrorTip/errorTipStatistics/index.d.ts +13 -0
  143. package/lib/components/hardwareErrorTip/index.d.ts +19 -0
  144. package/lib/components/hardwareErrorTip/logCard/index.d.ts +28 -0
  145. package/lib/components/hardwareErrorTip/types.d.ts +28 -0
  146. package/lib/components/iconfont/index.d.ts +8 -0
  147. package/lib/components/login-and-register/index.d.ts +82 -0
  148. package/lib/components/media/index.d.ts +18 -0
  149. package/lib/components/media/index.js +265 -0
  150. package/lib/components/media/index.less +100 -0
  151. package/lib/components/page/index.d.ts +1 -0
  152. package/lib/components/pisell-config-provider/context.d.ts +22 -0
  153. package/lib/components/pisell-config-provider/index.d.ts +13 -0
  154. package/lib/components/pisellAdjustPrice/index.d.ts +5 -0
  155. package/lib/components/pisellAdjustPrice/status.d.ts +32 -0
  156. package/lib/components/pisellAdjustPrice/type.d.ts +22 -0
  157. package/lib/components/pisellCardList/index.d.ts +103 -0
  158. package/lib/components/pisellCheckboxGroup/index.d.ts +40 -0
  159. package/lib/components/pisellDatePicker/datePickerCpt.d.ts +1 -0
  160. package/lib/components/pisellEmpty/index.d.ts +19 -0
  161. package/lib/components/pisellGoodPassCard/index.d.ts +50 -0
  162. package/lib/components/pisellInput/components/BankCard/index.d.ts +1 -0
  163. package/lib/components/pisellInput/components/Copy/index.d.ts +1 -0
  164. package/lib/components/pisellInput/components/SecurityCode/index.d.ts +1 -0
  165. package/lib/components/pisellInput/index.d.ts +1 -0
  166. package/lib/components/pisellText/components/Amount/index.d.ts +20 -0
  167. package/lib/components/pisellToast/index.d.ts +16 -0
  168. package/lib/components/pisellTooltip/index.d.ts +1 -0
  169. package/lib/components/pisellVHFix/index.d.ts +13 -0
  170. package/lib/components/pisellVHFix/index.js +56 -0
  171. package/lib/components/pisellVHFix/index.less +10 -0
  172. package/lib/components/pisellWalletPassCard/index.d.ts +136 -0
  173. package/lib/components/productCard/cartSkuCard/components/AmountFooter/index.d.ts +4 -0
  174. package/lib/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +4 -0
  175. package/lib/components/productCard/cartSkuCard/components/MultiDay/utils.d.ts +14 -0
  176. package/lib/components/productCard/cartSkuCard/components/Note/index.d.ts +4 -0
  177. package/lib/components/productCard/cartSkuCard/components/basicInfo/index.d.ts +27 -0
  178. package/lib/components/productCard/cartSkuCard/components/discountReason/index.d.ts +3 -0
  179. package/lib/components/productCard/cartSkuCard/components/holders/index.d.ts +4 -0
  180. package/lib/components/productCard/cartSkuCard/components/packages/index.d.ts +11 -0
  181. package/lib/components/productCard/cartSkuCard/components/packages/utils.d.ts +20 -0
  182. package/lib/components/productCard/cartSkuCard/components/resources/index.d.ts +4 -0
  183. package/lib/components/productCard/cartSkuCard/components/sales/index.d.ts +13 -0
  184. package/lib/components/productCard/cartSkuCard/components/specs/index.d.ts +4 -0
  185. package/lib/components/productCard/cartSkuCard/components/swipeAction/index.d.ts +45 -0
  186. package/lib/components/productCard/cartSkuCard/components/timeRange/index.d.ts +7 -0
  187. package/lib/components/productCard/cartSkuCard/index.d.ts +11 -0
  188. package/lib/components/productCard/cartSkuCard/locales.d.ts +96 -0
  189. package/lib/components/productCard/components/Action/index.d.ts +4 -0
  190. package/lib/components/productCard/components/Header/Actions/index.d.ts +4 -0
  191. package/lib/components/productCard/components/Header/DeleteButton/index.d.ts +4 -0
  192. package/lib/components/productCard/components/Header/index.d.ts +4 -0
  193. package/lib/components/productCard/components/Packages/utils.d.ts +1 -1
  194. package/lib/components/productCard/components/Sales/index.d.ts +4 -0
  195. package/lib/components/productCard/components/Time/components/SelectHolder/index.d.ts +4 -0
  196. package/lib/components/productCard/components/Time/components/SelectHolderModal/index.d.ts +14 -0
  197. package/lib/components/productCard/components/Time/components/SelectResource/index.d.ts +19 -0
  198. package/lib/components/productCard/components/Time/index.d.ts +4 -0
  199. package/lib/components/productCard/index.d.ts +7 -0
  200. package/lib/components/productCard/locales.d.ts +84 -0
  201. package/lib/components/table/Actions/component/ExportImport/index.d.ts +8 -0
  202. package/lib/components/table/Gallery/components/GalleryItem/index.d.ts +14 -0
  203. package/lib/components/table/Gallery/index.d.ts +5 -0
  204. package/lib/components/table/Table/AddFieldModal/index.d.ts +4 -0
  205. package/lib/components/table/Table/fields/index.d.ts +2 -2
  206. package/lib/components/table/Table/index.d.ts +4 -0
  207. package/lib/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  208. package/lib/components/table/Table/utils.d.ts +173 -0
  209. package/lib/components/table/hooks/useTableSetting.d.ts +22 -0
  210. package/lib/components/table/hooks/useTransDataSource.d.ts +12 -0
  211. package/lib/components/table/types.d.ts +253 -0
  212. package/lib/components/translation/index.d.ts +15 -0
  213. package/lib/components/versionModal/index.d.ts +24 -0
  214. package/lib/components/virtual-keyboard/Amount/index.d.ts +6 -0
  215. package/lib/components/virtual-keyboard/Amount/themeConfig.d.ts +32 -0
  216. package/lib/components/virtual-keyboard/Amount/types.d.ts +44 -0
  217. package/lib/components/virtual-keyboard/BaseNumberKeyboard/index.d.ts +21 -0
  218. package/lib/components/virtual-keyboard/Keyboard/index.d.ts +21 -0
  219. package/lib/components/virtual-keyboard/Number/index.d.ts +6 -0
  220. package/lib/components/virtual-keyboard/Number/themeConfig.d.ts +32 -0
  221. package/lib/components/virtual-keyboard/Number/types.d.ts +26 -0
  222. package/lib/components/virtual-keyboard/VirtualKeyInput/index.d.ts +13 -0
  223. package/lib/components/virtual-keyboard/index.d.ts +25 -0
  224. package/lib/components/walletCard/index.d.ts +71 -0
  225. package/lib/index.d.ts +143 -0
  226. package/lib/locales/en-US.d.ts +330 -0
  227. package/lib/locales/en-US.js +12 -1
  228. package/lib/locales/zh-CN.d.ts +325 -0
  229. package/lib/locales/zh-CN.js +12 -1
  230. package/lib/locales/zh-TW.d.ts +325 -0
  231. package/lib/locales/zh-TW.js +12 -1
  232. package/lib/utils/platform.d.ts +1 -1
  233. package/package.json +3 -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
+ }
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ConfigProviderProps } from '../config-provider';
2
3
  interface PageProps extends ConfigProviderProps {
3
4
  }
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ export interface PisellContextType {
3
+ platform: 'h5' | 'pc' | 'ipad';
4
+ /** 货币符号 */
5
+ symbol?: string;
6
+ /** 当前语言环境 */
7
+ locale?: string;
8
+ /** 获取货币符号 */
9
+ getSymbolic?: () => string;
10
+ }
11
+ export declare const PisellContext: import("react").Context<PisellContextType>;
12
+ /**
13
+ * provider外获取当前全局配置
14
+ */
15
+ declare class GlobalConfig {
16
+ private config;
17
+ constructor();
18
+ setConfig(config: PisellContextType): void;
19
+ getConfig(): PisellContextType;
20
+ }
21
+ export declare const globalConfig: GlobalConfig;
22
+ export default PisellContext;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { PisellContextType } from './context';
3
+ interface PisellConfigProviderType {
4
+ platform?: PisellContextType['platform'];
5
+ children: React.ReactNode;
6
+ /** 货币符号 */
7
+ symbol?: string;
8
+ /** 当前语言环境 */
9
+ locale?: string;
10
+ getSymbolic?: () => string;
11
+ }
12
+ declare const PisellConfigProvider: React.FC<PisellConfigProviderType>;
13
+ export default PisellConfigProvider;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import './index.less';
3
+ import { PisellAdjustPriceProps } from './type';
4
+ declare const PisellAdjustPrice: (props: PisellAdjustPriceProps) => JSX.Element;
5
+ export default PisellAdjustPrice;
@@ -0,0 +1,32 @@
1
+ export declare const defaultConfig: {
2
+ dark: {
3
+ backgroundColor: string;
4
+ containerBackgroundColor: string;
5
+ buttonBackgroundColor: string;
6
+ textColor: string;
7
+ resetButtonBackgroundColor: string;
8
+ resetButtonTextColor: string;
9
+ isDoneButtonFollowTheme: boolean;
10
+ doneButtonBackgroundColor: string;
11
+ doneButtonTextColor: string;
12
+ isShowMainText: boolean;
13
+ mainTextColor: string;
14
+ isShowSubText: boolean;
15
+ subTextColor: string;
16
+ };
17
+ light: {
18
+ backgroundColor: string;
19
+ containerBackgroundColor: string;
20
+ buttonBackgroundColor: string;
21
+ textColor: string;
22
+ resetButtonBackgroundColor: string;
23
+ resetButtonTextColor: string;
24
+ isDoneButtonFollowTheme: boolean;
25
+ doneButtonBackgroundColor: string;
26
+ doneButtonTextColor: string;
27
+ isShowMainText: boolean;
28
+ mainTextColor: string;
29
+ isShowSubText: boolean;
30
+ subTextColor: string;
31
+ };
32
+ };
@@ -0,0 +1,22 @@
1
+ export interface PisellAdjustPriceProps {
2
+ value?: number;
3
+ originValue: number;
4
+ defaultValue?: number;
5
+ onChange?: (val: number) => void;
6
+ selectType?: 'light' | 'dark';
7
+ backgroundColor?: string;
8
+ containerBackgroundColor?: string;
9
+ buttonBackgroundColor?: string;
10
+ textColor?: string;
11
+ resetButtonBackgroundColor?: string;
12
+ resetButtonTextColor?: string;
13
+ isDoneButtonFollowTheme?: boolean;
14
+ doneButtonBackgroundColor?: string;
15
+ doneButtonTextColor?: string;
16
+ isShowMainText?: boolean;
17
+ mainTextColor?: string;
18
+ isShowSubText?: boolean;
19
+ subTextColor?: string;
20
+ resetText?: string;
21
+ doneText?: string;
22
+ }
@@ -0,0 +1,103 @@
1
+ import React from 'react';
2
+ import { PisellCheckboxGroupProps } from '../pisellCheckboxGroup';
3
+ import { PisellContextType } from '../pisell-config-provider/context';
4
+ import { PisellWalletPassCardProps, FormatOption } 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
+ beforeEdit?: (value: any, index: number) => Promise<any> | boolean | void;
69
+ /** 编辑弹窗点击提交 */
70
+ onConfirmEdit?: (value: any, index: number, data: any) => void;
71
+ /** 是否展示状态标识 */
72
+ showStatus?: boolean;
73
+ /** 名称标题字号字重颜色配置 */
74
+ nameTitleStyle?: {
75
+ fontSize: number;
76
+ fontWeight: number;
77
+ color: string;
78
+ };
79
+ /** 开启编辑金额 */
80
+ enableEditAmount?: boolean;
81
+ /** 编辑金额事件 */
82
+ onConfirmEditAmount?: (value: number, index: number, data: any) => void;
83
+ /** 是否使用外部详情处理 */
84
+ useExternalDetail?: boolean;
85
+ /** 详情事件 */
86
+ onDetail?: (value: any, index: number) => void;
87
+ /** 自定义余额格式化函数,如果提供则优先使用 */
88
+ formatBalance?: (balance?: number, option?: FormatOption) => React.ReactNode;
89
+ /** 自定义余额标题格式化函数,如果提供则优先使用 */
90
+ formatBalanceTitle?: (balanceTitle?: string, option?: FormatOption) => React.ReactNode;
91
+ /** 自定义使用金额格式化函数,如果提供则优先使用 */
92
+ formatRedeem?: (redeem?: number, option?: FormatOption) => React.ReactNode;
93
+ /** 自定义使用金额标题格式化函数,如果提供则优先使用 */
94
+ formatRedeemTitle?: (redeemTitle?: string, option?: FormatOption) => React.ReactNode;
95
+ /** 编辑金额前事件 */
96
+ onBeforeEditAmount?: (value: any, index: number, data: any) => Promise<any> | boolean | void;
97
+ /** 选项点击事件 */
98
+ onItemClick?: (e: React.MouseEvent<HTMLDivElement>, option: any) => void;
99
+ /** 是否展示选中状态的背景色 */
100
+ showActiveBackground?: boolean;
101
+ }
102
+ declare const _default: React.NamedExoticComponent<PisellCardListProps>;
103
+ export default _default;
@@ -0,0 +1,40 @@
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
+ error?: boolean;
9
+ [key: string]: any;
10
+ }
11
+ declare type PisellCheckboxGroupValue = string | string[] | any;
12
+ export interface PisellCheckboxGroupProps extends React.HTMLAttributes<HTMLDivElement> {
13
+ platform?: PisellContextType['platform'];
14
+ direction?: 'horizontal' | 'vertical';
15
+ fullWidth?: boolean;
16
+ gap?: number;
17
+ padding?: number;
18
+ options: PisellCheckboxGroupOption[];
19
+ onChange?: (value: PisellCheckboxGroupValue, item: PisellCheckboxGroupOption) => void;
20
+ value?: PisellCheckboxGroupValue;
21
+ renderOption?: (option: PisellCheckboxGroupOption, active: boolean, index: number) => React.ReactNode;
22
+ rowKey?: string;
23
+ mode?: 'multiple' | 'single';
24
+ iconPosition?: 'left' | 'right' | 'hide';
25
+ optionClassName?: string;
26
+ optionActiveClassName?: string;
27
+ onChangeDebounce?: boolean;
28
+ onItemClick?: (e: React.MouseEvent<HTMLDivElement>, option: PisellCheckboxGroupOption) => void;
29
+ showActiveBackground?: boolean;
30
+ }
31
+ /**
32
+ * @title: PisellCheckboxGroup
33
+ * @description: 选中组件
34
+ * @param {PisellCheckboxGroupProps} props
35
+ * @return {*}
36
+ * @Author: zhiwei.Wang
37
+ * @Date: 2024-08-16 10:34
38
+ */
39
+ declare const PisellCheckboxGroup: (props: PisellCheckboxGroupProps) => JSX.Element;
40
+ export default PisellCheckboxGroup;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { PickerDateProps } from 'antd/es/date-picker/generatePicker';
2
3
  import { Dayjs } from 'dayjs';
3
4
  import './detePickerCpt.less';
@@ -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;