shineout 3.9.7 → 3.9.8-beta.10

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/shineout.js CHANGED
@@ -4547,14 +4547,14 @@ const figma = [
4547
4547
  },
4548
4548
  {
4549
4549
  name: 'Shadow-4',
4550
- value: '0,-2,10,rgb(102,108,124,0.08)',
4550
+ value: '0 -2px 10px rgba(102,108,124,0.08)',
4551
4551
  describe: '详情页底部按钮模块阴影(向上)',
4552
4552
  token: 'Shadow-4',
4553
4553
  locked: true,
4554
4554
  },
4555
4555
  {
4556
4556
  name: 'Shadow-5',
4557
- value: '0,2,10,rgb(102,108,124,0.08)',
4557
+ value: '0 2px 10px rgba(102,108,124,0.08)',
4558
4558
  describe: '详情页底部按钮模块阴影(向下)',
4559
4559
  token: 'Shadow-5',
4560
4560
  locked: true,
@@ -6613,7 +6613,7 @@ __webpack_require__.r(strings_namespaceObject);
6613
6613
  __webpack_require__.d(strings_namespaceObject, {
6614
6614
  capitalize: function() { return capitalize; },
6615
6615
  getDirectionIconName: function() { return getDirectionIconName; },
6616
- getRTLPosition: function() { return getRTLPosition; },
6616
+ getRTLPosition: function() { return strings_getRTLPosition; },
6617
6617
  removeProtocol: function() { return strings_removeProtocol; },
6618
6618
  substitute: function() { return strings_substitute; }
6619
6619
  });
@@ -7331,7 +7331,8 @@ var config = {
7331
7331
  CollapseArrow: icons.ArrowLeft
7332
7332
  },
7333
7333
  tag: {
7334
- Close: icons.Close
7334
+ Close: icons.Close,
7335
+ Loading: icons.Loading
7335
7336
  },
7336
7337
  textarea: {
7337
7338
  Close: icons.CloseFill
@@ -12401,7 +12402,7 @@ var handleStyle = function handleStyle(style) {
12401
12402
  };
12402
12403
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12403
12404
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12404
- /* harmony default export */ var version = ('3.9.7');
12405
+ /* harmony default export */ var version = ('3.9.8-beta.10');
12405
12406
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12406
12407
 
12407
12408
 
@@ -12810,8 +12811,8 @@ var Token = {
12810
12811
  'Shadow-1': '0px 2px 5px rgba(2, 11, 24, 0.1)',
12811
12812
  'Shadow-2': '0px 4px 10px rgba(2, 11, 24, 0.1)',
12812
12813
  'Shadow-3': '0px 8px 20px rgba(2, 11, 24, 0.1)',
12813
- 'Shadow-4': '0,-2,10,rgb(102,108,124,0.08)',
12814
- 'Shadow-5': '0,2,10,rgb(102,108,124,0.08)',
12814
+ 'Shadow-4': '0 -2px 10px rgba(102,108,124,0.08)',
12815
+ 'Shadow-5': '0 2px 10px rgba(102,108,124,0.08)',
12815
12816
  'Line-height-dynamic': 'calc( 1em + 8px )',
12816
12817
  'Line-height-dynamic-min': 'calc( max(1em, 14px) + 8px )',
12817
12818
  Transparent: 'transparent',
@@ -17891,7 +17892,7 @@ var cascaderStyle = objectSpread2_default()(objectSpread2_default()({
17891
17892
  marginBottom: src.cascaderPlaceholderMarginY
17892
17893
  },
17893
17894
  multiple: {
17894
- '& $optionInner': {
17895
+ '& $optionInner:not($optionLeaf)': {
17895
17896
  paddingRight: src.cascaderOptionInnerPaddingRight
17896
17897
  },
17897
17898
  '& $resultTextWrapper': {
@@ -18061,6 +18062,11 @@ var cascaderStyle = objectSpread2_default()(objectSpread2_default()({
18061
18062
  optionIcon: {
18062
18063
  position: 'absolute',
18063
18064
  right: 8,
18065
+ '[dir=rtl] &': {
18066
+ left: 8,
18067
+ right: 'auto',
18068
+ transform: 'rotate(180deg)'
18069
+ },
18064
18070
  top: 0,
18065
18071
  bottom: 0,
18066
18072
  fontSize: src.cascaderFontSize,
@@ -19213,11 +19219,9 @@ var descriptionsStyle = {
19213
19219
  lineHeight: src.lineHeightDynamic
19214
19220
  },
19215
19221
  row: {
19216
- // '&>td': {
19217
- // '&:not(:last-child)': {
19218
- // paddingRight: token.descriptionsCellGap,
19219
- // },
19220
- // },
19222
+ '$body:not($border) & > td': {
19223
+ border: 'none'
19224
+ }
19221
19225
  },
19222
19226
  label: {
19223
19227
  paddingRight: src.descriptionsLabelPaddingRight,
@@ -22332,8 +22336,8 @@ var modalStyle = objectSpread2_default()(objectSpread2_default()({
22332
22336
  '$wrapper &': {
22333
22337
  marginRight: src.modalHeaderIconMarginEnd,
22334
22338
  marginTop: src.modalHeaderIconMarginTop,
22335
- width: src.modalHeaderIconSize,
22336
- height: src.modalHeaderIconSize,
22339
+ width: "calc(".concat(src.modalHeaderFontSize, " + 2px)"),
22340
+ height: "calc(".concat(src.modalHeaderFontSize, " + 2px)"),
22337
22341
  lineHeight: src.modalHeaderIconSize,
22338
22342
  display: 'block',
22339
22343
  alignItems: 'center'
@@ -22910,10 +22914,10 @@ var tooltipStyle = objectSpread2_default()(objectSpread2_default()({
22910
22914
  boxSizing: 'border-box',
22911
22915
  '--tooltip-background-color': src.tooltipLightBackgroundColor,
22912
22916
  '&[data-soui-position^="top"] $arrow': {
22913
- transform: 'translate(0, -1px) rotate(-180deg)'
22917
+ transform: 'translate(-50%, -1px) rotate(-180deg)'
22914
22918
  },
22915
22919
  '&[data-soui-position^="bottom"] $arrow': {
22916
- transform: 'translate(0, calc(-100% + 1px)) rotate(0deg)'
22920
+ transform: 'translate(-50%, calc(-100% + 1px)) rotate(0deg)'
22917
22921
  },
22918
22922
  '& $arrow:before': {
22919
22923
  clipPath: 'none',
@@ -23444,6 +23448,9 @@ var progressStyle = {
23444
23448
  backgroundColor: src.progressSuccessFrontBackgroundColor,
23445
23449
  '& + $lineFront': {
23446
23450
  zIndex: 1
23451
+ },
23452
+ '$noAnimation &': {
23453
+ transition: 'none'
23447
23454
  }
23448
23455
  },
23449
23456
  lineFront: {
@@ -23481,6 +23488,9 @@ var progressStyle = {
23481
23488
  '$wrapperDanger&': {
23482
23489
  backgroundColor: src.progressLineInnerDangerFrontBackgroundColor
23483
23490
  }
23491
+ },
23492
+ '$noAnimation &': {
23493
+ transition: 'none'
23484
23494
  }
23485
23495
  },
23486
23496
  content: {
@@ -23520,7 +23530,10 @@ var progressStyle = {
23520
23530
  padding: '3px 8px',
23521
23531
  borderRadius: '2px',
23522
23532
  color: src.progressLinePopFontColor,
23523
- boxShadow: '0 3px 6px -4px rgba(0,0,0,.12), 0 6px 16px rgba(0,0,0,.08), 0 9px 28px 8px rgba(0,0,0,.05)'
23533
+ boxShadow: '0 3px 6px -4px rgba(0,0,0,.12), 0 6px 16px rgba(0,0,0,.08), 0 9px 28px 8px rgba(0,0,0,.05)',
23534
+ '$noAnimation &': {
23535
+ transition: 'none'
23536
+ }
23524
23537
  },
23525
23538
  linePopValue: {},
23526
23539
  linePopArrow: {
@@ -23593,14 +23606,21 @@ var progressStyle = {
23593
23606
  },
23594
23607
  '$wrapperDanger &': {
23595
23608
  stroke: src.progressDangerFrontBackgroundColor
23609
+ },
23610
+ '$noAnimation &': {
23611
+ transition: 'none'
23596
23612
  }
23597
23613
  },
23598
23614
  circleSuccess: {
23599
23615
  transform: 'rotate(-90deg)',
23600
23616
  transformOrigin: '50% 50%',
23601
23617
  transition: 'stroke-dashoffset .32s ease 0s,stroke-dasharray .32s ease 0s,stroke .32s,stroke-width .06s ease .32s',
23602
- stroke: src.progressSuccessFrontBackgroundColor
23603
- }
23618
+ stroke: src.progressSuccessFrontBackgroundColor,
23619
+ '$noAnimation &': {
23620
+ transition: 'none'
23621
+ }
23622
+ },
23623
+ noAnimation: {}
23604
23624
  };
23605
23625
  /* harmony default export */ var progress_progress = (progressStyle);
23606
23626
  ;// CONCATENATED MODULE: ../shineout-style/src/progress/index.ts
@@ -27036,7 +27056,8 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
27036
27056
  right: "-".concat(shadowWidth, "px")
27037
27057
  },
27038
27058
  '&[dir=rtl]::after': {
27039
- left: "-".concat(shadowWidth, "px")
27059
+ left: "-".concat(shadowWidth, "px"),
27060
+ boxShadow: 'inset -8px 0 10px -6px rgba(2,11,24,.1)'
27040
27061
  }
27041
27062
  },
27042
27063
  '& table': {
@@ -27065,7 +27086,8 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
27065
27086
  boxShadow: 'inset -8px 0 10px -6px rgba(2,11,24,.1)'
27066
27087
  },
27067
27088
  '&[dir=rtl]::before': {
27068
- right: "-".concat(shadowWidth, "px")
27089
+ right: "-".concat(shadowWidth, "px"),
27090
+ boxShadow: 'inset 8px 0 10px -6px rgba(2,11,24,.1)'
27069
27091
  },
27070
27092
  '&[dir=ltr]::before': {
27071
27093
  left: "-".concat(shadowWidth, "px")
@@ -28185,6 +28207,16 @@ var useTabsStyle = styled(tabs_tabs, 'tabs');
28185
28207
 
28186
28208
 
28187
28209
  var tagDefaultLineHeight = "calc(".concat(src.tagDefaultLineBase, " + 6px)");
28210
+ var tag_animations = {
28211
+ '@keyframes spin': {
28212
+ '0%': {
28213
+ transform: 'rotate(0deg)'
28214
+ },
28215
+ '100%': {
28216
+ transform: 'rotate(360deg)'
28217
+ }
28218
+ }
28219
+ };
28188
28220
  var brightTag = function brightTag(name, type) {
28189
28221
  return {
28190
28222
  color: src["tag".concat(type, "FontColor")],
@@ -28285,7 +28317,7 @@ var brightOutlineTag = function brightOutlineTag(name, type) {
28285
28317
  }
28286
28318
  });
28287
28319
  };
28288
- var TagStyle = {
28320
+ var TagStyle = objectSpread2_default()(objectSpread2_default()({
28289
28321
  rootClass: {},
28290
28322
  tag: {
28291
28323
  display: 'inline-flex',
@@ -28386,6 +28418,10 @@ var TagStyle = {
28386
28418
  cursor: 'pointer',
28387
28419
  height: tagDefaultLineHeight,
28388
28420
  maxHeight: '100%'
28421
+ }
28422
+ }, tag_animations), {}, {
28423
+ closeIconPending: {
28424
+ animation: "$spin 1s linear infinite"
28389
28425
  },
28390
28426
  closeIconWrapper: {
28391
28427
  display: 'inline-flex',
@@ -28420,7 +28456,7 @@ var TagStyle = {
28420
28456
  rounded: {
28421
28457
  borderRadius: src.buttonRoundBorderRadius
28422
28458
  }
28423
- };
28459
+ });
28424
28460
  /* harmony default export */ var tag_tag = (TagStyle);
28425
28461
  ;// CONCATENATED MODULE: ../shineout-style/src/tag/index.ts
28426
28462
 
@@ -28565,6 +28601,10 @@ var textarea_input = objectSpread2_default()(objectSpread2_default()(objectSprea
28565
28601
  display: 'block',
28566
28602
  width: src.textareaClearSize,
28567
28603
  height: src.textareaClearSize
28604
+ },
28605
+ '[dir="rtl"] &': {
28606
+ right: 'auto',
28607
+ left: src.textareaPaddingX
28568
28608
  }
28569
28609
  },
28570
28610
  wrapperWithClear: {
@@ -29709,7 +29749,7 @@ var treeSelectStyle = objectSpread2_default()(objectSpread2_default()({
29709
29749
  optionDisabled: {
29710
29750
  cursor: 'not-allowed',
29711
29751
  color: src.treeSelectOptionDisabledColor,
29712
- backgroundColor: src.treeSelectOptionDisabledBackgroundColor,
29752
+ // backgroundColor: token.treeSelectOptionDisabledBackgroundColor,
29713
29753
  '&>[data-role="text"]': {
29714
29754
  color: src.treeSelectOptionDisabledColor,
29715
29755
  backgroundColor: src.treeSelectOptionDisabledBackgroundColor
@@ -31060,6 +31100,26 @@ var usePopup = function usePopup(props) {
31060
31100
  };
31061
31101
  };
31062
31102
  /* harmony default export */ var use_popup = (usePopup);
31103
+ ;// CONCATENATED MODULE: ../hooks/src/utils/rtl.ts
31104
+ var oppositeMap = {
31105
+ left: 'right',
31106
+ right: 'left',
31107
+ 'left-top': 'right-top',
31108
+ 'left-bottom': 'right-bottom',
31109
+ 'right-top': 'left-top',
31110
+ 'right-bottom': 'left-bottom',
31111
+ 'top-left': 'top-right',
31112
+ 'top-right': 'top-left',
31113
+ 'bottom-left': 'bottom-right',
31114
+ 'bottom-right': 'bottom-left',
31115
+ top: 'top',
31116
+ bottom: 'bottom',
31117
+ auto: 'auto'
31118
+ };
31119
+ var getRTLPosition = function getRTLPosition(position, isRTL) {
31120
+ if (!isRTL || !position) return position;
31121
+ return oppositeMap[position] || position;
31122
+ };
31063
31123
  ;// CONCATENATED MODULE: ../hooks/src/utils/func.ts
31064
31124
  // 节流函数
31065
31125
  var throttle = function throttle(func, wait) {
@@ -33406,7 +33466,7 @@ var Popover = function Popover(props) {
33406
33466
  open: props.visible,
33407
33467
  defaultOpen: props.defaultVisible,
33408
33468
  onCollapse: onVisibleChange,
33409
- position: props.position,
33469
+ position: getRTLPosition(props.position, config.direction === 'rtl'),
33410
33470
  trigger: trigger,
33411
33471
  autoMode: 'popover',
33412
33472
  priorityDirection: priorityDirection,
@@ -34329,7 +34389,7 @@ var Tooltip = function Tooltip(props) {
34329
34389
  var delay = props.delay || props.mouseEnterDelay || defaultDelay;
34330
34390
  var mouseLeaveDelay = props.mouseLeaveDelay || defaultDelay;
34331
34391
  var _usePopup = use_popup({
34332
- position: popsitionProps,
34392
+ position: getRTLPosition(popsitionProps, config.direction === 'rtl'),
34333
34393
  trigger: trigger,
34334
34394
  autoMode: 'popover',
34335
34395
  priorityDirection: priorityDirection,
@@ -41980,7 +42040,7 @@ var CascaderNode = function CascaderNode(props) {
41980
42040
  className: rootClass
41981
42041
  }, events), {}, {
41982
42042
  children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
41983
- className: classnames_default()(styles.optionInner),
42043
+ className: classnames_default()(styles.optionInner, isRealLeafNode && styles.optionLeaf),
41984
42044
  role: "button",
41985
42045
  children: [multiple && !(shouldFinal && hasChildren) && /*#__PURE__*/(0,jsx_runtime.jsx)(base_src_checkbox_checkbox
41986
42046
  // @ts-ignore
@@ -42875,17 +42935,17 @@ var Tag = function Tag(props) {
42875
42935
  if (!showClose) {
42876
42936
  return null;
42877
42937
  }
42878
- if (dismiss === tag_Pending) {
42879
- // 后面用 Spin 替换
42880
- return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {});
42881
- }
42882
42938
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
42883
- className: tagStyle.closeIcon,
42939
+ className: classnames_default()(tagStyle.closeIcon, dismiss === tag_Pending && tagStyle.closeIconPending),
42884
42940
  onClick: handleClose,
42885
42941
  onMouseDown: onMouseDown,
42942
+ style: dismiss === tag_Pending ? {
42943
+ opacity: 0.6,
42944
+ pointerEvents: 'none'
42945
+ } : undefined,
42886
42946
  children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
42887
42947
  className: tagStyle.closeIconWrapper,
42888
- children: icons_config.tag.Close
42948
+ children: dismiss === tag_Pending ? icons_config.tag.Loading : icons_config.tag.Close
42889
42949
  })
42890
42950
  });
42891
42951
  };
@@ -43519,6 +43579,9 @@ var Cascader = function Cascader(props0) {
43519
43579
  var _useContext = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useContext)(FormFieldContext),
43520
43580
  fieldId = _useContext.fieldId;
43521
43581
  var defaultHeight = 250;
43582
+ var _useConfig = useConfig(),
43583
+ locale = _useConfig.locale,
43584
+ direction = _useConfig.direction;
43522
43585
  var jssStyle = props.jssStyle,
43523
43586
  style = props.style,
43524
43587
  _props$adjust = props.adjust,
@@ -43593,8 +43656,6 @@ var Cascader = function Cascader(props0) {
43593
43656
  var rootStyle = Object.assign({
43594
43657
  width: width
43595
43658
  }, style);
43596
- var _useConfig = useConfig(),
43597
- locale = _useConfig.locale;
43598
43659
  var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(false),
43599
43660
  _useState2 = slicedToArray_default()(_useState, 2),
43600
43661
  focused = _useState2[0],
@@ -43664,7 +43725,7 @@ var Cascader = function Cascader(props0) {
43664
43725
  onCollapse: onCollapse,
43665
43726
  disabled: false,
43666
43727
  trigger: 'click',
43667
- position: positionProp
43728
+ position: getRTLPosition(positionProp, direction === 'rtl')
43668
43729
  }),
43669
43730
  open = _usePopup.open,
43670
43731
  position = _usePopup.position,
@@ -44182,6 +44243,7 @@ var Cascader = function Cascader(props0) {
44182
44243
  onFocus: handleFocus,
44183
44244
  onKeyDown: handleKeyDown,
44184
44245
  ref: targetRef,
44246
+ dir: direction,
44185
44247
  children: [tipNode, renderResult(), /*#__PURE__*/(0,jsx_runtime.jsx)(absolute_list, {
44186
44248
  adjust: adjust,
44187
44249
  focus: open,
@@ -44950,8 +45012,13 @@ FormSchemaContext.displayName = 'FormSchemaContext';
44950
45012
 
44951
45013
  var FormField = function FormField(props) {
44952
45014
  var _childrenProps$error, _childrenProps$status;
44953
- var children = props.children;
45015
+ var children = props.children,
45016
+ fieldValidateTrigger = props.validateTrigger;
44954
45017
  var formConfig = useFormConfig();
45018
+ var formFunc = useFormFunc();
45019
+
45020
+ // 获取最终的 validateTrigger: 优先使用字段级配置,其次使用 Form 级配置,默认为 'change'
45021
+ var validateTrigger = fieldValidateTrigger || formConfig.validateTrigger || 'change';
44955
45022
  var getValidateProps = usePersistFn(function () {
44956
45023
  if (props.getValidateProps) return props.getValidateProps();
44957
45024
  return props;
@@ -44979,6 +45046,18 @@ var FormField = function FormField(props) {
44979
45046
  formControl.onChange.apply(formControl, [value].concat(args));
44980
45047
  }
44981
45048
  });
45049
+ var handleBlur = usePersistFn(function (e) {
45050
+ // 先调用原始的 onBlur
45051
+ var originalOnBlur = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().isValidElement(children) ? children.props.onBlur : undefined;
45052
+ originalOnBlur === null || originalOnBlur === void 0 || originalOnBlur(e);
45053
+
45054
+ // 根据 validateTrigger 配置决定是否在失焦时触发校验
45055
+ // 只有 'change-blur' 模式才在失焦时触发校验
45056
+ var shouldValidateOnBlur = validateTrigger === 'change-blur';
45057
+ if (shouldValidateOnBlur && formControl.inForm && formControl.name && formFunc !== null && formFunc !== void 0 && formFunc.validateFields) {
45058
+ formFunc.validateFields(formControl.name).catch(function () {});
45059
+ }
45060
+ });
44982
45061
  var childrenProps = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().isValidElement(children) ? children.props : {};
44983
45062
  var error = (_childrenProps$error = childrenProps.error) !== null && _childrenProps$error !== void 0 ? _childrenProps$error : formControl.error;
44984
45063
  var status = (_childrenProps$status = childrenProps.status) !== null && _childrenProps$status !== void 0 ? _childrenProps$status : formControl.error ? 'error' : undefined;
@@ -45003,6 +45082,7 @@ var FormField = function FormField(props) {
45003
45082
  }, [fieldsetPath, formConfig.formName]);
45004
45083
  var cloneProps = {
45005
45084
  onChange: handleChange,
45085
+ onBlur: handleBlur,
45006
45086
  status: status,
45007
45087
  error: error
45008
45088
  };
@@ -49578,8 +49658,7 @@ var DatePicker = function DatePicker(props0) {
49578
49658
  inputRefs: []
49579
49659
  });
49580
49660
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle);
49581
- var isRTL = direction === 'rtl';
49582
- var dfp = isRTL ? 'bottom-right' : 'bottom-left';
49661
+ var dfp = 'bottom-left';
49583
49662
  var _React$useState9 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(false),
49584
49663
  _React$useState10 = slicedToArray_default()(_React$useState9, 2),
49585
49664
  focused = _React$useState10[0],
@@ -49666,7 +49745,7 @@ var DatePicker = function DatePicker(props0) {
49666
49745
  onCollapse: onCollapse,
49667
49746
  disabled: disabledStatus === 'all',
49668
49747
  trigger: 'click',
49669
- position: listPosition
49748
+ position: getRTLPosition(listPosition, direction === 'rtl')
49670
49749
  }),
49671
49750
  open = _usePopup.open,
49672
49751
  position = _usePopup.position,
@@ -50952,6 +51031,7 @@ var method = function method(type, jssStyle) {
50952
51031
 
50953
51032
 
50954
51033
 
51034
+
50955
51035
  var modal_devUseWarning = devUseWarning;
50956
51036
  var modal_Modal = function Modal(props) {
50957
51037
  var _props$jssStyle, _props$jssStyle$modal;
@@ -50974,6 +51054,7 @@ var modal_Modal = function Modal(props) {
50974
51054
  rendered: false
50975
51055
  }),
50976
51056
  context = _useRef.current;
51057
+ var config = useConfig();
50977
51058
  var destroyed = props.destroy && !props.visible && canDestroy;
50978
51059
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
50979
51060
  if (destroyed) {
@@ -50987,9 +51068,19 @@ var modal_Modal = function Modal(props) {
50987
51068
  return null;
50988
51069
  }
50989
51070
  context.rendered = true;
51071
+ var isRtl = config.direction === 'rtl';
51072
+ var position = props.position;
51073
+ if (isRtl) {
51074
+ if (position === 'left') {
51075
+ position = 'right';
51076
+ } else if (position === 'right') {
51077
+ position = 'left';
51078
+ }
51079
+ }
50990
51080
  var Content = /*#__PURE__*/(0,jsx_runtime.jsx)(modal_content, objectSpread2_default()(objectSpread2_default()({}, props), {}, {
50991
51081
  shouldDestroy: seCanDestroy,
50992
- autoShow: false
51082
+ autoShow: false,
51083
+ position: position
50993
51084
  }));
50994
51085
  var root = getRoot();
50995
51086
  if (!root) return null;
@@ -51186,7 +51277,7 @@ var Dropdown = function Dropdown(props) {
51186
51277
  var dropdownClasses = jssStyle === null || jssStyle === void 0 || (_jssStyle$dropdown = jssStyle.dropdown) === null || _jssStyle$dropdown === void 0 ? void 0 : _jssStyle$dropdown.call(jssStyle);
51187
51278
  var config = useConfig();
51188
51279
  var isRtl = config.direction === 'rtl';
51189
- var dfp = isRtl ? 'bottom-right' : 'bottom-left';
51280
+ var dfp = 'bottom-left';
51190
51281
  var positionMap = {
51191
51282
  'left-top': 'left-top',
51192
51283
  'left-bottom': 'left-bottom',
@@ -51207,7 +51298,7 @@ var Dropdown = function Dropdown(props) {
51207
51298
  onCollapse: props.onCollapse,
51208
51299
  disabled: disabled,
51209
51300
  trigger: trigger,
51210
- position: props.position || dfp,
51301
+ position: getRTLPosition(props.position || dfp, isRtl),
51211
51302
  autoMode: 'menu',
51212
51303
  priorityDirection: 'vertical',
51213
51304
  mouseLeaveDelay: 200
@@ -51501,6 +51592,7 @@ var simple_textarea_excluded = ["jssStyle", "className", "style", "status", "siz
51501
51592
 
51502
51593
 
51503
51594
 
51595
+
51504
51596
  var Textarea = function Textarea(props) {
51505
51597
  var _jssStyle$textarea;
51506
51598
  var jssStyle = props.jssStyle,
@@ -51522,6 +51614,7 @@ var Textarea = function Textarea(props) {
51522
51614
  limit = props.limit,
51523
51615
  clearable = props.clearable,
51524
51616
  rest = objectWithoutProperties_default()(props, simple_textarea_excluded);
51617
+ var config = useConfig();
51525
51618
  var textareaClasses = jssStyle === null || jssStyle === void 0 || (_jssStyle$textarea = jssStyle.textarea) === null || _jssStyle$textarea === void 0 ? void 0 : _jssStyle$textarea.call(jssStyle);
51526
51619
  var _useTextarea = use_textarea(objectSpread2_default()({}, rest)),
51527
51620
  getRootProps = _useTextarea.getRootProps,
@@ -51568,7 +51661,7 @@ var Textarea = function Textarea(props) {
51568
51661
  });
51569
51662
  }
51570
51663
  var clearEl = null;
51571
- if (clearable && props.value) {
51664
+ if (clearable && props.value && !disabled) {
51572
51665
  clearEl = /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
51573
51666
  className: textareaClasses === null || textareaClasses === void 0 ? void 0 : textareaClasses.clear,
51574
51667
  onClick: function onClick() {
@@ -51584,6 +51677,7 @@ var Textarea = function Textarea(props) {
51584
51677
  className: rootClass,
51585
51678
  style: style
51586
51679
  })), {}, {
51680
+ dir: config.direction,
51587
51681
  children: [prefix, textareaEl, suffix, limitEl, clearEl]
51588
51682
  }));
51589
51683
  };
@@ -52746,7 +52840,9 @@ var useForm = function useForm(props) {
52746
52840
  colon = props.colon,
52747
52841
  formName = props.name,
52748
52842
  scrollParent = props.scrollParent,
52749
- isControl = props.isControl;
52843
+ isControl = props.isControl,
52844
+ _props$validateTrigge = props.validateTrigger,
52845
+ validateTrigger = _props$validateTrigge === void 0 ? 'change' : _props$validateTrigge;
52750
52846
  var deepSetOptions = {
52751
52847
  removeUndefined: removeUndefined,
52752
52848
  forceSet: true
@@ -53310,9 +53406,10 @@ var useForm = function useForm(props) {
53310
53406
  disabled: disabled,
53311
53407
  size: size,
53312
53408
  formName: formName,
53313
- colon: colon
53409
+ colon: colon,
53410
+ validateTrigger: validateTrigger
53314
53411
  };
53315
- }, [labelWidth, labelAlign, labelVerticalAlign, keepErrorHeight, inline, disabled, size, formName, colon]);
53412
+ }, [labelWidth, labelAlign, labelVerticalAlign, keepErrorHeight, inline, disabled, size, formName, colon, validateTrigger]);
53316
53413
  var updateValue = function updateValue() {
53317
53414
  if (props.value !== context.lastValue && props.value !== context.value) {
53318
53415
  context.value = deepClone(props.value) || emptyObj;
@@ -55699,6 +55796,12 @@ var INNER_TITLE_SUPPORTED_COMPONENTS = ['Input', 'Select', 'Cascader', 'DatePick
55699
55796
  additionalProps.innerTitle = child.props.innerTitle || innerTitle;
55700
55797
  additionalProps.placeTitle = child.props.placeTitle || placeTitle;
55701
55798
  }
55799
+
55800
+ // 兼容旧版 Input.Group 透传 name 和 rules 的行为
55801
+ if (displayName && displayName.includes('Shineout')) {
55802
+ additionalProps.name = child.props.name || props.name;
55803
+ additionalProps.rules = child.props.rules || props.rules;
55804
+ }
55702
55805
  return /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.cloneElement)(child, additionalProps);
55703
55806
  }
55704
55807
  return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
@@ -58757,7 +58860,7 @@ function Select(props0) {
58757
58860
  createOnBlur = _props$createOnBlur === void 0 ? true : _props$createOnBlur;
58758
58861
  var hasFilter = isFunc(props.onAdvancedFilter || onFilterProp);
58759
58862
  var showInput = hasFilter || isFunc(onCreateProp) || onCreateProp === true;
58760
- var positionProp = props.position || (direction === 'rtl' ? 'bottom-right' : 'bottom-left');
58863
+ var positionProp = props.position || 'bottom-left';
58761
58864
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle);
58762
58865
  var rootStyle = Object.assign({
58763
58866
  width: width
@@ -58832,7 +58935,7 @@ function Select(props0) {
58832
58935
  onCollapse: onCollapse,
58833
58936
  disabled: false,
58834
58937
  trigger: trigger,
58835
- position: positionProp
58938
+ position: getRTLPosition(positionProp, direction === 'rtl')
58836
58939
  }),
58837
58940
  open = _usePopup.open,
58838
58941
  position = _usePopup.position,
@@ -62037,7 +62140,9 @@ var Line = function Line(props) {
62037
62140
  type = _props$type === void 0 ? 'info' : _props$type,
62038
62141
  iconSize = props.iconSize,
62039
62142
  popup = props.popup,
62040
- success = props.success;
62143
+ success = props.success,
62144
+ _props$animation = props.animation,
62145
+ animation = _props$animation === void 0 ? true : _props$animation;
62041
62146
  var progressClasses = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 ? void 0 : _props$jssStyle.progress();
62042
62147
  var isInner = shape === 'line-inner';
62043
62148
  var isInnerRight = isInner && value < 10;
@@ -62047,7 +62152,7 @@ var Line = function Line(props) {
62047
62152
  width: iconSize,
62048
62153
  height: iconSize
62049
62154
  };
62050
- var mc = classnames_default()(props.className, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.rootClass, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.line, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapper, type === 'success' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperSuccess), type === 'info' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperInfo), type === 'warning' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperWarning), type === 'danger' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperDanger), isDefault && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.lineDefault), isDefaultPop && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.linePop), isInner && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.lineInner), isInnerRight && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.lineInnerRight));
62155
+ var mc = classnames_default()(props.className, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.rootClass, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.line, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapper, type === 'success' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperSuccess), type === 'info' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperInfo), type === 'warning' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperWarning), type === 'danger' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperDanger), isDefault && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.lineDefault), isDefaultPop && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.linePop), isInner && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.lineInner), isInnerRight && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.lineInnerRight), animation === false && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.noAnimation));
62051
62156
  var bgStyle = {
62052
62157
  height: props.strokeWidth,
62053
62158
  background: props.background,
@@ -62137,7 +62242,9 @@ var Circle = function Circle(props) {
62137
62242
  _props$strokeLinecap = props.strokeLinecap,
62138
62243
  strokeLinecap = _props$strokeLinecap === void 0 ? 'round' : _props$strokeLinecap,
62139
62244
  iconSize = props.iconSize,
62140
- success = props.success;
62245
+ success = props.success,
62246
+ _props$animation = props.animation,
62247
+ animation = _props$animation === void 0 ? true : _props$animation;
62141
62248
  var progressClasses = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 ? void 0 : _props$jssStyle.progress();
62142
62249
  var iconStyle = {
62143
62250
  width: iconSize,
@@ -62160,7 +62267,7 @@ var Circle = function Circle(props) {
62160
62267
  var successDasharray = success ? [p * (success.value / 100), p * (1 - success.value / 100)] : null;
62161
62268
  var successWidth = success && success.value === 0 && strokeLinecap === 'round' ? 0 : strokeWidth;
62162
62269
  var objSuccessColor = (success === null || success === void 0 ? void 0 : success.color) && typeof_default()(success.color) === 'object';
62163
- var mc = classnames_default()(props.className, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.rootClass, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.circle, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapper, type === 'success' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperSuccess), type === 'info' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperInfo), type === 'warning' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperWarning), type === 'danger' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperDanger));
62270
+ var mc = classnames_default()(props.className, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.rootClass, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.circle, progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapper, type === 'success' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperSuccess), type === 'info' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperInfo), type === 'warning' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperWarning), type === 'danger' && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.wrapperDanger), animation === false && (progressClasses === null || progressClasses === void 0 ? void 0 : progressClasses.noAnimation));
62164
62271
  return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", objectSpread2_default()(objectSpread2_default()({}, extractProps(props, 'mouse')), {}, {
62165
62272
  className: mc,
62166
62273
  style: style,
@@ -66668,6 +66775,7 @@ var FilterSearch = function FilterSearch(props) {
66668
66775
 
66669
66776
 
66670
66777
 
66778
+
66671
66779
  var thead_toNum = toNum;
66672
66780
  /* harmony default export */ var thead = (function (props) {
66673
66781
  var _props$jssStyle, _props$jssStyle$table;
@@ -66807,6 +66915,7 @@ var thead_toNum = toNum;
66807
66915
  dir: config.direction
66808
66916
  });
66809
66917
  };
66918
+ var isRtl = config.direction === 'rtl';
66810
66919
  var getFixedStyle = function getFixedStyle(fixed, index, colSpan, level) {
66811
66920
  // 累加level 至 0 的所有高度
66812
66921
  var top = context.trHeights.slice(0, level).reduce(function (a, b) {
@@ -66816,21 +66925,13 @@ var thead_toNum = toNum;
66816
66925
  var left = colgroup.slice(0, index).reduce(function (a, b) {
66817
66926
  return thead_toNum(a) + thead_toNum(b);
66818
66927
  }, 0);
66819
- return {
66820
- left: left,
66821
- top: top,
66822
- position: 'sticky'
66823
- };
66928
+ return defineProperty_default()(defineProperty_default()(defineProperty_default()({}, isRtl ? 'right' : 'left', left), "top", top), "position", 'sticky');
66824
66929
  }
66825
66930
  if (fixed === 'right') {
66826
66931
  var right = colgroup.slice(index + (typeof colSpan === 'function' ? 1 : colSpan)).reduce(function (a, b) {
66827
66932
  return thead_toNum(a) + thead_toNum(b);
66828
66933
  }, 0);
66829
- return {
66830
- right: right,
66831
- top: top,
66832
- position: 'sticky'
66833
- };
66934
+ return defineProperty_default()(defineProperty_default()(defineProperty_default()({}, isRtl ? 'left' : 'right', right), "top", top), "position", 'sticky');
66834
66935
  }
66835
66936
  return {
66836
66937
  top: top,
@@ -67224,19 +67325,17 @@ var Tr = function Tr(props) {
67224
67325
  var left = props.colgroup.slice(0, index).reduce(function (a, b) {
67225
67326
  return tr_toNum(a) + tr_toNum(b);
67226
67327
  }, 0);
67227
- return {
67228
- position: 'sticky',
67229
- left: left
67230
- };
67328
+ return defineProperty_default()({
67329
+ position: 'sticky'
67330
+ }, isRtl ? 'right' : 'left', left);
67231
67331
  }
67232
67332
  if (fixed === 'right') {
67233
67333
  var right = props.colgroup.slice(index + colSpan).reduce(function (a, b) {
67234
67334
  return tr_toNum(a) + tr_toNum(b);
67235
67335
  }, 0);
67236
- return {
67237
- position: 'sticky',
67238
- right: right
67239
- };
67336
+ return defineProperty_default()({
67337
+ position: 'sticky'
67338
+ }, isRtl ? 'left' : 'right', right);
67240
67339
  }
67241
67340
  return undefined;
67242
67341
  };
@@ -67277,7 +67376,7 @@ var Tr = function Tr(props) {
67277
67376
  isExpandLoading = _useState2[0],
67278
67377
  setIsExpandLoading = _useState2[1];
67279
67378
  var innerExpandClick = usePersistFn( /*#__PURE__*/function () {
67280
- var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(showLoader) {
67379
+ var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(showLoader) {
67281
67380
  return regeneratorRuntime_default()().wrap(function _callee$(_context) {
67282
67381
  while (1) switch (_context.prev = _context.next) {
67283
67382
  case 0:
@@ -67307,7 +67406,7 @@ var Tr = function Tr(props) {
67307
67406
  }, _callee, null, [[2,, 6, 9]]);
67308
67407
  }));
67309
67408
  return function (_x) {
67310
- return _ref.apply(this, arguments);
67409
+ return _ref3.apply(this, arguments);
67311
67410
  };
67312
67411
  }());
67313
67412
  var renderTreeExpand = function renderTreeExpand(content) {
@@ -70654,8 +70753,6 @@ var TreeSelect = function TreeSelect(props0) {
70654
70753
  var _useConfig = useConfig(),
70655
70754
  locale = _useConfig.locale,
70656
70755
  direction = _useConfig.direction;
70657
- var isRtl = direction === 'rtl';
70658
- var dfp = isRtl ? 'bottom-right' : 'bottom-left';
70659
70756
  var jssStyle = props.jssStyle,
70660
70757
  className = props.className,
70661
70758
  size = props.size,
@@ -70683,7 +70780,7 @@ var TreeSelect = function TreeSelect(props0) {
70683
70780
  _props$focusSelected = props.focusSelected,
70684
70781
  focusSelected = _props$focusSelected === void 0 ? true : _props$focusSelected,
70685
70782
  _props$position = props.position,
70686
- positionProp = _props$position === void 0 ? dfp : _props$position,
70783
+ positionProp = _props$position === void 0 ? 'bottom-left' : _props$position,
70687
70784
  openProp = props.open,
70688
70785
  onCollapseProp = props.onCollapse,
70689
70786
  disabledProp = props.disabled,
@@ -70844,7 +70941,7 @@ var TreeSelect = function TreeSelect(props0) {
70844
70941
  onCollapse: onCollapse,
70845
70942
  disabled: false,
70846
70943
  trigger: 'click',
70847
- position: positionProp
70944
+ position: getRTLPosition(positionProp, direction === 'rtl')
70848
70945
  }),
70849
70946
  open = _usePopup.open,
70850
70947
  position = _usePopup.position,
@@ -74105,7 +74202,7 @@ function strings_removeProtocol(url) {
74105
74202
  return url;
74106
74203
  }
74107
74204
  }
74108
- function getRTLPosition(position) {
74205
+ function strings_getRTLPosition(position) {
74109
74206
  if (!position) return position;
74110
74207
  // position.replace('left', 'right').replace('right', 'left')
74111
74208
  if (position.indexOf('left') !== -1) {
@@ -75061,7 +75158,7 @@ var upload_interface = __webpack_require__(8821);
75061
75158
 
75062
75159
 
75063
75160
  /* harmony default export */ var src_0 = ({
75064
- version: '3.9.7'
75161
+ version: '3.9.8-beta.10'
75065
75162
  });
75066
75163
  }();
75067
75164
  /******/ return __webpack_exports__;