@hanwenbo/x-web-pro-components 0.0.1

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 (150) hide show
  1. package/LICENSE +21 -0
  2. package/es/blocks/index.d.ts +1 -0
  3. package/es/blocks/index.js +2 -0
  4. package/es/blocks/shared.d.ts +24 -0
  5. package/es/blocks/shared.js +77 -0
  6. package/es/components/card/index.d.ts +82 -0
  7. package/es/components/card/index.js +361 -0
  8. package/es/components/descriptions/index.d.ts +31 -0
  9. package/es/components/descriptions/index.js +434 -0
  10. package/es/components/field/index.d.ts +75 -0
  11. package/es/components/field/index.js +761 -0
  12. package/es/components/form/captcha.d.ts +19 -0
  13. package/es/components/form/captcha.js +165 -0
  14. package/es/components/form/colorPicker.d.ts +7 -0
  15. package/es/components/form/colorPicker.js +73 -0
  16. package/es/components/form/fieldControls.d.ts +43 -0
  17. package/es/components/form/fieldControls.js +282 -0
  18. package/es/components/form/index.d.ts +285 -0
  19. package/es/components/form/index.js +2268 -0
  20. package/es/components/form/loginForm.d.ts +22 -0
  21. package/es/components/form/loginForm.js +159 -0
  22. package/es/components/form/schemaForm.d.ts +30 -0
  23. package/es/components/form/schemaForm.js +644 -0
  24. package/es/components/form/stepsForm.d.ts +26 -0
  25. package/es/components/form/stepsForm.js +183 -0
  26. package/es/components/form/uploadButton.d.ts +20 -0
  27. package/es/components/form/uploadButton.js +134 -0
  28. package/es/components/form/uploadDragger.d.ts +13 -0
  29. package/es/components/form/uploadDragger.js +144 -0
  30. package/es/components/index.d.ts +9 -0
  31. package/es/components/index.js +9 -0
  32. package/es/components/layout/components/Help/index.d.ts +72 -0
  33. package/es/components/layout/components/Help/index.js +350 -0
  34. package/es/components/layout/index.d.ts +182 -0
  35. package/es/components/layout/index.js +892 -0
  36. package/es/components/list/index.d.ts +80 -0
  37. package/es/components/list/index.js +431 -0
  38. package/es/components/provider/context.d.ts +7 -0
  39. package/es/components/provider/context.js +21 -0
  40. package/es/components/provider/index.d.ts +28 -0
  41. package/es/components/provider/index.js +117 -0
  42. package/es/components/provider/intl.d.ts +38 -0
  43. package/es/components/provider/intl.js +112 -0
  44. package/es/components/provider/types.d.ts +37 -0
  45. package/es/components/provider/types.js +1 -0
  46. package/es/components/provider/useStyle/index.d.ts +28 -0
  47. package/es/components/provider/useStyle/index.js +208 -0
  48. package/es/components/skeleton/index.d.ts +61 -0
  49. package/es/components/skeleton/index.js +388 -0
  50. package/es/components/table/dragSortTable.d.ts +8 -0
  51. package/es/components/table/dragSortTable.js +229 -0
  52. package/es/components/table/editableTable.d.ts +31 -0
  53. package/es/components/table/editableTable.js +507 -0
  54. package/es/components/table/index.d.ts +52 -0
  55. package/es/components/table/index.js +1554 -0
  56. package/es/components/table/listToolBar.d.ts +48 -0
  57. package/es/components/table/listToolBar.js +194 -0
  58. package/es/components/table/search.d.ts +5 -0
  59. package/es/components/table/search.js +13 -0
  60. package/es/index.d.ts +4 -0
  61. package/es/index.js +4 -0
  62. package/es/types.d.ts +219 -0
  63. package/es/types.js +1 -0
  64. package/es/utils/attachPropertiesToComponent.d.ts +1 -0
  65. package/es/utils/attachPropertiesToComponent.js +6 -0
  66. package/es/utils/getRequestParams.d.ts +19 -0
  67. package/es/utils/getRequestParams.js +57 -0
  68. package/es/utils/getTableListColumns.d.ts +20 -0
  69. package/es/utils/getTableListColumns.js +36 -0
  70. package/es/utils/index.d.ts +4 -0
  71. package/es/utils/index.js +4 -0
  72. package/es/utils/loading.d.ts +3 -0
  73. package/es/utils/loading.js +25 -0
  74. package/es/version.d.ts +2 -0
  75. package/es/version.js +2 -0
  76. package/lib/blocks/index.d.ts +1 -0
  77. package/lib/blocks/index.js +5 -0
  78. package/lib/blocks/shared.d.ts +24 -0
  79. package/lib/blocks/shared.js +83 -0
  80. package/lib/components/card/index.d.ts +82 -0
  81. package/lib/components/card/index.js +368 -0
  82. package/lib/components/descriptions/index.d.ts +31 -0
  83. package/lib/components/descriptions/index.js +440 -0
  84. package/lib/components/field/index.d.ts +75 -0
  85. package/lib/components/field/index.js +767 -0
  86. package/lib/components/form/captcha.d.ts +19 -0
  87. package/lib/components/form/captcha.js +172 -0
  88. package/lib/components/form/colorPicker.d.ts +7 -0
  89. package/lib/components/form/colorPicker.js +79 -0
  90. package/lib/components/form/fieldControls.d.ts +43 -0
  91. package/lib/components/form/fieldControls.js +288 -0
  92. package/lib/components/form/index.d.ts +285 -0
  93. package/lib/components/form/index.js +2332 -0
  94. package/lib/components/form/loginForm.d.ts +22 -0
  95. package/lib/components/form/loginForm.js +165 -0
  96. package/lib/components/form/schemaForm.d.ts +30 -0
  97. package/lib/components/form/schemaForm.js +651 -0
  98. package/lib/components/form/stepsForm.d.ts +26 -0
  99. package/lib/components/form/stepsForm.js +189 -0
  100. package/lib/components/form/uploadButton.d.ts +20 -0
  101. package/lib/components/form/uploadButton.js +141 -0
  102. package/lib/components/form/uploadDragger.d.ts +13 -0
  103. package/lib/components/form/uploadDragger.js +151 -0
  104. package/lib/components/index.d.ts +9 -0
  105. package/lib/components/index.js +104 -0
  106. package/lib/components/layout/components/Help/index.d.ts +72 -0
  107. package/lib/components/layout/components/Help/index.js +356 -0
  108. package/lib/components/layout/index.d.ts +182 -0
  109. package/lib/components/layout/index.js +930 -0
  110. package/lib/components/list/index.d.ts +80 -0
  111. package/lib/components/list/index.js +438 -0
  112. package/lib/components/provider/context.d.ts +7 -0
  113. package/lib/components/provider/context.js +27 -0
  114. package/lib/components/provider/index.d.ts +28 -0
  115. package/lib/components/provider/index.js +174 -0
  116. package/lib/components/provider/intl.d.ts +38 -0
  117. package/lib/components/provider/intl.js +118 -0
  118. package/lib/components/provider/types.d.ts +37 -0
  119. package/lib/components/provider/types.js +5 -0
  120. package/lib/components/provider/useStyle/index.d.ts +28 -0
  121. package/lib/components/provider/useStyle/index.js +217 -0
  122. package/lib/components/skeleton/index.d.ts +61 -0
  123. package/lib/components/skeleton/index.js +394 -0
  124. package/lib/components/table/dragSortTable.d.ts +8 -0
  125. package/lib/components/table/dragSortTable.js +236 -0
  126. package/lib/components/table/editableTable.d.ts +31 -0
  127. package/lib/components/table/editableTable.js +514 -0
  128. package/lib/components/table/index.d.ts +52 -0
  129. package/lib/components/table/index.js +1699 -0
  130. package/lib/components/table/listToolBar.d.ts +48 -0
  131. package/lib/components/table/listToolBar.js +200 -0
  132. package/lib/components/table/search.d.ts +5 -0
  133. package/lib/components/table/search.js +20 -0
  134. package/lib/index.d.ts +4 -0
  135. package/lib/index.js +49 -0
  136. package/lib/types.d.ts +219 -0
  137. package/lib/types.js +5 -0
  138. package/lib/utils/attachPropertiesToComponent.d.ts +1 -0
  139. package/lib/utils/attachPropertiesToComponent.js +12 -0
  140. package/lib/utils/getRequestParams.d.ts +19 -0
  141. package/lib/utils/getRequestParams.js +63 -0
  142. package/lib/utils/getTableListColumns.d.ts +20 -0
  143. package/lib/utils/getTableListColumns.js +42 -0
  144. package/lib/utils/index.d.ts +4 -0
  145. package/lib/utils/index.js +49 -0
  146. package/lib/utils/loading.d.ts +3 -0
  147. package/lib/utils/loading.js +31 -0
  148. package/lib/version.d.ts +2 -0
  149. package/lib/version.js +8 -0
  150. package/package.json +68 -0
@@ -0,0 +1,767 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.proFieldParsingValueEnumToArray = exports.isOptionLikeValueType = exports.getEffectiveValueType = exports.defaultRenderText = exports.default = exports.PureProField = exports.ProFieldBadgeColor = exports.ProField = exports.FieldTreeSelect = exports.FieldTimeRangePicker = exports.FieldTimePicker = exports.FieldTextArea = exports.FieldText = exports.FieldSwitch = exports.FieldStatus = exports.FieldSlider = exports.FieldSelect = exports.FieldSegmented = exports.FieldSecond = exports.FieldRate = exports.FieldRangePicker = exports.FieldRadio = exports.FieldProgress = exports.FieldPercent = exports.FieldPassword = exports.FieldOptions = exports.FieldMoney = exports.FieldIndexColumn = exports.FieldImage = exports.FieldFromNow = exports.FieldDigitRange = exports.FieldDigit = exports.FieldDateYearRangePicker = exports.FieldDateYearPicker = exports.FieldDateWeekRangePicker = exports.FieldDateWeekPicker = exports.FieldDateQuarterRangePicker = exports.FieldDateQuarterPicker = exports.FieldDatePicker = exports.FieldDateMonthRangePicker = exports.FieldDateMonthPicker = exports.FieldColorPicker = exports.FieldCode = exports.FieldCheckbox = exports.FieldCascader = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _dayjs = _interopRequireDefault(require("dayjs"));
9
+ var _advancedFormat = _interopRequireDefault(require("dayjs/plugin/advancedFormat"));
10
+ var _isoWeek2 = _interopRequireDefault(require("dayjs/plugin/isoWeek"));
11
+ var _relativeTime = _interopRequireDefault(require("dayjs/plugin/relativeTime"));
12
+ var _quarterOfYear = _interopRequireDefault(require("dayjs/plugin/quarterOfYear"));
13
+ var _weekOfYear = _interopRequireDefault(require("dayjs/plugin/weekOfYear"));
14
+ var _avatar = require("@hanwenbo/x-web-ui/avatar");
15
+ var _checkbox = require("@hanwenbo/x-web-ui/checkbox");
16
+ var _image = require("@hanwenbo/x-web-ui/image");
17
+ var _inputItem = require("@hanwenbo/x-web-ui/inputItem");
18
+ var _progressBar = require("@hanwenbo/x-web-ui/progressBar");
19
+ var _radio = require("@hanwenbo/x-web-ui/radio");
20
+ var _rate = require("@hanwenbo/x-web-ui/rate");
21
+ var _segmented = require("@hanwenbo/x-web-ui/segmented");
22
+ var _select = require("@hanwenbo/x-web-ui/select");
23
+ var _slider = require("@hanwenbo/x-web-ui/slider");
24
+ var _switch = require("@hanwenbo/x-web-ui/switch");
25
+ var _textArea = require("@hanwenbo/x-web-ui/textArea");
26
+ var _treeSelect = require("@hanwenbo/x-web-ui/treeSelect");
27
+ var _cn = require("@hanwenbo/x-web-ui/utils/cn");
28
+ var _provider = require("../provider");
29
+ var _fieldControls = require("../form/fieldControls");
30
+ var _jsxRuntime = require("react/jsx-runtime");
31
+ var _excluded = ["options"],
32
+ _excluded2 = ["options", "treeData"],
33
+ _excluded3 = ["options"],
34
+ _excluded4 = ["request", "params", "debounceTime", "valueEnum"],
35
+ _excluded5 = ["text", "valueType", "mode", "readonly", "valueEnum", "fieldProps", "placeholder", "emptyText", "render", "formItemRender", "disabled"];
36
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
38
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
39
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
40
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
41
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
42
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
43
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
44
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
45
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
46
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
47
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
48
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
49
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
50
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
51
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
52
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
53
+ _dayjs.default.extend(_relativeTime.default);
54
+ _dayjs.default.extend(_advancedFormat.default);
55
+ _dayjs.default.extend(_isoWeek2.default);
56
+ _dayjs.default.extend(_quarterOfYear.default);
57
+ _dayjs.default.extend(_weekOfYear.default);
58
+ var STATUS_CLASS_MAP = {
59
+ default: 'border-border bg-muted/50 text-muted-foreground',
60
+ success: 'border-success/30 bg-success/10 text-success',
61
+ processing: 'border-primary/30 bg-primary/10 text-primary',
62
+ warning: 'border-warning/30 bg-warning/10 text-warning',
63
+ error: 'border-destructive/30 bg-destructive/10 text-destructive'
64
+ };
65
+ var OPTION_LIKE_VALUE_TYPES = new Set(['select', 'tag', 'checkbox', 'radio', 'treeSelect', 'cascader', 'segmented']);
66
+ var toValueEnumEntries = function toValueEnumEntries(valueEnum) {
67
+ if (!valueEnum) {
68
+ return [];
69
+ }
70
+ if (valueEnum instanceof Map) {
71
+ return Array.from(valueEnum.entries());
72
+ }
73
+ return Object.entries(valueEnum);
74
+ };
75
+ var normalizeValueEnumItem = function normalizeValueEnumItem(item) {
76
+ if (item === undefined || item === null) {
77
+ return undefined;
78
+ }
79
+ if ( /*#__PURE__*/_react.default.isValidElement(item) || _typeof(item) !== 'object' || !('text' in item)) {
80
+ return {
81
+ text: item
82
+ };
83
+ }
84
+ var normalizedItem = item;
85
+ var normalizedStatus = typeof normalizedItem.status === 'string' ? normalizedItem.status.toLowerCase() : normalizedItem.status;
86
+ return _objectSpread(_objectSpread({}, normalizedItem), {}, {
87
+ status: normalizedStatus
88
+ });
89
+ };
90
+ var getValueEnumItem = function getValueEnumItem(valueEnum, value) {
91
+ var entries = toValueEnumEntries(valueEnum);
92
+ var hit = entries.find(function (_ref) {
93
+ var _ref2 = _slicedToArray(_ref, 1),
94
+ key = _ref2[0];
95
+ return String(key) === String(value);
96
+ });
97
+ return normalizeValueEnumItem(hit === null || hit === void 0 ? void 0 : hit[1]);
98
+ };
99
+ var proFieldParsingValueEnumToArray = exports.proFieldParsingValueEnumToArray = function proFieldParsingValueEnumToArray(valueEnum) {
100
+ return toValueEnumEntries(valueEnum).map(function (_ref3) {
101
+ var _normalizedItem$text;
102
+ var _ref4 = _slicedToArray(_ref3, 2),
103
+ value = _ref4[0],
104
+ item = _ref4[1];
105
+ var normalizedItem = normalizeValueEnumItem(item);
106
+ return {
107
+ label: (_normalizedItem$text = normalizedItem === null || normalizedItem === void 0 ? void 0 : normalizedItem.text) !== null && _normalizedItem$text !== void 0 ? _normalizedItem$text : String(value),
108
+ value: value,
109
+ disabled: normalizedItem === null || normalizedItem === void 0 ? void 0 : normalizedItem.disabled
110
+ };
111
+ });
112
+ };
113
+ var getEffectiveValueType = exports.getEffectiveValueType = function getEffectiveValueType(valueType, valueEnum) {
114
+ var legacyValueType = String(valueType || 'text');
115
+ var normalizedValueType = legacyValueType;
116
+ if (legacyValueType === 'number') {
117
+ normalizedValueType = 'digit';
118
+ } else if (legacyValueType === 'img') {
119
+ normalizedValueType = 'image';
120
+ } else if (legacyValueType === 'status') {
121
+ normalizedValueType = 'tag';
122
+ }
123
+ if ((valueType === undefined || valueType === null || legacyValueType === 'text') && toValueEnumEntries(valueEnum).length > 0) {
124
+ return 'select';
125
+ }
126
+ return normalizedValueType;
127
+ };
128
+ var isOptionLikeValueType = exports.isOptionLikeValueType = function isOptionLikeValueType(valueType) {
129
+ return OPTION_LIKE_VALUE_TYPES.has(String(valueType || 'text'));
130
+ };
131
+ var defaultRenderText = exports.defaultRenderText = function defaultRenderText(text) {
132
+ var emptyText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '-';
133
+ if (text === undefined || text === null || text === '') {
134
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
135
+ className: "text-muted-foreground",
136
+ children: emptyText
137
+ });
138
+ }
139
+ if (typeof text === 'string' || typeof text === 'number' || typeof text === 'boolean' || typeof text === 'bigint') {
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
141
+ children: String(text)
142
+ });
143
+ }
144
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
145
+ children: text
146
+ });
147
+ };
148
+ var getDefaultEditPlaceholder = function getDefaultEditPlaceholder(valueType, placeholder) {
149
+ if (placeholder !== undefined) {
150
+ return Array.isArray(placeholder) ? placeholder[0] : placeholder;
151
+ }
152
+ switch (valueType) {
153
+ case 'select':
154
+ case 'tag':
155
+ case 'treeSelect':
156
+ case 'cascader':
157
+ case 'segmented':
158
+ case 'date':
159
+ case 'dateMonth':
160
+ case 'dateYear':
161
+ case 'dateTime':
162
+ case 'time':
163
+ return '请选择';
164
+ default:
165
+ return '请输入';
166
+ }
167
+ };
168
+ var OptionFieldControl = function OptionFieldControl(_ref5) {
169
+ var valueType = _ref5.valueType,
170
+ fieldProps = _ref5.fieldProps,
171
+ valueEnum = _ref5.valueEnum,
172
+ placeholder = _ref5.placeholder,
173
+ disabled = _ref5.disabled;
174
+ var fallbackOptions = (0, _react.useMemo)(function () {
175
+ return (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options) || proFieldParsingValueEnumToArray(valueEnum);
176
+ }, [fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options, valueEnum]);
177
+ var _useState = (0, _react.useState)(fallbackOptions),
178
+ _useState2 = _slicedToArray(_useState, 2),
179
+ requestOptions = _useState2[0],
180
+ setRequestOptions = _useState2[1];
181
+ (0, _react.useEffect)(function () {
182
+ if (!(fieldProps !== null && fieldProps !== void 0 && fieldProps.request)) {
183
+ setRequestOptions(fallbackOptions);
184
+ return;
185
+ }
186
+ var active = true;
187
+ Promise.resolve(fieldProps.request(fieldProps.params)).then(function (result) {
188
+ if (!active) {
189
+ return;
190
+ }
191
+ setRequestOptions(Array.isArray(result) ? result : []);
192
+ }).catch(function (error) {
193
+ console.error('ProField request options error:', error);
194
+ });
195
+ return function () {
196
+ active = false;
197
+ };
198
+ }, [fallbackOptions, fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.params, fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.request]);
199
+ var mergedFieldProps = _objectSpread({
200
+ placeholder: getDefaultEditPlaceholder(valueType, placeholder),
201
+ disabled: disabled
202
+ }, fieldProps || {});
203
+ var resolvedOptions = requestOptions;
204
+ var checkboxOptions = Array.isArray(resolvedOptions) ? resolvedOptions : [];
205
+ var radioOptions = Array.isArray(resolvedOptions) ? resolvedOptions : [];
206
+ switch (valueType) {
207
+ case 'select':
208
+ case 'tag':
209
+ {
210
+ var _ignoredOptions = mergedFieldProps.options,
211
+ selectFieldProps = _objectWithoutProperties(mergedFieldProps, _excluded);
212
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_select.Select, _objectSpread(_objectSpread({}, selectFieldProps), {}, {
213
+ options: resolvedOptions
214
+ }));
215
+ }
216
+ case 'checkbox':
217
+ if (checkboxOptions.length > 0 || mergedFieldProps.mode === 'multiple') {
218
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.CheckboxGroup, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
219
+ children: checkboxOptions.map(function (option) {
220
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.Checkbox, {
221
+ value: option.value,
222
+ disabled: option.disabled,
223
+ children: option.label
224
+ }, String(option.value));
225
+ })
226
+ }));
227
+ }
228
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.Checkbox, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
229
+ children: mergedFieldProps.children || placeholder
230
+ }));
231
+ case 'radio':
232
+ if (radioOptions.length > 0) {
233
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.RadioGroup, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
234
+ children: radioOptions.map(function (option) {
235
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.Radio, {
236
+ value: option.value,
237
+ disabled: option.disabled,
238
+ children: option.label
239
+ }, String(option.value));
240
+ })
241
+ }));
242
+ }
243
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_radio.Radio, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
244
+ children: mergedFieldProps.children || placeholder
245
+ }));
246
+ case 'treeSelect':
247
+ {
248
+ var _ignoredOptions2 = mergedFieldProps.options,
249
+ treeData = mergedFieldProps.treeData,
250
+ treeSelectFieldProps = _objectWithoutProperties(mergedFieldProps, _excluded2);
251
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_treeSelect.TreeSelect, _objectSpread(_objectSpread({}, treeSelectFieldProps), {}, {
252
+ treeData: treeData || resolvedOptions || []
253
+ }));
254
+ }
255
+ case 'cascader':
256
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.CascaderFieldControl, {
257
+ value: mergedFieldProps.value,
258
+ onChange: mergedFieldProps.onChange,
259
+ className: mergedFieldProps.className,
260
+ placeholder: mergedFieldProps.placeholder,
261
+ fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
262
+ options: resolvedOptions
263
+ })
264
+ });
265
+ case 'segmented':
266
+ {
267
+ var _ignoredOptions3 = mergedFieldProps.options,
268
+ segmentedFieldProps = _objectWithoutProperties(mergedFieldProps, _excluded3);
269
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmented.Segmented, _objectSpread(_objectSpread({}, segmentedFieldProps), {}, {
270
+ options: resolvedOptions
271
+ }));
272
+ }
273
+ default:
274
+ return null;
275
+ }
276
+ };
277
+ var renderTag = exports.ProFieldBadgeColor = function renderTag(text, status, color) {
278
+ var className = STATUS_CLASS_MAP[status || 'default'] || STATUS_CLASS_MAP.default;
279
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
280
+ className: (0, _cn.cn)('inline-flex shrink-0 items-center whitespace-nowrap rounded-full border px-2.5 py-1 text-xs font-medium', className),
281
+ style: color ? {
282
+ color: color,
283
+ borderColor: color
284
+ } : undefined,
285
+ children: text
286
+ });
287
+ };
288
+ var formatDateValue = function formatDateValue(text, format) {
289
+ if (!text) {
290
+ return undefined;
291
+ }
292
+ if (Array.isArray(text)) {
293
+ return text.map(function (item) {
294
+ return (0, _dayjs.default)(item).format(format);
295
+ }).filter(Boolean).join(' ~ ');
296
+ }
297
+ return (0, _dayjs.default)(text).format(format);
298
+ };
299
+ var formatQuarterValue = function formatQuarterValue(text) {
300
+ if (!text) {
301
+ return undefined;
302
+ }
303
+ var formatQuarter = function formatQuarter(value) {
304
+ var current = (0, _dayjs.default)(value);
305
+ return "".concat(current.year(), "-Q").concat(Math.floor(current.month() / 3) + 1);
306
+ };
307
+ if (Array.isArray(text)) {
308
+ return text.map(function (item) {
309
+ return formatQuarter(item);
310
+ }).join(' ~ ');
311
+ }
312
+ return formatQuarter(text);
313
+ };
314
+ var formatWeekValue = function formatWeekValue(text) {
315
+ if (!text) {
316
+ return undefined;
317
+ }
318
+ var formatWeek = function formatWeek(value) {
319
+ var _ref6, _week, _week2, _ref7, _isoWeek, _ref8;
320
+ var current = (0, _dayjs.default)(value);
321
+ var weekNumber = (_ref6 = (_week = (_week2 = (_ref7 = current).week) === null || _week2 === void 0 ? void 0 : _week2.call(_ref7)) !== null && _week !== void 0 ? _week : (_isoWeek = (_ref8 = current).isoWeek) === null || _isoWeek === void 0 ? void 0 : _isoWeek.call(_ref8)) !== null && _ref6 !== void 0 ? _ref6 : 0;
322
+ return "".concat(current.year(), "-").concat(String(weekNumber).padStart(2, '0'));
323
+ };
324
+ if (Array.isArray(text)) {
325
+ return text.map(function (item) {
326
+ return formatWeek(item);
327
+ }).join(' ~ ');
328
+ }
329
+ return formatWeek(text);
330
+ };
331
+ var formatJsonCodeValue = function formatJsonCodeValue(text) {
332
+ if (text === undefined || text === null || text === '') {
333
+ return undefined;
334
+ }
335
+ if (typeof text === 'string') {
336
+ try {
337
+ return JSON.stringify(JSON.parse(text), null, 2);
338
+ } catch (error) {
339
+ return text;
340
+ }
341
+ }
342
+ try {
343
+ return JSON.stringify(text, null, 2);
344
+ } catch (error) {
345
+ return String(text);
346
+ }
347
+ };
348
+ var renderValueEnumCollection = function renderValueEnumCollection(text, valueEnum, emptyText) {
349
+ if (Array.isArray(text)) {
350
+ if (!text.length) {
351
+ return defaultRenderText(undefined, emptyText);
352
+ }
353
+ var renderedItems = text.map(function (item) {
354
+ var _valueEnumItem$text;
355
+ var valueEnumItem = getValueEnumItem(valueEnum, item);
356
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
357
+ children: renderTag((_valueEnumItem$text = valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.text) !== null && _valueEnumItem$text !== void 0 ? _valueEnumItem$text : item, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.status, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.color)
358
+ }, String(item));
359
+ });
360
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
361
+ className: "flex flex-wrap items-center gap-2",
362
+ children: renderedItems
363
+ });
364
+ }
365
+ var valueEnumItem = getValueEnumItem(valueEnum, text);
366
+ if (valueEnumItem) {
367
+ return renderTag(valueEnumItem.text, valueEnumItem.status, valueEnumItem.color);
368
+ }
369
+ return defaultRenderText(text, emptyText);
370
+ };
371
+ var renderReadMode = function renderReadMode(text, valueType, valueEnum, emptyText, fieldProps, moneySymbol) {
372
+ var valueEnumItem = getValueEnumItem(valueEnum, text);
373
+ if (valueEnumItem && ['select', 'tag', 'text'].includes(valueType)) {
374
+ return renderTag(valueEnumItem.text, valueEnumItem.status, valueEnumItem.color);
375
+ }
376
+ switch (valueType) {
377
+ case 'money':
378
+ return defaultRenderText(text !== undefined && text !== null && text !== '' ? "".concat(moneySymbol === false ? '' : moneySymbol || '¥').concat(Number(text).toLocaleString('zh-CN')) : undefined, emptyText);
379
+ case 'percent':
380
+ return defaultRenderText(text !== undefined && text !== null && text !== '' ? "".concat(text, "%") : undefined, emptyText);
381
+ case 'date':
382
+ return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD'), emptyText);
383
+ case 'dateWeek':
384
+ return defaultRenderText(formatWeekValue(text), emptyText);
385
+ case 'dateMonth':
386
+ return defaultRenderText(formatDateValue(text, 'YYYY-MM'), emptyText);
387
+ case 'dateQuarter':
388
+ return defaultRenderText(formatQuarterValue(text), emptyText);
389
+ case 'dateYear':
390
+ return defaultRenderText(formatDateValue(text, 'YYYY'), emptyText);
391
+ case 'dateTime':
392
+ return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD HH:mm:ss'), emptyText);
393
+ case 'time':
394
+ return defaultRenderText(formatDateValue(text, 'HH:mm:ss'), emptyText);
395
+ case 'dateRange':
396
+ return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD'), emptyText);
397
+ case 'dateWeekRange':
398
+ return defaultRenderText(formatWeekValue(text), emptyText);
399
+ case 'dateMonthRange':
400
+ return defaultRenderText(formatDateValue(text, 'YYYY-MM'), emptyText);
401
+ case 'dateQuarterRange':
402
+ return defaultRenderText(formatQuarterValue(text), emptyText);
403
+ case 'dateTimeRange':
404
+ return defaultRenderText(formatDateValue(text, 'YYYY-MM-DD HH:mm:ss'), emptyText);
405
+ case 'dateYearRange':
406
+ return defaultRenderText(formatDateValue(text, 'YYYY'), emptyText);
407
+ case 'timeRange':
408
+ return defaultRenderText(formatDateValue(text, 'HH:mm:ss'), emptyText);
409
+ case 'fromNow':
410
+ return defaultRenderText(text ? (0, _dayjs.default)(text).fromNow() : undefined, emptyText);
411
+ case 'second':
412
+ return defaultRenderText(text !== undefined && text !== null && text !== '' ? "".concat(Number(text).toLocaleString('zh-CN'), " \u79D2") : undefined, emptyText);
413
+ case 'password':
414
+ return defaultRenderText(text ? '•'.repeat(Math.max(String(text).length, 6)) : undefined, emptyText);
415
+ case 'textarea':
416
+ return text === undefined || text === null || text === '' ? defaultRenderText(undefined, emptyText) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
417
+ className: "whitespace-pre-wrap break-words",
418
+ children: String(text)
419
+ });
420
+ case 'code':
421
+ return text ? /*#__PURE__*/(0, _jsxRuntime.jsx)("pre", {
422
+ className: "bg-muted/20 overflow-auto rounded-xl border border-border p-3 font-mono text-xs text-foreground",
423
+ children: String(text)
424
+ }) : defaultRenderText(undefined, emptyText);
425
+ case 'jsonCode':
426
+ return text ? /*#__PURE__*/(0, _jsxRuntime.jsx)("pre", {
427
+ className: "bg-muted/20 overflow-auto rounded-xl border border-border p-3 font-mono text-xs text-foreground",
428
+ children: formatJsonCodeValue(text)
429
+ }) : defaultRenderText(undefined, emptyText);
430
+ case 'color':
431
+ return text ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
432
+ className: "inline-flex items-center gap-2 rounded-full border border-border bg-background px-2.5 py-1 text-xs text-foreground",
433
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
434
+ className: "h-3 w-3 rounded-full border border-border",
435
+ style: {
436
+ backgroundColor: String(text)
437
+ }
438
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
439
+ children: String(text)
440
+ })]
441
+ }) : defaultRenderText(undefined, emptyText);
442
+ case 'progress':
443
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
444
+ className: "min-w-[160px]",
445
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_progressBar.ProgressBar, {
446
+ percent: Number(text) || 0,
447
+ showText: true
448
+ })
449
+ });
450
+ case 'rate':
451
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_rate.Rate, {
452
+ value: Number(text) || 0,
453
+ readOnly: true
454
+ });
455
+ case 'switch':
456
+ return renderTag(Boolean(text) ? '已开启' : '已关闭', Boolean(text) ? 'success' : 'default');
457
+ case 'image':
458
+ {
459
+ var _fieldProps$size, _fieldProps$width, _fieldProps$height;
460
+ var imageSize = (_fieldProps$size = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.size) !== null && _fieldProps$size !== void 0 ? _fieldProps$size : 30;
461
+ return typeof text === 'string' && text ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_image.Image, {
462
+ src: text,
463
+ alt: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.alt) || 'image',
464
+ width: (_fieldProps$width = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.width) !== null && _fieldProps$width !== void 0 ? _fieldProps$width : imageSize,
465
+ height: (_fieldProps$height = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.height) !== null && _fieldProps$height !== void 0 ? _fieldProps$height : imageSize,
466
+ className: (0, _cn.cn)('rounded-md', fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.className),
467
+ style: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style
468
+ }) : defaultRenderText(undefined, emptyText);
469
+ }
470
+ case 'avatar':
471
+ return typeof text === 'string' && text.startsWith('http') ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
472
+ src: text,
473
+ alt: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.alt) || 'avatar'
474
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
475
+ text: String(text || ''),
476
+ alt: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.alt) || 'avatar'
477
+ });
478
+ case 'option':
479
+ if (Array.isArray(text)) {
480
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
481
+ className: "flex flex-wrap items-center gap-2",
482
+ children: text
483
+ });
484
+ }
485
+ return defaultRenderText(text, emptyText);
486
+ case 'select':
487
+ case 'checkbox':
488
+ case 'radio':
489
+ case 'treeSelect':
490
+ case 'cascader':
491
+ case 'segmented':
492
+ return renderValueEnumCollection(text, valueEnum, emptyText);
493
+ case 'tag':
494
+ return renderTag(text, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.status, valueEnumItem === null || valueEnumItem === void 0 ? void 0 : valueEnumItem.color);
495
+ case 'index':
496
+ case 'indexBorder':
497
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
498
+ className: (0, _cn.cn)('inline-flex h-7 min-w-7 items-center justify-center rounded-full text-xs font-semibold', valueType === 'indexBorder' ? 'border border-border bg-background text-foreground' : 'bg-muted text-muted-foreground'),
499
+ children: text
500
+ });
501
+ default:
502
+ return defaultRenderText(text, emptyText);
503
+ }
504
+ };
505
+ var omitNonControlFieldProps = function omitNonControlFieldProps(fieldProps) {
506
+ if (!fieldProps) {
507
+ return {};
508
+ }
509
+ var _request = fieldProps.request,
510
+ _params = fieldProps.params,
511
+ _debounceTime = fieldProps.debounceTime,
512
+ _valueEnum = fieldProps.valueEnum,
513
+ restFieldProps = _objectWithoutProperties(fieldProps, _excluded4);
514
+ return restFieldProps;
515
+ };
516
+ var renderEditMode = function renderEditMode(valueType, fieldProps, placeholder, disabled, valueEnum) {
517
+ var effectiveValueType = getEffectiveValueType(valueType, valueEnum);
518
+ var sanitizedFieldProps = omitNonControlFieldProps(fieldProps);
519
+ var mergedFieldProps = _objectSpread({
520
+ placeholder: getDefaultEditPlaceholder(effectiveValueType, placeholder),
521
+ disabled: disabled
522
+ }, sanitizedFieldProps);
523
+ switch (effectiveValueType) {
524
+ case 'textarea':
525
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_textArea.TextArea, _objectSpread({}, mergedFieldProps));
526
+ case 'digit':
527
+ case 'money':
528
+ case 'percent':
529
+ case 'second':
530
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({
531
+ type: "number"
532
+ }, mergedFieldProps));
533
+ case 'digitRange':
534
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DigitRangeFieldControl, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
535
+ placeholder: placeholder
536
+ }));
537
+ case 'date':
538
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
539
+ className: mergedFieldProps.className,
540
+ value: mergedFieldProps.value,
541
+ onChange: mergedFieldProps.onChange,
542
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
543
+ precision: sanitizedFieldProps.precision || 'day',
544
+ fieldProps: mergedFieldProps
545
+ });
546
+ case 'dateMonth':
547
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
548
+ className: mergedFieldProps.className,
549
+ value: mergedFieldProps.value,
550
+ onChange: mergedFieldProps.onChange,
551
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
552
+ precision: sanitizedFieldProps.precision || 'month',
553
+ fieldProps: mergedFieldProps
554
+ });
555
+ case 'dateWeek':
556
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
557
+ className: mergedFieldProps.className,
558
+ value: mergedFieldProps.value,
559
+ onChange: mergedFieldProps.onChange,
560
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
561
+ precision: sanitizedFieldProps.precision || 'day',
562
+ fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
563
+ picker: 'week'
564
+ })
565
+ });
566
+ case 'dateQuarter':
567
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
568
+ className: mergedFieldProps.className,
569
+ value: mergedFieldProps.value,
570
+ onChange: mergedFieldProps.onChange,
571
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
572
+ precision: sanitizedFieldProps.precision || 'month',
573
+ fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
574
+ picker: 'quarter'
575
+ })
576
+ });
577
+ case 'dateYear':
578
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
579
+ className: mergedFieldProps.className,
580
+ value: mergedFieldProps.value,
581
+ onChange: mergedFieldProps.onChange,
582
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
583
+ precision: sanitizedFieldProps.precision || 'year',
584
+ fieldProps: mergedFieldProps
585
+ });
586
+ case 'dateTime':
587
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
588
+ className: mergedFieldProps.className,
589
+ value: mergedFieldProps.value,
590
+ onChange: mergedFieldProps.onChange,
591
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
592
+ precision: sanitizedFieldProps.precision || 'second',
593
+ fieldProps: mergedFieldProps
594
+ });
595
+ case 'time':
596
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DatePickerFieldControl, {
597
+ className: mergedFieldProps.className,
598
+ value: mergedFieldProps.value,
599
+ onChange: mergedFieldProps.onChange,
600
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
601
+ precision: sanitizedFieldProps.precision || 'second',
602
+ fieldProps: mergedFieldProps
603
+ });
604
+ case 'dateRange':
605
+ case 'dateMonthRange':
606
+ case 'dateWeekRange':
607
+ case 'dateQuarterRange':
608
+ case 'dateTimeRange':
609
+ case 'dateYearRange':
610
+ case 'timeRange':
611
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_fieldControls.DateRangeFieldControl, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
612
+ placeholder: placeholder,
613
+ precision: sanitizedFieldProps.precision || (valueType === 'dateTimeRange' ? 'second' : valueType === 'dateMonthRange' ? 'month' : valueType === 'dateYearRange' ? 'year' : 'day'),
614
+ fieldProps: _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
615
+ picker: valueType === 'dateWeekRange' ? 'week' : valueType === 'dateQuarterRange' ? 'quarter' : sanitizedFieldProps.picker
616
+ })
617
+ }));
618
+ case 'select':
619
+ case 'tag':
620
+ case 'checkbox':
621
+ case 'radio':
622
+ case 'treeSelect':
623
+ case 'cascader':
624
+ case 'segmented':
625
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionFieldControl, {
626
+ valueType: effectiveValueType,
627
+ fieldProps: fieldProps,
628
+ valueEnum: valueEnum,
629
+ placeholder: placeholder,
630
+ disabled: disabled
631
+ });
632
+ case 'password':
633
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({
634
+ type: "password"
635
+ }, mergedFieldProps));
636
+ case 'code':
637
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_textArea.TextArea, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
638
+ className: (0, _cn.cn)('font-mono', mergedFieldProps.className)
639
+ }));
640
+ case 'jsonCode':
641
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_textArea.TextArea, _objectSpread(_objectSpread({}, mergedFieldProps), {}, {
642
+ className: (0, _cn.cn)('font-mono', mergedFieldProps.className),
643
+ value: formatJsonCodeValue(mergedFieldProps.value)
644
+ }));
645
+ case 'color':
646
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({
647
+ type: "color"
648
+ }, mergedFieldProps));
649
+ case 'switch':
650
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_switch.Switch, _objectSpread({}, mergedFieldProps));
651
+ case 'rate':
652
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_rate.Rate, _objectSpread({}, mergedFieldProps));
653
+ case 'progress':
654
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_slider.Slider, _objectSpread({}, mergedFieldProps));
655
+ case 'image':
656
+ case 'avatar':
657
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({}, mergedFieldProps));
658
+ default:
659
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputItem.InputItem, _objectSpread({}, mergedFieldProps));
660
+ }
661
+ };
662
+ var ProField = exports.ProField = function ProField(_ref9) {
663
+ var text = _ref9.text,
664
+ _ref9$valueType = _ref9.valueType,
665
+ valueType = _ref9$valueType === void 0 ? 'text' : _ref9$valueType,
666
+ _ref9$mode = _ref9.mode,
667
+ mode = _ref9$mode === void 0 ? 'read' : _ref9$mode,
668
+ readonly = _ref9.readonly,
669
+ valueEnum = _ref9.valueEnum,
670
+ fieldProps = _ref9.fieldProps,
671
+ placeholder = _ref9.placeholder,
672
+ _ref9$emptyText = _ref9.emptyText,
673
+ emptyText = _ref9$emptyText === void 0 ? '-' : _ref9$emptyText,
674
+ render = _ref9.render,
675
+ formItemRender = _ref9.formItemRender,
676
+ disabled = _ref9.disabled,
677
+ controlProps = _objectWithoutProperties(_ref9, _excluded5);
678
+ var _useProConfig = (0, _provider.useProConfig)(),
679
+ valueTypeMap = _useProConfig.valueTypeMap,
680
+ intl = _useProConfig.intl;
681
+ var effectiveValueType = getEffectiveValueType(valueType, valueEnum);
682
+ var customRenderer = valueTypeMap[effectiveValueType] || valueTypeMap[valueType];
683
+ var resolvedMode = readonly ? 'read' : mode;
684
+ var fieldText = text !== undefined ? text : controlProps.value;
685
+ var dom = resolvedMode === 'read' ? renderReadMode(fieldText, effectiveValueType, valueEnum, emptyText, fieldProps, controlProps.moneySymbol === undefined ? intl.getMessage('moneySymbol', '¥') : controlProps.moneySymbol) : renderEditMode(effectiveValueType, _objectSpread(_objectSpread({}, fieldProps || {}), controlProps), placeholder, disabled, valueEnum);
686
+ if (resolvedMode === 'read' && (render || customRenderer !== null && customRenderer !== void 0 && customRenderer.render)) {
687
+ var _ref10;
688
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
689
+ children: (_ref10 = render || (customRenderer === null || customRenderer === void 0 ? void 0 : customRenderer.render)) === null || _ref10 === void 0 ? void 0 : _ref10(fieldText, {
690
+ mode: resolvedMode,
691
+ valueType: effectiveValueType,
692
+ fieldProps: fieldProps,
693
+ valueEnum: valueEnum,
694
+ placeholder: placeholder,
695
+ emptyText: emptyText
696
+ }, /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
697
+ children: dom
698
+ }))
699
+ });
700
+ }
701
+ if (resolvedMode !== 'read' && (formItemRender || customRenderer !== null && customRenderer !== void 0 && customRenderer.formItemRender)) {
702
+ var _ref11;
703
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
704
+ children: (_ref11 = formItemRender || (customRenderer === null || customRenderer === void 0 ? void 0 : customRenderer.formItemRender)) === null || _ref11 === void 0 ? void 0 : _ref11(fieldText, {
705
+ mode: resolvedMode,
706
+ valueType: effectiveValueType,
707
+ fieldProps: fieldProps,
708
+ valueEnum: valueEnum,
709
+ placeholder: placeholder,
710
+ disabled: disabled
711
+ }, /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
712
+ children: dom
713
+ }))
714
+ });
715
+ }
716
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
717
+ children: dom
718
+ });
719
+ };
720
+ var PureProField = exports.PureProField = ProField;
721
+ var createFieldWithType = function createFieldWithType(valueType) {
722
+ var FieldComponent = function FieldComponent(props) {
723
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ProField, _objectSpread(_objectSpread({}, props), {}, {
724
+ valueType: props.valueType || valueType
725
+ }));
726
+ };
727
+ FieldComponent.displayName = "Field".concat(valueType);
728
+ return FieldComponent;
729
+ };
730
+ var FieldText = exports.FieldText = createFieldWithType('text');
731
+ var FieldTextArea = exports.FieldTextArea = createFieldWithType('textarea');
732
+ var FieldDigit = exports.FieldDigit = createFieldWithType('digit');
733
+ var FieldDigitRange = exports.FieldDigitRange = createFieldWithType('digitRange');
734
+ var FieldMoney = exports.FieldMoney = createFieldWithType('money');
735
+ var FieldPercent = exports.FieldPercent = createFieldWithType('percent');
736
+ var FieldDatePicker = exports.FieldDatePicker = createFieldWithType('date');
737
+ var FieldDateWeekPicker = exports.FieldDateWeekPicker = createFieldWithType('dateWeek');
738
+ var FieldDateMonthPicker = exports.FieldDateMonthPicker = createFieldWithType('dateMonth');
739
+ var FieldDateQuarterPicker = exports.FieldDateQuarterPicker = createFieldWithType('dateQuarter');
740
+ var FieldDateYearPicker = exports.FieldDateYearPicker = createFieldWithType('dateYear');
741
+ var FieldTimePicker = exports.FieldTimePicker = createFieldWithType('time');
742
+ var FieldTimeRangePicker = exports.FieldTimeRangePicker = createFieldWithType('timeRange');
743
+ var FieldRangePicker = exports.FieldRangePicker = createFieldWithType('dateRange');
744
+ var FieldDateWeekRangePicker = exports.FieldDateWeekRangePicker = createFieldWithType('dateWeekRange');
745
+ var FieldDateMonthRangePicker = exports.FieldDateMonthRangePicker = createFieldWithType('dateMonthRange');
746
+ var FieldDateQuarterRangePicker = exports.FieldDateQuarterRangePicker = createFieldWithType('dateQuarterRange');
747
+ var FieldDateYearRangePicker = exports.FieldDateYearRangePicker = createFieldWithType('dateYearRange');
748
+ var FieldPassword = exports.FieldPassword = createFieldWithType('password');
749
+ var FieldFromNow = exports.FieldFromNow = createFieldWithType('fromNow');
750
+ var FieldSecond = exports.FieldSecond = createFieldWithType('second');
751
+ var FieldCode = exports.FieldCode = createFieldWithType('code');
752
+ var FieldColorPicker = exports.FieldColorPicker = createFieldWithType('color');
753
+ var FieldSelect = exports.FieldSelect = createFieldWithType('select');
754
+ var FieldCheckbox = exports.FieldCheckbox = createFieldWithType('checkbox');
755
+ var FieldRadio = exports.FieldRadio = createFieldWithType('radio');
756
+ var FieldTreeSelect = exports.FieldTreeSelect = createFieldWithType('treeSelect');
757
+ var FieldCascader = exports.FieldCascader = createFieldWithType('cascader');
758
+ var FieldSegmented = exports.FieldSegmented = createFieldWithType('segmented');
759
+ var FieldSwitch = exports.FieldSwitch = createFieldWithType('switch');
760
+ var FieldRate = exports.FieldRate = createFieldWithType('rate');
761
+ var FieldSlider = exports.FieldSlider = createFieldWithType('progress');
762
+ var FieldProgress = exports.FieldProgress = FieldSlider;
763
+ var FieldOptions = exports.FieldOptions = createFieldWithType('option');
764
+ var FieldImage = exports.FieldImage = createFieldWithType('image');
765
+ var FieldIndexColumn = exports.FieldIndexColumn = createFieldWithType('index');
766
+ var FieldStatus = exports.FieldStatus = createFieldWithType('status');
767
+ var _default = exports.default = ProField;