antd-mobile 5.0.0-rc.27 → 5.0.0-rc.28

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 (123) hide show
  1. package/2x/README.md +1 -1
  2. package/2x/cjs/components/calendar/calendar.d.ts +1 -0
  3. package/2x/cjs/components/calendar/calendar.js +5 -0
  4. package/2x/cjs/components/checkbox/checkbox.js +12 -12
  5. package/2x/cjs/components/form/form-item.css +16 -6
  6. package/2x/cjs/components/form/form-item.d.ts +1 -1
  7. package/2x/cjs/components/form/form-item.js +17 -8
  8. package/2x/cjs/components/form/form.css +0 -9
  9. package/2x/cjs/components/form/form.js +1 -1
  10. package/2x/cjs/components/form/index.css +16 -15
  11. package/2x/cjs/components/image-uploader/image-uploader.d.ts +1 -1
  12. package/2x/cjs/components/image-uploader/image-uploader.js +1 -1
  13. package/2x/cjs/components/input/input.css +1 -0
  14. package/2x/cjs/components/popover/index.d.ts +1 -1
  15. package/2x/cjs/components/popover/popover-menu.d.ts +1 -1
  16. package/2x/cjs/components/progress-bar/progress-bar.css +1 -1
  17. package/2x/cjs/components/progress-circle/progress-circle.css +4 -4
  18. package/2x/cjs/components/progress-circle/progress-circle.js +1 -2
  19. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.js +7 -1
  20. package/2x/cjs/components/radio/radio.js +14 -0
  21. package/2x/cjs/components/rate/rate.css +2 -1
  22. package/2x/cjs/components/rate/rate.d.ts +1 -1
  23. package/2x/cjs/components/slider/slider.css +12 -7
  24. package/2x/cjs/components/slider/thumb-icon.d.ts +3 -0
  25. package/2x/cjs/components/slider/thumb-icon.js +38 -0
  26. package/2x/cjs/components/slider/thumb.js +5 -1
  27. package/2x/cjs/components/tabs/tabs.js +3 -3
  28. package/2x/cjs/components/text-area/text-area.js +10 -1
  29. package/2x/cjs/utils/is-dev.js +1 -1
  30. package/2x/es/components/calendar/calendar.d.ts +1 -0
  31. package/2x/es/components/calendar/calendar.js +6 -1
  32. package/2x/es/components/checkbox/checkbox.js +11 -12
  33. package/2x/es/components/form/form-item.css +16 -6
  34. package/2x/es/components/form/form-item.d.ts +1 -1
  35. package/2x/es/components/form/form-item.js +15 -6
  36. package/2x/es/components/form/form.css +0 -9
  37. package/2x/es/components/form/form.js +1 -1
  38. package/2x/es/components/form/index.css +16 -15
  39. package/2x/es/components/image-uploader/image-uploader.d.ts +1 -1
  40. package/2x/es/components/image-uploader/image-uploader.js +1 -1
  41. package/2x/es/components/input/input.css +1 -0
  42. package/2x/es/components/popover/index.d.ts +1 -1
  43. package/2x/es/components/popover/popover-menu.d.ts +1 -1
  44. package/2x/es/components/progress-bar/progress-bar.css +1 -1
  45. package/2x/es/components/progress-circle/progress-circle.css +4 -4
  46. package/2x/es/components/progress-circle/progress-circle.js +1 -2
  47. package/2x/es/components/pull-to-refresh/pull-to-refresh.js +8 -2
  48. package/2x/es/components/radio/radio.js +12 -0
  49. package/2x/es/components/rate/rate.css +2 -1
  50. package/2x/es/components/rate/rate.d.ts +1 -1
  51. package/2x/es/components/slider/slider.css +12 -7
  52. package/2x/es/components/slider/thumb-icon.d.ts +3 -0
  53. package/2x/es/components/slider/thumb-icon.js +25 -0
  54. package/2x/es/components/slider/thumb.js +4 -1
  55. package/2x/es/components/tabs/tabs.js +3 -3
  56. package/2x/es/components/text-area/text-area.js +9 -1
  57. package/2x/es/utils/is-dev.js +1 -1
  58. package/2x/package.json +3 -2
  59. package/README.md +1 -1
  60. package/cjs/components/calendar/calendar.d.ts +1 -0
  61. package/cjs/components/calendar/calendar.js +5 -0
  62. package/cjs/components/checkbox/checkbox.js +12 -12
  63. package/cjs/components/form/form-item.css +14 -6
  64. package/cjs/components/form/form-item.d.ts +1 -1
  65. package/cjs/components/form/form-item.js +17 -8
  66. package/cjs/components/form/form.css +0 -7
  67. package/cjs/components/form/form.js +1 -1
  68. package/cjs/components/form/index.css +14 -13
  69. package/cjs/components/image-uploader/image-uploader.d.ts +1 -1
  70. package/cjs/components/image-uploader/image-uploader.js +1 -1
  71. package/cjs/components/input/input.css +1 -0
  72. package/cjs/components/popover/index.d.ts +1 -1
  73. package/cjs/components/popover/popover-menu.d.ts +1 -1
  74. package/cjs/components/progress-bar/progress-bar.css +1 -1
  75. package/cjs/components/progress-circle/progress-circle.css +4 -4
  76. package/cjs/components/progress-circle/progress-circle.js +1 -2
  77. package/cjs/components/pull-to-refresh/pull-to-refresh.js +7 -1
  78. package/cjs/components/radio/radio.js +14 -0
  79. package/cjs/components/rate/rate.css +2 -1
  80. package/cjs/components/rate/rate.d.ts +1 -1
  81. package/cjs/components/slider/slider.css +11 -7
  82. package/cjs/components/slider/thumb-icon.d.ts +3 -0
  83. package/cjs/components/slider/thumb-icon.js +38 -0
  84. package/cjs/components/slider/thumb.js +5 -1
  85. package/cjs/components/tabs/tabs.js +3 -3
  86. package/cjs/components/text-area/text-area.js +10 -1
  87. package/cjs/utils/is-dev.js +1 -1
  88. package/es/components/calendar/calendar.d.ts +1 -0
  89. package/es/components/calendar/calendar.js +6 -1
  90. package/es/components/checkbox/checkbox.js +11 -12
  91. package/es/components/form/form-item.css +14 -6
  92. package/es/components/form/form-item.d.ts +1 -1
  93. package/es/components/form/form-item.js +15 -6
  94. package/es/components/form/form.css +0 -7
  95. package/es/components/form/form.js +1 -1
  96. package/es/components/form/index.css +14 -13
  97. package/es/components/image-uploader/image-uploader.d.ts +1 -1
  98. package/es/components/image-uploader/image-uploader.js +1 -1
  99. package/es/components/input/input.css +1 -0
  100. package/es/components/popover/index.d.ts +1 -1
  101. package/es/components/popover/popover-menu.d.ts +1 -1
  102. package/es/components/progress-bar/progress-bar.css +1 -1
  103. package/es/components/progress-circle/progress-circle.css +4 -4
  104. package/es/components/progress-circle/progress-circle.js +1 -2
  105. package/es/components/pull-to-refresh/pull-to-refresh.js +8 -2
  106. package/es/components/radio/radio.js +12 -0
  107. package/es/components/rate/rate.css +2 -1
  108. package/es/components/rate/rate.d.ts +1 -1
  109. package/es/components/slider/slider.css +11 -7
  110. package/es/components/slider/thumb-icon.d.ts +3 -0
  111. package/es/components/slider/thumb-icon.js +25 -0
  112. package/es/components/slider/thumb.js +4 -1
  113. package/es/components/tabs/tabs.js +3 -3
  114. package/es/components/text-area/text-area.js +9 -1
  115. package/es/utils/is-dev.js +1 -1
  116. package/package.json +3 -2
  117. package/umd/antd-mobile.js +1 -1
  118. package/2x/assets/slider-thumb.svg +0 -14
  119. package/2x/cjs/assets/slider-thumb.svg +0 -14
  120. package/2x/es/assets/slider-thumb.svg +0 -14
  121. package/assets/slider-thumb.svg +0 -14
  122. package/cjs/assets/slider-thumb.svg +0 -14
  123. package/es/assets/slider-thumb.svg +0 -14
package/2x/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <img src="https://gw.alipayobjects.com/mdn/rms_ee68a8/afts/img/A*8HtNS4uMKkAAAAAAAAAAAAAAARQnAQ" alt="logo" width="100%" />
1
+ <img src="https://gw.alipayobjects.com/mdn/rms_ee68a8/afts/img/A*C3OZT6SF5BUAAAAAAAAAAAAAARQnAQ" alt="logo" width="100%" />
2
2
 
3
3
  ![npm (tag)](https://img.shields.io/npm/v/antd-mobile/next)
4
4
  ![GitHub (Pre-)Release Date](https://img.shields.io/github/release-date-pre/ant-design/ant-design-mobile)
@@ -3,6 +3,7 @@ import { NativeProps } from '../../utils/native-props';
3
3
  export declare type CalendarProps = {
4
4
  weekStartsOn?: 'Monday' | 'Sunday';
5
5
  renderLabel?: (date: Date) => string | null | undefined;
6
+ onPageChange?: (year: number, month: number) => void;
6
7
  } & ({
7
8
  selectionMode?: undefined;
8
9
  value?: undefined;
@@ -52,6 +52,11 @@ const Calendar = p => {
52
52
  }
53
53
 
54
54
  const [current, setCurrent] = (0, _react.useState)(() => (0, _dayjs.default)().date(1));
55
+ (0, _ahooks.useUpdateEffect)(() => {
56
+ var _a;
57
+
58
+ (_a = props.onPageChange) === null || _a === void 0 ? void 0 : _a.call(props, current.year(), current.month() + 1);
59
+ }, [current]);
55
60
 
56
61
  const header = _react.default.createElement("div", {
57
62
  className: `${classPrefix}-header`
@@ -23,6 +23,8 @@ var _checkIcon = require("./check-icon");
23
23
 
24
24
  var _indeterminateIcon = require("./indeterminate-icon");
25
25
 
26
+ var _isDev = require("../../utils/is-dev");
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
29
 
28
30
  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); }
@@ -44,23 +46,21 @@ const Checkbox = p => {
44
46
  onChange: props.onChange
45
47
  });
46
48
  let disabled = props.disabled;
47
-
48
- const usageWarning = () => {
49
- if (p.checked !== undefined) {
50
- (0, _devLog.devWarning)('Checkbox', 'When used with `Checkbox.Group`, the `checked` prop of `Checkbox` will not work if `value` prop of `Checkbox` is not undefined.');
51
- }
52
-
53
- if (p.defaultChecked !== undefined) {
54
- (0, _devLog.devWarning)('Checkbox', 'When used with `Checkbox.Group`, the `defaultChecked` prop of `Checkbox` will not work if `value` prop of `Checkbox` is not undefined.');
55
- }
56
- };
57
-
58
49
  const {
59
50
  value
60
51
  } = props;
61
52
 
62
53
  if (groupContext && value !== undefined) {
63
- usageWarning();
54
+ if (_isDev.isDev) {
55
+ if (p.checked !== undefined) {
56
+ (0, _devLog.devWarning)('Checkbox', 'When used within `Checkbox.Group`, the `checked` prop of `Checkbox` will not work.');
57
+ }
58
+
59
+ if (p.defaultChecked !== undefined) {
60
+ (0, _devLog.devWarning)('Checkbox', 'When used within `Checkbox.Group`, the `defaultChecked` prop of `Checkbox` will not work.');
61
+ }
62
+ }
63
+
64
64
  checked = groupContext.value.includes(value);
65
65
 
66
66
  setChecked = checked => {
@@ -8,6 +8,7 @@
8
8
  line-height: 1.5;
9
9
  box-sizing: border-box;
10
10
  position: relative;
11
+ color: #666666;
11
12
  }
12
13
 
13
14
  .adm-form-item-label-required {
@@ -19,6 +20,10 @@
19
20
  user-select: none;
20
21
  }
21
22
 
23
+ .adm-form-item-label-help {
24
+ margin-left: 8px;
25
+ }
26
+
22
27
  .adm-form-item-footer {
23
28
  color: var(--adm-color-danger);
24
29
  margin-top: 8px;
@@ -28,16 +33,21 @@
28
33
  display: none;
29
34
  }
30
35
 
31
- .adm-form-vertical .adm-form-item-label {
32
- font-size: 30px;
33
- margin-bottom: 8px;
36
+ .adm-form-item.adm-form-item-horizontal.adm-list-item {
37
+ --align-items: stretch;
38
+ --prefix-width: 6em;
34
39
  }
35
40
 
36
- .adm-form-horizontal .adm-list-item-content-prefix {
41
+ .adm-form-item.adm-form-item-horizontal .adm-list-item-content-prefix {
37
42
  padding-top: 24px;
38
43
  padding-bottom: 24px;
39
44
  }
40
45
 
41
- .adm-form-item-label {
42
- color: #666666;
46
+ .adm-form-item.adm-form-item-horizontal .adm-list-item-content-extra {
47
+ align-self: center;
48
+ }
49
+
50
+ .adm-form-item.adm-form-item-vertical .adm-form-item-label {
51
+ font-size: 30px;
52
+ margin-bottom: 8px;
43
53
  }
@@ -7,7 +7,7 @@ import type { FormLayout } from './index';
7
7
  declare type RenderChildren<Values = any> = (form: FormInstance<Values>) => React.ReactNode;
8
8
  declare type ChildrenType<Values = any> = RenderChildren<Values> | React.ReactNode;
9
9
  declare type RcFieldProps = Omit<FieldProps, 'children'>;
10
- export declare type FormItemProps = Pick<RcFieldProps, 'dependencies' | 'valuePropName' | 'name' | 'rules' | 'messageVariables' | 'trigger' | 'validateTrigger' | 'shouldUpdate' | 'initialValue'> & Pick<ListItemProps, 'style' | 'onClick' | 'extra' | 'arrow'> & {
10
+ export declare type FormItemProps = Pick<RcFieldProps, 'dependencies' | 'valuePropName' | 'name' | 'rules' | 'messageVariables' | 'trigger' | 'validateTrigger' | 'shouldUpdate' | 'initialValue'> & Pick<ListItemProps, 'style' | 'onClick' | 'extra' | 'arrow' | 'description'> & {
11
11
  label?: React.ReactNode;
12
12
  help?: React.ReactNode;
13
13
  hasFeedback?: boolean;
@@ -23,6 +23,10 @@ var _utils = require("./utils");
23
23
 
24
24
  var _list = _interopRequireDefault(require("../list"));
25
25
 
26
+ var _popover = _interopRequireDefault(require("../popover"));
27
+
28
+ var _antdMobileIcons = require("antd-mobile-icons");
29
+
26
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
31
 
28
32
  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); }
@@ -49,7 +53,8 @@ const FormItemLayout = props => {
49
53
  htmlFor,
50
54
  hidden,
51
55
  errors,
52
- arrow
56
+ arrow,
57
+ description
53
58
  } = props;
54
59
  const context = (0, _react.useContext)(_context.FormContext);
55
60
  const hasFeedback = props.hasFeedback !== undefined ? props.hasFeedback : context.hasFeedback;
@@ -62,19 +67,21 @@ const FormItemLayout = props => {
62
67
  className: `${classPrefix}-label-required`
63
68
  }, "*"), help && _react.default.createElement("span", {
64
69
  className: `${classPrefix}-label-help`
65
- }, help)) : null;
66
-
67
- const descriptionElement = feedback && _react.default.createElement("div", {
70
+ }, _react.default.createElement(_popover.default, {
71
+ content: help,
72
+ mode: 'dark',
73
+ trigger: 'click'
74
+ }, _react.default.createElement(_antdMobileIcons.QuestionCircleOutline, null)))) : null;
75
+ const descriptionElement = feedback || description ? _react.default.createElement(_react.default.Fragment, null, description, _react.default.createElement("div", {
68
76
  className: `${classPrefix}-footer`
69
- }, feedback);
70
-
77
+ }, feedback)) : null;
71
78
  return _react.default.createElement(_list.default.Item, {
72
79
  style: style,
73
80
  title: layout === 'vertical' && labelElement,
74
81
  prefix: layout === 'horizontal' && labelElement,
75
82
  extra: extra,
76
83
  description: descriptionElement,
77
- className: (0, _classnames.default)(classPrefix, className, {
84
+ className: (0, _classnames.default)(classPrefix, className, `${classPrefix}-${layout}`, {
78
85
  [`${classPrefix}-hidden`]: hidden
79
86
  }),
80
87
  disabled: disabled,
@@ -98,6 +105,7 @@ const FormItem = props => {
98
105
  noStyle,
99
106
  hidden,
100
107
  layout,
108
+ description,
101
109
  // Field 相关
102
110
  disabled,
103
111
  rules,
@@ -110,7 +118,7 @@ const FormItem = props => {
110
118
  dependencies,
111
119
  arrow
112
120
  } = props,
113
- fieldProps = (0, _tslib.__rest)(props, ["className", "style", "label", "help", "extra", "hasFeedback", "name", "required", "noStyle", "hidden", "layout", "disabled", "rules", "children", "messageVariables", "trigger", "validateTrigger", "onClick", "shouldUpdate", "dependencies", "arrow"]);
121
+ fieldProps = (0, _tslib.__rest)(props, ["className", "style", "label", "help", "extra", "hasFeedback", "name", "required", "noStyle", "hidden", "layout", "description", "disabled", "rules", "children", "messageVariables", "trigger", "validateTrigger", "onClick", "shouldUpdate", "dependencies", "arrow"]);
114
122
 
115
123
  const {
116
124
  validateTrigger: contextValidateTrigger
@@ -162,6 +170,7 @@ const FormItem = props => {
162
170
  label: label,
163
171
  extra: extra,
164
172
  help: help,
173
+ description: description,
165
174
  required: isRequired,
166
175
  disabled: disabled,
167
176
  hasFeedback: hasFeedback,
@@ -3,15 +3,6 @@
3
3
  --padding-right: 24px;
4
4
  }
5
5
 
6
- .adm-form-horizontal .adm-list.adm-list {
7
- --prefix-width: 6em;
8
- --align-items: stretch;
9
- }
10
-
11
- .adm-form-horizontal .adm-list.adm-list .adm-list-item-content-extra {
12
- align-self: center;
13
- }
14
-
15
6
  .adm-form .adm-form-footer {
16
7
  padding: 40px 24px;
17
8
  }
@@ -71,7 +71,7 @@ const Form = (0, _react.forwardRef)((p, ref) => {
71
71
 
72
72
  collect();
73
73
  return _react.default.createElement(_rcFieldForm.default, Object.assign({
74
- className: (0, _classnames.default)(classPrefix, `${classPrefix}-${layout}`, className),
74
+ className: (0, _classnames.default)(classPrefix, className),
75
75
  style: style,
76
76
  ref: ref
77
77
  }, formProps), _react.default.createElement(_context.FormContext.Provider, {
@@ -3,15 +3,6 @@
3
3
  --padding-right: 24px;
4
4
  }
5
5
 
6
- .adm-form-horizontal .adm-list.adm-list {
7
- --prefix-width: 6em;
8
- --align-items: stretch;
9
- }
10
-
11
- .adm-form-horizontal .adm-list.adm-list .adm-list-item-content-extra {
12
- align-self: center;
13
- }
14
-
15
6
  .adm-form .adm-form-footer {
16
7
  padding: 40px 24px;
17
8
  }
@@ -26,6 +17,7 @@
26
17
  line-height: 1.5;
27
18
  box-sizing: border-box;
28
19
  position: relative;
20
+ color: #666666;
29
21
  }
30
22
 
31
23
  .adm-form-item-label-required {
@@ -37,6 +29,10 @@
37
29
  user-select: none;
38
30
  }
39
31
 
32
+ .adm-form-item-label-help {
33
+ margin-left: 8px;
34
+ }
35
+
40
36
  .adm-form-item-footer {
41
37
  color: var(--adm-color-danger);
42
38
  margin-top: 8px;
@@ -46,16 +42,21 @@
46
42
  display: none;
47
43
  }
48
44
 
49
- .adm-form-vertical .adm-form-item-label {
50
- font-size: 30px;
51
- margin-bottom: 8px;
45
+ .adm-form-item.adm-form-item-horizontal.adm-list-item {
46
+ --align-items: stretch;
47
+ --prefix-width: 6em;
52
48
  }
53
49
 
54
- .adm-form-horizontal .adm-list-item-content-prefix {
50
+ .adm-form-item.adm-form-item-horizontal .adm-list-item-content-prefix {
55
51
  padding-top: 24px;
56
52
  padding-bottom: 24px;
57
53
  }
58
54
 
59
- .adm-form-item-label {
60
- color: #666666;
55
+ .adm-form-item.adm-form-item-horizontal .adm-list-item-content-extra {
56
+ align-self: center;
57
+ }
58
+
59
+ .adm-form-item.adm-form-item-vertical .adm-form-item-label {
60
+ font-size: 30px;
61
+ margin-bottom: 8px;
61
62
  }
@@ -19,7 +19,7 @@ export declare type ImageUploaderProps = {
19
19
  showUpload?: boolean;
20
20
  deletable?: boolean;
21
21
  capture?: InputHTMLAttributes<unknown>['capture'];
22
- onPreview?: (index: number) => void;
22
+ onPreview?: (index: number, item: ImageUploadItem) => void;
23
23
  beforeUpload?: (file: File[]) => Promise<File[]> | File[];
24
24
  upload: (file: File) => Promise<ImageUploadItem>;
25
25
  onDelete?: (item: ImageUploadItem) => boolean | Promise<boolean> | void;
@@ -168,7 +168,7 @@ const ImageUploader = p => {
168
168
  previewImage(index);
169
169
  }
170
170
 
171
- onPreview && onPreview(index);
171
+ onPreview && onPreview(index, fileItem);
172
172
  },
173
173
  onDelete: () => (0, _tslib.__awaiter)(void 0, void 0, void 0, function* () {
174
174
  var _c;
@@ -10,6 +10,7 @@
10
10
  width: 100%;
11
11
  max-width: 100%;
12
12
  max-height: 100%;
13
+ min-height: 48px;
13
14
  background-color: var(--background-color);
14
15
  }
15
16
 
@@ -13,7 +13,7 @@ declare const _default: import("react").ForwardRefExoticComponent<{
13
13
  stopPropagation?: "click"[] | undefined;
14
14
  content: import("react").ReactNode;
15
15
  } & Pick<import("rc-tooltip/lib/Tooltip").TooltipProps, "visible" | "align" | "defaultVisible" | "onVisibleChange"> & import("../../utils/native-props").NativeProps<"--z-index"> & import("react").RefAttributes<import("./popover").PopoverRef>> & {
16
- Menu: import("react").ForwardRefExoticComponent<Pick<import("./popover").PopoverProps, "children" | "style" | "visible" | "className" | "tabIndex" | "mode" | "align" | "getContainer" | "stopPropagation" | "trigger" | "defaultVisible" | "onVisibleChange" | "placement" | "destroyOnHide"> & {
16
+ Menu: import("react").ForwardRefExoticComponent<Pick<import("./popover").PopoverProps, "children" | "style" | "visible" | "className" | "tabIndex" | "mode" | "align" | "getContainer" | "stopPropagation" | "defaultVisible" | "onVisibleChange" | "trigger" | "placement" | "destroyOnHide"> & {
17
17
  actions: import("./popover-menu").Action[];
18
18
  onAction?: ((item: import("./popover-menu").Action) => void) | undefined;
19
19
  } & import("react").RefAttributes<import("./popover").PopoverRef>>;
@@ -11,7 +11,7 @@ export declare type PopoverMenuProps = Omit<PopoverProps, 'content'> & {
11
11
  actions: Action[];
12
12
  onAction?: (item: Action) => void;
13
13
  };
14
- export declare const PopoverMenu: React.ForwardRefExoticComponent<Pick<PopoverProps, "children" | "style" | "visible" | "className" | "tabIndex" | "mode" | "align" | "getContainer" | "stopPropagation" | "trigger" | "defaultVisible" | "onVisibleChange" | "placement" | "destroyOnHide"> & {
14
+ export declare const PopoverMenu: React.ForwardRefExoticComponent<Pick<PopoverProps, "children" | "style" | "visible" | "className" | "tabIndex" | "mode" | "align" | "getContainer" | "stopPropagation" | "defaultVisible" | "onVisibleChange" | "trigger" | "placement" | "destroyOnHide"> & {
15
15
  actions: Action[];
16
16
  onAction?: ((item: Action) => void) | undefined;
17
17
  } & React.RefAttributes<PopoverRef>>;
@@ -1,7 +1,7 @@
1
1
  .adm-progress-bar {
2
2
  --track-width: var(--adm-progress-bar-track-width, 6px);
3
3
  --track-color: var(--adm-progress-bar-track-color, #e5e5e5);
4
- --fill-color: var(--adm-progress-bar-fill-color, #1677ff);
4
+ --fill-color: var(--adm-progress-bar-fill-color, var(--adm-color-primary));
5
5
  }
6
6
 
7
7
  .adm-progress-bar-trail {
@@ -1,10 +1,10 @@
1
1
  /*进度圈*/
2
2
 
3
3
  .adm-progress-circle {
4
- --track-width: 6px;
5
- --size: 100px;
6
- --track-color: #e5e5e5;
7
- --fill-color: #1677ff;
4
+ --track-width: var(--adm-progress-circle-track-width, 6px);
5
+ --size: var(--adm-progress-circle-size, 100px);
6
+ --track-color: var(--adm-progress-circle-track-color, #e5e5e5);
7
+ --fill-color: var(--adm-progress-circle-fill-color, var(--adm-color-primary));
8
8
  --percent: 0;
9
9
  --pi: 3.14159265;
10
10
  --radius: calc(var(--size) / 2 - var(--track-width) / 2);
@@ -17,8 +17,7 @@ const classPrefix = `adm-progress-circle`;
17
17
 
18
18
  const ProgressCircle = p => {
19
19
  const props = (0, _withDefaultProps.mergeProps)({
20
- percent: 0,
21
- strokeColor: '#1677FF'
20
+ percent: 0
22
21
  }, p);
23
22
  const style = {
24
23
  '--percent': props.percent.toString()
@@ -59,7 +59,13 @@ const PullToRefresh = p => {
59
59
  }
60
60
  }));
61
61
  const elementRef = (0, _react2.useRef)(null);
62
- const pullingRef = (0, _react2.useRef)(false);
62
+ const pullingRef = (0, _react2.useRef)(false); //防止下拉时抖动
63
+
64
+ (0, _react2.useEffect)(() => {
65
+ var _a;
66
+
67
+ (_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('touchmove', () => {});
68
+ }, []);
63
69
 
64
70
  function doRefresh() {
65
71
  return (0, _tslib.__awaiter)(this, void 0, void 0, function* () {
@@ -19,6 +19,10 @@ var _withDefaultProps = require("../../utils/with-default-props");
19
19
 
20
20
  var _checkIcon = require("../checkbox/check-icon");
21
21
 
22
+ var _devLog = require("../../utils/dev-log");
23
+
24
+ var _isDev = require("../../utils/is-dev");
25
+
22
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
27
 
24
28
  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); }
@@ -44,6 +48,16 @@ const Radio = p => {
44
48
  } = props;
45
49
 
46
50
  if (groupContext && value !== undefined) {
51
+ if (_isDev.isDev) {
52
+ if (p.checked !== undefined) {
53
+ (0, _devLog.devWarning)('Radio', 'When used within `Radio.Group`, the `checked` prop of `Radio` will not work.');
54
+ }
55
+
56
+ if (p.defaultChecked !== undefined) {
57
+ (0, _devLog.devWarning)('Radio', 'When used within `Radio.Group`, the `defaultChecked` prop of `Radio` will not work.');
58
+ }
59
+ }
60
+
47
61
  checked = groupContext.value.includes(value);
48
62
 
49
63
  setChecked = checked => {
@@ -1,6 +1,7 @@
1
1
  .adm-rate {
2
2
  --star-size: 48px;
3
3
  --active-color: #ffd21e;
4
+ --inactive-color: var(--adm-color-light);
4
5
  display: inline-flex;
5
6
  }
6
7
 
@@ -12,7 +13,7 @@
12
13
  padding: calc(var(--star-size) / 8);
13
14
  line-height: var(--star-size);
14
15
  font-size: var(--star-size);
15
- color: var(--adm-color-light);
16
+ color: var(--inactive-color);
16
17
  text-align: center;
17
18
  overflow: hidden;
18
19
  cursor: pointer;
@@ -9,5 +9,5 @@ export declare type RateProps = {
9
9
  readOnly?: boolean;
10
10
  value?: number;
11
11
  onChange?: (value: number) => void;
12
- } & NativeProps<'--star-size' | '--active-color'>;
12
+ } & NativeProps<'--star-size' | '--active-color' | '--inactive-color'>;
13
13
  export declare const Rate: FC<RateProps>;
@@ -18,6 +18,7 @@
18
18
 
19
19
  .adm-slider-fill {
20
20
  position: absolute;
21
+ z-index: 1;
21
22
  height: 8px;
22
23
  background-color: var(--fill-color);
23
24
  }
@@ -44,16 +45,11 @@
44
45
  }
45
46
 
46
47
  .adm-slider-thumb {
47
- touch-action: none;
48
- position: absolute;
49
48
  width: 44px;
50
49
  height: 44px;
50
+ margin: 10px;
51
51
  border-radius: 50%;
52
- left: 50%;
53
- top: 50%;
54
- transform: translate(-50%, -50%);
55
- background: #fff url('../../assets/slider-thumb.svg') no-repeat center center;
56
- background-size: 20px 20px;
52
+ background: var(--adm-color-white);
57
53
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.12), 0 3px 6px -4px rgba(0, 0, 0, 0.25);
58
54
  }
59
55
 
@@ -61,9 +57,18 @@
61
57
  outline: none;
62
58
  }
63
59
 
60
+ .adm-slider-thumb-icon {
61
+ width: 20px;
62
+ height: 20px;
63
+ margin: 12px;
64
+ user-select: none;
65
+ }
66
+
64
67
  .adm-slider-thumb-container {
68
+ cursor: grab;
65
69
  touch-action: none;
66
70
  position: absolute;
71
+ z-index: 2;
67
72
  width: 64px;
68
73
  height: 64px;
69
74
  border-radius: 50%;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { NativeProps } from '../../utils/native-props';
3
+ export declare const ThumbIcon: FC<NativeProps>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ThumbIcon = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _nativeProps = require("../../utils/native-props");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const ThumbIcon = props => {
15
+ return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("svg", {
16
+ viewBox: '0 0 20 20'
17
+ }, _react.default.createElement("g", {
18
+ stroke: 'none',
19
+ strokeWidth: '1',
20
+ fill: 'none',
21
+ fillRule: 'evenodd'
22
+ }, _react.default.createElement("g", {
23
+ transform: 'translate(-604.000000, -656.000000)',
24
+ fill: '#999999'
25
+ }, _react.default.createElement("g", {
26
+ transform: 'translate(592.000000, 644.000000)'
27
+ }, _react.default.createElement("g", {
28
+ transform: 'translate(12.000000, 12.000000)'
29
+ }, _react.default.createElement("polygon", {
30
+ points: '0 3.33333333 2.22222222 3.33333333 2.22222222 17.7777778 0 17.7777778'
31
+ }), _react.default.createElement("polygon", {
32
+ points: '17.7777778 3.33333333 20 3.33333333 20 17.7777778 17.7777778 17.7777778'
33
+ }), _react.default.createElement("path", {
34
+ d: 'M10.8888889,0 L9.11111111,0 C8.98888889,0 8.88888889,0.107142857 8.88888889,0.238095238 L8.88888889,19.7619048 C8.88888889,19.8928571 8.98888889,20 9.11111111,20 L10.8888889,20 C11.0111111,20 11.1111111,19.8928571 11.1111111,19.7619048 L11.1111111,0.238095238 C11.1111111,0.107142857 11.0111111,0 10.8888889,0 Z'
35
+ })))))));
36
+ };
37
+
38
+ exports.ThumbIcon = ThumbIcon;
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _react2 = require("@use-gesture/react");
11
11
 
12
+ var _thumbIcon = require("./thumb-icon");
13
+
12
14
  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); }
13
15
 
14
16
  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; }
@@ -57,7 +59,9 @@ const Thumb = props => {
57
59
  style: currentPosition()
58
60
  }, bind()), _react.default.createElement("div", {
59
61
  className: `${classPrefix}-thumb`
60
- }));
62
+ }, _react.default.createElement(_thumbIcon.ThumbIcon, {
63
+ className: `${classPrefix}-thumb-icon`
64
+ })));
61
65
  };
62
66
 
63
67
  var _default = Thumb;
@@ -164,16 +164,16 @@ const Tabs = p => {
164
164
  }
165
165
 
166
166
  (0, _ahooks.useIsomorphicLayoutEffect)(() => {
167
- animate(true);
167
+ animate(!x.isAnimating);
168
168
  }, []);
169
169
  (0, _ahooks.useUpdateLayoutEffect)(() => {
170
170
  animate();
171
171
  }, [activeKey]);
172
172
  (0, _useResizeEffect.useResizeEffect)(() => {
173
- animate(true);
173
+ animate(!x.isAnimating);
174
174
  }, tabListContainerRef);
175
175
  (0, _useMutationEffect.useMutationEffect)(() => {
176
- animate(true);
176
+ animate(!x.isAnimating);
177
177
  }, tabListContainerRef, {
178
178
  subtree: true,
179
179
  childList: true,
@@ -13,6 +13,8 @@ var _usePropsValue = require("../../utils/use-props-value");
13
13
 
14
14
  var _withDefaultProps = require("../../utils/with-default-props");
15
15
 
16
+ var _devLog = require("../../utils/dev-log");
17
+
16
18
  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); }
17
19
 
18
20
  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; }
@@ -31,7 +33,14 @@ const TextArea = (0, _react.forwardRef)((p, ref) => {
31
33
  showCount,
32
34
  maxLength
33
35
  } = props;
34
- const [value, setValue] = (0, _usePropsValue.usePropsValue)(props);
36
+ const [value, setValue] = (0, _usePropsValue.usePropsValue)(Object.assign(Object.assign({}, props), {
37
+ value: props.value === null ? '' : props.value
38
+ }));
39
+
40
+ if (props.value === null) {
41
+ (0, _devLog.devError)('TextArea', '`value` prop on `TextArea` should not be `null`. Consider using an empty string to clear the component.');
42
+ }
43
+
35
44
  const nativeTextAreaRef = (0, _react.useRef)(null);
36
45
  (0, _react.useImperativeHandle)(ref, () => ({
37
46
  clear: () => {
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isDev = void 0;
7
- const isDev = process.env.NODE_ENV === 'development';
7
+ const isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';
8
8
  exports.isDev = isDev;
@@ -3,6 +3,7 @@ import { NativeProps } from '../../utils/native-props';
3
3
  export declare type CalendarProps = {
4
4
  weekStartsOn?: 'Monday' | 'Sunday';
5
5
  renderLabel?: (date: Date) => string | null | undefined;
6
+ onPageChange?: (year: number, month: number) => void;
6
7
  } & ({
7
8
  selectionMode?: undefined;
8
9
  value?: undefined;
@@ -7,7 +7,7 @@ import { ArrowLeft } from './arrow-left';
7
7
  import { ArrowLeftDouble } from './arrow-left-double';
8
8
  import { useConfig } from '../config-provider';
9
9
  import isoWeek from 'dayjs/plugin/isoWeek';
10
- import { useIsomorphicLayoutEffect } from 'ahooks';
10
+ import { useIsomorphicLayoutEffect, useUpdateEffect } from 'ahooks';
11
11
  dayjs.extend(isoWeek);
12
12
  const classPrefix = 'adm-calendar';
13
13
  const defaultProps = {
@@ -27,6 +27,11 @@ export const Calendar = p => {
27
27
  }
28
28
 
29
29
  const [current, setCurrent] = useState(() => dayjs().date(1));
30
+ useUpdateEffect(() => {
31
+ var _a;
32
+
33
+ (_a = props.onPageChange) === null || _a === void 0 ? void 0 : _a.call(props, current.year(), current.month() + 1);
34
+ }, [current]);
30
35
  const header = React.createElement("div", {
31
36
  className: `${classPrefix}-header`
32
37
  }, React.createElement("a", {