shineout 3.7.0-beta.36 → 3.7.0-beta.38

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.
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _react = require("react");
7
8
  var _base = require("@sheinx/base");
8
9
  var _shineoutStyle = require("@sheinx/shineout-style");
10
+ var _hooks = require("@sheinx/hooks");
9
11
  var _useFieldCommon = _interopRequireDefault(require("../hooks/use-field-common"));
10
12
  var _jsxRuntime = require("react/jsx-runtime");
11
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -28,5 +30,30 @@ var BaseDatePicker = function BaseDatePicker(props) {
28
30
  }, props));
29
31
  };
30
32
  var _default = exports.default = function _default(props) {
31
- return (0, _useFieldCommon.default)(props, BaseDatePicker);
33
+ var _useConfig = (0, _base.useConfig)(),
34
+ locale = _useConfig.locale;
35
+
36
+ // datepicker 默认值需要提格式化前处理,否则内部会根据 format 进行格式化并再次触发 onChange,参考 v1 v2 的 value hoc 行为
37
+ var defaultValue = (0, _react.useMemo)(function () {
38
+ if (props.defaultValue) {
39
+ var options = {
40
+ timeZone: props.timeZone,
41
+ weekStartsOn: Number((0, _base.getLocale)(locale, 'startOfWeek'))
42
+ };
43
+ var type = props.type || 'date';
44
+ var format = (0, _hooks.getFormat)(props.format, type);
45
+ var dateArr = (0, _hooks.convertValueToDateArr)(props.defaultValue, format, options);
46
+ var formattedDefaultValue = (0, _hooks.getFormatValueArr)({
47
+ dateArr: dateArr,
48
+ format: format,
49
+ type: type,
50
+ options: options
51
+ });
52
+ return props.range ? formattedDefaultValue : formattedDefaultValue[0];
53
+ }
54
+ return props.defaultValue;
55
+ }, []);
56
+ return (0, _useFieldCommon.default)(_objectSpread(_objectSpread({}, props), {}, {
57
+ defaultValue: defaultValue
58
+ }), BaseDatePicker);
32
59
  };
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.0-beta.36'
525
+ version: '3.7.0-beta.38'
526
526
  };
package/dist/shineout.js CHANGED
@@ -6976,7 +6976,7 @@ var expand = [/*#__PURE__*/(0,jsx_runtime.jsx)("path", {
6976
6976
  clipRule: "evenodd",
6977
6977
  d: "M19.5 2C20.8807 2 22 3.11929 22 4.5V19.5C22 20.8807 20.8807 22 19.5 22H4.5C3.11929 22 2 20.8807 2 19.5V4.5C2 3.11929 3.11929 2 4.5 2H19.5ZM19.5 4H4.5C4.22386 4 4 4.22386 4 4.5V19.5C4 19.7761 4.22386 20 4.5 20H19.5C19.7761 20 20 19.7761 20 19.5V4.5C20 4.22386 19.7761 4 19.5 4ZM16 11C16.5523 11 17 11.4477 17 12C17 12.5128 16.614 12.9355 16.1166 12.9933L16 13C10.701 13 12.6557 13 8 13C7.44772 13 7 12.5523 7 12C7 11.4872 7.38604 11.0645 7.88338 11.0067L8 11C12.5606 11 10.8111 11 16 11Z"
6978
6978
  }, 0)];
6979
- var pcHelpCircleFill = ['M11 0C13.9562 0 16.7292 1.17289 18.7782 3.22183C20.8271 5.27079 22 8.04381 22 11C22 13.9562 20.8271 16.7292 18.7782 18.7782C16.7292 20.8271 13.9562 22 11 22C8.04381 22 5.27079 20.8271 3.22182 18.7782C1.17289 16.7292 0 13.9562 0 11C0 8.04381 1.17289 5.27079 3.22183 3.22182C5.27079 1.17289 8.04381 0 11 0ZM11 15.3125C10.3097 15.3125 9.75 15.8721 9.75 16.5625C9.75 17.2528 10.3097 17.8125 11 17.8125C11.6903 17.8125 12.25 17.2528 12.25 16.5625C12.25 15.8721 11.6903 15.3125 11 15.3125ZM11 4.31245C8.79086 4.31245 7 6.10332 7 8.31245C7 8.86474 7.44772 9.31245 8 9.31245C8.55229 9.31245 9 8.86474 9 8.31245C9 7.20789 9.89543 6.31245 11 6.31245C12.1046 6.31245 13 7.20789 13 8.31245C13 9.41702 12.1046 10.3125 11 10.3125L10.8834 10.3192C10.386 10.3769 10 10.7996 10 11.3125V13.3125L10.0067 13.4291C10.0645 13.9264 10.4872 14.3125 11 14.3125L11.1166 14.3057C11.614 14.248 12 13.8253 12 13.3125V12.185L12.1553 12.1431C13.8012 11.6474 15 10.1199 15 8.31245C15 6.10332 13.2091 4.31245 11 4.31245Z'];
6979
+ var pcHelpCircleFill = ['M12 1C14.9562 1 17.7292 2.17289 19.7782 4.22183C21.8271 6.27079 23 9.04381 23 12C23 14.9562 21.8271 17.7292 19.7782 19.7782C17.7292 21.8271 14.9562 23 12 23C9.04381 23 6.27079 21.8271 4.22182 19.7782C2.17289 17.7292 1 14.9562 1 12C1 9.04381 2.17289 6.27079 4.22183 4.22182C6.27079 2.17289 9.04381 1 12 1ZM12 16.3125C11.3097 16.3125 10.75 16.8721 10.75 17.5625C10.75 18.2528 11.3097 18.8125 12 18.8125C12.6903 18.8125 13.25 18.2528 13.25 17.5625C13.25 16.8721 12.6903 16.3125 12 16.3125ZM12 5.31245C9.79086 5.31245 8 7.10332 8 9.31245C8 9.86474 8.44772 10.3125 9 10.3125C9.55229 10.3125 10 9.86474 10 9.31245C10 8.20789 10.8954 7.31245 12 7.31245C13.1046 7.31245 14 8.20789 14 9.31245C14 10.417 13.1046 11.3125 12 11.3125L11.8834 11.3192C11.386 11.3769 11 11.7996 11 12.3125V14.3125L11.0067 14.4291C11.0645 14.9264 11.4872 15.3125 12 15.3125L12.1166 15.3057C12.614 15.248 13 14.8253 13 14.3125V13.185L13.1553 13.1431C14.8012 12.6474 16 11.1199 16 9.31245C16 7.10332 14.2091 5.31245 12 5.31245Z'];
6980
6980
  var pcHelpCircleOutline = /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
6981
6981
  fillRule: "evenodd",
6982
6982
  clipRule: "evenodd",
@@ -12227,7 +12227,7 @@ var handleStyle = function handleStyle(style) {
12227
12227
  };
12228
12228
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12229
12229
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12230
- /* harmony default export */ var version = ('3.7.0-beta.36');
12230
+ /* harmony default export */ var version = ('3.7.0-beta.38');
12231
12231
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12232
12232
 
12233
12233
 
@@ -14132,7 +14132,7 @@ var modalTokens = {
14132
14132
  modalPanelRadius: 'Radius-default',
14133
14133
  modalPanelFontSize: 'Font-14',
14134
14134
  modalHeaderIconMarginEnd: 'Spacing-8',
14135
- modalHeaderIconMarginTop: 'Spacing-4',
14135
+ modalHeaderIconMarginTop: 'Spacing-3',
14136
14136
  modalHeaderIconSize: 'Size-9',
14137
14137
  modalHeaderCloseMarginXStart: 'Spacing-16',
14138
14138
  modalHeaderCloseSize: 'Size-8',
@@ -36690,7 +36690,10 @@ var Carousel = function Carousel(props) {
36690
36690
  _props$indicatorPosit = props.indicatorPosition,
36691
36691
  indicatorPosition = _props$indicatorPosit === void 0 ? 'center' : _props$indicatorPosit,
36692
36692
  _props$indicatorType = props.indicatorType,
36693
- indicatorType = _props$indicatorType === void 0 ? 'circle' : _props$indicatorType;
36693
+ indicatorType = _props$indicatorType === void 0 ? 'circle' : _props$indicatorType,
36694
+ itemClassName = props.itemClassName,
36695
+ _props$showIndicator = props.showIndicator,
36696
+ showIndicator = _props$showIndicator === void 0 ? true : _props$showIndicator;
36694
36697
  var total = external_root_React_commonjs2_react_commonjs_react_amd_react_default().Children.toArray(props.children).length;
36695
36698
  var carouselClasses = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$carou = _props$jssStyle.carousel) === null || _props$jssStyle$carou === void 0 ? void 0 : _props$jssStyle$carou.call(_props$jssStyle);
36696
36699
  var config = useConfig();
@@ -36712,7 +36715,7 @@ var Carousel = function Carousel(props) {
36712
36715
  height: (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.height
36713
36716
  },
36714
36717
  children: external_root_React_commonjs2_react_commonjs_react_amd_react_default().Children.map(props.children, function (child, index) {
36715
- var itemClasses = classnames_default()(carouselClasses === null || carouselClasses === void 0 ? void 0 : carouselClasses.item, index === current && (carouselClasses === null || carouselClasses === void 0 ? void 0 : carouselClasses.itemCurrent), index === pre && pre !== current && (carouselClasses === null || carouselClasses === void 0 ? void 0 : carouselClasses.itemPre));
36718
+ var itemClasses = classnames_default()(carouselClasses === null || carouselClasses === void 0 ? void 0 : carouselClasses.item, index === current && (carouselClasses === null || carouselClasses === void 0 ? void 0 : carouselClasses.itemCurrent), index === pre && pre !== current && (carouselClasses === null || carouselClasses === void 0 ? void 0 : carouselClasses.itemPre), itemClassName);
36716
36719
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
36717
36720
  className: itemClasses,
36718
36721
  children: child
@@ -36752,7 +36755,7 @@ var Carousel = function Carousel(props) {
36752
36755
  });
36753
36756
  };
36754
36757
  var renderIndicator = function renderIndicator() {
36755
- if (total <= 1) return null;
36758
+ if (total <= 1 && typeof indicatorType !== 'function' || showIndicator === false) return null;
36756
36759
  var content = null;
36757
36760
  if (typeof indicatorType === 'function') {
36758
36761
  content = indicatorType(current, func.moveTo);
@@ -44805,6 +44808,18 @@ var getDefaultMode = function getDefaultMode(type) {
44805
44808
  var mode = getTypeMode(type);
44806
44809
  return [mode, mode];
44807
44810
  };
44811
+ var getFormatValueArr = function getFormatValueArr(opts) {
44812
+ var dateArr = opts.dateArr,
44813
+ format = opts.format,
44814
+ clearWithUndefined = opts.clearWithUndefined,
44815
+ options = opts.options,
44816
+ type = opts.type;
44817
+ var fmt = use_datepicker_format_getFormat(format, type);
44818
+ return dateArr.map(function (item) {
44819
+ if (!item) return clearWithUndefined ? undefined : '';
44820
+ return util.format(item, fmt, options);
44821
+ });
44822
+ };
44808
44823
  var useDatePickerFormat = function useDatePickerFormat(props) {
44809
44824
  var value = props.value,
44810
44825
  onChange = props.onChange,
@@ -47523,6 +47538,8 @@ var DatePicker = function DatePicker(props0) {
47523
47538
 
47524
47539
 
47525
47540
 
47541
+
47542
+
47526
47543
  var date_picker_jssStyle = {
47527
47544
  datePicker: useDatePickerStyle,
47528
47545
  button: useButtonStyle,
@@ -47536,7 +47553,32 @@ var BaseDatePicker = function BaseDatePicker(props) {
47536
47553
  }, props));
47537
47554
  };
47538
47555
  /* harmony default export */ var src_date_picker_date_picker_0 = (function (props) {
47539
- return use_field_common(props, BaseDatePicker);
47556
+ var _useConfig = useConfig(),
47557
+ locale = _useConfig.locale;
47558
+
47559
+ // datepicker 默认值需要提格式化前处理,否则内部会根据 format 进行格式化并再次触发 onChange,参考 v1 v2 的 value hoc 行为
47560
+ var defaultValue = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
47561
+ if (props.defaultValue) {
47562
+ var options = {
47563
+ timeZone: props.timeZone,
47564
+ weekStartsOn: Number(getLocale(locale, 'startOfWeek'))
47565
+ };
47566
+ var type = props.type || 'date';
47567
+ var format = use_datepicker_format_getFormat(props.format, type);
47568
+ var dateArr = convertValueToDateArr(props.defaultValue, format, options);
47569
+ var formattedDefaultValue = getFormatValueArr({
47570
+ dateArr: dateArr,
47571
+ format: format,
47572
+ type: type,
47573
+ options: options
47574
+ });
47575
+ return props.range ? formattedDefaultValue : formattedDefaultValue[0];
47576
+ }
47577
+ return props.defaultValue;
47578
+ }, []);
47579
+ return use_field_common(objectSpread2_default()(objectSpread2_default()({}, props), {}, {
47580
+ defaultValue: defaultValue
47581
+ }), BaseDatePicker);
47540
47582
  });
47541
47583
  ;// CONCATENATED MODULE: ./src/date-picker/index.ts
47542
47584
 
@@ -49992,7 +50034,8 @@ var useForm = function useForm(props) {
49992
50034
  resetTime: 0,
49993
50035
  mounted: false,
49994
50036
  unmounted: false,
49995
- removeLock: false
50037
+ removeLock: false,
50038
+ settingMap: {}
49996
50039
  }),
49997
50040
  context = _React$useRef.current;
49998
50041
  var update = function update(name) {
@@ -50229,6 +50272,8 @@ var useForm = function useForm(props) {
50229
50272
  // upload组件返回的可能是函数: (prev) => [...prev, file]
50230
50273
  var valueOfKey = typeof vals[key] === 'function' ? vals[key](getValue(key)) : vals[key];
50231
50274
  deepSet(draft, key, valueOfKey, deepSetOptions);
50275
+ // 设置 settingMap 用于标记该字段正在被设置值
50276
+ context.settingMap[key] = true;
50232
50277
  });
50233
50278
  values.forEach(function (key) {
50234
50279
  if (option.validate) {
@@ -50239,6 +50284,13 @@ var useForm = function useForm(props) {
50239
50284
  });
50240
50285
  }
50241
50286
  });
50287
+
50288
+ // 设置 settingMap 的值为 false,表示该字段设置值完成
50289
+ setTimeout(function () {
50290
+ values.forEach(function (key) {
50291
+ delete context.settingMap[key];
50292
+ });
50293
+ });
50242
50294
  });
50243
50295
 
50244
50296
  // 获取vals的所有key,包括嵌套对象的key
@@ -50419,11 +50471,18 @@ var useForm = function useForm(props) {
50419
50471
  context.updateMap[n].add(updateFn);
50420
50472
  var shouldTriggerResetChange = context.removeArr.has(n);
50421
50473
  context.removeArr.delete(n);
50422
- var shouldTriggerDefaultChange = df !== undefined && deepGet(context.value, n) === undefined;
50474
+ var currentValue = deepGet(context.value, n);
50475
+ var shouldTriggerDefaultChange = df !== undefined && currentValue === undefined;
50423
50476
  if (shouldTriggerDefaultChange || shouldTriggerResetChange) {
50424
50477
  if (!context.mounted) context.defaultValues[n] = df;
50478
+ var _defaultValue = df;
50479
+
50480
+ // 如果组件是重新 bind ,比如更改了 key 或者通过三元表达式切换了组件但 name 都是相同的情况下,在切换过程中改了 value 的值(比如通过 datum.set),需要阻止 defaultValue 的上位,按照当前的 value 来设置 defaultValue
50481
+ if (shouldTriggerResetChange && context.settingMap[n]) {
50482
+ _defaultValue = currentValue !== undefined ? currentValue : df;
50483
+ }
50425
50484
  onChange(function (v) {
50426
- deepSet(v, n, df, deepSetOptions);
50485
+ deepSet(v, n, _defaultValue, deepSetOptions);
50427
50486
  });
50428
50487
  update(n);
50429
50488
  }
@@ -54042,6 +54101,7 @@ var TreeCheckbox = function TreeCheckbox(props) {
54042
54101
 
54043
54102
 
54044
54103
  var NodeContent = function NodeContent(props) {
54104
+ var _jssStyle$common;
54045
54105
  var jssStyle = props.jssStyle,
54046
54106
  id = props.id,
54047
54107
  virtual = props.virtual,
@@ -54079,7 +54139,7 @@ var NodeContent = function NodeContent(props) {
54079
54139
  var disabled = isDisabled(id);
54080
54140
  bindUpdate(id, forceUpdate);
54081
54141
  var contentStyle = (jssStyle === null || jssStyle === void 0 ? void 0 : jssStyle.tree()) || {};
54082
- var commonStyles = (jssStyle === null || jssStyle === void 0 ? void 0 : jssStyle.common()) || {};
54142
+ var commonStyles = (jssStyle === null || jssStyle === void 0 || (_jssStyle$common = jssStyle.common) === null || _jssStyle$common === void 0 ? void 0 : _jssStyle$common.call(jssStyle)) || {};
54083
54143
  var rootClass = classnames_default()(contentStyle.contentWrapper, defineProperty_default()(defineProperty_default()(defineProperty_default()({}, contentStyle.childnode, data[childrenKey] && data[childrenKey].length > 0), contentStyle.inlineContent, inlineNode), contentStyle.contentDisabled, disabled));
54084
54144
  var contentClass = classnames_default()(contentStyle.content, isString(contentClassProp) && contentClassProp, isFunc(contentClassProp) && contentClassProp(data));
54085
54145
  var hasExpandIcons = expandIcons !== undefined;
@@ -62845,33 +62905,17 @@ var FilterSelect = function FilterSelect(props) {
62845
62905
  var config = filter.config;
62846
62906
  var currentFilter = (_props$filterInfo = props.filterInfo) === null || _props$filterInfo === void 0 ? void 0 : _props$filterInfo.get(props.columnKey);
62847
62907
  var treeOptions = (config === null || config === void 0 ? void 0 : config.data) || [];
62848
- var onReset = function onReset() {
62849
- setTempValue(undefined);
62850
- props.onFilterChange(props.columnKey, undefined);
62851
- setPopoverVisible(false);
62852
- };
62853
- var onConfirm = function onConfirm() {
62854
- props.onFilterChange(props.columnKey, tempValue);
62855
- setPopoverVisible(false);
62856
- };
62857
- var onVisibleChange = function onVisibleChange(visible) {
62858
- // 关闭popover时就提交筛选条件,包括click away触发的
62859
- if (!visible) {
62860
- props.onFilterChange(props.columnKey, tempValue);
62861
- }
62862
- setPopoverVisible(visible);
62863
- };
62864
62908
  var treeKeygen = function treeKeygen(d) {
62865
62909
  return d.value;
62866
62910
  };
62867
62911
  var treeProps = config !== null && config !== void 0 && config.multiple ? {
62868
- value: currentFilter === null || currentFilter === void 0 ? void 0 : currentFilter.value,
62912
+ value: tempValue,
62869
62913
  onChange: function onChange(v) {
62870
62914
  setTempValue(v);
62871
62915
  },
62872
62916
  renderItem: (config === null || config === void 0 ? void 0 : config.renderItem) || 'label'
62873
62917
  } : {
62874
- active: currentFilter === null || currentFilter === void 0 ? void 0 : currentFilter.value,
62918
+ active: tempValue,
62875
62919
  setActive: function setActive(v) {
62876
62920
  setTempValue(v);
62877
62921
  },
@@ -62904,7 +62948,24 @@ var FilterSelect = function FilterSelect(props) {
62904
62948
  onFilter = _useFilter.onFilter,
62905
62949
  inputText = _useFilter.inputText,
62906
62950
  setInputText = _useFilter.setInputText;
62907
- var displayData = filterData || rawData;
62951
+ var onReset = function onReset() {
62952
+ setTempValue(undefined);
62953
+ setInputText('');
62954
+ props.onFilterChange(props.columnKey, undefined);
62955
+ setPopoverVisible(false);
62956
+ };
62957
+ var onConfirm = function onConfirm() {
62958
+ props.onFilterChange(props.columnKey, tempValue);
62959
+ setPopoverVisible(false);
62960
+ };
62961
+ var onVisibleChange = function onVisibleChange(visible) {
62962
+ // 关闭popover时就提交筛选条件,包括click away触发的
62963
+ if (!visible) {
62964
+ props.onFilterChange(props.columnKey, tempValue);
62965
+ }
62966
+ setPopoverVisible(visible);
62967
+ };
62968
+ var displayData = inputText ? filterData || rawData : rawData;
62908
62969
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(base_src_button_button, {
62909
62970
  jssStyle: props.jssStyle,
62910
62971
  shape: "circle",
@@ -71214,7 +71275,7 @@ var upload_interface = __webpack_require__(8821);
71214
71275
 
71215
71276
 
71216
71277
  /* harmony default export */ var src_0 = ({
71217
- version: '3.7.0-beta.36'
71278
+ version: '3.7.0-beta.38'
71218
71279
  });
71219
71280
  }();
71220
71281
  /******/ return __webpack_exports__;