antd-mobile 5.22.0 → 5.24.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 (196) hide show
  1. package/2x/bundle/antd-mobile.cjs.development.js +953 -709
  2. package/2x/bundle/antd-mobile.cjs.js +8 -8
  3. package/2x/bundle/antd-mobile.compatible.umd.js +6991 -6789
  4. package/2x/bundle/antd-mobile.es.development.js +953 -709
  5. package/2x/bundle/antd-mobile.es.js +5666 -5497
  6. package/2x/bundle/antd-mobile.umd.development.js +953 -709
  7. package/2x/bundle/antd-mobile.umd.js +8 -8
  8. package/2x/bundle/style.css +137 -41
  9. package/2x/cjs/components/avatar/avatar.js +2 -2
  10. package/2x/cjs/components/calendar/calendar.d.ts +3 -5
  11. package/2x/cjs/components/calendar/calendar.js +27 -5
  12. package/2x/cjs/components/calendar/convert.d.ts +6 -0
  13. package/2x/cjs/components/calendar/convert.js +9 -0
  14. package/2x/cjs/components/dialog/dialog-action-button.d.ts +2 -2
  15. package/2x/cjs/components/ellipsis/ellipsis.js +16 -7
  16. package/2x/cjs/components/empty/empty.d.ts +1 -0
  17. package/2x/cjs/components/empty/empty.js +1 -0
  18. package/2x/cjs/components/footer/footer.css +60 -0
  19. package/2x/cjs/components/footer/footer.d.ts +19 -0
  20. package/2x/cjs/components/footer/footer.js +83 -0
  21. package/2x/cjs/components/footer/index.d.ts +4 -0
  22. package/2x/cjs/components/footer/index.js +13 -0
  23. package/2x/cjs/components/form/form-item.css +0 -1
  24. package/2x/cjs/components/form/form.css +9 -3
  25. package/2x/cjs/components/form/form.d.ts +2 -2
  26. package/2x/cjs/components/form/index.css +9 -4
  27. package/2x/cjs/components/form/index.d.ts +1 -1
  28. package/2x/cjs/components/image-uploader/image-uploader.d.ts +11 -1
  29. package/2x/cjs/components/image-uploader/image-uploader.js +42 -25
  30. package/2x/cjs/components/image-uploader/index.d.ts +1 -1
  31. package/2x/cjs/components/image-uploader/preview-item.js +5 -0
  32. package/2x/cjs/components/image-viewer/slides.js +2 -2
  33. package/2x/cjs/components/page-indicator/page-indicator.css +1 -0
  34. package/2x/cjs/components/picker/index.d.ts +2 -2
  35. package/2x/cjs/components/picker/picker.d.ts +1 -1
  36. package/2x/cjs/components/picker-view/picker-view.css +9 -0
  37. package/2x/cjs/components/picker-view/wheel.js +8 -4
  38. package/2x/cjs/components/popover/popover.js +2 -2
  39. package/2x/cjs/components/rate/rate.css +6 -1
  40. package/2x/cjs/components/rate/rate.js +3 -1
  41. package/2x/cjs/components/slider/slider.css +15 -1
  42. package/2x/cjs/components/slider/slider.d.ts +1 -0
  43. package/2x/cjs/components/slider/slider.js +13 -2
  44. package/2x/cjs/components/slider/thumb.d.ts +1 -0
  45. package/2x/cjs/components/slider/thumb.js +4 -3
  46. package/2x/cjs/components/stepper/stepper.js +2 -1
  47. package/2x/cjs/components/swiper/swiper.js +9 -0
  48. package/2x/cjs/components/toast/toast.css +4 -3
  49. package/2x/cjs/index.d.ts +1 -0
  50. package/2x/cjs/index.js +8 -0
  51. package/2x/cjs/locales/zh-CN.js +1 -1
  52. package/2x/cjs/utils/measure-css-length.js +1 -1
  53. package/2x/es/components/avatar/avatar.js +1 -1
  54. package/2x/es/components/calendar/calendar.d.ts +3 -5
  55. package/2x/es/components/calendar/calendar.js +29 -6
  56. package/2x/es/components/calendar/convert.d.ts +6 -0
  57. package/2x/es/components/calendar/convert.js +4 -0
  58. package/2x/es/components/dialog/dialog-action-button.d.ts +2 -2
  59. package/2x/es/components/ellipsis/ellipsis.js +14 -8
  60. package/2x/es/components/empty/empty.d.ts +1 -0
  61. package/2x/es/components/empty/empty.js +2 -0
  62. package/2x/es/components/footer/footer.css +60 -0
  63. package/2x/es/components/footer/footer.d.ts +19 -0
  64. package/2x/es/components/footer/footer.js +66 -0
  65. package/2x/es/components/footer/index.d.ts +4 -0
  66. package/2x/es/components/footer/index.js +3 -0
  67. package/2x/es/components/form/form-item.css +0 -1
  68. package/2x/es/components/form/form.css +9 -3
  69. package/2x/es/components/form/form.d.ts +2 -2
  70. package/2x/es/components/form/index.css +9 -4
  71. package/2x/es/components/form/index.d.ts +1 -1
  72. package/2x/es/components/image-uploader/image-uploader.d.ts +11 -1
  73. package/2x/es/components/image-uploader/image-uploader.js +41 -25
  74. package/2x/es/components/image-uploader/index.d.ts +1 -1
  75. package/2x/es/components/image-uploader/preview-item.js +6 -1
  76. package/2x/es/components/image-viewer/slides.js +2 -2
  77. package/2x/es/components/page-indicator/page-indicator.css +1 -0
  78. package/2x/es/components/picker/index.d.ts +2 -2
  79. package/2x/es/components/picker/picker.d.ts +1 -1
  80. package/2x/es/components/picker-view/picker-view.css +9 -0
  81. package/2x/es/components/picker-view/wheel.js +8 -4
  82. package/2x/es/components/popover/popover.js +2 -2
  83. package/2x/es/components/rate/rate.css +6 -1
  84. package/2x/es/components/rate/rate.js +3 -1
  85. package/2x/es/components/slider/slider.css +15 -1
  86. package/2x/es/components/slider/slider.d.ts +1 -0
  87. package/2x/es/components/slider/slider.js +12 -2
  88. package/2x/es/components/slider/thumb.d.ts +1 -0
  89. package/2x/es/components/slider/thumb.js +4 -3
  90. package/2x/es/components/stepper/stepper.js +2 -1
  91. package/2x/es/components/swiper/swiper.js +9 -0
  92. package/2x/es/components/toast/toast.css +4 -3
  93. package/2x/es/index.d.ts +1 -0
  94. package/2x/es/index.js +1 -0
  95. package/2x/es/locales/zh-CN.js +1 -1
  96. package/2x/es/utils/measure-css-length.js +1 -1
  97. package/2x/package.json +2 -1
  98. package/2x/umd/antd-mobile.js +6991 -6789
  99. package/bundle/antd-mobile.cjs.development.js +953 -709
  100. package/bundle/antd-mobile.cjs.js +8 -8
  101. package/bundle/antd-mobile.compatible.umd.js +6991 -6789
  102. package/bundle/antd-mobile.es.development.js +953 -709
  103. package/bundle/antd-mobile.es.js +5666 -5497
  104. package/bundle/antd-mobile.umd.development.js +953 -709
  105. package/bundle/antd-mobile.umd.js +8 -8
  106. package/bundle/style.css +1 -1
  107. package/cjs/components/avatar/avatar.js +2 -2
  108. package/cjs/components/calendar/calendar.d.ts +3 -5
  109. package/cjs/components/calendar/calendar.js +27 -5
  110. package/cjs/components/calendar/convert.d.ts +6 -0
  111. package/cjs/components/calendar/convert.js +9 -0
  112. package/cjs/components/dialog/dialog-action-button.d.ts +2 -2
  113. package/cjs/components/ellipsis/ellipsis.js +16 -7
  114. package/cjs/components/empty/empty.d.ts +1 -0
  115. package/cjs/components/empty/empty.js +1 -0
  116. package/cjs/components/footer/footer.css +51 -0
  117. package/cjs/components/footer/footer.d.ts +19 -0
  118. package/cjs/components/footer/footer.js +83 -0
  119. package/cjs/components/footer/index.d.ts +4 -0
  120. package/cjs/components/footer/index.js +13 -0
  121. package/cjs/components/form/form-item.css +0 -1
  122. package/cjs/components/form/form.css +8 -3
  123. package/cjs/components/form/form.d.ts +2 -2
  124. package/cjs/components/form/index.css +8 -4
  125. package/cjs/components/form/index.d.ts +1 -1
  126. package/cjs/components/image-uploader/image-uploader.d.ts +11 -1
  127. package/cjs/components/image-uploader/image-uploader.js +42 -25
  128. package/cjs/components/image-uploader/index.d.ts +1 -1
  129. package/cjs/components/image-uploader/preview-item.js +5 -0
  130. package/cjs/components/image-viewer/slides.js +2 -2
  131. package/cjs/components/page-indicator/page-indicator.css +1 -0
  132. package/cjs/components/picker/index.d.ts +2 -2
  133. package/cjs/components/picker/picker.d.ts +1 -1
  134. package/cjs/components/picker-view/picker-view.css +8 -0
  135. package/cjs/components/picker-view/wheel.js +8 -4
  136. package/cjs/components/popover/popover.js +2 -2
  137. package/cjs/components/rate/rate.css +5 -1
  138. package/cjs/components/rate/rate.js +3 -1
  139. package/cjs/components/slider/slider.css +14 -1
  140. package/cjs/components/slider/slider.d.ts +1 -0
  141. package/cjs/components/slider/slider.js +13 -2
  142. package/cjs/components/slider/thumb.d.ts +1 -0
  143. package/cjs/components/slider/thumb.js +4 -3
  144. package/cjs/components/stepper/stepper.js +2 -1
  145. package/cjs/components/swiper/swiper.js +9 -0
  146. package/cjs/components/toast/toast.css +4 -3
  147. package/cjs/index.d.ts +1 -0
  148. package/cjs/index.js +8 -0
  149. package/cjs/locales/zh-CN.js +1 -1
  150. package/cjs/utils/measure-css-length.js +1 -1
  151. package/es/components/avatar/avatar.js +1 -1
  152. package/es/components/calendar/calendar.d.ts +3 -5
  153. package/es/components/calendar/calendar.js +29 -6
  154. package/es/components/calendar/convert.d.ts +6 -0
  155. package/es/components/calendar/convert.js +4 -0
  156. package/es/components/dialog/dialog-action-button.d.ts +2 -2
  157. package/es/components/ellipsis/ellipsis.js +14 -8
  158. package/es/components/empty/empty.d.ts +1 -0
  159. package/es/components/empty/empty.js +2 -0
  160. package/es/components/footer/footer.css +51 -0
  161. package/es/components/footer/footer.d.ts +19 -0
  162. package/es/components/footer/footer.js +66 -0
  163. package/es/components/footer/index.d.ts +4 -0
  164. package/es/components/footer/index.js +3 -0
  165. package/es/components/form/form-item.css +0 -1
  166. package/es/components/form/form.css +8 -3
  167. package/es/components/form/form.d.ts +2 -2
  168. package/es/components/form/index.css +8 -4
  169. package/es/components/form/index.d.ts +1 -1
  170. package/es/components/image-uploader/image-uploader.d.ts +11 -1
  171. package/es/components/image-uploader/image-uploader.js +41 -25
  172. package/es/components/image-uploader/index.d.ts +1 -1
  173. package/es/components/image-uploader/preview-item.js +6 -1
  174. package/es/components/image-viewer/slides.js +2 -2
  175. package/es/components/page-indicator/page-indicator.css +1 -0
  176. package/es/components/picker/index.d.ts +2 -2
  177. package/es/components/picker/picker.d.ts +1 -1
  178. package/es/components/picker-view/picker-view.css +8 -0
  179. package/es/components/picker-view/wheel.js +8 -4
  180. package/es/components/popover/popover.js +2 -2
  181. package/es/components/rate/rate.css +5 -1
  182. package/es/components/rate/rate.js +3 -1
  183. package/es/components/slider/slider.css +14 -1
  184. package/es/components/slider/slider.d.ts +1 -0
  185. package/es/components/slider/slider.js +12 -2
  186. package/es/components/slider/thumb.d.ts +1 -0
  187. package/es/components/slider/thumb.js +4 -3
  188. package/es/components/stepper/stepper.js +2 -1
  189. package/es/components/swiper/swiper.js +9 -0
  190. package/es/components/toast/toast.css +4 -3
  191. package/es/index.d.ts +1 -0
  192. package/es/index.js +1 -0
  193. package/es/locales/zh-CN.js +1 -1
  194. package/es/utils/measure-css-length.js +1 -1
  195. package/package.json +2 -1
  196. package/umd/antd-mobile.js +1 -1
@@ -5,4 +5,5 @@ export declare type EmptyProps = {
5
5
  imageStyle?: React.CSSProperties;
6
6
  description?: ReactNode;
7
7
  } & NativeProps;
8
+ /** @deprecated Empty has been deprecated and will be removed in the next major version. */
8
9
  export declare const Empty: React.FC<EmptyProps>;
@@ -16,6 +16,7 @@ var _emptyIcon = require("./empty-icon");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  const classPrefix = `adm-empty`;
19
+ /** @deprecated Empty has been deprecated and will be removed in the next major version. */
19
20
 
20
21
  const Empty = props => {
21
22
  function renderImageNode() {
@@ -0,0 +1,51 @@
1
+ .adm-footer {
2
+ --background-color: var(--adm-color-background);
3
+ color: var(--adm-color-text);
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: center;
7
+ background-color: var(--background-color);
8
+ }
9
+ .adm-footer-label {
10
+ width: 100%;
11
+ }
12
+ .adm-footer-label .adm-divider.adm-divider {
13
+ color: var(--adm-color-light);
14
+ }
15
+ .adm-footer-links {
16
+ margin: 8px 0;
17
+ color: var(--adm-color-primary);
18
+ white-space: nowrap;
19
+ }
20
+ .adm-footer-links a {
21
+ text-decoration: none;
22
+ }
23
+ .adm-footer-content {
24
+ display: flex;
25
+ align-items: center;
26
+ margin: 8px 0;
27
+ color: var(--adm-color-light);
28
+ }
29
+ .adm-footer-chips {
30
+ display: flex;
31
+ align-items: center;
32
+ white-space: nowrap;
33
+ margin: 8px 0;
34
+ }
35
+ .adm-footer-chip {
36
+ white-space: nowrap;
37
+ margin-right: 20px;
38
+ font-size: 12px;
39
+ background-color: var(--adm-color-box);
40
+ color: var(--adm-color-weak);
41
+ padding: 4px 12px;
42
+ border-radius: 100px;
43
+ }
44
+ .adm-footer-chip-link {
45
+ cursor: pointer;
46
+ background-color: #e7f1ff;
47
+ color: var(--adm-color-primary);
48
+ }
49
+ .adm-footer-chip:last-child {
50
+ margin-right: 0;
51
+ }
@@ -0,0 +1,19 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { NativeProps } from '../../utils/native-props';
3
+ export declare type LinkItem = {
4
+ text: string;
5
+ href: string;
6
+ };
7
+ export declare type ChipItem = {
8
+ text: ReactNode;
9
+ type?: 'plain' | 'link';
10
+ };
11
+ export declare type FooterProps = {
12
+ label?: ReactNode;
13
+ links?: LinkItem[];
14
+ content?: ReactNode;
15
+ chips?: ChipItem[];
16
+ onChipClick?: (item: ChipItem, index: number) => void;
17
+ onLinkClick?: (item: LinkItem, index: number) => void;
18
+ } & NativeProps<'--background-color'>;
19
+ export declare const Footer: FC<FooterProps>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Footer = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+
12
+ var _nativeProps = require("../../utils/native-props");
13
+
14
+ var _withDefaultProps = require("../../utils/with-default-props");
15
+
16
+ var _divider = require("../divider/divider");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ const classPrefix = `adm-footer`;
21
+ const defaultProps = {
22
+ label: '',
23
+ links: [],
24
+ content: '',
25
+ chips: []
26
+ };
27
+
28
+ const Footer = p => {
29
+ const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
30
+ const {
31
+ label,
32
+ links,
33
+ content,
34
+ chips,
35
+ onChipClick,
36
+ onLinkClick
37
+ } = props;
38
+
39
+ const clickChipItem = (item, index) => {
40
+ if ((chips === null || chips === void 0 ? void 0 : chips.length) && item.type === 'link') {
41
+ onChipClick === null || onChipClick === void 0 ? void 0 : onChipClick(item, index);
42
+ }
43
+ };
44
+
45
+ const clickLinkItem = (item, index, e) => {
46
+ if (onLinkClick) {
47
+ e.preventDefault();
48
+ onLinkClick(item, index);
49
+ }
50
+ };
51
+
52
+ return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
53
+ className: (0, _classnames.default)(classPrefix)
54
+ }, label && _react.default.createElement("div", {
55
+ className: `${classPrefix}-label`
56
+ }, _react.default.createElement(_divider.Divider, null, label)), links && links.length > 0 && _react.default.createElement("div", {
57
+ className: `${classPrefix}-links`
58
+ }, links.map((link, index) => {
59
+ return _react.default.createElement(_react.default.Fragment, {
60
+ key: index
61
+ }, _react.default.createElement("a", {
62
+ href: link.href,
63
+ rel: 'noopener noreferrer',
64
+ onClick: event => clickLinkItem(link, index, event)
65
+ }, link.text), index !== links.length - 1 && _react.default.createElement(_divider.Divider, {
66
+ direction: 'vertical'
67
+ }));
68
+ })), content && _react.default.createElement("div", {
69
+ className: `${classPrefix}-content`
70
+ }, content), chips && chips.length > 0 && _react.default.createElement("div", {
71
+ className: `${classPrefix}-chips`
72
+ }, chips.map((chip, index) => {
73
+ return _react.default.createElement("div", {
74
+ key: index,
75
+ onClick: () => clickChipItem(chip, index),
76
+ className: (0, _classnames.default)(`${classPrefix}-chip`, {
77
+ [`${classPrefix}-chip-link`]: chip.type === 'link'
78
+ })
79
+ }, chip.text);
80
+ }))));
81
+ };
82
+
83
+ exports.Footer = Footer;
@@ -0,0 +1,4 @@
1
+ import './footer.less';
2
+ import { Footer } from './footer';
3
+ export type { FooterProps, ChipItem, LinkItem } from './footer';
4
+ export default Footer;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("./footer.css");
9
+
10
+ var _footer2 = require("./footer");
11
+
12
+ var _default = _footer2.Footer;
13
+ exports.default = _default;
@@ -54,7 +54,6 @@
54
54
  }
55
55
  .adm-form-item.adm-form-item-horizontal.adm-list-item {
56
56
  --align-items: stretch;
57
- --prefix-width: 6.8em;
58
57
  }
59
58
  .adm-form-item.adm-form-item-horizontal .adm-list-item-content-prefix {
60
59
  padding-top: 12px;
@@ -1,10 +1,12 @@
1
1
  .adm-form {
2
- --border-inner: solid 1px var(--adm-color-border);
3
- --border-top: solid 1px var(--adm-color-border);
4
- --border-bottom: solid 1px var(--adm-color-border);
2
+ --border-inner: solid 1px var(--adm-border-color);
3
+ --border-top: solid 1px var(--adm-border-color);
4
+ --border-bottom: solid 1px var(--adm-border-color);
5
+ --prefix-width: 6.8em;
5
6
  ---border-inner: var(--border-inner);
6
7
  ---border-top: var(--border-top);
7
8
  ---border-bottom: var(--border-bottom);
9
+ ---prefix-width: var(--prefix-width);
8
10
  }
9
11
  .adm-form .adm-list.adm-list {
10
12
  --padding-left: 16px;
@@ -16,6 +18,9 @@
16
18
  .adm-form .adm-form-footer {
17
19
  padding: 20px 12px;
18
20
  }
21
+ .adm-form .adm-form-item-horizontal.adm-list-item {
22
+ --prefix-width: var(---prefix-width);
23
+ }
19
24
  .adm-form-list-operation {
20
25
  text-align: center;
21
26
  color: #1677ff;
@@ -4,13 +4,13 @@ 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
6
  export declare type FormInstance = Pick<RCFormInstance, 'getFieldValue' | 'getFieldsValue' | 'getFieldError' | 'getFieldsError' | 'isFieldTouched' | 'isFieldsTouched' | 'resetFields' | 'setFields' | 'setFieldsValue' | 'submit' | 'validateFields'>;
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> & {
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' | '--prefix-width'> & Partial<FormContextType> & {
8
8
  footer?: ReactNode;
9
9
  mode?: ListProps['mode'];
10
10
  };
11
11
  export declare const Form: React.ForwardRefExoticComponent<Pick<RcFormProps<any>, "children" | "form" | "name" | "initialValues" | "preserve" | "validateMessages" | "validateTrigger" | "onFieldsChange" | "onFinish" | "onFinishFailed" | "onValuesChange"> & {
12
12
  className?: string | undefined;
13
- style?: (React.CSSProperties & Partial<Record<"--border-bottom" | "--border-inner" | "--border-top", string>>) | undefined;
13
+ style?: (React.CSSProperties & Partial<Record<"--border-bottom" | "--border-inner" | "--border-top" | "--prefix-width", string>>) | undefined;
14
14
  tabIndex?: number | undefined;
15
15
  } & React.AriaAttributes & Partial<FormContextType> & {
16
16
  footer?: ReactNode;
@@ -1,10 +1,12 @@
1
1
  .adm-form {
2
- --border-inner: solid 1px var(--adm-color-border);
3
- --border-top: solid 1px var(--adm-color-border);
4
- --border-bottom: solid 1px var(--adm-color-border);
2
+ --border-inner: solid 1px var(--adm-border-color);
3
+ --border-top: solid 1px var(--adm-border-color);
4
+ --border-bottom: solid 1px var(--adm-border-color);
5
+ --prefix-width: 6.8em;
5
6
  ---border-inner: var(--border-inner);
6
7
  ---border-top: var(--border-top);
7
8
  ---border-bottom: var(--border-bottom);
9
+ ---prefix-width: var(--prefix-width);
8
10
  }
9
11
  .adm-form .adm-list.adm-list {
10
12
  --padding-left: 16px;
@@ -16,6 +18,9 @@
16
18
  .adm-form .adm-form-footer {
17
19
  padding: 20px 12px;
18
20
  }
21
+ .adm-form .adm-form-item-horizontal.adm-list-item {
22
+ --prefix-width: var(---prefix-width);
23
+ }
19
24
  .adm-form-list-operation {
20
25
  text-align: center;
21
26
  color: #1677ff;
@@ -76,7 +81,6 @@
76
81
  }
77
82
  .adm-form-item.adm-form-item-horizontal.adm-list-item {
78
83
  --align-items: stretch;
79
- --prefix-width: 6.8em;
80
84
  }
81
85
  .adm-form-item.adm-form-item-horizontal .adm-list-item-content-prefix {
82
86
  padding-top: 12px;
@@ -9,7 +9,7 @@ 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"> & {
11
11
  className?: string | undefined;
12
- style?: (import("react").CSSProperties & Partial<Record<"--border-bottom" | "--border-inner" | "--border-top", string>>) | undefined;
12
+ style?: (import("react").CSSProperties & Partial<Record<"--border-bottom" | "--border-inner" | "--border-top" | "--prefix-width", string>>) | undefined;
13
13
  tabIndex?: number | undefined;
14
14
  } & import("react").AriaAttributes & Partial<import("./context").FormContextType> & {
15
15
  footer?: import("react").ReactNode;
@@ -1,17 +1,25 @@
1
1
  import React, { FC, InputHTMLAttributes } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  import type { ImageProps } from '../image';
4
- export declare type TaskStatus = 'pending' | 'fail';
4
+ export declare type TaskStatus = 'pending' | 'fail' | 'success';
5
5
  export interface ImageUploadItem {
6
6
  key?: string | number;
7
7
  url: string;
8
8
  thumbnailUrl?: string;
9
9
  extra?: any;
10
10
  }
11
+ declare type Task = {
12
+ id: number;
13
+ url?: string;
14
+ file: File;
15
+ status: TaskStatus;
16
+ };
17
+ export declare type UploadTask = Pick<Task, 'id' | 'status'>;
11
18
  export declare type ImageUploaderProps = {
12
19
  defaultValue?: ImageUploadItem[];
13
20
  value?: ImageUploadItem[];
14
21
  onChange?: (items: ImageUploadItem[]) => void;
22
+ onUploadQueueChange?: (tasks: UploadTask[]) => void;
15
23
  accept?: string;
16
24
  multiple?: boolean;
17
25
  maxCount?: number;
@@ -28,5 +36,7 @@ export declare type ImageUploaderProps = {
28
36
  showFailed?: boolean;
29
37
  imageFit?: ImageProps['fit'];
30
38
  children?: React.ReactNode;
39
+ renderItem?: (originNode: React.ReactElement, file: ImageUploadItem, fileList: ImageUploadItem[]) => React.ReactNode;
31
40
  } & NativeProps<'--cell-size'>;
32
41
  export declare const ImageUploader: FC<ImageUploaderProps>;
42
+ export {};
@@ -60,10 +60,19 @@ const ImageUploader = p => {
60
60
  return !value.some(fileItem => fileItem.url === task.url);
61
61
  }));
62
62
  }, [value]);
63
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
64
+ var _a;
65
+
66
+ (_a = props.onUploadQueueChange) === null || _a === void 0 ? void 0 : _a.call(props, tasks.map(item => ({
67
+ id: item.id,
68
+ status: item.status
69
+ })));
70
+ }, [tasks]);
63
71
  const idCountRef = (0, _react.useRef)(0);
64
72
  const {
65
73
  maxCount,
66
- onPreview
74
+ onPreview,
75
+ renderItem
67
76
  } = props;
68
77
 
69
78
  function processFile(file, fileList) {
@@ -124,6 +133,7 @@ const ImageUploader = p => {
124
133
  return prev.map(task => {
125
134
  if (task.id === currentTask.id) {
126
135
  return Object.assign(Object.assign({}, task), {
136
+ status: 'success',
127
137
  url: result.url
128
138
  });
129
139
  }
@@ -171,36 +181,43 @@ const ImageUploader = p => {
171
181
  (_a = imageViewerHandlerRef.current) === null || _a === void 0 ? void 0 : _a.close();
172
182
  });
173
183
  const showUpload = props.showUpload && (maxCount === 0 || value.length + tasks.length < maxCount);
184
+
185
+ const renderImages = () => {
186
+ return value.map((fileItem, index) => {
187
+ var _a, _b;
188
+
189
+ const originNode = _react.default.createElement(_previewItem.default, {
190
+ key: (_a = fileItem.key) !== null && _a !== void 0 ? _a : index,
191
+ url: (_b = fileItem.thumbnailUrl) !== null && _b !== void 0 ? _b : fileItem.url,
192
+ deletable: props.deletable,
193
+ imageFit: props.imageFit,
194
+ onClick: () => {
195
+ if (props.preview) {
196
+ previewImage(index);
197
+ }
198
+
199
+ onPreview && onPreview(index, fileItem);
200
+ },
201
+ onDelete: () => (0, _tslib.__awaiter)(void 0, void 0, void 0, function* () {
202
+ var _c;
203
+
204
+ const canDelete = yield (_c = props.onDelete) === null || _c === void 0 ? void 0 : _c.call(props, fileItem);
205
+ if (canDelete === false) return;
206
+ setValue(value.filter((x, i) => i !== index));
207
+ })
208
+ });
209
+
210
+ return renderItem ? renderItem(originNode, fileItem, value) : originNode;
211
+ });
212
+ };
213
+
174
214
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
175
215
  className: classPrefix
176
216
  }, _react.default.createElement(_space.default, {
177
217
  className: `${classPrefix}-space`,
178
218
  wrap: true,
179
219
  block: true
180
- }, value.map((fileItem, index) => {
181
- var _a, _b;
182
-
183
- return _react.default.createElement(_previewItem.default, {
184
- key: (_a = fileItem.key) !== null && _a !== void 0 ? _a : index,
185
- url: (_b = fileItem.thumbnailUrl) !== null && _b !== void 0 ? _b : fileItem.url,
186
- deletable: props.deletable,
187
- imageFit: props.imageFit,
188
- onClick: () => {
189
- if (props.preview) {
190
- previewImage(index);
191
- }
192
-
193
- onPreview && onPreview(index, fileItem);
194
- },
195
- onDelete: () => (0, _tslib.__awaiter)(void 0, void 0, void 0, function* () {
196
- var _c;
197
-
198
- const canDelete = yield (_c = props.onDelete) === null || _c === void 0 ? void 0 : _c.call(props, fileItem);
199
- if (canDelete === false) return;
200
- setValue(value.filter((x, i) => i !== index));
201
- })
202
- });
203
- }), tasks.map(task => {
220
+ }, renderImages(), tasks.map(task => {
204
221
  if (!props.showFailed && task.status === 'fail') {
205
222
  return null;
206
223
  }
@@ -1,4 +1,4 @@
1
1
  import { ImageUploader } from './image-uploader';
2
2
  import './image-uploader.less';
3
- export type { ImageUploadItem, ImageUploaderProps } from './image-uploader';
3
+ export type { ImageUploadItem, ImageUploaderProps, UploadTask, } from './image-uploader';
4
4
  export default ImageUploader;
@@ -47,6 +47,11 @@ const PreviewItem = props => {
47
47
 
48
48
  return '';
49
49
  }, [url, file]);
50
+ (0, _react.useLayoutEffect)(() => {
51
+ return () => {
52
+ URL.revokeObjectURL(src);
53
+ };
54
+ }, [src]);
50
55
 
51
56
  function renderLoading() {
52
57
  return props.status === 'pending' && _react.default.createElement("div", {
@@ -92,8 +92,8 @@ const Slides = (0, _react.forwardRef)((props, ref) => {
92
92
  style: {
93
93
  x: x.to(x => -x)
94
94
  }
95
- }, props.images.map(image => _react.default.createElement(_slide.Slide, {
96
- key: image,
95
+ }, props.images.map((image, index) => _react.default.createElement(_slide.Slide, {
96
+ key: index,
97
97
  image: image,
98
98
  onTap: props.onTap,
99
99
  maxZoom: props.maxZoom,
@@ -24,6 +24,7 @@
24
24
  background: var(--active-dot-color);
25
25
  }
26
26
  .adm-page-indicator-color-white {
27
+ --dot-color: rgba(255, 255, 255, 0.5);
27
28
  --active-dot-color: var(--adm-color-white);
28
29
  }
29
30
  .adm-page-indicator-horizontal {
@@ -24,7 +24,7 @@ declare const _default: import("react").NamedExoticComponent<{
24
24
  popupStyle?: import("react").CSSProperties | undefined;
25
25
  } & Pick<import("../popup").PopupProps, "onClick" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
26
26
  className?: string | undefined;
27
- style?: (import("react").CSSProperties & Partial<Record<"--item-height" | "--header-button-font-size" | "--title-font-size" | "--item-font-size", string>>) | undefined;
27
+ style?: (import("react").CSSProperties & Partial<Record<"--header-button-font-size" | "--title-font-size" | "--item-font-size" | "--item-height", string>>) | undefined;
28
28
  tabIndex?: number | undefined;
29
29
  } & import("react").AriaAttributes & import("react").RefAttributes<import("./picker").PickerActions>> & {
30
30
  readonly type: import("react").ForwardRefExoticComponent<{
@@ -49,7 +49,7 @@ declare const _default: import("react").NamedExoticComponent<{
49
49
  popupStyle?: import("react").CSSProperties | undefined;
50
50
  } & Pick<import("../popup").PopupProps, "onClick" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
51
51
  className?: string | undefined;
52
- style?: (import("react").CSSProperties & Partial<Record<"--item-height" | "--header-button-font-size" | "--title-font-size" | "--item-font-size", string>>) | undefined;
52
+ style?: (import("react").CSSProperties & Partial<Record<"--header-button-font-size" | "--title-font-size" | "--item-font-size" | "--item-height", string>>) | undefined;
53
53
  tabIndex?: number | undefined;
54
54
  } & import("react").AriaAttributes & import("react").RefAttributes<import("./picker").PickerActions>>;
55
55
  } & {
@@ -51,6 +51,6 @@ export declare const Picker: React.MemoExoticComponent<React.ForwardRefExoticCom
51
51
  popupStyle?: React.CSSProperties | undefined;
52
52
  } & Pick<PopupProps, "onClick" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
53
53
  className?: string | undefined;
54
- style?: (React.CSSProperties & Partial<Record<"--item-height" | "--header-button-font-size" | "--title-font-size" | "--item-font-size", string>>) | undefined;
54
+ style?: (React.CSSProperties & Partial<Record<"--header-button-font-size" | "--title-font-size" | "--item-font-size" | "--item-height", string>>) | undefined;
55
55
  tabIndex?: number | undefined;
56
56
  } & React.AriaAttributes & React.RefAttributes<PickerActions>>>;
@@ -118,3 +118,11 @@
118
118
  justify-content: center;
119
119
  align-items: center;
120
120
  }
121
+ .adm-picker-view-item-height-measure {
122
+ position: relative;
123
+ left: 0;
124
+ top: 0;
125
+ height: var(--item-height);
126
+ width: 0;
127
+ pointer-events: none;
128
+ }
@@ -54,11 +54,12 @@ const Wheel = (0, _react.memo)(props => {
54
54
  }));
55
55
  const draggingRef = (0, _react.useRef)(false);
56
56
  const rootRef = (0, _react.useRef)(null);
57
+ const itemHeightMeasureRef = (0, _react.useRef)(null);
57
58
  const itemHeight = (0, _react.useRef)(34);
58
59
  (0, _ahooks.useIsomorphicLayoutEffect)(() => {
59
- const root = rootRef.current;
60
- if (!root) return;
61
- itemHeight.current = (0, _measureCssLength.measureCSSLength)(window.getComputedStyle(root).getPropertyValue('--item-height'));
60
+ const itemHeightMeasure = itemHeightMeasureRef.current;
61
+ if (!itemHeightMeasure) return;
62
+ itemHeight.current = (0, _measureCssLength.measureCSSLength)(window.getComputedStyle(itemHeightMeasure).getPropertyValue('height'));
62
63
  });
63
64
  (0, _ahooks.useIsomorphicLayoutEffect)(() => {
64
65
  if (draggingRef.current) return;
@@ -175,7 +176,10 @@ const Wheel = (0, _react.memo)(props => {
175
176
 
176
177
  return _react.default.createElement("div", {
177
178
  className: `${classPrefix}-column`
178
- }, _react.default.createElement(_web.animated.div, {
179
+ }, _react.default.createElement("div", {
180
+ className: `${classPrefix}-item-height-measure`,
181
+ ref: itemHeightMeasureRef
182
+ }), _react.default.createElement(_web.animated.div, {
179
183
  ref: rootRef,
180
184
  style: {
181
185
  translateY: y
@@ -167,11 +167,11 @@ const Popover = (0, _react.forwardRef)((p, ref) => {
167
167
  (0, _ahooks.useClickAway)(() => {
168
168
  if (!props.trigger) return;
169
169
  setVisible(false);
170
- }, () => {
170
+ }, [() => {
171
171
  var _a;
172
172
 
173
173
  return (_a = targetRef.current) === null || _a === void 0 ? void 0 : _a.element;
174
- });
174
+ }, floatingRef], ['click', 'touchmove']);
175
175
  const shouldRender = (0, _shouldRender.useShouldRender)(visible, false, props.destroyOnHide);
176
176
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_wrapper.Wrapper, {
177
177
  ref: targetRef
@@ -1,7 +1,8 @@
1
1
  .adm-rate {
2
2
  --star-size: 24px;
3
3
  --active-color: #ffd21e;
4
- --inactive-color: var(--adm-color-border);
4
+ --inactive-color: #e5e5e5;
5
+ --inactive-color-half: #dbdbdb;
5
6
  display: inline-flex;
6
7
  touch-action: pan-y;
7
8
  -webkit-user-select: none;
@@ -34,3 +35,6 @@
34
35
  .adm-rate-star-readonly {
35
36
  cursor: unset;
36
37
  }
38
+ .adm-rate.adm-rate-half .adm-rate-star-half:not(.adm-rate-star-active) {
39
+ color: var(--inactive-color-half);
40
+ }
@@ -85,7 +85,9 @@ const Rate = p => {
85
85
  filterTaps: true
86
86
  });
87
87
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", Object.assign({
88
- className: classPrefix,
88
+ className: (0, _classnames.default)(classPrefix, {
89
+ [`${classPrefix}-half`]: props.allowHalf
90
+ }),
89
91
  role: 'radiogroup',
90
92
  "aria-readonly": props.readOnly,
91
93
  ref: containerRef
@@ -92,11 +92,24 @@
92
92
  user-select: none;
93
93
  transform: translateX(-50%);
94
94
  }
95
- .adm-slider-disabled {
95
+ .adm-slider-disabled .adm-slider-mark,
96
+ .adm-slider-disabled .adm-slider-thumb-icon {
96
97
  opacity: 0.4;
97
98
  }
99
+ .adm-slider-disabled .adm-slider-tick-active::after,
100
+ .adm-slider-disabled .adm-slider-fill::after {
101
+ content: '';
102
+ position: absolute;
103
+ left: 0;
104
+ top: 0;
105
+ right: 0;
106
+ bottom: 0;
107
+ border-radius: inherit;
108
+ background-color: rgba(255, 255, 255, 0.6);
109
+ }
98
110
  .adm-slider-disabled .adm-slider-thumb {
99
111
  cursor: not-allowed;
112
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.06);
100
113
  }
101
114
  .adm-slider-disabled .adm-slider-mark-text,
102
115
  .adm-slider-disabled .adm-slider-tick {
@@ -14,6 +14,7 @@ export declare type SliderProps = {
14
14
  range?: boolean;
15
15
  icon?: ReactNode;
16
16
  popover?: boolean | ((value: number) => ReactNode);
17
+ residentPopover?: boolean;
17
18
  onChange?: (value: SliderValue) => void;
18
19
  onAfterChange?: (value: SliderValue) => void;
19
20
  } & NativeProps<'--fill-color'>;
@@ -23,6 +23,8 @@ var _nearest = require("../../utils/nearest");
23
23
 
24
24
  var _usePropsValue = require("../../utils/use-props-value");
25
25
 
26
+ var _devLog = require("../../utils/dev-log");
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); }
@@ -37,7 +39,8 @@ const defaultProps = {
37
39
  ticks: false,
38
40
  range: false,
39
41
  disabled: false,
40
- popover: false
42
+ popover: false,
43
+ residentPopover: false
41
44
  };
42
45
 
43
46
  const Slider = p => {
@@ -72,8 +75,15 @@ const Slider = p => {
72
75
  (_a = props.onAfterChange) === null || _a === void 0 ? void 0 : _a.call(props, reverseValue(value));
73
76
  }
74
77
 
78
+ let propsValue = props.value;
79
+
80
+ if (props.range && typeof props.value === 'number') {
81
+ (0, _devLog.devWarning)('Slider', 'When `range` prop is enabled, the `value` prop should be an array, like: [0, 0]');
82
+ propsValue = [0, props.value];
83
+ }
84
+
75
85
  const [rawValue, setRawValue] = (0, _usePropsValue.usePropsValue)({
76
- value: props.value,
86
+ value: propsValue,
77
87
  defaultValue: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : props.range ? [min, min] : min,
78
88
  onChange: props.onChange
79
89
  });
@@ -159,6 +169,7 @@ const Slider = p => {
159
169
  trackRef: trackRef,
160
170
  icon: icon,
161
171
  popover: props.popover,
172
+ residentPopover: props.residentPopover,
162
173
  onDrag: (position, first, last) => {
163
174
  if (first) {
164
175
  dragLockRef.current += 1;