@kne/react-form-antd 4.0.2 → 4.1.0

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.
package/dist/index.js CHANGED
@@ -4,8 +4,9 @@ var ReactForm = require('@kne/react-form');
4
4
  var reactFormHelper = require('@kne/react-form-helper');
5
5
  var merge = require('lodash/merge');
6
6
  var antd = require('antd');
7
+ var reactIntl = require('@kne/react-intl');
8
+ var icons = require('@ant-design/icons');
7
9
  var dayjs = require('dayjs');
8
- var lodash = require('lodash');
9
10
  var useControlValue = require('@kne/use-control-value');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -58,7 +59,7 @@ var preset = (function (props) {
58
59
  ReactForm.preset(globalParams.rules);
59
60
  });
60
61
 
61
- var _excluded$4 = ["className", "cache", "enterSubmit", "scrollToError", "scrollProps", "type", "size", "children"];
62
+ var _excluded$5 = ["className", "cache", "enterSubmit", "scrollToError", "scrollProps", "type", "size", "children"];
62
63
  var ScrollToError = reactFormHelper.widget.ScrollToError,
63
64
  EnterSubmit = reactFormHelper.widget.EnterSubmit,
64
65
  FormStore = reactFormHelper.widget.FormStore,
@@ -76,7 +77,7 @@ var Form = React.forwardRef(function (originProps, ref) {
76
77
  block: 'center'
77
78
  } : _originProps$scrollPr,
78
79
  children = originProps.children,
79
- props = _objectWithoutPropertiesLoose(originProps, _excluded$4);
80
+ props = _objectWithoutPropertiesLoose(originProps, _excluded$5);
80
81
  var baseClass = 'react-form';
81
82
  var computedClass = baseClass;
82
83
  var _Object$assign = Object.assign({
@@ -111,54 +112,121 @@ var Form = React.forwardRef(function (originProps, ref) {
111
112
  }) : null, enterSubmit ? /*#__PURE__*/React__default["default"].createElement(EnterSubmit, null, maxLabel) : maxLabel)));
112
113
  });
113
114
 
115
+ var locale$1 = {
116
+ PleaseSelect: '请选择{label}',
117
+ PleaseInput: '请输入{label}',
118
+ StartTime: '开始时间',
119
+ EndTime: '结束时间',
120
+ StartDate: '开始日期',
121
+ EndDate: '结束日期',
122
+ SoFar: '至今'
123
+ };
124
+
125
+ var locale = {
126
+ PleaseSelect: 'Please select {label}',
127
+ PleaseInput: 'Please enter {label}',
128
+ StartTime: 'Start Time',
129
+ EndTime: 'End Time',
130
+ StartDate: 'Start Date',
131
+ EndDate: 'End Date',
132
+ SoFar: 'Present'
133
+ };
134
+
135
+ var _excluded$4 = ["locale"];
136
+ var localeMap = {
137
+ 'zh-CN': locale$1,
138
+ 'en-US': locale
139
+ };
140
+ var withLocale = function withLocale(WrappedComponent) {
141
+ var WithLocaleComponent = function WithLocaleComponent(_ref) {
142
+ var _ref$locale = _ref.locale,
143
+ locale = _ref$locale === void 0 ? 'zh-CN' : _ref$locale,
144
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
145
+ var messages = localeMap[locale] || locale$1;
146
+ return /*#__PURE__*/React__default["default"].createElement(reactIntl.IntlProvider, {
147
+ locale: locale,
148
+ messages: messages
149
+ }, /*#__PURE__*/React__default["default"].createElement(WrappedComponent, props));
150
+ };
151
+ WithLocaleComponent.displayName = "withLocale(" + (WrappedComponent.displayName || WrappedComponent.name || 'Component') + ")";
152
+ return WithLocaleComponent;
153
+ };
154
+
114
155
  var useOnChange$b = reactFormHelper.hooks.useOnChange;
115
- var _TreeSelect = function _TreeSelect(props) {
116
- props = Object.assign({}, {
156
+ var TreeSelectInner = function TreeSelectInner(props) {
157
+ var _useIntl = reactIntl.useIntl(),
158
+ formatMessage = _useIntl.formatMessage;
159
+ var mergedProps = Object.assign({}, {
117
160
  fieldName: 'treeSelect'
118
161
  }, props);
119
162
  var render = useOnChange$b(Object.assign({
120
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
121
- }, props));
163
+ placeholder: formatMessage({
164
+ id: 'PleaseSelect'
165
+ }, {
166
+ label: mergedProps.label || ''
167
+ })
168
+ }, mergedProps));
122
169
  return render(antd.TreeSelect);
123
170
  };
124
- _TreeSelect.Field = antd.TreeSelect;
125
- _TreeSelect.TreeNode = antd.TreeSelect.TreeNode;
171
+ TreeSelectInner.Field = antd.TreeSelect;
172
+ TreeSelectInner.TreeNode = antd.TreeSelect.TreeNode;
173
+ var _TreeSelect = withLocale(TreeSelectInner);
126
174
 
127
175
  var useOnChange$a = reactFormHelper.hooks.useOnChange;
128
176
  var RangePicker$1 = antd.TimePicker.RangePicker;
129
- var _TimePicker = function _TimePicker(props) {
130
- props = Object.assign({}, {
177
+ var TimePickerInner = function TimePickerInner(props) {
178
+ var _useIntl = reactIntl.useIntl(),
179
+ formatMessage = _useIntl.formatMessage;
180
+ var mergedProps = Object.assign({}, {
131
181
  fieldName: 'timePicker'
132
182
  }, props);
133
183
  var render = useOnChange$a(Object.assign({
134
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
135
- }, props));
184
+ placeholder: formatMessage({
185
+ id: 'PleaseSelect'
186
+ }, {
187
+ label: mergedProps.label || ''
188
+ })
189
+ }, mergedProps));
136
190
  return render(antd.TimePicker);
137
191
  };
138
- _TimePicker.Field = antd.TimePicker;
139
- var _RangePicker$1 = function _RangePicker(props) {
140
- props = Object.assign({}, {
192
+ TimePickerInner.Field = antd.TimePicker;
193
+ var RangePickerInner$1 = function RangePickerInner(props) {
194
+ var _useIntl2 = reactIntl.useIntl(),
195
+ formatMessage = _useIntl2.formatMessage;
196
+ var mergedProps = Object.assign({}, {
141
197
  fieldName: 'rangeTimePicker'
142
198
  }, props);
143
199
  var render = useOnChange$a(Object.assign({
144
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
145
- }, props));
200
+ placeholder: formatMessage({
201
+ id: 'PleaseSelect'
202
+ }, {
203
+ label: mergedProps.label || ''
204
+ })
205
+ }, mergedProps));
146
206
  return render(RangePicker$1);
147
207
  };
148
- _RangePicker$1.Field = RangePicker$1;
149
- _TimePicker.RangePicker = _RangePicker$1;
208
+ RangePickerInner$1.Field = RangePicker$1;
209
+ var _TimePicker = withLocale(TimePickerInner);
210
+ _TimePicker.RangePicker = withLocale(RangePickerInner$1);
150
211
 
151
212
  var useDecorator$2 = reactFormHelper.hooks.useDecorator;
152
- var TextArea = function TextArea(props) {
153
- props = Object.assign({}, {
213
+ var TextAreaInner = function TextAreaInner(props) {
214
+ var _useIntl = reactIntl.useIntl(),
215
+ formatMessage = _useIntl.formatMessage;
216
+ var mergedProps = Object.assign({}, {
154
217
  fieldName: 'textArea'
155
218
  }, props);
156
219
  var render = useDecorator$2(Object.assign({
157
- placeholder: "\u8BF7\u8F93\u5165" + props.label
158
- }, props));
220
+ placeholder: formatMessage({
221
+ id: 'PleaseInput'
222
+ }, {
223
+ label: mergedProps.label
224
+ })
225
+ }, mergedProps));
159
226
  return render(antd.Input.TextArea);
160
227
  };
161
- TextArea.Field = antd.Input.TextArea;
228
+ TextAreaInner.Field = antd.Input.TextArea;
229
+ var TextArea = withLocale(TextAreaInner);
162
230
 
163
231
  var useOnChange$9 = reactFormHelper.hooks.useOnChange,
164
232
  useCheckedToValue$1 = reactFormHelper.hooks.useCheckedToValue;
@@ -175,18 +243,25 @@ var Switch = function Switch(props) {
175
243
  Switch.Field = antd.Switch;
176
244
 
177
245
  var useOnChange$8 = reactFormHelper.hooks.useOnChange;
178
- var _Select = function _Select(props) {
179
- props = Object.assign({}, {
246
+ var SelectInner = function SelectInner(props) {
247
+ var _useIntl = reactIntl.useIntl(),
248
+ formatMessage = _useIntl.formatMessage;
249
+ var mergedProps = Object.assign({}, {
180
250
  fieldName: 'select'
181
251
  }, props);
182
252
  var render = useOnChange$8(Object.assign({
183
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
184
- }, props));
253
+ placeholder: formatMessage({
254
+ id: 'PleaseSelect'
255
+ }, {
256
+ label: mergedProps.label || ''
257
+ })
258
+ }, mergedProps));
185
259
  return render(antd.Select);
186
260
  };
187
- _Select.Field = antd.Select;
188
- _Select.Option = antd.Select.Option;
189
- _Select.OptGroup = antd.Select.OptGroup;
261
+ SelectInner.Field = antd.Select;
262
+ SelectInner.Option = antd.Select.Option;
263
+ SelectInner.OptGroup = antd.Select.OptGroup;
264
+ var _Select = withLocale(SelectInner);
190
265
 
191
266
  var _excluded$3 = ["onChange"];
192
267
  var useOnChange$7 = reactFormHelper.hooks.useOnChange;
@@ -211,129 +286,319 @@ _RadioGroup.Field = RadioGroup;
211
286
  _RadioGroup.Radio = antd.Radio;
212
287
 
213
288
  var useDecorator$1 = reactFormHelper.hooks.useDecorator;
214
- var InputNumberField = function InputNumberField(props) {
215
- props = Object.assign({}, {
289
+ var InputNumberFieldInner = function InputNumberFieldInner(props) {
290
+ var _useIntl = reactIntl.useIntl(),
291
+ formatMessage = _useIntl.formatMessage;
292
+ var mergedProps = Object.assign({}, {
216
293
  fieldName: 'inputNumber',
217
294
  autoComplete: 'off'
218
295
  }, props);
219
296
  var render = useDecorator$1(Object.assign({
220
- placeholder: "\u8BF7\u8F93\u5165" + props.label
221
- }, props));
297
+ placeholder: formatMessage({
298
+ id: 'PleaseInput'
299
+ }, {
300
+ label: mergedProps.label
301
+ })
302
+ }, mergedProps));
222
303
  return render(antd.InputNumber);
223
304
  };
224
- InputNumberField.Field = antd.InputNumber;
305
+ InputNumberFieldInner.Field = antd.InputNumber;
306
+ var InputNumberField = withLocale(InputNumberFieldInner);
225
307
 
226
308
  var useDecorator = reactFormHelper.hooks.useDecorator;
227
- var InputField = function InputField(props) {
228
- props = Object.assign({}, {
309
+ var InputFieldInner = function InputFieldInner(props) {
310
+ var _useIntl = reactIntl.useIntl(),
311
+ formatMessage = _useIntl.formatMessage;
312
+ var mergedProps = Object.assign({}, {
229
313
  fieldName: 'input',
230
314
  autoComplete: 'off'
231
315
  }, props);
232
316
  var render = useDecorator(Object.assign({
233
- placeholder: "\u8BF7\u8F93\u5165" + props.label
234
- }, props));
317
+ placeholder: formatMessage({
318
+ id: 'PleaseInput'
319
+ }, {
320
+ label: mergedProps.label
321
+ })
322
+ }, mergedProps));
235
323
  return render(antd.Input);
236
324
  };
237
- InputField.Field = antd.Input;
238
- InputField.Password = function (props) {
239
- props = Object.assign({}, {
325
+ InputFieldInner.Field = antd.Input;
326
+ var PasswordInner = function PasswordInner(props) {
327
+ var _useIntl2 = reactIntl.useIntl(),
328
+ formatMessage = _useIntl2.formatMessage;
329
+ var mergedProps = Object.assign({}, {
240
330
  fieldName: 'password',
241
331
  autoComplete: 'off'
242
332
  }, props);
243
333
  var render = useDecorator(Object.assign({
244
- placeholder: "\u8BF7\u8F93\u5165" + props.label
245
- }, props));
334
+ placeholder: formatMessage({
335
+ id: 'PleaseInput'
336
+ }, {
337
+ label: mergedProps.label
338
+ })
339
+ }, mergedProps));
246
340
  return render(antd.Input.Password);
247
341
  };
248
- InputField.Password.Field = antd.Input.Password;
342
+ PasswordInner.Field = antd.Input.Password;
343
+ var InputField = withLocale(InputFieldInner);
344
+ InputField.Password = withLocale(PasswordInner);
249
345
 
250
- var _excluded$2 = ["soFarText", "startProps", "endProps"];
346
+ var _excluded$2 = ["soFarText", "soFarValue"];
251
347
  var useOnChange$6 = reactFormHelper.hooks.useOnChange;
252
- var PickerToday = function PickerToday(_ref) {
348
+ var PickerTodayInner = function PickerTodayInner(_ref) {
253
349
  var soFarText = _ref.soFarText,
254
- startProps = _ref.startProps,
255
- endProps = _ref.endProps,
350
+ _ref$soFarValue = _ref.soFarValue,
351
+ soFarValue = _ref$soFarValue === void 0 ? 'soFar' : _ref$soFarValue,
256
352
  props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
353
+ var _useIntl = reactIntl.useIntl(),
354
+ formatMessage = _useIntl.formatMessage;
257
355
  var _useControlValue = useControlValue__default["default"](props),
258
356
  data = _useControlValue[0],
259
357
  onChange = _useControlValue[1];
260
- var ref_d = React.useRef();
261
- var newData = React.useMemo(function () {
262
- // console.log('......', data);
263
- var s = lodash.get(data, 0, '');
264
- var d = lodash.get(data, 1, '');
265
- var p = lodash.get(props, ['placeholder'], ['开始日期', '结束日期']);
358
+ var _useState = React.useState(false),
359
+ openStart = _useState[0],
360
+ setOpenStart = _useState[1];
361
+ var _useState2 = React.useState(false),
362
+ openEnd = _useState2[0],
363
+ setOpenEnd = _useState2[1];
364
+ var _useState3 = React.useState(null),
365
+ tempStart = _useState3[0],
366
+ setTempStart = _useState3[1]; // 临时存储开始时间
367
+ var _useState4 = React.useState(null),
368
+ tempEnd = _useState4[0],
369
+ setTempEnd = _useState4[1]; // 临时存储结束时间
370
+ var _useState5 = React.useState(false),
371
+ hovering = _useState5[0],
372
+ setHovering = _useState5[1]; // hover 状态
373
+ var containerRef = React.useRef(null);
374
+ var isSwitchingRef = React.useRef(false); // 标记是否正在切换到结束时间选择
375
+
376
+ var soFarLabel = soFarText || formatMessage({
377
+ id: 'SoFar'
378
+ });
379
+
380
+ // 判断是否有值
381
+ var hasValue = React.useMemo(function () {
382
+ var _ref2 = data || [],
383
+ start = _ref2[0],
384
+ end = _ref2[1];
385
+ return !!(start || end);
386
+ }, [data]);
387
+
388
+ // 判断是否为"至今"
389
+ var isSoFar = React.useMemo(function () {
390
+ var _ref3 = data || [],
391
+ end = _ref3[1];
392
+ return end === soFarValue;
393
+ }, [data, soFarValue]);
394
+
395
+ // 解析数据
396
+ var parsedValue = React.useMemo(function () {
397
+ var _ref4 = data || [],
398
+ start = _ref4[0],
399
+ end = _ref4[1];
400
+ return {
401
+ start: start ? dayjs__default["default"](start) : null,
402
+ end: isSoFar ? null : end ? dayjs__default["default"](end) : null
403
+ };
404
+ }, [data, isSoFar]);
405
+
406
+ // 显示文本 - 弹窗打开时显示临时值,关闭后显示实际值
407
+ var displayText = React.useMemo(function () {
408
+ // 开始时间:有临时值时显示临时值
409
+ var startText = tempStart ? tempStart.format('YYYY-MM-DD') : parsedValue.start ? parsedValue.start.format('YYYY-MM-DD') : '';
410
+
411
+ // 结束时间:有临时值时显示临时值
412
+ var endText = tempEnd ? tempEnd.format('YYYY-MM-DD') : isSoFar ? soFarLabel : parsedValue.end ? parsedValue.end.format('YYYY-MM-DD') : '';
266
413
  return {
267
- start: s ? dayjs__default["default"](s) : '',
268
- end: d === '至今' ? null : d ? dayjs__default["default"](d) : '',
269
- showZj: d === '至今',
270
- placeholder: p
414
+ start: startText,
415
+ end: endText
271
416
  };
417
+ }, [parsedValue, isSoFar, soFarLabel, tempStart, tempEnd]);
418
+
419
+ // 点击整个Input框时,先弹出开始时间选择
420
+ var handleInputClick = React.useCallback(function () {
421
+ var _ref5 = data || [],
422
+ start = _ref5[0];
423
+ setTempStart(start ? dayjs__default["default"](start) : null);
424
+ setOpenStart(true);
425
+ setOpenEnd(false);
272
426
  }, [data]);
273
- var startChange = function startChange(v) {
274
- // 比较日期大小
275
- if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {
276
- onChange([newData.end, v]);
277
- return;
427
+
428
+ // 清除值
429
+ var handleClear = React.useCallback(function (e) {
430
+ e.stopPropagation();
431
+ onChange([]);
432
+ setTempStart(null);
433
+ setTempEnd(null);
434
+ setOpenStart(false);
435
+ setOpenEnd(false);
436
+ }, [onChange]);
437
+
438
+ // 处理开始时间变化
439
+ var handleStartChange = React.useCallback(function (date) {
440
+ setTempStart(date);
441
+ isSwitchingRef.current = true; // 标记正在切换
442
+ setOpenStart(false);
443
+ setTimeout(function () {
444
+ setOpenEnd(true);
445
+ isSwitchingRef.current = false;
446
+ }, 100);
447
+ }, []);
448
+
449
+ // 处理结束时间变化(选择日期时实时更新显示,选择后确认值)
450
+ var handleEndChange = React.useCallback(function (date) {
451
+ if (date) {
452
+ // 选择了有效日期,确认值
453
+ if (!tempStart) return;
454
+ onChange([tempStart.toISOString(), date.toISOString()]);
455
+ setOpenEnd(false);
456
+ setTempStart(null);
457
+ setTempEnd(null);
458
+ } else {
459
+ // 清空选择
460
+ setTempEnd(null);
278
461
  }
279
- onChange([v || '', newData.showZj ? '至今' : newData.end]);
280
- };
281
- var endChange = function endChange(v) {
282
- if (newData.start && v && v.isBefore(newData.start)) {
283
- onChange([v, newData.start]);
284
- return;
462
+ }, [tempStart, onChange]);
463
+
464
+ // 点击"至今"按钮
465
+ var handleSoFarClick = React.useCallback(function () {
466
+ if (!tempStart) return;
467
+ onChange([tempStart.toISOString(), soFarValue]);
468
+ setOpenEnd(false);
469
+ setTempStart(null);
470
+ setTempEnd(null);
471
+ }, [tempStart, onChange, soFarValue]);
472
+
473
+ // 处理开始时间弹窗关闭(未完成选择)
474
+ var handleStartOpenChange = React.useCallback(function (open) {
475
+ if (!open) {
476
+ setOpenStart(false);
477
+ // 如果不是正在切换到结束时间,则清空临时状态
478
+ if (!isSwitchingRef.current) {
479
+ setTempStart(null);
480
+ }
285
481
  }
286
- onChange([newData.start, v || '']);
287
- };
288
- var foot = function foot() {
289
- return /*#__PURE__*/React__default["default"].createElement(antd.Button, {
290
- type: newData.showZj ? 'primary' : 'default',
291
- onClick: function onClick(v) {
292
- ref_d.current.blur();
293
- onChange([newData.start || '', '至今']);
482
+ }, []);
483
+
484
+ // 处理结束时间弹窗关闭(未完成选择)
485
+ var handleEndOpenChange = React.useCallback(function (open) {
486
+ if (!open) {
487
+ setOpenEnd(false);
488
+ // 关闭结束时间弹窗时,不修改field值
489
+ setTempStart(null);
490
+ setTempEnd(null);
491
+ }
492
+ }, []);
493
+
494
+ // 结束时间面板变化时更新临时值(用于实时显示)
495
+ var handleEndPanelChange = React.useCallback(function (date) {
496
+ setTempEnd(date);
497
+ }, []);
498
+
499
+ // 空的 footer(用于开始时间,保持高度一致)
500
+ var renderEmptyFooter = React.useCallback(function () {
501
+ return /*#__PURE__*/React__default["default"].createElement("div", {
502
+ style: {
503
+ height: 40
294
504
  }
295
- }, soFarText || '至今');
296
- };
505
+ });
506
+ }, []);
507
+
508
+ // 带至今按钮的 footer
509
+ var renderExtraFooter = React.useCallback(function () {
510
+ var isCurrentSoFar = !tempStart && isSoFar;
511
+ return /*#__PURE__*/React__default["default"].createElement("div", {
512
+ style: {
513
+ textAlign: 'right'
514
+ }
515
+ }, /*#__PURE__*/React__default["default"].createElement(antd.Button, {
516
+ type: isCurrentSoFar ? 'primary' : 'default',
517
+ onClick: handleSoFarClick
518
+ }, soFarLabel));
519
+ }, [isSoFar, tempStart, handleSoFarClick, soFarLabel]);
520
+
521
+ // 结束时间的可选日期(不能早于开始时间)
522
+ var endDisabledDate = React.useCallback(function (current) {
523
+ if (!tempStart) return false;
524
+ return current && current < tempStart.startOf('day');
525
+ }, [tempStart]);
297
526
  return /*#__PURE__*/React__default["default"].createElement("div", {
298
- style: {
299
- display: 'flex'
527
+ className: "date-picker-today-container",
528
+ ref: containerRef
529
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
530
+ className: "date-picker-today-inputs",
531
+ onClick: handleInputClick,
532
+ onMouseEnter: function onMouseEnter() {
533
+ return setHovering(true);
534
+ },
535
+ onMouseLeave: function onMouseLeave() {
536
+ return setHovering(false);
300
537
  }
301
- }, /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, _extends({}, _extends({
302
- showToday: false
303
- }, props, {
304
- placeholder: newData.placeholder[0]
305
- }, startProps, {
306
- value: newData.start
307
- }), {
308
- onChange: startChange
309
- })), /*#__PURE__*/React__default["default"].createElement("div", {
310
- className: 'svg_box'
311
- }, /*#__PURE__*/React__default["default"].createElement("svg", {
312
- viewBox: "0 0 1024 1024",
313
- focusable: "false",
314
- "data-icon": "swap-right",
315
- width: "1em",
316
- height: "1em",
317
- fill: "currentColor",
318
- "aria-hidden": "true"
319
- }, /*#__PURE__*/React__default["default"].createElement("path", {
320
- d: "M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"
321
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
322
- className: newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'
323
- }, /*#__PURE__*/React__default["default"].createElement("span", {
324
- className: newData.showZj ? 'zhijin zhijin_show' : 'zhijin'
325
- }, soFarText || '至今'), /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, _extends({}, _extends({
326
- showToday: false
327
- }, props, {
328
- placeholder: newData.showZj ? '' : newData.placeholder[1]
329
- }, endProps, {
330
- value: newData.end
331
- }), {
332
- ref: ref_d,
333
- onChange: endChange,
334
- renderExtraFooter: foot
335
- }))));
538
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
539
+ className: "date-picker-today-start"
540
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
541
+ readOnly: true,
542
+ placeholder: formatMessage({
543
+ id: 'StartDate'
544
+ }),
545
+ value: displayText.start,
546
+ className: "ant-input"
547
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
548
+ className: "date-picker-today-separator"
549
+ }, "~"), /*#__PURE__*/React__default["default"].createElement("div", {
550
+ className: "date-picker-today-end"
551
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
552
+ readOnly: true,
553
+ placeholder: formatMessage({
554
+ id: 'EndDate'
555
+ }),
556
+ value: displayText.end,
557
+ className: "ant-input " + (isSoFar ? 'so-far-active' : '')
558
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
559
+ className: "date-picker-today-suffix"
560
+ }, hasValue && hovering ? /*#__PURE__*/React__default["default"].createElement(icons.CloseCircleFilled, {
561
+ className: "date-picker-today-clear",
562
+ onClick: handleClear
563
+ }) : /*#__PURE__*/React__default["default"].createElement(icons.CalendarOutlined, null))), /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, {
564
+ open: openStart,
565
+ onOpenChange: handleStartOpenChange,
566
+ value: tempStart || parsedValue.start,
567
+ onChange: handleStartChange,
568
+ renderExtraFooter: renderEmptyFooter,
569
+ showNow: false,
570
+ getPopupContainer: function getPopupContainer() {
571
+ return containerRef.current || document.body;
572
+ },
573
+ style: {
574
+ width: 0,
575
+ height: 0,
576
+ visibility: 'hidden',
577
+ position: 'absolute'
578
+ },
579
+ placement: "bottomLeft"
580
+ }), /*#__PURE__*/React__default["default"].createElement(antd.DatePicker, {
581
+ open: openEnd,
582
+ onOpenChange: handleEndOpenChange,
583
+ value: tempEnd || parsedValue.end,
584
+ onChange: handleEndChange,
585
+ onPanelChange: handleEndPanelChange,
586
+ disabledDate: endDisabledDate,
587
+ renderExtraFooter: renderExtraFooter,
588
+ showNow: false,
589
+ getPopupContainer: function getPopupContainer() {
590
+ return containerRef.current || document.body;
591
+ },
592
+ style: {
593
+ width: 0,
594
+ height: 0,
595
+ visibility: 'hidden',
596
+ position: 'absolute'
597
+ },
598
+ placement: "bottomLeft"
599
+ }));
336
600
  };
601
+ var PickerToday = withLocale(PickerTodayInner);
337
602
  var RangePickerToday = function RangePickerToday(props) {
338
603
  props = Object.assign({}, {
339
604
  fieldName: 'rangePickerToday'
@@ -347,49 +612,74 @@ var useOnChange$5 = reactFormHelper.hooks.useOnChange;
347
612
  var MonthPicker = antd.DatePicker.MonthPicker,
348
613
  RangePicker = antd.DatePicker.RangePicker,
349
614
  WeekPicker = antd.DatePicker.WeekPicker;
350
- var _DatePicker = function _DatePicker(props) {
351
- props = Object.assign({}, {
615
+ var DatePickerInner = function DatePickerInner(props) {
616
+ var _useIntl = reactIntl.useIntl(),
617
+ formatMessage = _useIntl.formatMessage;
618
+ var mergedProps = Object.assign({}, {
352
619
  fieldName: 'datePicker'
353
620
  }, props);
354
621
  var render = useOnChange$5(Object.assign({
355
- placeholder: "\u8BF7\u9009\u62E9" + (props.label || '')
356
- }, props));
622
+ placeholder: formatMessage({
623
+ id: 'PleaseSelect'
624
+ }, {
625
+ label: mergedProps.label || ''
626
+ })
627
+ }, mergedProps));
357
628
  return render(antd.DatePicker);
358
629
  };
359
- _DatePicker.Field = antd.DatePicker;
360
- var _MonthPicker = function _MonthPicker(props) {
361
- props = Object.assign({}, {
630
+ DatePickerInner.Field = antd.DatePicker;
631
+ var MonthPickerInner = function MonthPickerInner(props) {
632
+ var _useIntl2 = reactIntl.useIntl(),
633
+ formatMessage = _useIntl2.formatMessage;
634
+ var mergedProps = Object.assign({}, {
362
635
  fieldName: 'monthDatePicker'
363
636
  }, props);
364
637
  var render = useOnChange$5(Object.assign({
365
- placeholder: ['开始时间', '结束时间']
366
- }, props));
638
+ placeholder: [formatMessage({
639
+ id: 'StartTime'
640
+ }), formatMessage({
641
+ id: 'EndTime'
642
+ })]
643
+ }, mergedProps));
367
644
  return render(MonthPicker);
368
645
  };
369
- _MonthPicker.Field = MonthPicker;
370
- var _RangePicker = function _RangePicker(props) {
371
- props = Object.assign({}, {
646
+ MonthPickerInner.Field = MonthPicker;
647
+ var RangePickerInner = function RangePickerInner(props) {
648
+ var _useIntl3 = reactIntl.useIntl(),
649
+ formatMessage = _useIntl3.formatMessage;
650
+ var mergedProps = Object.assign({}, {
372
651
  fieldName: 'rangeDatePicker'
373
652
  }, props);
374
653
  var render = useOnChange$5(Object.assign({
375
- placeholder: ['开始时间', '结束时间']
376
- }, props));
654
+ placeholder: [formatMessage({
655
+ id: 'StartTime'
656
+ }), formatMessage({
657
+ id: 'EndTime'
658
+ })]
659
+ }, mergedProps));
377
660
  return render(RangePicker);
378
661
  };
379
- _RangePicker.Field = RangePicker;
380
- var _WeekPicker = function _WeekPicker(props) {
381
- props = Object.assign({}, {
662
+ RangePickerInner.Field = RangePicker;
663
+ var WeekPickerInner = function WeekPickerInner(props) {
664
+ var _useIntl4 = reactIntl.useIntl(),
665
+ formatMessage = _useIntl4.formatMessage;
666
+ var mergedProps = Object.assign({}, {
382
667
  fieldName: 'weekDatePicker'
383
668
  }, props);
384
669
  var render = useOnChange$5(Object.assign({
385
- placeholder: ['开始时间', '结束时间']
386
- }, props));
670
+ placeholder: [formatMessage({
671
+ id: 'StartTime'
672
+ }), formatMessage({
673
+ id: 'EndTime'
674
+ })]
675
+ }, mergedProps));
387
676
  return render(WeekPicker);
388
677
  };
389
- _WeekPicker.Field = WeekPicker;
390
- _DatePicker.MonthPicker = _MonthPicker;
391
- _DatePicker.RangePicker = _RangePicker;
392
- _DatePicker.WeekPicker = _WeekPicker;
678
+ WeekPickerInner.Field = WeekPicker;
679
+ var _DatePicker = withLocale(DatePickerInner);
680
+ _DatePicker.MonthPicker = withLocale(MonthPickerInner);
681
+ _DatePicker.RangePicker = withLocale(RangePickerInner);
682
+ _DatePicker.WeekPicker = withLocale(WeekPickerInner);
393
683
 
394
684
  var useOnChange$4 = reactFormHelper.hooks.useOnChange;
395
685
  var _CheckboxGroup = antd.Checkbox.Group;