shineout 3.7.3-beta.1 → 3.7.3-beta.3

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.7.3-beta.1'
525
+ version: '3.7.3-beta.3'
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.7.3-beta.1');
12237
+ /* harmony default export */ var version = ('3.7.3-beta.3');
12238
12238
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12239
12239
 
12240
12240
 
@@ -40609,7 +40609,7 @@ var Result = function Result(props) {
40609
40609
  var _props$onBlur, _inputRef$current$upd, _inputRef$current;
40610
40610
  e.stopPropagation();
40611
40611
  if (e.relatedTarget === context.inputRefs[1 - info.index]) return;
40612
- (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
40612
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e, info.index);
40613
40613
  if (inputRef.current) (_inputRef$current$upd = (_inputRef$current = inputRef.current).updateValue) === null || _inputRef$current$upd === void 0 || _inputRef$current$upd.call(_inputRef$current);
40614
40614
  context.clickIndex = 0;
40615
40615
  },
@@ -44742,8 +44742,18 @@ function isValid(date) {
44742
44742
  if (!(date instanceof Date)) return false;
44743
44743
  return dayjs_min_default()(date).isValid();
44744
44744
  }
44745
- function isValidString(date, fmt) {
44745
+
44746
+ /**
44747
+ * @param date 日期字符串
44748
+ * @param fmt 日期格式
44749
+ * @param isLoose 是否为宽松模式
44750
+ * @returns 是否为有效日期
44751
+ */
44752
+ function isValidString(date, fmt, isLoose) {
44746
44753
  if (!date) return false;
44754
+ if (isLoose) {
44755
+ return dayjs_min_default()(date).isValid();
44756
+ }
44747
44757
  return dayjs_min_default()(date, fmt, true).isValid();
44748
44758
  }
44749
44759
  function util_parse(d, fmt, options) {
@@ -45305,9 +45315,9 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45305
45315
  }
45306
45316
  (_props$onClear = props.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props);
45307
45317
  });
45308
- var handleInputChange = usePersistFn(function (str, index) {
45318
+ var handleInputChange = usePersistFn(function (str, index, isFromBlur) {
45309
45319
  // 比较 日期字符串是否符合format格式, 如果符合返回 true 否则返回 false
45310
- var isValid = util.isValidString(str, format);
45320
+ var isValid = util.isValidString(str, format, isFromBlur);
45311
45321
  if (!isValid) return;
45312
45322
  var date = util.toDateWithFormat(str, format, undefined, options);
45313
45323
  setInputArr(function (prev) {
@@ -45331,6 +45341,11 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45331
45341
  return arr;
45332
45342
  });
45333
45343
  });
45344
+
45345
+ // 失焦时,需要宽松模式校验,eg: 2025-06-16 18:00 和 2025-06-16 18 都可以校验通过
45346
+ var handleInputBlur = usePersistFn(function (str, index) {
45347
+ handleInputChange(str, index, true);
45348
+ });
45334
45349
  var handleClearInputArr = usePersistFn(function (index) {
45335
45350
  if (index !== undefined) {
45336
45351
  setInputArr(function (prev) {
@@ -45374,6 +45389,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45374
45389
  handleClear: handleClear,
45375
45390
  handleClearInputArr: handleClearInputArr,
45376
45391
  handleInputChange: handleInputChange,
45392
+ handleInputBlur: handleInputBlur,
45377
45393
  registerModeDisabled: registerModeDisabled,
45378
45394
  setCurrentArrWithParams: setCurrentArrWithParams,
45379
45395
  isDisabledDate: isDisabledDate
@@ -47628,11 +47644,14 @@ var DatePicker = function DatePicker(props0) {
47628
47644
  setFocused(true);
47629
47645
  (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props, e);
47630
47646
  });
47631
- var handleBlur = usePersistFn(function (e) {
47647
+ var handleBlur = usePersistFn(function (e, index) {
47632
47648
  var _props$onBlur;
47633
47649
  setFocused(false);
47634
- (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
47650
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e, index);
47635
47651
  if (props.needConfirm) return;
47652
+ if (props.inputable && index !== undefined) {
47653
+ func.handleInputBlur(e.target.value, index);
47654
+ }
47636
47655
 
47637
47656
  // 当输入框有值时,失焦时需要立即触发 onChange,否则触控板的轻触模拟出来的click事件就获取不到最新的值
47638
47657
  if (inputArr.some(function (d) {
@@ -50246,6 +50265,7 @@ function use_previous_usePrevious(value) {
50246
50265
 
50247
50266
 
50248
50267
  var globalKey = '__global__&&@@';
50268
+ var SUBMIT_TIMEOUT = 10;
50249
50269
 
50250
50270
 
50251
50271
  var emptyObj = {};
@@ -50451,7 +50471,7 @@ var useForm = function useForm(props) {
50451
50471
  docScroll.top -= scrollToError;
50452
50472
  }
50453
50473
  }
50454
- });
50474
+ }, SUBMIT_TIMEOUT + 10);
50455
50475
  };
50456
50476
  var onChange = use_persist_fn(function (change) {
50457
50477
  var _props$onChange;
@@ -50631,14 +50651,14 @@ var useForm = function useForm(props) {
50631
50651
  });
50632
50652
  case 6:
50633
50653
  result = _context.sent;
50654
+ if (activeEl) activeEl.focus();
50634
50655
  if (result === true) {
50635
50656
  (_props$onSubmit2 = props.onSubmit) === null || _props$onSubmit2 === void 0 || _props$onSubmit2.call(props, (_context$value2 = context.value) !== null && _context$value2 !== void 0 ? _context$value2 : {});
50636
- if (activeEl) activeEl.focus();
50637
50657
  } else {
50638
50658
  handleSubmitError(result);
50639
50659
  }
50640
50660
  callback === null || callback === void 0 || callback();
50641
- case 9:
50661
+ case 10:
50642
50662
  case "end":
50643
50663
  return _context.stop();
50644
50664
  }
@@ -50652,7 +50672,7 @@ var useForm = function useForm(props) {
50652
50672
  var _other$onSubmit;
50653
50673
  submit();
50654
50674
  other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
50655
- }, 10);
50675
+ }, SUBMIT_TIMEOUT);
50656
50676
  };
50657
50677
  };
50658
50678
  var validateFieldset = function validateFieldset(name, config) {
@@ -71545,7 +71565,7 @@ var upload_interface = __webpack_require__(8821);
71545
71565
 
71546
71566
 
71547
71567
  /* harmony default export */ var src_0 = ({
71548
- version: '3.7.3-beta.1'
71568
+ version: '3.7.3-beta.3'
71549
71569
  });
71550
71570
  }();
71551
71571
  /******/ return __webpack_exports__;