@kne/react-form-antd 4.1.8 → 4.1.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/index.js CHANGED
@@ -81,7 +81,18 @@ var preset = (function (props) {
81
81
  ReactForm.preset(globalParams.rules);
82
82
  });
83
83
 
84
- var _excluded$6 = ["className", "cache", "enterSubmit", "scrollToError", "scrollProps", "type", "size", "children"];
84
+ /** 仅控制表单布局;字段弹层、字号等字段级移动端优化不读这里 */
85
+ var FormMobileContext = React.createContext(undefined);
86
+ var useFormMobile = function useFormMobile() {
87
+ return React.useContext(FormMobileContext);
88
+ };
89
+ var useFormIsMobile = function useFormIsMobile() {
90
+ var mobile = useFormMobile();
91
+ var isMobile = responsiveUtils.useIsMobile();
92
+ return mobile === false ? false : isMobile;
93
+ };
94
+
95
+ var _excluded$7 = ["className", "cache", "enterSubmit", "scrollToError", "scrollProps", "type", "size", "mobile", "children"];
85
96
  var ScrollToError = reactFormHelper.widget.ScrollToError,
86
97
  EnterSubmit = reactFormHelper.widget.EnterSubmit,
87
98
  FormStore = reactFormHelper.widget.FormStore,
@@ -98,9 +109,12 @@ var Form = React.forwardRef(function (originProps, ref) {
98
109
  scrollProps = _originProps$scrollPr === void 0 ? {
99
110
  block: 'center'
100
111
  } : _originProps$scrollPr,
112
+ originMobile = originProps.mobile,
101
113
  children = originProps.children,
102
- props = _objectWithoutPropertiesLoose(originProps, _excluded$6);
114
+ props = _objectWithoutPropertiesLoose(originProps, _excluded$7);
103
115
  var isMobile = responsiveUtils.useIsMobile();
116
+ var parentMobile = useFormMobile();
117
+ var mobile = originMobile !== undefined ? originMobile : parentMobile !== undefined ? parentMobile : globalParams.mobile;
104
118
  var baseClass = 'react-form';
105
119
  var computedClass = baseClass;
106
120
  var _Object$assign = Object.assign({
@@ -117,11 +131,13 @@ var Form = React.forwardRef(function (originProps, ref) {
117
131
  }
118
132
  var maxLabel = /*#__PURE__*/React__default["default"].createElement(MaxLabelProvider, null, children);
119
133
  return /*#__PURE__*/React__default["default"].createElement("form", {
120
- className: classnames__default["default"](baseClass, computedClass, isMobile && 'is-mobile', className),
134
+ className: classnames__default["default"](baseClass, computedClass, isMobile && 'is-mobile', mobile === false && 'is-mobile-disabled', className),
121
135
  onSubmit: function onSubmit(e) {
122
136
  e.preventDefault();
123
137
  e.stopPropagation();
124
138
  }
139
+ }, /*#__PURE__*/React__default["default"].createElement(FormMobileContext.Provider, {
140
+ value: mobile
125
141
  }, /*#__PURE__*/React__default["default"].createElement(SizeProvider, {
126
142
  value: {
127
143
  size: size
@@ -132,7 +148,7 @@ var Form = React.forwardRef(function (originProps, ref) {
132
148
  cache: cache
133
149
  }) : null, scrollToError ? /*#__PURE__*/React__default["default"].createElement(ScrollToError, {
134
150
  scrollProps: scrollProps
135
- }) : null, enterSubmit ? /*#__PURE__*/React__default["default"].createElement(EnterSubmit, null, maxLabel) : maxLabel)));
151
+ }) : null, enterSubmit ? /*#__PURE__*/React__default["default"].createElement(EnterSubmit, null, maxLabel) : maxLabel))));
136
152
  });
137
153
 
138
154
  var locale$1 = {
@@ -31313,19 +31329,12 @@ var useMobileFieldPopup = function useMobileFieldPopup(_temp) {
31313
31329
  unlockTriggerWidth = _ref$unlockTriggerWid === void 0 ? false : _ref$unlockTriggerWid,
31314
31330
  _ref$syncListHeight = _ref.syncListHeight,
31315
31331
  syncListHeight = _ref$syncListHeight === void 0 ? false : _ref$syncListHeight,
31316
- _ref$dropdownVisibleE = _ref.dropdownVisibleEvent,
31317
- dropdownVisibleEvent = _ref$dropdownVisibleE === void 0 ? false : _ref$dropdownVisibleE,
31318
31332
  anchorRefProp = _ref.anchorRef,
31319
31333
  openProp = _ref.open,
31320
31334
  onOpenChange = _ref.onOpenChange,
31321
- onDropdownVisibleChange = _ref.onDropdownVisibleChange,
31322
31335
  getPopupContainerProp = _ref.getPopupContainer,
31323
31336
  classNamesProp = _ref.classNames,
31324
31337
  stylesProp = _ref.styles,
31325
- popupClassName = _ref.popupClassName,
31326
- dropdownClassName = _ref.dropdownClassName,
31327
- popupStyle = _ref.popupStyle,
31328
- dropdownStyle = _ref.dropdownStyle,
31329
31338
  placement = _ref.placement,
31330
31339
  zIndex = _ref.zIndex,
31331
31340
  inputReadOnly = _ref.inputReadOnly,
@@ -31617,8 +31626,7 @@ var useMobileFieldPopup = function useMobileFieldPopup(_temp) {
31617
31626
  updatePopupMetrics();
31618
31627
  }
31619
31628
  onOpenChange && onOpenChange(next);
31620
- onDropdownVisibleChange && onDropdownVisibleChange(next);
31621
- }, [controlled, isMobile, onDropdownVisibleChange, onOpenChange, updatePopupMetrics]);
31629
+ }, [controlled, isMobile, onOpenChange, updatePopupMetrics]);
31622
31630
  var close = React.useCallback(function () {
31623
31631
  emitOpenChange(false);
31624
31632
  }, [emitOpenChange]);
@@ -31636,7 +31644,6 @@ var useMobileFieldPopup = function useMobileFieldPopup(_temp) {
31636
31644
  var openAbove = popupMetrics.placement === 'top';
31637
31645
  var popupClass = classnames__default["default"](POPUP_CLASS, modeClass, kind === 'picker' && 'is-picker', kind === 'range-picker' && 'is-range', openAbove && 'is-above');
31638
31646
  var mobilePopupStyle = (_mobilePopupStyle = {}, _mobilePopupStyle[HEIGHT_VAR] = popupMetrics.height > 0 ? popupMetrics.height + "px" : undefined, _mobilePopupStyle[TOP_VAR] = popupMetrics.top + "px", _mobilePopupStyle[BOTTOM_VAR] = openAbove ? popupMetrics.bottom + "px" : undefined, _mobilePopupStyle.top = openAbove ? 'auto' : popupMetrics.top, _mobilePopupStyle.bottom = openAbove ? popupMetrics.bottom : undefined, _mobilePopupStyle.left = (_popupMetrics$left = popupMetrics.left) != null ? _popupMetrics$left : 0, _mobilePopupStyle.zIndex = panelZIndex, _mobilePopupStyle);
31639
- var mergedPopupStyle = Object.assign({}, popupStyle, dropdownStyle, mobilePopupStyle);
31640
31647
  var popupProps = {};
31641
31648
  if (isMobile) {
31642
31649
  popupProps = {
@@ -31647,16 +31654,9 @@ var useMobileFieldPopup = function useMobileFieldPopup(_temp) {
31647
31654
  // 位置由我们按可用空间计算,禁止 antd 再自动翻转,否则遮罩会和弹层错位
31648
31655
  autoAdjustOverflow: false,
31649
31656
  transitionName: '',
31650
- popupClassName: classnames__default["default"](popupClassName, popupClass),
31651
- dropdownClassName: classnames__default["default"](dropdownClassName, popupClass),
31652
- popupStyle: mergedPopupStyle,
31653
- dropdownStyle: mergedPopupStyle,
31654
31657
  classNames: mergeClassNames(classNamesProp, popupClass),
31655
31658
  styles: mergeStyles(stylesProp, mobilePopupStyle)
31656
31659
  };
31657
- if (dropdownVisibleEvent) {
31658
- popupProps.onDropdownVisibleChange = emitOpenChange;
31659
- }
31660
31660
  if (kind === 'picker' || kind === 'range-picker') {
31661
31661
  popupProps.inputReadOnly = inputReadOnly !== undefined ? inputReadOnly : true;
31662
31662
  }
@@ -31689,26 +31689,21 @@ var useMobileFieldPopup = function useMobileFieldPopup(_temp) {
31689
31689
  };
31690
31690
  };
31691
31691
 
31692
- var _excluded$5 = ["disableMobilePopup"];
31692
+ var _excluded$6 = ["disableMobilePopup"];
31693
31693
  var withMobilePopup = function withMobilePopup(WrappedComponent, options) {
31694
31694
  if (options === void 0) {
31695
31695
  options = {};
31696
31696
  }
31697
31697
  var MobilePopupField = React.forwardRef(function (props, ref) {
31698
31698
  var disableMobilePopup = props.disableMobilePopup,
31699
- rest = _objectWithoutPropertiesLoose(props, _excluded$5);
31699
+ rest = _objectWithoutPropertiesLoose(props, _excluded$6);
31700
31700
  var _useMobileFieldPopup = useMobileFieldPopup(Object.assign({}, options, {
31701
31701
  disabled: disableMobilePopup,
31702
31702
  open: rest.open,
31703
31703
  onOpenChange: rest.onOpenChange,
31704
- onDropdownVisibleChange: rest.onDropdownVisibleChange,
31705
31704
  getPopupContainer: rest.getPopupContainer,
31706
31705
  classNames: rest.classNames,
31707
31706
  styles: rest.styles,
31708
- popupClassName: rest.popupClassName,
31709
- dropdownClassName: rest.dropdownClassName,
31710
- popupStyle: rest.popupStyle,
31711
- dropdownStyle: rest.dropdownStyle,
31712
31707
  placement: rest.placement,
31713
31708
  zIndex: rest.zIndex,
31714
31709
  inputReadOnly: rest.inputReadOnly,
@@ -31823,7 +31818,7 @@ var normalizeDateValue = function normalizeDateValue(value, picker) {
31823
31818
  return startOfByPicker(value, picker);
31824
31819
  };
31825
31820
 
31826
- var _excluded$4 = ["value", "defaultValue", "format", "showTime", "picker", "onChange"];
31821
+ var _excluded$5 = ["value", "defaultValue", "format", "showTime", "picker", "onChange"];
31827
31822
 
31828
31823
  /**
31829
31824
  * Wrap antd picker so string/number initial values from form/API become dayjs.
@@ -31846,7 +31841,7 @@ var withDayjsValue = function withDayjsValue(WrappedComponent, options) {
31846
31841
  showTime = _ref.showTime,
31847
31842
  picker = _ref.picker,
31848
31843
  onChange = _ref.onChange,
31849
- props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
31844
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
31850
31845
  var mergedPicker = picker || defaultPicker;
31851
31846
  var shouldStripTime = stripTime && !showTime;
31852
31847
  var mergedValue = React.useMemo(function () {
@@ -31991,8 +31986,7 @@ var useOnChange$8 = reactFormHelper.hooks.useOnChange;
31991
31986
  var MobileSelect = withMobilePopup(antd.Select, {
31992
31987
  kind: 'select',
31993
31988
  unlockTriggerWidth: true,
31994
- syncListHeight: true,
31995
- dropdownVisibleEvent: true
31989
+ syncListHeight: true
31996
31990
  });
31997
31991
  var SelectInner = function SelectInner(props) {
31998
31992
  var _useIntl = reactIntl.useIntl(),
@@ -32014,11 +32008,11 @@ SelectInner.Option = antd.Select.Option;
32014
32008
  SelectInner.OptGroup = antd.Select.OptGroup;
32015
32009
  var _Select = withLocale(SelectInner);
32016
32010
 
32017
- var _excluded$3 = ["onChange"];
32011
+ var _excluded$4 = ["onChange"];
32018
32012
  var useOnChange$7 = reactFormHelper.hooks.useOnChange;
32019
32013
  var RadioGroup = function RadioGroup(_ref) {
32020
32014
  var onChange = _ref.onChange,
32021
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
32015
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
32022
32016
  props = Object.assign({}, {
32023
32017
  fieldName: 'radioGroup'
32024
32018
  }, props);
@@ -32517,7 +32511,7 @@ if (process.env.NODE_ENV !== 'production') {
32517
32511
  }
32518
32512
  var CloseCircleFilled$1 = RefIcon;
32519
32513
 
32520
- var _excluded$2 = ["soFarText", "soFarValue", "picker", "placeholder"];
32514
+ var _excluded$3 = ["soFarText", "soFarValue", "picker", "placeholder"];
32521
32515
  var useOnChange$6 = reactFormHelper.hooks.useOnChange;
32522
32516
  var PickerTodayInner = function PickerTodayInner(_ref) {
32523
32517
  var soFarText = _ref.soFarText,
@@ -32526,7 +32520,7 @@ var PickerTodayInner = function PickerTodayInner(_ref) {
32526
32520
  _ref$picker = _ref.picker,
32527
32521
  picker = _ref$picker === void 0 ? 'date' : _ref$picker,
32528
32522
  placeholder = _ref.placeholder,
32529
- props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
32523
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
32530
32524
  var _useIntl = reactIntl.useIntl(),
32531
32525
  formatMessage = _useIntl.formatMessage;
32532
32526
  var _useControlValue = useControlValue__default["default"](props),
@@ -33013,12 +33007,17 @@ var Slider = function Slider(props) {
33013
33007
  };
33014
33008
  Slider.Field = antd.Slider;
33015
33009
 
33016
- var ResetButton = function ResetButton(props) {
33010
+ var _excluded$2 = ["className"];
33011
+ var ResetButton = function ResetButton(_ref) {
33012
+ var className = _ref.className,
33013
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
33017
33014
  var resetProps = ReactForm.useReset();
33018
- return /*#__PURE__*/React__default["default"].createElement(antd.Button, _extends$3({}, resetProps, props));
33015
+ return /*#__PURE__*/React__default["default"].createElement(antd.Button, _extends$3({}, resetProps, props, {
33016
+ className: classnames__default["default"]('react-form__action-button', className)
33017
+ }));
33019
33018
  };
33020
33019
 
33021
- var _excluded$1 = ["type", "realtime", "disabled"],
33020
+ var _excluded$1 = ["type", "realtime", "disabled", "className"],
33022
33021
  _excluded2 = ["isPass", "isLoading"];
33023
33022
  var SubmitButton = function SubmitButton(_ref) {
33024
33023
  var _ref$type = _ref.type,
@@ -33026,6 +33025,7 @@ var SubmitButton = function SubmitButton(_ref) {
33026
33025
  realtime = _ref.realtime,
33027
33026
  _ref$disabled = _ref.disabled,
33028
33027
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
33028
+ className = _ref.className,
33029
33029
  props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
33030
33030
  var _useSubmit = ReactForm.useSubmit(props),
33031
33031
  isPass = _useSubmit.isPass,
@@ -33035,16 +33035,20 @@ var SubmitButton = function SubmitButton(_ref) {
33035
33035
  type: type,
33036
33036
  loading: isLoading,
33037
33037
  disabled: disabled || (realtime ? !isPass : false)
33038
- }, props, submitProps));
33038
+ }, props, submitProps, {
33039
+ className: classnames__default["default"]('react-form__action-button', className)
33040
+ }));
33039
33041
  };
33040
33042
 
33041
- var _excluded = ["onClick"];
33043
+ var _excluded = ["onClick", "className"];
33042
33044
  var useCacheRemove = reactFormHelper.hooks.useCacheRemove;
33043
33045
  var CancelButton = function CancelButton(_ref) {
33044
33046
  var _onClick = _ref.onClick,
33047
+ className = _ref.className,
33045
33048
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
33046
33049
  var remove = useCacheRemove();
33047
33050
  return /*#__PURE__*/React__default["default"].createElement(antd.Button, _extends$3({}, props, {
33051
+ className: classnames__default["default"]('react-form__action-button', className),
33048
33052
  onClick: function onClick() {
33049
33053
  remove();
33050
33054
  _onClick && _onClick.apply(void 0, [].slice.call(arguments));
@@ -33094,6 +33098,7 @@ exports.CheckboxGroup = CheckboxGroup;
33094
33098
  exports.DatePicker = _DatePicker;
33095
33099
  exports.DatePickerToday = RangePickerToday;
33096
33100
  exports.FormAntd = FormAntd;
33101
+ exports.FormMobileContext = FormMobileContext;
33097
33102
  exports.Input = InputField;
33098
33103
  exports.InputNumber = InputNumberField;
33099
33104
  exports.RadioGroup = _RadioGroup;
@@ -33109,6 +33114,8 @@ exports.TreeSelect = _TreeSelect;
33109
33114
  exports["default"] = Form;
33110
33115
  exports.fields = fields;
33111
33116
  exports.preset = preset;
33117
+ exports.useFormIsMobile = useFormIsMobile;
33118
+ exports.useFormMobile = useFormMobile;
33112
33119
  Object.keys(ReactForm).forEach(function (k) {
33113
33120
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
33114
33121
  enumerable: true,