@pisell/private-materials 3.4.51 → 3.4.53

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 (128) 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/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +10 -10
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +10 -10
  11. package/es/components/booking/addons/model.d.ts +10 -1
  12. package/es/components/booking/forms/model.d.ts +10 -1
  13. package/es/components/booking/info/model.d.ts +10 -1
  14. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  15. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  16. package/es/components/booking/model.d.ts +9 -1
  17. package/es/components/booking/notes/model.d.ts +10 -1
  18. package/es/components/booking/payments/model.d.ts +10 -1
  19. package/es/components/eftposPay/linkly/hooks/useTimeQuery.js +14 -6
  20. package/es/components/eftposPay/payo/config.js +70 -32
  21. package/es/components/eftposPay/payo/payment.d.ts +66 -0
  22. package/es/components/eftposPay/payo/payment.js +579 -0
  23. package/es/components/eftposPay/utils/log/index.d.ts +110 -0
  24. package/es/components/eftposPay/utils/log/index.js +371 -0
  25. package/es/components/index.d.ts +2 -1
  26. package/es/components/index.js +2 -1
  27. package/es/components/pay/toC/model.d.ts +9 -1
  28. package/es/components/schedules/model.d.ts +9 -1
  29. package/es/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  30. package/es/components/systemSettings/registry/components/GroupModal.js +160 -0
  31. package/es/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  32. package/es/components/systemSettings/registry/components/ItemModal.js +547 -0
  33. package/es/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  34. package/es/components/systemSettings/registry/components/ModuleList.js +54 -0
  35. package/es/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  36. package/es/components/systemSettings/registry/components/SectionList.js +174 -0
  37. package/es/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  38. package/es/components/systemSettings/registry/components/SettingsTable.js +765 -0
  39. package/es/components/systemSettings/registry/components/index.d.ts +4 -0
  40. package/es/components/systemSettings/registry/components/index.js +4 -0
  41. package/es/components/systemSettings/registry/index.d.ts +5 -0
  42. package/es/components/systemSettings/registry/index.js +1059 -0
  43. package/es/components/systemSettings/registry/index.less +410 -0
  44. package/es/components/systemSettings/registry/locales.d.ts +272 -0
  45. package/es/components/systemSettings/registry/locales.js +300 -0
  46. package/es/components/systemSettings/registry/services.d.ts +77 -0
  47. package/es/components/systemSettings/registry/services.js +472 -0
  48. package/es/components/systemSettings/registry/types.d.ts +126 -0
  49. package/es/components/systemSettings/registry/types.js +1 -0
  50. package/es/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  51. package/es/components/systemSettings/registry/utils/typeValidation.js +284 -0
  52. package/es/components/systemSettings/registry/utils/validators.d.ts +8 -0
  53. package/es/components/systemSettings/registry/utils/validators.js +44 -0
  54. package/es/components/wallet/Detail/model.d.ts +13 -1
  55. package/es/components/wallet/DiscountCard/model.d.ts +14 -1
  56. package/es/components/wallet/PointCard/model.d.ts +13 -1
  57. package/es/components/wallet/RechargeableCard/model.d.ts +29 -1
  58. package/es/components/wallet/Voucher/model.d.ts +13 -1
  59. package/es/components/wallet/model.d.ts +9 -1
  60. package/es/index.d.ts +2 -0
  61. package/es/index.js +3 -1
  62. package/es/plus/walletPassGallery/components/footerButton/index.js +2 -4
  63. package/es/plus/walletPassGallery/components/footerButton/index.less +14 -59
  64. package/es/plus/walletPassGallery/components/passDetail/index.js +5 -1
  65. package/es/plus/walletPassGallery/components/passDetail/index.less +4 -0
  66. package/es/plus/walletPassGallery/components/recharge/index.js +19 -8
  67. package/es/plus/walletPassGallery/index.js +3 -1
  68. package/es/pro/Login2.0/index.less +15 -8
  69. package/lib/components/booking/addons/model.d.ts +10 -1
  70. package/lib/components/booking/forms/model.d.ts +10 -1
  71. package/lib/components/booking/info/model.d.ts +10 -1
  72. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  73. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  74. package/lib/components/booking/model.d.ts +9 -1
  75. package/lib/components/booking/notes/model.d.ts +10 -1
  76. package/lib/components/booking/payments/model.d.ts +10 -1
  77. package/lib/components/eftposPay/linkly/hooks/useTimeQuery.js +12 -6
  78. package/lib/components/eftposPay/payo/config.js +98 -73
  79. package/lib/components/eftposPay/payo/payment.d.ts +66 -0
  80. package/lib/components/eftposPay/payo/payment.js +357 -0
  81. package/lib/components/eftposPay/utils/log/index.d.ts +110 -0
  82. package/lib/components/eftposPay/utils/log/index.js +294 -0
  83. package/lib/components/index.d.ts +2 -1
  84. package/lib/components/index.js +3 -0
  85. package/lib/components/pay/toC/model.d.ts +9 -1
  86. package/lib/components/schedules/model.d.ts +9 -1
  87. package/lib/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  88. package/lib/components/systemSettings/registry/components/GroupModal.js +177 -0
  89. package/lib/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  90. package/lib/components/systemSettings/registry/components/ItemModal.js +508 -0
  91. package/lib/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  92. package/lib/components/systemSettings/registry/components/ModuleList.js +71 -0
  93. package/lib/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  94. package/lib/components/systemSettings/registry/components/SectionList.js +181 -0
  95. package/lib/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  96. package/lib/components/systemSettings/registry/components/SettingsTable.js +575 -0
  97. package/lib/components/systemSettings/registry/components/index.d.ts +4 -0
  98. package/lib/components/systemSettings/registry/components/index.js +48 -0
  99. package/lib/components/systemSettings/registry/index.d.ts +5 -0
  100. package/lib/components/systemSettings/registry/index.js +529 -0
  101. package/lib/components/systemSettings/registry/index.less +410 -0
  102. package/lib/components/systemSettings/registry/locales.d.ts +272 -0
  103. package/lib/components/systemSettings/registry/locales.js +324 -0
  104. package/lib/components/systemSettings/registry/services.d.ts +77 -0
  105. package/lib/components/systemSettings/registry/services.js +290 -0
  106. package/lib/components/systemSettings/registry/types.d.ts +126 -0
  107. package/lib/components/systemSettings/registry/types.js +17 -0
  108. package/lib/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  109. package/lib/components/systemSettings/registry/utils/typeValidation.js +228 -0
  110. package/lib/components/systemSettings/registry/utils/validators.d.ts +8 -0
  111. package/lib/components/systemSettings/registry/utils/validators.js +54 -0
  112. package/lib/components/wallet/Detail/model.d.ts +13 -1
  113. package/lib/components/wallet/DiscountCard/model.d.ts +14 -1
  114. package/lib/components/wallet/PointCard/model.d.ts +13 -1
  115. package/lib/components/wallet/RechargeableCard/model.d.ts +29 -1
  116. package/lib/components/wallet/Voucher/model.d.ts +13 -1
  117. package/lib/components/wallet/model.d.ts +9 -1
  118. package/lib/index.d.ts +2 -0
  119. package/lib/index.js +6 -0
  120. package/lib/plus/walletPassGallery/components/footerButton/index.js +2 -2
  121. package/lib/plus/walletPassGallery/components/footerButton/index.less +14 -59
  122. package/lib/plus/walletPassGallery/components/passDetail/index.js +4 -1
  123. package/lib/plus/walletPassGallery/components/passDetail/index.less +4 -0
  124. package/lib/plus/walletPassGallery/components/recharge/index.js +7 -1
  125. package/lib/plus/walletPassGallery/index.js +3 -1
  126. package/lib/pro/Login2.0/index.less +15 -8
  127. package/lowcode/settings-registry/meta.ts +29 -0
  128. package/package.json +4 -4
@@ -0,0 +1,508 @@
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/systemSettings/registry/components/ItemModal.tsx
30
+ var ItemModal_exports = {};
31
+ __export(ItemModal_exports, {
32
+ default: () => ItemModal_default
33
+ });
34
+ module.exports = __toCommonJS(ItemModal_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_materials = require("@pisell/materials");
38
+ var import_utils = require("@pisell/utils");
39
+ var import_typeValidation = require("../utils/typeValidation");
40
+ var import_validators = require("../utils/validators");
41
+ var { Option } = import_antd.Select;
42
+ var { TextArea } = import_antd.Input;
43
+ var scopeOptions = [
44
+ { value: "system", label: "registry.scope.systemDefault" },
45
+ { value: "saas", label: "registry.scope.saasDefault" },
46
+ { value: "organization", label: "registry.scope.organization" },
47
+ { value: "business", label: "registry.scope.business" },
48
+ { value: "channel", label: "registry.scope.channel" },
49
+ { value: "board", label: "registry.scope.board" }
50
+ ];
51
+ var fieldTypeOptions = [
52
+ { value: "string", label: "String" },
53
+ { value: "integer", label: "Integer" },
54
+ { value: "float", label: "Float" },
55
+ { value: "boolean", label: "Boolean" },
56
+ { value: "array", label: "Array" }
57
+ ];
58
+ var interfaceTypeOptions = {
59
+ string: [
60
+ { value: "Input", label: "单行文本输入框" },
61
+ { value: "Input.TextArea", label: "多行文本输入框" },
62
+ { value: "Select", label: "单选下拉框" }
63
+ ],
64
+ integer: [
65
+ { value: "InputNumber", label: "数字输入框(整数模式)" }
66
+ ],
67
+ float: [
68
+ { value: "InputNumber", label: "数字输入框(支持小数)" }
69
+ ],
70
+ boolean: [
71
+ { value: "Checkbox", label: "复选框" },
72
+ { value: "Switch", label: "开关组件" }
73
+ ],
74
+ array: [
75
+ { value: "Select", label: "多选下拉框" },
76
+ { value: "Input.JSON", label: "JSON编辑器" }
77
+ ]
78
+ };
79
+ var ItemModal = ({
80
+ open,
81
+ type,
82
+ data,
83
+ section,
84
+ onOk,
85
+ onCancel
86
+ }) => {
87
+ const [form] = import_antd.Form.useForm();
88
+ const [selectedFieldType, setSelectedFieldType] = (0, import_react.useState)("string");
89
+ const [selectedScopes, setSelectedScopes] = (0, import_react.useState)([]);
90
+ const [showSystemDefaultValue, setShowSystemDefaultValue] = (0, import_react.useState)(false);
91
+ const renderDefaultValueInput = (fieldType) => {
92
+ switch (fieldType) {
93
+ case "string":
94
+ return /* @__PURE__ */ import_react.default.createElement(
95
+ import_antd.Input,
96
+ {
97
+ placeholder: "请输入默认值",
98
+ allowClear: true
99
+ }
100
+ );
101
+ case "integer":
102
+ return /* @__PURE__ */ import_react.default.createElement(
103
+ import_antd.InputNumber,
104
+ {
105
+ placeholder: "请输入整数",
106
+ style: { width: "100%" },
107
+ precision: 0,
108
+ allowClear: true
109
+ }
110
+ );
111
+ case "float":
112
+ return /* @__PURE__ */ import_react.default.createElement(
113
+ import_antd.InputNumber,
114
+ {
115
+ placeholder: "请输入数字",
116
+ style: { width: "100%" },
117
+ allowClear: true
118
+ }
119
+ );
120
+ case "boolean":
121
+ return /* @__PURE__ */ import_react.default.createElement(
122
+ import_antd.Select,
123
+ {
124
+ placeholder: "请选择布尔值",
125
+ allowClear: true
126
+ },
127
+ /* @__PURE__ */ import_react.default.createElement(Option, { value: "true" }, "true"),
128
+ /* @__PURE__ */ import_react.default.createElement(Option, { value: "false" }, "false")
129
+ );
130
+ case "array":
131
+ return /* @__PURE__ */ import_react.default.createElement(
132
+ TextArea,
133
+ {
134
+ placeholder: "请输入JSON对象或数组,例如:{} 或 []",
135
+ rows: 4,
136
+ allowClear: true
137
+ }
138
+ );
139
+ default:
140
+ return /* @__PURE__ */ import_react.default.createElement(
141
+ import_antd.Input,
142
+ {
143
+ placeholder: "请输入默认值",
144
+ allowClear: true
145
+ }
146
+ );
147
+ }
148
+ };
149
+ (0, import_react.useEffect)(() => {
150
+ if (open) {
151
+ if (type === "edit" && data) {
152
+ const getName = (nameField) => {
153
+ if (typeof nameField === "string") return nameField;
154
+ if (nameField && typeof nameField === "object") {
155
+ return nameField["zh-CN"] || nameField.original || nameField.en || "";
156
+ }
157
+ return "";
158
+ };
159
+ const getDescription = (descField) => {
160
+ if (typeof descField === "string") {
161
+ return {
162
+ en: "",
163
+ "zh-CN": "",
164
+ "zh-HK": "",
165
+ original: descField
166
+ };
167
+ }
168
+ if (descField && typeof descField === "object") {
169
+ return {
170
+ en: descField.en || "",
171
+ "zh-CN": descField["zh-CN"] || "",
172
+ "zh-HK": descField["zh-HK"] || "",
173
+ original: descField.original || descField["zh-CN"] || descField.en || ""
174
+ };
175
+ }
176
+ return {
177
+ en: "",
178
+ "zh-CN": "",
179
+ "zh-HK": "",
180
+ original: ""
181
+ };
182
+ };
183
+ const formData = {
184
+ name: getDescription(data.title),
185
+ key: data.key || data.code,
186
+ fieldType: data.type || data.fieldType || "string",
187
+ interfaceType: data.interface || data.interfaceType,
188
+ scopes: data.scopes || [],
189
+ description: getDescription(data.description),
190
+ default: data.default,
191
+ uiSchema: (() => {
192
+ const uiSchemaValue = data.schema || data.uiSchema;
193
+ if (!uiSchemaValue) return "";
194
+ if (typeof uiSchemaValue === "string") return uiSchemaValue;
195
+ return JSON.stringify(uiSchemaValue, null, 2);
196
+ })()
197
+ };
198
+ form.setFieldsValue(formData);
199
+ setSelectedFieldType(formData.fieldType);
200
+ setSelectedScopes(formData.scopes);
201
+ setShowSystemDefaultValue(formData.scopes.includes("system"));
202
+ } else {
203
+ form.resetFields();
204
+ const defaultValues = {
205
+ name: {
206
+ en: "",
207
+ "zh-CN": "",
208
+ "zh-HK": "",
209
+ original: ""
210
+ },
211
+ description: {
212
+ en: "",
213
+ "zh-CN": "",
214
+ "zh-HK": "",
215
+ original: ""
216
+ },
217
+ fieldType: "string",
218
+ scopes: ["string"],
219
+ // 为key字段添加section code前缀作为默认值
220
+ key: (section == null ? void 0 : section.code) ? `${section.code}.` : ""
221
+ };
222
+ form.setFieldsValue(defaultValues);
223
+ setSelectedFieldType("string");
224
+ setSelectedScopes(["string"]);
225
+ }
226
+ }
227
+ }, [open, type, data, form]);
228
+ const handleFieldTypeChange = (value) => {
229
+ setSelectedFieldType(value);
230
+ form.setFieldsValue({ interfaceType: void 0 });
231
+ form.setFieldsValue({ default: void 0 });
232
+ form.validateFields(["default"]).catch(() => {
233
+ });
234
+ };
235
+ const handleScopesChange = (values) => {
236
+ const stringValues = values.map((v) => String(v));
237
+ setSelectedScopes(stringValues);
238
+ console.log("stringValues", stringValues);
239
+ setShowSystemDefaultValue(stringValues.includes("system"));
240
+ };
241
+ const handleOk = async () => {
242
+ try {
243
+ const values = await form.validateFields();
244
+ if (values.default !== void 0 && values.default !== null && values.default !== "") {
245
+ if (values.fieldType === "integer" || values.fieldType === "float") {
246
+ if (typeof values.default !== "number") {
247
+ const validation = (0, import_typeValidation.validateDefaultValue)(values.fieldType, values.default);
248
+ if (!validation.isValid) {
249
+ throw new Error(`默认值验证失败: ${validation.error}`);
250
+ }
251
+ values.default = (0, import_typeValidation.parseDefaultValue)(values.fieldType, values.default);
252
+ }
253
+ } else {
254
+ const validation = (0, import_typeValidation.validateDefaultValue)(values.fieldType, values.default);
255
+ if (!validation.isValid) {
256
+ throw new Error(`默认值验证失败: ${validation.error}`);
257
+ }
258
+ values.default = (0, import_typeValidation.parseDefaultValue)(values.fieldType, values.default);
259
+ }
260
+ } else {
261
+ values.default = null;
262
+ }
263
+ if (values.uiSchema) {
264
+ try {
265
+ values.uiSchema = JSON.parse(values.uiSchema);
266
+ } catch (error) {
267
+ throw new Error(`UI Schema格式错误: ${error instanceof Error ? error.message : "未知错误"}`);
268
+ }
269
+ } else {
270
+ values.uiSchema = void 0;
271
+ }
272
+ await onOk(values);
273
+ } catch (error) {
274
+ console.error("Validation failed:", error);
275
+ }
276
+ };
277
+ const handleCancel = () => {
278
+ form.resetFields();
279
+ onCancel();
280
+ };
281
+ const title = import_utils.locales.getText(
282
+ type === "add" ? "registry.modal.add.item" : "registry.modal.edit.item"
283
+ );
284
+ return /* @__PURE__ */ import_react.default.createElement(
285
+ import_antd.Drawer,
286
+ {
287
+ title,
288
+ open,
289
+ onClose: handleCancel,
290
+ width: 600,
291
+ destroyOnClose: true,
292
+ footer: /* @__PURE__ */ import_react.default.createElement("div", { style: { textAlign: "right" } }, /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { onClick: handleCancel, style: { marginRight: 8 } }, import_utils.locales.getText("registry.button.cancel")), /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { type: "primary", onClick: handleOk }, import_utils.locales.getText("registry.button.save")))
293
+ },
294
+ /* @__PURE__ */ import_react.default.createElement(
295
+ import_antd.Form,
296
+ {
297
+ form,
298
+ layout: "vertical",
299
+ requiredMark: true
300
+ },
301
+ /* @__PURE__ */ import_react.default.createElement(
302
+ import_antd.Form.Item,
303
+ {
304
+ name: "name",
305
+ label: import_utils.locales.getText("registry.form.name"),
306
+ rules: [
307
+ {
308
+ required: true,
309
+ validator: (_, value) => {
310
+ if (!value || !value.original) {
311
+ return Promise.reject(new Error(import_utils.locales.getText("registry.message.required")));
312
+ }
313
+ if (value.original.length > 100) {
314
+ return Promise.reject(new Error(import_utils.locales.getText("registry.message.name.maxLength")));
315
+ }
316
+ return Promise.resolve();
317
+ }
318
+ }
319
+ ]
320
+ },
321
+ /* @__PURE__ */ import_react.default.createElement(
322
+ import_materials.BaseTranslation,
323
+ {
324
+ placeholder: import_utils.locales.getText("registry.form.name.placeholder"),
325
+ type: "text",
326
+ renderMode: "edit"
327
+ }
328
+ )
329
+ ),
330
+ /* @__PURE__ */ import_react.default.createElement(
331
+ import_antd.Form.Item,
332
+ {
333
+ name: "key",
334
+ label: import_utils.locales.getText("registry.form.key"),
335
+ rules: [
336
+ {
337
+ required: true,
338
+ message: import_utils.locales.getText("registry.message.required")
339
+ },
340
+ {
341
+ max: 100,
342
+ message: import_utils.locales.getText("registry.message.key.maxLength")
343
+ },
344
+ {
345
+ validator: (section == null ? void 0 : section.code) ? (0, import_validators.createPrefixedAppIdentifierValidator)(section.code) : (_, value) => {
346
+ if (!value) return Promise.resolve();
347
+ return Promise.reject(new Error("未找到当前区块信息"));
348
+ }
349
+ }
350
+ ]
351
+ },
352
+ /* @__PURE__ */ import_react.default.createElement(
353
+ import_antd.Input,
354
+ {
355
+ placeholder: import_utils.locales.getText("registry.form.key.placeholder"),
356
+ maxLength: 100
357
+ }
358
+ )
359
+ ),
360
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Row, { gutter: 16 }, /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 12 }, /* @__PURE__ */ import_react.default.createElement(
361
+ import_antd.Form.Item,
362
+ {
363
+ name: "fieldType",
364
+ label: import_utils.locales.getText("registry.form.fieldType"),
365
+ rules: [
366
+ {
367
+ required: true,
368
+ message: import_utils.locales.getText("registry.message.required")
369
+ }
370
+ ]
371
+ },
372
+ /* @__PURE__ */ import_react.default.createElement(
373
+ import_antd.Select,
374
+ {
375
+ placeholder: import_utils.locales.getText("registry.form.fieldType.placeholder"),
376
+ onChange: handleFieldTypeChange
377
+ },
378
+ fieldTypeOptions.map((option) => /* @__PURE__ */ import_react.default.createElement(Option, { key: option.value, value: option.value }, option.label))
379
+ )
380
+ )), /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 12 }, /* @__PURE__ */ import_react.default.createElement(
381
+ import_antd.Form.Item,
382
+ {
383
+ name: "interfaceType",
384
+ label: import_utils.locales.getText("registry.form.interfaceType"),
385
+ rules: [
386
+ {
387
+ required: true,
388
+ message: import_utils.locales.getText("registry.message.required")
389
+ }
390
+ ]
391
+ },
392
+ /* @__PURE__ */ import_react.default.createElement(
393
+ import_antd.Select,
394
+ {
395
+ placeholder: import_utils.locales.getText("registry.form.interfaceType.placeholder"),
396
+ allowClear: true
397
+ },
398
+ (interfaceTypeOptions[selectedFieldType] || []).map((option) => /* @__PURE__ */ import_react.default.createElement(Option, { key: option.value, value: option.value }, option.label))
399
+ )
400
+ ))),
401
+ /* @__PURE__ */ import_react.default.createElement(
402
+ import_antd.Form.Item,
403
+ {
404
+ name: "scopes",
405
+ label: import_utils.locales.getText("registry.form.scopes"),
406
+ rules: [
407
+ {
408
+ required: true,
409
+ message: import_utils.locales.getText("registry.message.required")
410
+ }
411
+ ]
412
+ },
413
+ /* @__PURE__ */ import_react.default.createElement(
414
+ import_antd.Checkbox.Group,
415
+ {
416
+ options: scopeOptions.map((option) => ({
417
+ label: import_utils.locales.getText(option.label),
418
+ value: option.value
419
+ })),
420
+ onChange: handleScopesChange
421
+ }
422
+ )
423
+ ),
424
+ /* @__PURE__ */ import_react.default.createElement(
425
+ import_antd.Form.Item,
426
+ {
427
+ name: "description",
428
+ label: import_utils.locales.getText("registry.form.description"),
429
+ rules: [
430
+ {
431
+ validator: (_, value) => {
432
+ if (value && value.original && value.original.length > 500) {
433
+ return Promise.reject(new Error(import_utils.locales.getText("registry.message.description.maxLength")));
434
+ }
435
+ return Promise.resolve();
436
+ }
437
+ }
438
+ ]
439
+ },
440
+ /* @__PURE__ */ import_react.default.createElement(
441
+ import_materials.BaseTranslation,
442
+ {
443
+ placeholder: import_utils.locales.getText("registry.form.description.placeholder"),
444
+ type: "textarea",
445
+ renderMode: "edit"
446
+ }
447
+ )
448
+ ),
449
+ showSystemDefaultValue && /* @__PURE__ */ import_react.default.createElement(
450
+ import_antd.Form.Item,
451
+ {
452
+ name: "default",
453
+ label: import_utils.locales.getText("registry.form.systemDefaultValue"),
454
+ rules: [
455
+ {
456
+ validator: (_, value) => {
457
+ if (value === null || value === void 0 || value === "") {
458
+ return Promise.resolve();
459
+ }
460
+ const currentFieldType = form.getFieldValue("fieldType");
461
+ if (!currentFieldType) {
462
+ return Promise.reject(new Error("请先选择字段类型"));
463
+ }
464
+ const validation = (0, import_typeValidation.validateDefaultValue)(currentFieldType, value);
465
+ if (!validation.isValid) {
466
+ return Promise.reject(new Error(validation.error));
467
+ }
468
+ return Promise.resolve();
469
+ }
470
+ }
471
+ ]
472
+ },
473
+ renderDefaultValueInput(selectedFieldType)
474
+ ),
475
+ /* @__PURE__ */ import_react.default.createElement(
476
+ import_antd.Form.Item,
477
+ {
478
+ name: "uiSchema",
479
+ label: import_utils.locales.getText("registry.form.uiSchema"),
480
+ rules: [
481
+ {
482
+ validator: (_, value) => {
483
+ if (!value || value.trim() === "") {
484
+ return Promise.resolve();
485
+ }
486
+ try {
487
+ JSON.parse(value);
488
+ return Promise.resolve();
489
+ } catch (error) {
490
+ return Promise.reject(new Error(import_utils.locales.getText("registry.message.uiSchema.invalid")));
491
+ }
492
+ }
493
+ }
494
+ ]
495
+ },
496
+ /* @__PURE__ */ import_react.default.createElement(
497
+ TextArea,
498
+ {
499
+ placeholder: import_utils.locales.getText("registry.form.uiSchema.placeholder"),
500
+ rows: 6,
501
+ style: { fontFamily: "monospace" }
502
+ }
503
+ )
504
+ )
505
+ )
506
+ );
507
+ };
508
+ var ItemModal_default = ItemModal;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SectionListProps } from '../types';
3
+ declare const SectionList: React.FC<SectionListProps>;
4
+ export default SectionList;
@@ -0,0 +1,71 @@
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/systemSettings/registry/components/ModuleList.tsx
30
+ var ModuleList_exports = {};
31
+ __export(ModuleList_exports, {
32
+ default: () => ModuleList_default
33
+ });
34
+ module.exports = __toCommonJS(ModuleList_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_utils = require("@pisell/utils");
39
+ var sectionIcons = {
40
+ order: /* @__PURE__ */ import_react.default.createElement(import_icons.ShoppingCartOutlined, null),
41
+ payment: /* @__PURE__ */ import_react.default.createElement(import_icons.CreditCardOutlined, null),
42
+ auth: /* @__PURE__ */ import_react.default.createElement(import_icons.SafetyCertificateOutlined, null),
43
+ default: /* @__PURE__ */ import_react.default.createElement(import_icons.SettingOutlined, null)
44
+ };
45
+ var SectionList = ({
46
+ sections,
47
+ selectedSectionId,
48
+ onSectionSelect
49
+ }) => {
50
+ if (sections.length === 0) {
51
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-sections-empty" }, /* @__PURE__ */ import_react.default.createElement(
52
+ import_antd.Empty,
53
+ {
54
+ description: import_utils.locales.getText("registry.sections.empty"),
55
+ image: import_antd.Empty.PRESENTED_IMAGE_SIMPLE
56
+ }
57
+ ));
58
+ }
59
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-sections" }, sections.map((section) => /* @__PURE__ */ import_react.default.createElement(
60
+ import_antd.Card,
61
+ {
62
+ key: section.id,
63
+ className: `pisell-settings-registry-section-item pisell-settings-registry-section-card ${selectedSectionId === section.id ? "active" : ""}`,
64
+ hoverable: true,
65
+ onClick: () => onSectionSelect(section.id),
66
+ bodyStyle: { padding: "16px" }
67
+ },
68
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-section-content" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-section-icon" }, sectionIcons[section.code] || sectionIcons.default), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-section-info" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-section-name" }, section.name), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-section-code" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Tag, { color: "blue" }, section.code)), section.description && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-settings-registry-section-description" }, section.description)))
69
+ )));
70
+ };
71
+ var ModuleList_default = SectionList;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SectionListProps } from '../types';
3
+ declare const SectionList: React.FC<SectionListProps>;
4
+ export default SectionList;