antd-mobile 5.10.4 → 5.11.0

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.
Files changed (114) hide show
  1. package/2x/cjs/components/button/button.d.ts +6 -4
  2. package/2x/cjs/components/button/button.js +31 -7
  3. package/2x/cjs/components/calendar/calendar.css +2 -2
  4. package/2x/cjs/components/calendar/calendar.d.ts +2 -0
  5. package/2x/cjs/components/calendar/calendar.js +6 -1
  6. package/2x/cjs/components/date-picker/date-picker.js +1 -0
  7. package/2x/cjs/components/dialog/dialog-action-button.js +3 -26
  8. package/2x/cjs/components/floating-panel/floating-panel.js +1 -1
  9. package/2x/cjs/components/form/context.d.ts +1 -0
  10. package/2x/cjs/components/form/context.js +2 -1
  11. package/2x/cjs/components/form/form-item.css +1 -1
  12. package/2x/cjs/components/form/form-item.js +3 -1
  13. package/2x/cjs/components/form/form.d.ts +0 -3
  14. package/2x/cjs/components/form/form.js +4 -2
  15. package/2x/cjs/components/form/index.css +1 -1
  16. package/2x/cjs/components/form/index.d.ts +2 -2
  17. package/2x/cjs/components/form/index.js +2 -1
  18. package/2x/cjs/components/index-bar/panel.d.ts +1 -0
  19. package/2x/cjs/components/input/input.css +4 -0
  20. package/2x/cjs/components/input/input.d.ts +2 -0
  21. package/2x/cjs/components/input/input.js +13 -2
  22. package/2x/cjs/components/modal/modal-action-button.js +3 -26
  23. package/2x/cjs/components/search-bar/search-bar.d.ts +2 -0
  24. package/2x/cjs/components/search-bar/search-bar.js +2 -0
  25. package/2x/cjs/components/swiper/index.d.ts +1 -16
  26. package/2x/cjs/components/swiper/swiper.d.ts +1 -16
  27. package/2x/cjs/global/index.js +2 -0
  28. package/2x/es/components/button/button.d.ts +6 -4
  29. package/2x/es/components/button/button.js +30 -8
  30. package/2x/es/components/calendar/calendar.css +2 -2
  31. package/2x/es/components/calendar/calendar.d.ts +2 -0
  32. package/2x/es/components/calendar/calendar.js +6 -2
  33. package/2x/es/components/date-picker/date-picker.js +1 -0
  34. package/2x/es/components/dialog/dialog-action-button.js +3 -21
  35. package/2x/es/components/floating-panel/floating-panel.js +1 -1
  36. package/2x/es/components/form/context.d.ts +1 -0
  37. package/2x/es/components/form/context.js +2 -1
  38. package/2x/es/components/form/form-item.css +1 -1
  39. package/2x/es/components/form/form-item.js +3 -1
  40. package/2x/es/components/form/form.d.ts +0 -3
  41. package/2x/es/components/form/form.js +4 -2
  42. package/2x/es/components/form/index.css +1 -1
  43. package/2x/es/components/form/index.d.ts +2 -2
  44. package/2x/es/components/form/index.js +3 -2
  45. package/2x/es/components/index-bar/panel.d.ts +1 -0
  46. package/2x/es/components/input/input.css +4 -0
  47. package/2x/es/components/input/input.d.ts +2 -0
  48. package/2x/es/components/input/input.js +13 -2
  49. package/2x/es/components/modal/modal-action-button.js +3 -21
  50. package/2x/es/components/search-bar/search-bar.d.ts +2 -0
  51. package/2x/es/components/search-bar/search-bar.js +2 -0
  52. package/2x/es/components/swiper/index.d.ts +1 -16
  53. package/2x/es/components/swiper/swiper.d.ts +1 -16
  54. package/2x/es/global/index.js +2 -0
  55. package/2x/package.json +2 -2
  56. package/bundle/antd-mobile.cjs.js +66 -48
  57. package/bundle/antd-mobile.es.js +67 -49
  58. package/bundle/style.css +6 -3
  59. package/cjs/components/button/button.d.ts +6 -4
  60. package/cjs/components/button/button.js +31 -7
  61. package/cjs/components/calendar/calendar.css +2 -2
  62. package/cjs/components/calendar/calendar.d.ts +2 -0
  63. package/cjs/components/calendar/calendar.js +6 -1
  64. package/cjs/components/date-picker/date-picker.js +1 -0
  65. package/cjs/components/dialog/dialog-action-button.js +3 -26
  66. package/cjs/components/floating-panel/floating-panel.js +1 -1
  67. package/cjs/components/form/context.d.ts +1 -0
  68. package/cjs/components/form/context.js +2 -1
  69. package/cjs/components/form/form-item.css +1 -1
  70. package/cjs/components/form/form-item.js +3 -1
  71. package/cjs/components/form/form.d.ts +0 -3
  72. package/cjs/components/form/form.js +4 -2
  73. package/cjs/components/form/index.css +1 -1
  74. package/cjs/components/form/index.d.ts +2 -2
  75. package/cjs/components/form/index.js +2 -1
  76. package/cjs/components/index-bar/panel.d.ts +1 -0
  77. package/cjs/components/input/input.css +3 -0
  78. package/cjs/components/input/input.d.ts +2 -0
  79. package/cjs/components/input/input.js +13 -2
  80. package/cjs/components/modal/modal-action-button.js +3 -26
  81. package/cjs/components/search-bar/search-bar.d.ts +2 -0
  82. package/cjs/components/search-bar/search-bar.js +2 -0
  83. package/cjs/components/swiper/index.d.ts +1 -16
  84. package/cjs/components/swiper/swiper.d.ts +1 -16
  85. package/cjs/global/index.js +2 -0
  86. package/es/components/button/button.d.ts +6 -4
  87. package/es/components/button/button.js +30 -8
  88. package/es/components/calendar/calendar.css +2 -2
  89. package/es/components/calendar/calendar.d.ts +2 -0
  90. package/es/components/calendar/calendar.js +6 -2
  91. package/es/components/date-picker/date-picker.js +1 -0
  92. package/es/components/dialog/dialog-action-button.js +3 -21
  93. package/es/components/floating-panel/floating-panel.js +1 -1
  94. package/es/components/form/context.d.ts +1 -0
  95. package/es/components/form/context.js +2 -1
  96. package/es/components/form/form-item.css +1 -1
  97. package/es/components/form/form-item.js +3 -1
  98. package/es/components/form/form.d.ts +0 -3
  99. package/es/components/form/form.js +4 -2
  100. package/es/components/form/index.css +1 -1
  101. package/es/components/form/index.d.ts +2 -2
  102. package/es/components/form/index.js +3 -2
  103. package/es/components/index-bar/panel.d.ts +1 -0
  104. package/es/components/input/input.css +3 -0
  105. package/es/components/input/input.d.ts +2 -0
  106. package/es/components/input/input.js +13 -2
  107. package/es/components/modal/modal-action-button.js +3 -21
  108. package/es/components/search-bar/search-bar.d.ts +2 -0
  109. package/es/components/search-bar/search-bar.js +2 -0
  110. package/es/components/swiper/index.d.ts +1 -16
  111. package/es/components/swiper/swiper.d.ts +1 -16
  112. package/es/global/index.js +2 -0
  113. package/package.json +2 -2
  114. package/umd/antd-mobile.js +1 -1
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Button = void 0;
7
7
 
8
+ var _tslib = require("tslib");
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -15,6 +17,8 @@ var _withDefaultProps = require("../../utils/with-default-props");
15
17
 
16
18
  var _nativeProps = require("../../utils/native-props");
17
19
 
20
+ var _validate = require("../../utils/validate");
21
+
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
23
 
20
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -27,24 +31,46 @@ const defaultProps = {
27
31
  fill: 'solid',
28
32
  block: false,
29
33
  loading: false,
34
+ loadingIcon: _react.default.createElement(_dotLoading.default, {
35
+ color: 'currentColor'
36
+ }),
30
37
  type: 'button',
31
38
  shape: 'default',
32
39
  size: 'middle'
33
40
  };
34
41
  const Button = (0, _react.forwardRef)((p, ref) => {
35
42
  const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
36
- const disabled = props.disabled || props.loading;
43
+ const [innerLoading, setInnerLoading] = (0, _react.useState)(false);
37
44
  const nativeButtonRef = (0, _react.useRef)(null);
45
+ const loading = props.loading === 'auto' ? innerLoading : props.loading;
46
+ const disabled = props.disabled || loading;
38
47
  (0, _react.useImperativeHandle)(ref, () => ({
39
48
  get nativeElement() {
40
49
  return nativeButtonRef.current;
41
50
  }
42
51
 
43
52
  }));
53
+
54
+ const handleClick = e => (0, _tslib.__awaiter)(void 0, void 0, void 0, function* () {
55
+ if (!props.onClick) return;
56
+ const promise = props.onClick(e);
57
+
58
+ if ((0, _validate.isPromise)(promise)) {
59
+ try {
60
+ setInnerLoading(true);
61
+ yield promise;
62
+ setInnerLoading(false);
63
+ } catch (e) {
64
+ setInnerLoading(false);
65
+ throw e;
66
+ }
67
+ }
68
+ });
69
+
44
70
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("button", {
45
71
  ref: nativeButtonRef,
46
72
  type: props.type,
47
- onClick: props.onClick,
73
+ onClick: handleClick,
48
74
  className: (0, _classnames.default)(classPrefix, props.color ? `${classPrefix}-${props.color}` : null, {
49
75
  [`${classPrefix}-block`]: props.block,
50
76
  [`${classPrefix}-disabled`]: disabled,
@@ -53,13 +79,11 @@ const Button = (0, _react.forwardRef)((p, ref) => {
53
79
  [`${classPrefix}-mini`]: props.size === 'mini',
54
80
  [`${classPrefix}-small`]: props.size === 'small',
55
81
  [`${classPrefix}-large`]: props.size === 'large',
56
- [`${classPrefix}-loading`]: props.loading
82
+ [`${classPrefix}-loading`]: loading
57
83
  }, `${classPrefix}-shape-${props.shape}`),
58
84
  disabled: disabled
59
- }, props.loading ? _react.default.createElement("div", {
85
+ }, loading ? _react.default.createElement("div", {
60
86
  className: `${classPrefix}-loading-wrapper`
61
- }, _react.default.createElement(_dotLoading.default, {
62
- color: 'currentColor'
63
- }), props.loadingText) : props.children));
87
+ }, props.loadingIcon, props.loadingText) : props.children));
64
88
  });
65
89
  exports.Button = Button;
@@ -50,10 +50,10 @@
50
50
  .adm-calendar-cell.adm-calendar-cell-today {
51
51
  color: var(--adm-color-primary);
52
52
  }
53
- .adm-calendar-cell.adm-calendar-cell-out {
53
+ .adm-calendar-cell.adm-calendar-cell-disabled {
54
54
  color: var(--adm-color-light);
55
55
  }
56
- .adm-calendar-cell.adm-calendar-cell-out .adm-calendar-cell-bottom {
56
+ .adm-calendar-cell.adm-calendar-cell-disabled .adm-calendar-cell-bottom {
57
57
  color: var(--adm-color-light);
58
58
  }
59
59
  .adm-calendar-cell.adm-calendar-cell-selected.adm-calendar-cell.adm-calendar-cell-selected {
@@ -13,6 +13,8 @@ export declare type CalendarProps = {
13
13
  weekStartsOn?: 'Monday' | 'Sunday';
14
14
  renderLabel?: (date: Date) => string | null | undefined;
15
15
  allowClear?: boolean;
16
+ max?: Date;
17
+ min?: Date;
16
18
  } & ({
17
19
  selectionMode?: undefined;
18
20
  value?: undefined;
@@ -122,6 +122,9 @@ const Calendar = (0, _react.forwardRef)((p, ref) => {
122
122
  }
123
123
  }, _react.default.createElement(_arrowLeftDouble.ArrowLeftDouble, null)));
124
124
 
125
+ const maxDay = (0, _react.useMemo)(() => props.max && (0, _dayjs.default)(props.max), [props.max]);
126
+ const minDay = (0, _react.useMemo)(() => props.min && (0, _dayjs.default)(props.min), [props.min]);
127
+
125
128
  function renderCells() {
126
129
  var _a;
127
130
 
@@ -146,9 +149,10 @@ const Calendar = (0, _react.forwardRef)((p, ref) => {
146
149
  }
147
150
 
148
151
  const inThisMonth = d.month() === current.month();
152
+ const disabled = !inThisMonth || maxDay && d.isAfter(maxDay, 'day') || minDay && d.isBefore(minDay, 'day');
149
153
  cells.push(_react.default.createElement("div", {
150
154
  key: d.valueOf(),
151
- className: (0, _classnames.default)(`${classPrefix}-cell`, inThisMonth ? `${classPrefix}-cell-in` : `${classPrefix}-cell-out`, inThisMonth && {
155
+ className: (0, _classnames.default)(`${classPrefix}-cell`, disabled && `${classPrefix}-cell-disabled`, inThisMonth && {
152
156
  [`${classPrefix}-cell-today`]: d.isSame(today, 'day'),
153
157
  [`${classPrefix}-cell-selected`]: isSelect,
154
158
  [`${classPrefix}-cell-selected-begin`]: isBegin,
@@ -156,6 +160,7 @@ const Calendar = (0, _react.forwardRef)((p, ref) => {
156
160
  }),
157
161
  onClick: () => {
158
162
  if (!props.selectionMode) return;
163
+ if (disabled) return;
159
164
  const date = d.toDate();
160
165
 
161
166
  if (!inThisMonth) {
@@ -69,6 +69,7 @@ const DatePicker = p => {
69
69
  value: pickerValue,
70
70
  onCancel: props.onCancel,
71
71
  onClose: props.onClose,
72
+ closeOnMaskClick: props.closeOnMaskClick,
72
73
  visible: props.visible,
73
74
  confirmText: props.confirmText,
74
75
  cancelText: props.cancelText,
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DialogActionButton = void 0;
7
7
 
8
- var _tslib = require("tslib");
9
-
10
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
11
9
 
12
10
  var _classnames = _interopRequireDefault(require("classnames"));
13
11
 
@@ -17,34 +15,13 @@ var _nativeProps = require("../../utils/native-props");
17
15
 
18
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
17
 
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
18
  const DialogActionButton = props => {
25
19
  const {
26
20
  action
27
21
  } = props;
28
- const [loading, setLoading] = (0, _react.useState)(false);
29
-
30
- function handleClick() {
31
- return (0, _tslib.__awaiter)(this, void 0, void 0, function* () {
32
- setLoading(true);
33
-
34
- try {
35
- const promise = props.onAction();
36
- yield promise;
37
- setLoading(false);
38
- } catch (e) {
39
- setLoading(false);
40
- throw e;
41
- }
42
- });
43
- }
44
-
45
22
  return (0, _nativeProps.withNativeProps)(props.action, _react.default.createElement(_button.default, {
46
23
  key: action.key,
47
- onClick: handleClick,
24
+ onClick: props.onAction,
48
25
  className: (0, _classnames.default)('adm-dialog-button', {
49
26
  'adm-dialog-button-bold': action.bold
50
27
  }),
@@ -52,7 +29,7 @@ const DialogActionButton = props => {
52
29
  shape: 'rectangular',
53
30
  block: true,
54
31
  color: action.danger ? 'danger' : 'primary',
55
- loading: loading,
32
+ loading: 'auto',
56
33
  disabled: action.disabled
57
34
  }, action.text));
58
35
  };
@@ -57,7 +57,7 @@ const FloatingPanel = (0, _react.forwardRef)((p, ref) => {
57
57
  tension: 300
58
58
  },
59
59
  onChange: result => {
60
- onHeightChange(result.value.y, y.isAnimating);
60
+ onHeightChange(-result.value.y, y.isAnimating);
61
61
  }
62
62
  }));
63
63
  (0, _react2.useDrag)(state => {
@@ -6,6 +6,7 @@ export declare type FormContextType = {
6
6
  hasFeedback: boolean;
7
7
  layout: FormLayout;
8
8
  requiredMarkStyle: 'asterisk' | 'text-required' | 'text-optional';
9
+ disabled: boolean;
9
10
  };
10
11
  export declare const defaultFormContext: FormContextType;
11
12
  export declare const FormContext: React.Context<FormContextType>;
@@ -13,7 +13,8 @@ const defaultFormContext = {
13
13
  name: undefined,
14
14
  hasFeedback: true,
15
15
  layout: 'vertical',
16
- requiredMarkStyle: 'asterisk'
16
+ requiredMarkStyle: 'asterisk',
17
+ disabled: false
17
18
  };
18
19
  exports.defaultFormContext = defaultFormContext;
19
20
 
@@ -53,7 +53,7 @@
53
53
  }
54
54
  .adm-form-item.adm-form-item-horizontal.adm-list-item {
55
55
  --align-items: stretch;
56
- --prefix-width: 6em;
56
+ --prefix-width: 6.8em;
57
57
  }
58
58
  .adm-form-item.adm-form-item-horizontal .adm-list-item-content-prefix {
59
59
  padding-top: 12px;
@@ -45,6 +45,8 @@ const MemoInput = _react.default.memo(({
45
45
  }) => children, (prev, next) => prev.value === next.value && prev.update === next.update);
46
46
 
47
47
  const FormItemLayout = props => {
48
+ var _a;
49
+
48
50
  const {
49
51
  className,
50
52
  style,
@@ -52,7 +54,6 @@ const FormItemLayout = props => {
52
54
  label,
53
55
  help,
54
56
  required,
55
- disabled,
56
57
  children,
57
58
  htmlFor,
58
59
  hidden,
@@ -65,6 +66,7 @@ const FormItemLayout = props => {
65
66
  } = (0, _configProvider.useConfig)();
66
67
  const hasFeedback = props.hasFeedback !== undefined ? props.hasFeedback : context.hasFeedback;
67
68
  const layout = props.layout || context.layout;
69
+ const disabled = (_a = props.disabled) !== null && _a !== void 0 ? _a : context.disabled;
68
70
 
69
71
  const requiredMark = (() => {
70
72
  const {
@@ -3,15 +3,12 @@ import { NativeProps } from '../../utils/native-props';
3
3
  import { ListProps } from '../list';
4
4
  import type { FormProps as RcFormProps, FormInstance as RCFormInstance } from 'rc-field-form';
5
5
  import { FormContextType } from './context';
6
- import type { FormLayout } from '.';
7
6
  export declare type FormInstance = Pick<RCFormInstance, 'getFieldValue' | 'getFieldsValue' | 'getFieldError' | 'getFieldsError' | 'isFieldTouched' | 'isFieldsTouched' | 'resetFields' | 'setFields' | 'setFieldsValue' | 'submit' | 'validateFields'>;
8
7
  export declare type FormProps = Pick<RcFormProps, 'form' | 'initialValues' | 'name' | 'preserve' | 'validateMessages' | 'validateTrigger' | 'onFieldsChange' | 'onFinish' | 'onFinishFailed' | 'onValuesChange' | 'children'> & NativeProps<'--border-inner' | '--border-top' | '--border-bottom'> & Partial<FormContextType> & {
9
8
  footer?: ReactNode;
10
- layout?: FormLayout;
11
9
  mode?: ListProps['mode'];
12
10
  };
13
11
  export declare const Form: React.ForwardRefExoticComponent<Pick<RcFormProps<any>, "children" | "form" | "name" | "initialValues" | "preserve" | "validateMessages" | "validateTrigger" | "onFieldsChange" | "onFinish" | "onFinishFailed" | "onValuesChange"> & NativeProps<"--border-inner" | "--border-top" | "--border-bottom"> & Partial<FormContextType> & {
14
12
  footer?: ReactNode;
15
- layout?: FormLayout | undefined;
16
13
  mode?: ListProps['mode'];
17
14
  } & React.RefAttributes<FormInstance>>;
@@ -47,9 +47,10 @@ const Form = (0, _react.forwardRef)((p, ref) => {
47
47
  layout,
48
48
  footer,
49
49
  mode,
50
+ disabled,
50
51
  requiredMarkStyle
51
52
  } = props,
52
- formProps = (0, _tslib.__rest)(props, ["className", "style", "hasFeedback", "children", "layout", "footer", "mode", "requiredMarkStyle"]);
53
+ formProps = (0, _tslib.__rest)(props, ["className", "style", "hasFeedback", "children", "layout", "footer", "mode", "disabled", "requiredMarkStyle"]);
53
54
  const {
54
55
  locale
55
56
  } = (0, _configProvider.useConfig)();
@@ -99,7 +100,8 @@ const Form = (0, _react.forwardRef)((p, ref) => {
99
100
  name: formProps.name,
100
101
  hasFeedback,
101
102
  layout,
102
- requiredMarkStyle
103
+ requiredMarkStyle,
104
+ disabled: disabled
103
105
  }
104
106
  }, lists), footer && _react.default.createElement("div", {
105
107
  className: `${classPrefix}-footer`
@@ -75,7 +75,7 @@
75
75
  }
76
76
  .adm-form-item.adm-form-item-horizontal.adm-list-item {
77
77
  --align-items: stretch;
78
- --prefix-width: 6em;
78
+ --prefix-width: 6.8em;
79
79
  }
80
80
  .adm-form-item.adm-form-item-horizontal .adm-list-item-content-prefix {
81
81
  padding-top: 12px;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import './index.less';
3
- import { useForm } from 'rc-field-form';
3
+ import { useWatch, useForm } from 'rc-field-form';
4
4
  export declare type FormLayout = 'vertical' | 'horizontal';
5
5
  export type { FormProps, FormInstance } from './form';
6
6
  export type { FormItemProps } from './form-item';
@@ -9,7 +9,6 @@ export type { ValidateMessages, FieldData, NamePath, } from 'rc-field-form/es/in
9
9
  export type { FormArrayField, FormArrayOperation, FormArrayProps, } from './form-array';
10
10
  declare const _default: import("react").ForwardRefExoticComponent<Pick<import("rc-field-form").FormProps<any>, "children" | "form" | "name" | "initialValues" | "preserve" | "validateMessages" | "validateTrigger" | "onFieldsChange" | "onFinish" | "onFinishFailed" | "onValuesChange"> & import("../../utils/native-props").NativeProps<"--border-inner" | "--border-top" | "--border-bottom"> & Partial<import("./context").FormContextType> & {
11
11
  footer?: import("react").ReactNode;
12
- layout?: FormLayout | undefined;
13
12
  mode?: "default" | "card" | undefined;
14
13
  } & import("react").RefAttributes<import("./form").FormInstance>> & {
15
14
  Item: import("react").FC<import("./form-item").FormItemProps>;
@@ -19,5 +18,6 @@ declare const _default: import("react").ForwardRefExoticComponent<Pick<import("r
19
18
  }>;
20
19
  Array: import("react").FC<import("./form-array").FormArrayProps>;
21
20
  useForm: typeof useForm;
21
+ useWatch: typeof useWatch;
22
22
  };
23
23
  export default _default;
@@ -26,7 +26,8 @@ var _default = (0, _attachPropertiesToComponent.attachPropertiesToComponent)(_fo
26
26
  Subscribe: _formSubscribe.FormSubscribe,
27
27
  Header: _header.Header,
28
28
  Array: _formArray.FormArray,
29
- useForm: _rcFieldForm.useForm
29
+ useForm: _rcFieldForm.useForm,
30
+ useWatch: _rcFieldForm.useWatch
30
31
  });
31
32
 
32
33
  exports.default = _default;
@@ -4,5 +4,6 @@ export declare type IndexBarPanelProps = {
4
4
  index: string;
5
5
  title?: ReactNode;
6
6
  brief?: ReactNode;
7
+ children?: ReactNode;
7
8
  } & NativeProps;
8
9
  export declare const Panel: FC<IndexBarPanelProps>;
@@ -58,6 +58,9 @@
58
58
  .adm-input-element::-webkit-search-decoration {
59
59
  display: none;
60
60
  }
61
+ .adm-input-element:disabled {
62
+ opacity: 1;
63
+ }
61
64
  .adm-input-element[type='date'],
62
65
  .adm-input-element[type='time'],
63
66
  .adm-input-element[type='datetime-local'] {
@@ -9,6 +9,7 @@ export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength
9
9
  disabled?: boolean;
10
10
  readOnly?: boolean;
11
11
  clearable?: boolean;
12
+ onlyShowClearWhenFocus?: boolean;
12
13
  onClear?: () => void;
13
14
  id?: string;
14
15
  onEnterPress?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
@@ -30,6 +31,7 @@ export declare const Input: React.ForwardRefExoticComponent<Pick<NativeInputProp
30
31
  disabled?: boolean | undefined;
31
32
  readOnly?: boolean | undefined;
32
33
  clearable?: boolean | undefined;
34
+ onlyShowClearWhenFocus?: boolean | undefined;
33
35
  onClear?: (() => void) | undefined;
34
36
  id?: string | undefined;
35
37
  onEnterPress?: ((e: React.KeyboardEvent<HTMLInputElement>) => void) | undefined;
@@ -29,7 +29,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
29
29
 
30
30
  const classPrefix = `adm-input`;
31
31
  const defaultProps = {
32
- defaultValue: ''
32
+ defaultValue: '',
33
+ onlyShowClearWhenFocus: true
33
34
  };
34
35
  const Input = (0, _react.forwardRef)((p, ref) => {
35
36
  const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
@@ -91,6 +92,16 @@ const Input = (0, _react.forwardRef)((p, ref) => {
91
92
  }
92
93
  }
93
94
 
95
+ const shouldShowClear = (() => {
96
+ if (!props.clearable || !value || props.readOnly) return false;
97
+
98
+ if (props.onlyShowClearWhenFocus) {
99
+ return hasFocus;
100
+ } else {
101
+ return true;
102
+ }
103
+ })();
104
+
94
105
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
95
106
  className: (0, _classnames.default)(`${classPrefix}`, props.disabled && `${classPrefix}-disabled`)
96
107
  }, _react.default.createElement("input", {
@@ -133,7 +144,7 @@ const Input = (0, _react.forwardRef)((p, ref) => {
133
144
  onCompositionStart: props.onCompositionStart,
134
145
  onCompositionEnd: props.onCompositionEnd,
135
146
  onClick: props.onClick
136
- }), props.clearable && !!value && !props.readOnly && hasFocus && _react.default.createElement("div", {
147
+ }), shouldShowClear && _react.default.createElement("div", {
137
148
  className: `${classPrefix}-clear`,
138
149
  onMouseDown: e => {
139
150
  e.preventDefault();
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ModalActionButton = void 0;
7
7
 
8
- var _tslib = require("tslib");
9
-
10
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
11
9
 
12
10
  var _classnames = _interopRequireDefault(require("classnames"));
13
11
 
@@ -17,34 +15,13 @@ var _nativeProps = require("../../utils/native-props");
17
15
 
18
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
17
 
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
18
  const ModalActionButton = props => {
25
19
  const {
26
20
  action
27
21
  } = props;
28
- const [loading, setLoading] = (0, _react.useState)(false);
29
-
30
- function handleClick() {
31
- return (0, _tslib.__awaiter)(this, void 0, void 0, function* () {
32
- setLoading(true);
33
-
34
- try {
35
- const promise = props.onAction();
36
- yield promise;
37
- setLoading(false);
38
- } catch (e) {
39
- setLoading(false);
40
- throw e;
41
- }
42
- });
43
- }
44
-
45
22
  return (0, _nativeProps.withNativeProps)(props.action, _react.default.createElement(_button.default, {
46
23
  key: action.key,
47
- onClick: handleClick,
24
+ onClick: props.onAction,
48
25
  className: (0, _classnames.default)('adm-modal-button', {
49
26
  'adm-modal-button-primary': props.action.primary
50
27
  }),
@@ -52,7 +29,7 @@ const ModalActionButton = props => {
52
29
  size: props.action.primary ? 'large' : 'middle',
53
30
  block: true,
54
31
  color: action.danger ? 'danger' : 'primary',
55
- loading: loading,
32
+ loading: 'auto',
56
33
  disabled: action.disabled
57
34
  }, action.text));
58
35
  };
@@ -8,6 +8,7 @@ export declare type SearchBarProps = Pick<InputProps, 'onFocus' | 'onBlur' | 'on
8
8
  maxLength?: number;
9
9
  placeholder?: string;
10
10
  clearable?: boolean;
11
+ onlyShowClearWhenFocus?: boolean;
11
12
  showCancelButton?: boolean | ((focus: boolean, value: string) => boolean);
12
13
  cancelText?: string;
13
14
  icon?: ReactNode;
@@ -22,6 +23,7 @@ export declare const SearchBar: React.ForwardRefExoticComponent<Pick<InputProps,
22
23
  maxLength?: number | undefined;
23
24
  placeholder?: string | undefined;
24
25
  clearable?: boolean | undefined;
26
+ onlyShowClearWhenFocus?: boolean | undefined;
25
27
  showCancelButton?: boolean | ((focus: boolean, value: string) => boolean) | undefined;
26
28
  cancelText?: string | undefined;
27
29
  icon?: ReactNode;
@@ -32,6 +32,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
32
32
  const classPrefix = `adm-search-bar`;
33
33
  const defaultProps = {
34
34
  clearable: true,
35
+ onlyShowClearWhenFocus: false,
35
36
  showCancelButton: false,
36
37
  defaultValue: '',
37
38
  clearOnCancel: true,
@@ -123,6 +124,7 @@ const SearchBar = (0, _react.forwardRef)((p, ref) => {
123
124
  maxLength: props.maxLength,
124
125
  placeholder: props.placeholder,
125
126
  clearable: props.clearable,
127
+ onlyShowClearWhenFocus: props.onlyShowClearWhenFocus,
126
128
  onFocus: e => {
127
129
  var _a;
128
130
 
@@ -1,22 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import './swiper.less';
3
3
  export type { SwiperProps, SwiperRef } from './swiper';
4
- declare const _default: import("react").ForwardRefExoticComponent<{
5
- defaultIndex?: number | undefined;
6
- allowTouchMove?: boolean | undefined;
7
- autoplay?: boolean | undefined;
8
- autoplayInterval?: number | undefined;
9
- loop?: boolean | undefined;
10
- direction?: "vertical" | "horizontal" | undefined;
11
- onIndexChange?: ((index: number) => void) | undefined;
12
- indicatorProps?: Pick<import("../page-indicator").PageIndicatorProps, "style" | "className" | "color"> | undefined;
13
- indicator?: ((total: number, current: number) => import("react").ReactNode) | undefined;
14
- slideSize?: number | undefined;
15
- trackOffset?: number | undefined;
16
- stuckAtBoundary?: boolean | undefined;
17
- rubberband?: boolean | undefined;
18
- children?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>[] | undefined;
19
- } & import("../../utils/native-props").NativeProps<"--border-radius" | "--width" | "--height" | "--track-padding"> & import("react").RefAttributes<import("./swiper").SwiperRef>> & {
4
+ declare const _default: import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>> & {
20
5
  Item: import("react").FC<{
21
6
  onClick?: ((e: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
22
7
  children?: import("react").ReactNode;
@@ -22,19 +22,4 @@ export declare type SwiperProps = {
22
22
  rubberband?: boolean;
23
23
  children?: ReactElement | ReactElement[];
24
24
  } & NativeProps<'--height' | '--width' | '--border-radius' | '--track-padding'>;
25
- export declare const Swiper: React.ForwardRefExoticComponent<{
26
- defaultIndex?: number | undefined;
27
- allowTouchMove?: boolean | undefined;
28
- autoplay?: boolean | undefined;
29
- autoplayInterval?: number | undefined;
30
- loop?: boolean | undefined;
31
- direction?: "vertical" | "horizontal" | undefined;
32
- onIndexChange?: ((index: number) => void) | undefined;
33
- indicatorProps?: Pick<PageIndicatorProps, "style" | "className" | "color"> | undefined;
34
- indicator?: ((total: number, current: number) => ReactNode) | undefined;
35
- slideSize?: number | undefined;
36
- trackOffset?: number | undefined;
37
- stuckAtBoundary?: boolean | undefined;
38
- rubberband?: boolean | undefined;
39
- children?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactElement<any, string | React.JSXElementConstructor<any>>[] | undefined;
40
- } & NativeProps<"--border-radius" | "--width" | "--height" | "--track-padding"> & React.RefAttributes<SwiperRef>>;
25
+ export declare const Swiper: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>;
@@ -5,5 +5,7 @@ require("./global.css");
5
5
  var _canUseDom = require("../utils/can-use-dom");
6
6
 
7
7
  if (_canUseDom.canUseDom) {
8
+ // Make sure the `:active` CSS selector of `button` and `a` take effect
9
+ // See: https://stackoverflow.com/questions/3885018/active-pseudo-class-doesnt-work-in-mobile-safari
8
10
  document.addEventListener('touchstart', () => {}, true);
9
11
  }
@@ -5,10 +5,11 @@ export declare type ButtonProps = {
5
5
  fill?: 'solid' | 'outline' | 'none';
6
6
  size?: 'mini' | 'small' | 'middle' | 'large';
7
7
  block?: boolean;
8
- loading?: boolean;
8
+ loading?: boolean | 'auto';
9
9
  loadingText?: string;
10
+ loadingIcon?: React.ReactNode;
10
11
  disabled?: boolean;
11
- onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
12
+ onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | Promise<void>;
12
13
  type?: 'submit' | 'reset' | 'button';
13
14
  shape?: 'default' | 'rounded' | 'rectangular';
14
15
  children?: React.ReactNode;
@@ -21,10 +22,11 @@ export declare const Button: React.ForwardRefExoticComponent<{
21
22
  fill?: "none" | "solid" | "outline" | undefined;
22
23
  size?: "small" | "large" | "middle" | "mini" | undefined;
23
24
  block?: boolean | undefined;
24
- loading?: boolean | undefined;
25
+ loading?: boolean | "auto" | undefined;
25
26
  loadingText?: string | undefined;
27
+ loadingIcon?: React.ReactNode;
26
28
  disabled?: boolean | undefined;
27
- onClick?: ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void) | undefined;
29
+ onClick?: ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | Promise<void>) | undefined;
28
30
  type?: "reset" | "submit" | "button" | undefined;
29
31
  shape?: "default" | "rounded" | "rectangular" | undefined;
30
32
  children?: React.ReactNode;