shineout 3.8.0-beta.6 → 3.8.0-beta.8

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/cjs/index.js CHANGED
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
522
522
  // 此文件由脚本自动生成,请勿直接修改。
523
523
  // This file was generated automatically by a script. Please do not modify it directly.
524
524
  var _default = exports.default = {
525
- version: '3.8.0-beta.6'
525
+ version: '3.8.0-beta.8'
526
526
  };
package/dist/shineout.js CHANGED
@@ -12234,7 +12234,7 @@ var handleStyle = function handleStyle(style) {
12234
12234
  };
12235
12235
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12236
12236
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12237
- /* harmony default export */ var version = ('3.8.0-beta.6');
12237
+ /* harmony default export */ var version = ('3.8.0-beta.8');
12238
12238
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12239
12239
 
12240
12240
 
@@ -20543,6 +20543,17 @@ var input_input = objectSpread2_default()(objectSpread2_default()(objectSpread2_
20543
20543
  fontSize: 'inherit'
20544
20544
  }
20545
20545
  },
20546
+ wrapperShowClear: {
20547
+ '& $clearWrapper': {
20548
+ display: 'flex',
20549
+ opacity: 0
20550
+ }
20551
+ },
20552
+ wrapperHasValue: {
20553
+ '& $clearWrapper': {
20554
+ opacity: 1
20555
+ }
20556
+ },
20546
20557
  clearWrapper: {
20547
20558
  position: 'relative',
20548
20559
  flexBasis: "calc(".concat(src.inputIconSize, " + 8px)"),
@@ -23986,8 +23997,6 @@ var useSelectStyle = styled(src_select_select, 'select');
23986
23997
  /* harmony default export */ var shineout_style_src_select = ((/* unused pure expression or super */ null && (useSelectStyle)));
23987
23998
  ;// CONCATENATED MODULE: ../shineout-style/src/skeleton/skeleton.ts
23988
23999
 
23989
- // import token from '@sheinx/theme';
23990
-
23991
24000
 
23992
24001
  var skeleton_animation = {
23993
24002
  '@keyframes skeleton-animation': {
@@ -24006,7 +24015,7 @@ var skeletonStyle = objectSpread2_default()(objectSpread2_default()({}, skeleton
24006
24015
  },
24007
24016
  animation: {
24008
24017
  '& $textItem, & $image, & $buttonItem': {
24009
- background: "linear-gradient(90deg, ".concat(src.skeletonAnimationFromColor, " 25%, ").concat(src.skeletonAnimationToColor, " 37%, ").concat(src.skeletonAnimationFromColor, " 63%)"),
24018
+ backgroundImage: "linear-gradient(90deg, ".concat(src.skeletonAnimationFromColor, " 25%, ").concat(src.skeletonAnimationToColor, " 37%, ").concat(src.skeletonAnimationFromColor, " 63%)"),
24010
24019
  backgroundSize: '400% 100%',
24011
24020
  animation: '$skeleton-animation 1.4s ease infinite'
24012
24021
  }
@@ -30962,6 +30971,14 @@ function shallowEqual(objA, objB) {
30962
30971
  }
30963
30972
  return true;
30964
30973
  }
30974
+ function shallowEqualExceptFalsely(objA, objB) {
30975
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
30976
+ var falselys = [false, 0, '', null, undefined, NaN];
30977
+ if (falselys.includes(objA) && falselys.includes(objB)) {
30978
+ return true;
30979
+ }
30980
+ return shallowEqual(objA, objB, options);
30981
+ }
30965
30982
  /* harmony default export */ var shallow_equal = (shallowEqual);
30966
30983
  ;// CONCATENATED MODULE: ../hooks/src/utils/dom/document.ts
30967
30984
  var cachedZoom = 0;
@@ -35783,7 +35800,7 @@ var simple_input_excluded = ["jssStyle", "className", "style", "status", "clearI
35783
35800
 
35784
35801
 
35785
35802
  var Input = function Input(props) {
35786
- var _jssStyle$input;
35803
+ var _jssStyle$input, _inputElProps$value;
35787
35804
  var jssStyle = props.jssStyle,
35788
35805
  className = props.className,
35789
35806
  style = props.style,
@@ -35801,20 +35818,41 @@ var Input = function Input(props) {
35801
35818
  addEnd = props.addEnd,
35802
35819
  hasSuffix = props.hasSuffix,
35803
35820
  rest = objectWithoutProperties_default()(props, simple_input_excluded);
35821
+ var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
35822
+ needTriggerEnter: false
35823
+ }),
35824
+ context = _useRef.current;
35804
35825
  var inputStyle = jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle);
35805
35826
  var config = useConfig();
35806
35827
  var _useContext = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useContext)(FormFieldContext),
35807
35828
  fieldId = _useContext.fieldId;
35829
+ var showClearFromProp = props.showClear && !props.disabled;
35808
35830
  var _useInput = use_input(objectSpread2_default()(objectSpread2_default()({}, rest), {}, {
35809
- onFocusedChange: onFocusedChange
35831
+ onFocusedChange: onFocusedChange,
35832
+ // 由于form的原生submit事件是在keydown中触发的,submit校验后触发scrollToError会导致当前焦点的input立即失焦,导致input的回车事件无法触发
35833
+ // 所以这里在onKeyDown时机记录下needTriggerEnter标志,在onBlur时机判断是否需要触发onEnterPress
35834
+ onKeyDown: function onKeyDown(e) {
35835
+ var _props$onKeyDown;
35836
+ if (e.key === 'Enter') {
35837
+ context.needTriggerEnter = true;
35838
+ }
35839
+ (_props$onKeyDown = props.onKeyDown) === null || _props$onKeyDown === void 0 || _props$onKeyDown.call(props, e);
35840
+ },
35841
+ onBlur: function onBlur(e) {
35842
+ var _props$onBlur;
35843
+ if (context.needTriggerEnter) {
35844
+ context.needTriggerEnter = false;
35845
+ _onEnterPress === null || _onEnterPress === void 0 || _onEnterPress(e.target.value || '', e);
35846
+ }
35847
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
35848
+ }
35810
35849
  })),
35811
35850
  getRootProps = _useInput.getRootProps,
35812
35851
  getClearProps = _useInput.getClearProps,
35813
35852
  getInputProps = _useInput.getInputProps,
35814
- showClear = _useInput.showClear,
35853
+ showClearFromClearable = _useInput.showClear,
35815
35854
  focused = _useInput.focused,
35816
35855
  disabled = _useInput.disabled;
35817
- var rootClass = classnames_default()(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.rootClass, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapper, !!focused && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperFocus), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperDisabled), status === 'error' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperError), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperLarge), !!underline && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperUnderline), !border && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperNoBorder), hasSuffix && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.password));
35818
35856
  var keyHandler = useKeyEvent({
35819
35857
  onEnterPress: function onEnterPress(e) {
35820
35858
  _onEnterPress === null || _onEnterPress === void 0 || _onEnterPress(e.target.value || '', e);
@@ -35822,6 +35860,10 @@ var Input = function Input(props) {
35822
35860
  });
35823
35861
  var onKeyUp = usePersistFn(function (e) {
35824
35862
  var _props$onKeyUp;
35863
+ if (e.key === 'Enter') {
35864
+ context.needTriggerEnter = false;
35865
+ }
35866
+ ;
35825
35867
  (_props$onKeyUp = props.onKeyUp) === null || _props$onKeyUp === void 0 || _props$onKeyUp.call(props, e);
35826
35868
  keyHandler(e);
35827
35869
  });
@@ -35838,6 +35880,7 @@ var Input = function Input(props) {
35838
35880
  if (typeof renderInput === 'function') {
35839
35881
  inputEl = renderInput(inputEl);
35840
35882
  }
35883
+ var rootClass = classnames_default()(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.rootClass, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapper, !!focused && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperFocus), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperDisabled), status === 'error' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperError), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperLarge), !!underline && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperUnderline), !border && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperNoBorder), hasSuffix && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.password), showClearFromProp && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperShowClear), showClearFromProp && ((_inputElProps$value = inputElProps.value) === null || _inputElProps$value === void 0 ? void 0 : _inputElProps$value.length) > 0 && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperHasValue));
35841
35884
  return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({
35842
35885
  id: fieldId
35843
35886
  }, getDataAttribute(defineProperty_default()({}, 'input-border', 'true'))), getRootProps({
@@ -35846,7 +35889,7 @@ var Input = function Input(props) {
35846
35889
  })), {}, {
35847
35890
  children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
35848
35891
  className: classnames_default()(inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitleTop, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitleBottom, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperPaddingBox, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.content),
35849
- children: [prefix, inputEl, showClear && /*#__PURE__*/(0,jsx_runtime.jsx)("div", objectSpread2_default()(objectSpread2_default()({
35892
+ children: [prefix, inputEl, (showClearFromProp || showClearFromClearable) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", objectSpread2_default()(objectSpread2_default()({
35850
35893
  className: inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.clearWrapper
35851
35894
  }, getClearProps()), {}, {
35852
35895
  children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
@@ -36613,6 +36656,7 @@ var input_Input = function Input(props) {
36613
36656
  return /*#__PURE__*/(0,jsx_runtime.jsx)(simple_input, objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, forwardProps), inputFormatProps), {}, {
36614
36657
  value: (_inputFormatProps$val = inputFormatProps.value) !== null && _inputFormatProps$val !== void 0 ? _inputFormatProps$val : '',
36615
36658
  hasSuffix: !!props.suffix,
36659
+ showClear: props.showClear,
36616
36660
  onKeyDown: function onKeyDown(e) {
36617
36661
  var _props$onKeyDown;
36618
36662
  if (e.key === 'Enter' && !e.defaultPrevented) {
@@ -40140,7 +40184,7 @@ var CascaderNode = function CascaderNode(props) {
40140
40184
  className: styles.optionCheckbox,
40141
40185
  checked: datum.getChecked(id),
40142
40186
  disabled: isDisabled,
40143
- onChange: events.onClick === handleSelect ? undefined : handleChange
40187
+ onChange: isRealLeafNode && multiple ? undefined : handleChange
40144
40188
  }), renderContent(), renderIcon()]
40145
40189
  })
40146
40190
  }));
@@ -40624,7 +40668,7 @@ var Result = function Result(props) {
40624
40668
  var _props$onBlur, _inputRef$current$upd, _inputRef$current;
40625
40669
  e.stopPropagation();
40626
40670
  if (e.relatedTarget === context.inputRefs[1 - info.index]) return;
40627
- (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
40671
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e, info.index);
40628
40672
  if (inputRef.current) (_inputRef$current$upd = (_inputRef$current = inputRef.current).updateValue) === null || _inputRef$current$upd === void 0 || _inputRef$current$upd.call(_inputRef$current);
40629
40673
  context.clickIndex = 0;
40630
40674
  },
@@ -41820,8 +41864,33 @@ var Cascader = function Cascader(props0) {
41820
41864
  var shouldFinal = getFinal();
41821
41865
  var renderItem = getRenderItem;
41822
41866
  var getRenderResult = function getRenderResult(data, index, nodes) {
41823
- if (!renderResultProp) return renderItem(data);
41824
- return typeof renderResultProp === 'function' ? renderResultProp(data, nodes) : data[renderResultProp];
41867
+ var _map, _datum$getPath$path, _datum$getPath;
41868
+ // 计算渲染项数组,包含父节点或不含
41869
+ var items = props.showParent ? [].concat(toConsumableArray_default()((_map = ((_datum$getPath$path = (_datum$getPath = datum.getPath(datum.getKey(data))) === null || _datum$getPath === void 0 ? void 0 : _datum$getPath.path) !== null && _datum$getPath$path !== void 0 ? _datum$getPath$path : []).map(function (p) {
41870
+ return datum.getDataByValues(p);
41871
+ })) !== null && _map !== void 0 ? _map : []), [data]) : [data];
41872
+
41873
+ // 根据 renderResultProp 不同类型,返回处理单个元素的函数
41874
+ var renderSingle = function renderSingle(d) {
41875
+ if (!renderResultProp) {
41876
+ return renderItem(d);
41877
+ }
41878
+ if (typeof renderResultProp === 'function') {
41879
+ return renderResultProp(d, nodes);
41880
+ }
41881
+ // renderResultProp 作为属性字符串提取对应字段
41882
+ return d === null || d === void 0 ? void 0 : d[renderResultProp];
41883
+ };
41884
+
41885
+ // 如果包含多个待渲染元素,拼接渲染结果并添加分隔符
41886
+ if (items.length > 1) {
41887
+ return items.map(function (d, i) {
41888
+ return i > 0 ? [' / ', renderSingle(d)] : renderSingle(d);
41889
+ });
41890
+ }
41891
+
41892
+ // 单一项直接渲染
41893
+ return renderSingle(items[0]);
41825
41894
  };
41826
41895
 
41827
41896
  // 点击结果框的处理方法
@@ -44757,8 +44826,18 @@ function isValid(date) {
44757
44826
  if (!(date instanceof Date)) return false;
44758
44827
  return dayjs_min_default()(date).isValid();
44759
44828
  }
44760
- function isValidString(date, fmt) {
44829
+
44830
+ /**
44831
+ * @param date 日期字符串
44832
+ * @param fmt 日期格式
44833
+ * @param isLoose 是否为宽松模式
44834
+ * @returns 是否为有效日期
44835
+ */
44836
+ function isValidString(date, fmt, isLoose) {
44761
44837
  if (!date) return false;
44838
+ if (isLoose) {
44839
+ return dayjs_min_default()(date).isValid();
44840
+ }
44762
44841
  return dayjs_min_default()(date, fmt, true).isValid();
44763
44842
  }
44764
44843
  function util_parse(d, fmt, options) {
@@ -45246,8 +45325,15 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45246
45325
  }
45247
45326
  var formatValue = getFormatValueArr(dateArr);
45248
45327
  var v = range ? formatValue : formatValue[0];
45249
- if (!shallow_equal(v, value)) {
45250
- onChange === null || onChange === void 0 || onChange(v);
45328
+ if (Array.isArray(value) && value.length && Array.isArray(v) && v.length) {
45329
+ // 针对 range 的情况,['2025-01-01',''] ['2025-01-01',undefined] 无法通过 shallowEqual 出来,这边需要放行
45330
+ if (!shallowEqualExceptFalsely(v[0], value[0]) || !shallowEqualExceptFalsely(v[1], value[1])) {
45331
+ onChange === null || onChange === void 0 || onChange(v);
45332
+ }
45333
+ } else {
45334
+ if (!shallow_equal(v, value)) {
45335
+ onChange === null || onChange === void 0 || onChange(v);
45336
+ }
45251
45337
  }
45252
45338
  };
45253
45339
  var getDateArr = function getDateArr() {
@@ -45320,9 +45406,9 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45320
45406
  }
45321
45407
  (_props$onClear = props.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props);
45322
45408
  });
45323
- var handleInputChange = usePersistFn(function (str, index) {
45409
+ var handleInputChange = usePersistFn(function (str, index, isFromBlur) {
45324
45410
  // 比较 日期字符串是否符合format格式, 如果符合返回 true 否则返回 false
45325
- var isValid = util.isValidString(str, format);
45411
+ var isValid = util.isValidString(str, format, isFromBlur);
45326
45412
  if (!isValid) return;
45327
45413
  var date = util.toDateWithFormat(str, format, undefined, options);
45328
45414
  setInputArr(function (prev) {
@@ -45346,6 +45432,11 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45346
45432
  return arr;
45347
45433
  });
45348
45434
  });
45435
+
45436
+ // 失焦时,需要宽松模式校验,eg: 2025-06-16 18:00 和 2025-06-16 18 都可以校验通过
45437
+ var handleInputBlur = usePersistFn(function (str, index) {
45438
+ handleInputChange(str, index, true);
45439
+ });
45349
45440
  var handleClearInputArr = usePersistFn(function (index) {
45350
45441
  if (index !== undefined) {
45351
45442
  setInputArr(function (prev) {
@@ -45389,6 +45480,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45389
45480
  handleClear: handleClear,
45390
45481
  handleClearInputArr: handleClearInputArr,
45391
45482
  handleInputChange: handleInputChange,
45483
+ handleInputBlur: handleInputBlur,
45392
45484
  registerModeDisabled: registerModeDisabled,
45393
45485
  setCurrentArrWithParams: setCurrentArrWithParams,
45394
45486
  isDisabledDate: isDisabledDate
@@ -45427,14 +45519,16 @@ var useDate = function useDate(props) {
45427
45519
  cachedDays: []
45428
45520
  }),
45429
45521
  context = _useRef.current;
45430
- var current = props.current === undefined ? currentState : props.current;
45522
+ var current = props.current === undefined || !props.current ? currentState : props.current;
45431
45523
  var setCurrent = function setCurrent(date) {
45432
45524
  var _props$onCurrentChang2;
45433
45525
  if (props.current !== undefined) {
45434
45526
  var _props$onCurrentChang;
45435
45527
  (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
45436
45528
  } else {
45437
- setCurrentState(date);
45529
+ if (date) {
45530
+ setCurrentState(date);
45531
+ }
45438
45532
  }
45439
45533
  (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
45440
45534
  };
@@ -45509,9 +45603,15 @@ var useDate = function useDate(props) {
45509
45603
  var _props$onChange;
45510
45604
  if (isDisabled(date)) return;
45511
45605
  var newDate = getDateWithTime(date);
45512
- props === null || props === void 0 || props.onClearInputArr(position === 'start' ? 0 : 1);
45606
+ var index = position === 'start' ? 0 : 1;
45607
+ if (props.allowSingle && props.rangeDate && Array.isArray(props.rangeDate) && props.rangeDate[index] && util.clearHMS(newDate, options).getTime() === util.clearHMS(props.rangeDate[index], options).getTime()) {
45608
+ newDate = '';
45609
+ }
45610
+ props === null || props === void 0 || props.onClearInputArr(index);
45513
45611
  (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newDate, noClose);
45514
- setCurrent(newDate);
45612
+ if (newDate) {
45613
+ setCurrent(newDate);
45614
+ }
45515
45615
  };
45516
45616
  var getTimeStr = function getTimeStr() {
45517
45617
  var format = props.format,
@@ -46042,7 +46142,8 @@ var Time = function Time(props) {
46042
46142
 
46043
46143
  var Day = function Day(props) {
46044
46144
  var _jssStyle$datePicker;
46045
- var jssStyle = props.jssStyle;
46145
+ var jssStyle = props.jssStyle,
46146
+ allowSingle = props.allowSingle;
46046
46147
  var _useConfig = useConfig(),
46047
46148
  locale = _useConfig.locale,
46048
46149
  direction = _useConfig.direction;
@@ -46061,6 +46162,7 @@ var Day = function Day(props) {
46061
46162
  value: props.value,
46062
46163
  range: props.range,
46063
46164
  onChange: onChange,
46165
+ allowSingle: allowSingle,
46064
46166
  onClearInputArr: props.onClearInputArr,
46065
46167
  position: props.position,
46066
46168
  min: props.min,
@@ -47087,7 +47189,7 @@ var useRangePick = function useRangePick(props) {
47087
47189
  setDateArr(function (arr) {
47088
47190
  var newArr = toConsumableArray_default()(arr);
47089
47191
  newArr[index] = date;
47090
- if (range && index === 0 && newArr[1]) {
47192
+ if (date && range && index === 0 && newArr[1]) {
47091
47193
  if (typeof range === 'number') {
47092
47194
  var rangeMax = util.addSeconds(date, range, options);
47093
47195
  if (rangeMax.getTime() < newArr[1].getTime()) {
@@ -47116,7 +47218,7 @@ var useRangePick = function useRangePick(props) {
47116
47218
  var newArr = toConsumableArray_default()(arr);
47117
47219
  newArr[index] = date;
47118
47220
  var modeCache = context.modeCache;
47119
- if (modeCache[0] === modeCache[1]) {
47221
+ if (date && modeCache[0] === modeCache[1]) {
47120
47222
  var mode = modeCache[0];
47121
47223
  if (range && index === 0 && newArr[1]) {
47122
47224
  if (mode === 'year') {
@@ -47361,6 +47463,7 @@ var Picker = function Picker(props) {
47361
47463
  format: props.format,
47362
47464
  disabled: position === 'end' ? func.endDisabled : func.startDisabled,
47363
47465
  rangeDate: dateArr,
47466
+ allowSingle: props.allowSingle,
47364
47467
  min: position === 'end' ? endMin : startMin,
47365
47468
  staticMin: position === 'end' ? endMin : staticStartMin,
47366
47469
  max: position === 'end' ? endMax : startMax,
@@ -47643,11 +47746,14 @@ var DatePicker = function DatePicker(props0) {
47643
47746
  setFocused(true);
47644
47747
  (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props, e);
47645
47748
  });
47646
- var handleBlur = usePersistFn(function (e) {
47749
+ var handleBlur = usePersistFn(function (e, index) {
47647
47750
  var _props$onBlur;
47648
47751
  setFocused(false);
47649
- (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
47752
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e, index);
47650
47753
  if (props.needConfirm) return;
47754
+ if (props.inputable && index !== undefined) {
47755
+ func.handleInputBlur(e.target.value, index);
47756
+ }
47651
47757
 
47652
47758
  // 当输入框有值时,失焦时需要立即触发 onChange,否则触控板的轻触模拟出来的click事件就获取不到最新的值
47653
47759
  if (inputArr.some(function (d) {
@@ -47766,6 +47872,7 @@ var DatePicker = function DatePicker(props0) {
47766
47872
  type: type,
47767
47873
  options: options,
47768
47874
  disabled: disabled,
47875
+ allowSingle: props.allowSingle,
47769
47876
  jssStyle: jssStyle,
47770
47877
  closePop: handleClose,
47771
47878
  defaultTime: props.defaultTime,
@@ -50262,6 +50369,7 @@ function use_previous_usePrevious(value) {
50262
50369
 
50263
50370
 
50264
50371
  var globalKey = '__global__&&@@';
50372
+ var SUBMIT_TIMEOUT = 10;
50265
50373
 
50266
50374
 
50267
50375
  var emptyObj = {};
@@ -50467,7 +50575,7 @@ var useForm = function useForm(props) {
50467
50575
  docScroll.top -= scrollToError;
50468
50576
  }
50469
50577
  }
50470
- });
50578
+ }, SUBMIT_TIMEOUT + 10);
50471
50579
  };
50472
50580
  var onChange = use_persist_fn(function (change) {
50473
50581
  var _props$onChange;
@@ -50668,7 +50776,7 @@ var useForm = function useForm(props) {
50668
50776
  var _other$onSubmit;
50669
50777
  submit();
50670
50778
  other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
50671
- }, 10);
50779
+ }, SUBMIT_TIMEOUT);
50672
50780
  };
50673
50781
  };
50674
50782
  var validateFieldset = function validateFieldset(name, config) {
@@ -53403,7 +53511,8 @@ var Password = function Password(props) {
53403
53511
  return /*#__PURE__*/(0,jsx_runtime.jsx)(simple_input, objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, forwardProps), inputProps), {}, {
53404
53512
  className: props.className,
53405
53513
  suffix: suffix,
53406
- hasSuffix: true
53514
+ hasSuffix: true,
53515
+ showClear: props.showClear
53407
53516
  }));
53408
53517
  };
53409
53518
  /* harmony default export */ var input_password = (/*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().memo(Password));
@@ -66751,7 +66860,7 @@ var TransferList = function TransferList(props) {
66751
66860
  className: styles.inputWrapper,
66752
66861
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(base_src_input_input, {
66753
66862
  className: styles.input,
66754
- clearable: true,
66863
+ showClear: true,
66755
66864
  jssStyle: jssStyle,
66756
66865
  value: filterText,
66757
66866
  suffix: icons_config.transfer.Search,
@@ -71606,7 +71715,7 @@ var upload_interface = __webpack_require__(8821);
71606
71715
 
71607
71716
 
71608
71717
  /* harmony default export */ var src_0 = ({
71609
- version: '3.8.0-beta.6'
71718
+ version: '3.8.0-beta.8'
71610
71719
  });
71611
71720
  }();
71612
71721
  /******/ return __webpack_exports__;