antd-mobile 5.4.0 → 5.6.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 (227) hide show
  1. package/2x/cjs/components/action-sheet/action-sheet.d.ts +5 -5
  2. package/2x/cjs/components/action-sheet/action-sheet.js +6 -46
  3. package/2x/cjs/components/action-sheet/index.d.ts +1 -1
  4. package/2x/cjs/components/badge/badge.js +1 -1
  5. package/2x/cjs/components/cascader-view/cascader-view.d.ts +1 -0
  6. package/2x/cjs/components/cascader-view/cascader-view.js +7 -0
  7. package/2x/cjs/components/cascader-view/use-cascader-value-extend.js +23 -0
  8. package/2x/cjs/components/check-list/check-list-item.js +1 -1
  9. package/2x/cjs/components/checkbox/checkbox.js +4 -8
  10. package/2x/cjs/components/checkbox/native-input.d.ts +10 -0
  11. package/2x/cjs/components/checkbox/native-input.js +42 -0
  12. package/2x/cjs/components/dialog/index.d.ts +1 -1
  13. package/2x/cjs/components/dialog/show.d.ts +2 -4
  14. package/2x/cjs/components/dialog/show.js +9 -47
  15. package/2x/cjs/components/dot-loading/dot-loading.js +1 -2
  16. package/2x/cjs/components/error-block/error-block.js +4 -2
  17. package/2x/cjs/components/floating-bubble/floating-bubble.css +2 -1
  18. package/2x/cjs/components/floating-bubble/floating-bubble.d.ts +1 -1
  19. package/2x/cjs/components/floating-bubble/floating-bubble.js +14 -5
  20. package/2x/cjs/components/form/form-array.d.ts +19 -0
  21. package/2x/cjs/components/form/form-array.js +52 -0
  22. package/2x/cjs/components/form/form-item.css +6 -1
  23. package/2x/cjs/components/form/form-item.js +24 -8
  24. package/2x/cjs/components/form/form.css +5 -0
  25. package/2x/cjs/components/form/form.js +16 -5
  26. package/2x/cjs/components/form/index.css +11 -1
  27. package/2x/cjs/components/form/index.d.ts +2 -0
  28. package/2x/cjs/components/form/index.js +3 -0
  29. package/2x/cjs/components/image-uploader/image-uploader.d.ts +1 -1
  30. package/2x/cjs/components/image-uploader/image-uploader.js +17 -1
  31. package/2x/cjs/components/image-viewer/index.d.ts +1 -1
  32. package/2x/cjs/components/image-viewer/methods.d.ts +3 -4
  33. package/2x/cjs/components/image-viewer/methods.js +41 -56
  34. package/2x/cjs/components/modal/index.d.ts +1 -1
  35. package/2x/cjs/components/modal/show.d.ts +2 -4
  36. package/2x/cjs/components/modal/show.js +9 -47
  37. package/2x/cjs/components/popover/index.d.ts +7 -2
  38. package/2x/cjs/components/popover/normalize-placement.d.ts +2 -0
  39. package/2x/cjs/components/popover/normalize-placement.js +22 -0
  40. package/2x/cjs/components/popover/popover.css +0 -104
  41. package/2x/cjs/components/popover/popover.d.ts +11 -5
  42. package/2x/cjs/components/popover/popover.js +127 -22
  43. package/2x/cjs/components/popover/temp-floating-ui.min.d.ts +1 -0
  44. package/2x/cjs/components/popover/temp-floating-ui.min.js +1 -0
  45. package/2x/cjs/components/popover/wrapper.d.ts +7 -0
  46. package/2x/cjs/components/popover/wrapper.js +41 -0
  47. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.js +24 -9
  48. package/2x/cjs/components/radio/radio.js +4 -8
  49. package/2x/cjs/components/search-bar/search-bar.d.ts +1 -1
  50. package/2x/cjs/components/tab-bar/tab-bar.d.ts +1 -1
  51. package/2x/cjs/components/tab-bar/tab-bar.js +1 -1
  52. package/2x/cjs/components/tree-select/tree-select.js +2 -2
  53. package/2x/cjs/utils/render-imperatively.d.ts +10 -0
  54. package/2x/cjs/utils/render-imperatively.js +58 -0
  55. package/2x/cjs/utils/use-props-value.d.ts +2 -1
  56. package/2x/cjs/utils/use-props-value.js +4 -2
  57. package/2x/es/components/action-sheet/action-sheet.d.ts +5 -5
  58. package/2x/es/components/action-sheet/action-sheet.js +5 -41
  59. package/2x/es/components/action-sheet/index.d.ts +1 -1
  60. package/2x/es/components/badge/badge.js +1 -1
  61. package/2x/es/components/cascader-view/cascader-view.d.ts +1 -0
  62. package/2x/es/components/cascader-view/cascader-view.js +7 -0
  63. package/2x/es/components/cascader-view/use-cascader-value-extend.js +23 -0
  64. package/2x/es/components/check-list/check-list-item.js +1 -1
  65. package/2x/es/components/checkbox/checkbox.js +3 -8
  66. package/2x/es/components/checkbox/native-input.d.ts +10 -0
  67. package/2x/es/components/checkbox/native-input.js +28 -0
  68. package/2x/es/components/dialog/index.d.ts +1 -1
  69. package/2x/es/components/dialog/show.d.ts +2 -4
  70. package/2x/es/components/dialog/show.js +8 -44
  71. package/2x/es/components/dot-loading/dot-loading.js +1 -2
  72. package/2x/es/components/error-block/error-block.js +4 -2
  73. package/2x/es/components/floating-bubble/floating-bubble.css +2 -1
  74. package/2x/es/components/floating-bubble/floating-bubble.d.ts +1 -1
  75. package/2x/es/components/floating-bubble/floating-bubble.js +14 -5
  76. package/2x/es/components/form/form-array.d.ts +19 -0
  77. package/2x/es/components/form/form-array.js +38 -0
  78. package/2x/es/components/form/form-item.css +6 -1
  79. package/2x/es/components/form/form-item.js +22 -8
  80. package/2x/es/components/form/form.css +5 -0
  81. package/2x/es/components/form/form.js +15 -5
  82. package/2x/es/components/form/index.css +11 -1
  83. package/2x/es/components/form/index.d.ts +2 -0
  84. package/2x/es/components/form/index.js +2 -0
  85. package/2x/es/components/image-uploader/image-uploader.d.ts +1 -1
  86. package/2x/es/components/image-uploader/image-uploader.js +17 -1
  87. package/2x/es/components/image-viewer/index.d.ts +1 -1
  88. package/2x/es/components/image-viewer/methods.d.ts +3 -4
  89. package/2x/es/components/image-viewer/methods.js +38 -57
  90. package/2x/es/components/modal/index.d.ts +1 -1
  91. package/2x/es/components/modal/show.d.ts +2 -4
  92. package/2x/es/components/modal/show.js +8 -44
  93. package/2x/es/components/popover/index.d.ts +7 -2
  94. package/2x/es/components/popover/normalize-placement.d.ts +2 -0
  95. package/2x/es/components/popover/normalize-placement.js +15 -0
  96. package/2x/es/components/popover/popover.css +0 -104
  97. package/2x/es/components/popover/popover.d.ts +11 -5
  98. package/2x/es/components/popover/popover.js +119 -22
  99. package/2x/es/components/popover/temp-floating-ui.min.d.ts +1 -0
  100. package/2x/es/components/popover/temp-floating-ui.min.js +1 -0
  101. package/2x/es/components/popover/wrapper.d.ts +7 -0
  102. package/2x/es/components/popover/wrapper.js +28 -0
  103. package/2x/es/components/pull-to-refresh/pull-to-refresh.js +24 -9
  104. package/2x/es/components/radio/radio.js +3 -8
  105. package/2x/es/components/search-bar/search-bar.d.ts +1 -1
  106. package/2x/es/components/tab-bar/tab-bar.d.ts +1 -1
  107. package/2x/es/components/tab-bar/tab-bar.js +1 -1
  108. package/2x/es/components/tree-select/tree-select.js +2 -2
  109. package/2x/es/utils/render-imperatively.d.ts +10 -0
  110. package/2x/es/utils/render-imperatively.js +45 -0
  111. package/2x/es/utils/use-props-value.d.ts +2 -1
  112. package/2x/es/utils/use-props-value.js +4 -2
  113. package/2x/package.json +3 -4
  114. package/cjs/components/action-sheet/action-sheet.d.ts +5 -5
  115. package/cjs/components/action-sheet/action-sheet.js +6 -46
  116. package/cjs/components/action-sheet/index.d.ts +1 -1
  117. package/cjs/components/badge/badge.js +1 -1
  118. package/cjs/components/cascader-view/cascader-view.d.ts +1 -0
  119. package/cjs/components/cascader-view/cascader-view.js +7 -0
  120. package/cjs/components/cascader-view/use-cascader-value-extend.js +23 -0
  121. package/cjs/components/check-list/check-list-item.js +1 -1
  122. package/cjs/components/checkbox/checkbox.js +4 -8
  123. package/cjs/components/checkbox/native-input.d.ts +10 -0
  124. package/cjs/components/checkbox/native-input.js +42 -0
  125. package/cjs/components/dialog/index.d.ts +1 -1
  126. package/cjs/components/dialog/show.d.ts +2 -4
  127. package/cjs/components/dialog/show.js +9 -47
  128. package/cjs/components/dot-loading/dot-loading.js +1 -2
  129. package/cjs/components/error-block/error-block.js +4 -2
  130. package/cjs/components/floating-bubble/floating-bubble.css +2 -1
  131. package/cjs/components/floating-bubble/floating-bubble.d.ts +1 -1
  132. package/cjs/components/floating-bubble/floating-bubble.js +14 -5
  133. package/cjs/components/form/form-array.d.ts +19 -0
  134. package/cjs/components/form/form-array.js +52 -0
  135. package/cjs/components/form/form-item.css +5 -1
  136. package/cjs/components/form/form-item.js +24 -8
  137. package/cjs/components/form/form.css +4 -0
  138. package/cjs/components/form/form.js +16 -5
  139. package/cjs/components/form/index.css +9 -1
  140. package/cjs/components/form/index.d.ts +2 -0
  141. package/cjs/components/form/index.js +3 -0
  142. package/cjs/components/image-uploader/image-uploader.d.ts +1 -1
  143. package/cjs/components/image-uploader/image-uploader.js +17 -1
  144. package/cjs/components/image-viewer/index.d.ts +1 -1
  145. package/cjs/components/image-viewer/methods.d.ts +3 -4
  146. package/cjs/components/image-viewer/methods.js +41 -56
  147. package/cjs/components/modal/index.d.ts +1 -1
  148. package/cjs/components/modal/show.d.ts +2 -4
  149. package/cjs/components/modal/show.js +9 -47
  150. package/cjs/components/popover/index.d.ts +7 -2
  151. package/cjs/components/popover/normalize-placement.d.ts +2 -0
  152. package/cjs/components/popover/normalize-placement.js +22 -0
  153. package/cjs/components/popover/popover.css +0 -84
  154. package/cjs/components/popover/popover.d.ts +11 -5
  155. package/cjs/components/popover/popover.js +127 -22
  156. package/cjs/components/popover/temp-floating-ui.min.d.ts +1 -0
  157. package/cjs/components/popover/temp-floating-ui.min.js +1 -0
  158. package/cjs/components/popover/wrapper.d.ts +7 -0
  159. package/cjs/components/popover/wrapper.js +41 -0
  160. package/cjs/components/pull-to-refresh/pull-to-refresh.js +24 -9
  161. package/cjs/components/radio/radio.js +4 -8
  162. package/cjs/components/search-bar/search-bar.d.ts +1 -1
  163. package/cjs/components/tab-bar/tab-bar.d.ts +1 -1
  164. package/cjs/components/tab-bar/tab-bar.js +1 -1
  165. package/cjs/components/tree-select/tree-select.js +2 -2
  166. package/cjs/utils/render-imperatively.d.ts +10 -0
  167. package/cjs/utils/render-imperatively.js +58 -0
  168. package/cjs/utils/use-props-value.d.ts +2 -1
  169. package/cjs/utils/use-props-value.js +4 -2
  170. package/es/components/action-sheet/action-sheet.d.ts +5 -5
  171. package/es/components/action-sheet/action-sheet.js +5 -41
  172. package/es/components/action-sheet/index.d.ts +1 -1
  173. package/es/components/badge/badge.js +1 -1
  174. package/es/components/cascader-view/cascader-view.d.ts +1 -0
  175. package/es/components/cascader-view/cascader-view.js +7 -0
  176. package/es/components/cascader-view/use-cascader-value-extend.js +23 -0
  177. package/es/components/check-list/check-list-item.js +1 -1
  178. package/es/components/checkbox/checkbox.js +3 -8
  179. package/es/components/checkbox/native-input.d.ts +10 -0
  180. package/es/components/checkbox/native-input.js +28 -0
  181. package/es/components/dialog/index.d.ts +1 -1
  182. package/es/components/dialog/show.d.ts +2 -4
  183. package/es/components/dialog/show.js +8 -44
  184. package/es/components/dot-loading/dot-loading.js +1 -2
  185. package/es/components/error-block/error-block.js +4 -2
  186. package/es/components/floating-bubble/floating-bubble.css +2 -1
  187. package/es/components/floating-bubble/floating-bubble.d.ts +1 -1
  188. package/es/components/floating-bubble/floating-bubble.js +14 -5
  189. package/es/components/form/form-array.d.ts +19 -0
  190. package/es/components/form/form-array.js +38 -0
  191. package/es/components/form/form-item.css +5 -1
  192. package/es/components/form/form-item.js +22 -8
  193. package/es/components/form/form.css +4 -0
  194. package/es/components/form/form.js +15 -5
  195. package/es/components/form/index.css +9 -1
  196. package/es/components/form/index.d.ts +2 -0
  197. package/es/components/form/index.js +2 -0
  198. package/es/components/image-uploader/image-uploader.d.ts +1 -1
  199. package/es/components/image-uploader/image-uploader.js +17 -1
  200. package/es/components/image-viewer/index.d.ts +1 -1
  201. package/es/components/image-viewer/methods.d.ts +3 -4
  202. package/es/components/image-viewer/methods.js +38 -57
  203. package/es/components/modal/index.d.ts +1 -1
  204. package/es/components/modal/show.d.ts +2 -4
  205. package/es/components/modal/show.js +8 -44
  206. package/es/components/popover/index.d.ts +7 -2
  207. package/es/components/popover/normalize-placement.d.ts +2 -0
  208. package/es/components/popover/normalize-placement.js +15 -0
  209. package/es/components/popover/popover.css +0 -84
  210. package/es/components/popover/popover.d.ts +11 -5
  211. package/es/components/popover/popover.js +119 -22
  212. package/es/components/popover/temp-floating-ui.min.d.ts +1 -0
  213. package/es/components/popover/temp-floating-ui.min.js +1 -0
  214. package/es/components/popover/wrapper.d.ts +7 -0
  215. package/es/components/popover/wrapper.js +28 -0
  216. package/es/components/pull-to-refresh/pull-to-refresh.js +24 -9
  217. package/es/components/radio/radio.js +3 -8
  218. package/es/components/search-bar/search-bar.d.ts +1 -1
  219. package/es/components/tab-bar/tab-bar.d.ts +1 -1
  220. package/es/components/tab-bar/tab-bar.js +1 -1
  221. package/es/components/tree-select/tree-select.js +2 -2
  222. package/es/utils/render-imperatively.d.ts +10 -0
  223. package/es/utils/render-imperatively.js +45 -0
  224. package/es/utils/use-props-value.d.ts +2 -1
  225. package/es/utils/use-props-value.js +4 -2
  226. package/package.json +3 -4
  227. package/umd/antd-mobile.js +1 -1
@@ -25,6 +25,8 @@ var _configProvider = require("../config-provider");
25
25
 
26
26
  var _merge = _interopRequireDefault(require("lodash/merge"));
27
27
 
28
+ var _formArray = require("./form-array");
29
+
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
31
 
30
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); }
@@ -67,12 +69,21 @@ const Form = (0, _react.forwardRef)((p, ref) => {
67
69
  }
68
70
 
69
71
  _react.default.Children.forEach(props.children, child => {
70
- if (_react.default.isValidElement(child) && child.type === _header.Header) {
71
- collect();
72
- currentHeader = child.props.children;
73
- } else {
74
- items.push(child);
72
+ if (_react.default.isValidElement(child)) {
73
+ if (child.type === _header.Header) {
74
+ collect();
75
+ currentHeader = child.props.children;
76
+ return;
77
+ }
78
+
79
+ if (child.type === _formArray.FormArray) {
80
+ collect();
81
+ lists.push(child);
82
+ return;
83
+ }
75
84
  }
85
+
86
+ items.push(child);
76
87
  });
77
88
 
78
89
  collect();
@@ -19,6 +19,11 @@
19
19
  padding: 40px 24px;
20
20
  }
21
21
 
22
+ .adm-form-list-operation {
23
+ text-align: center;
24
+ color: #1677ff;
25
+ }
26
+
22
27
  .adm-form-item + .adm-form-item {
23
28
  border-top: none;
24
29
  }
@@ -71,11 +76,16 @@
71
76
  flex: none;
72
77
  }
73
78
 
74
- .adm-form-item-footer {
79
+ .adm-form-item-feedback-error {
75
80
  color: var(--adm-color-danger);
76
81
  margin-top: 8px;
77
82
  }
78
83
 
84
+ .adm-form-item-feedback-warning {
85
+ color: var(--adm-color-warning);
86
+ margin-top: 8px;
87
+ }
88
+
79
89
  .adm-form-item.adm-form-item-hidden {
80
90
  display: none;
81
91
  }
@@ -6,6 +6,7 @@ export type { FormProps, FormInstance } from './form';
6
6
  export type { FormItemProps } from './form-item';
7
7
  export type { FormSubscribeProps } from './form-subscribe';
8
8
  export type { ValidateMessages, FieldData, NamePath, } from 'rc-field-form/es/interface';
9
+ export type { FormArrayField, FormArrayOperation, FormArrayProps, } from './form-array';
9
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> & {
10
11
  footer?: import("react").ReactNode;
11
12
  layout?: FormLayout | undefined;
@@ -14,6 +15,7 @@ declare const _default: import("react").ForwardRefExoticComponent<Pick<import("r
14
15
  Item: import("react").FC<import("./form-item").FormItemProps>;
15
16
  Subscribe: import("react").VFC<import("./form-subscribe").FormSubscribeProps>;
16
17
  Header: import("react").FC<{}>;
18
+ Array: import("react").FC<import("./form-array").FormArrayProps>;
17
19
  useForm: typeof useForm;
18
20
  };
19
21
  export default _default;
@@ -19,10 +19,13 @@ var _rcFieldForm = require("rc-field-form");
19
19
 
20
20
  var _formSubscribe = require("./form-subscribe");
21
21
 
22
+ var _formArray = require("./form-array");
23
+
22
24
  var _default = (0, _attachPropertiesToComponent.attachPropertiesToComponent)(_form.Form, {
23
25
  Item: _formItem.FormItem,
24
26
  Subscribe: _formSubscribe.FormSubscribe,
25
27
  Header: _header.Header,
28
+ Array: _formArray.FormArray,
26
29
  useForm: _rcFieldForm.useForm
27
30
  });
28
31
 
@@ -20,7 +20,7 @@ export declare type ImageUploaderProps = {
20
20
  deletable?: boolean;
21
21
  capture?: InputHTMLAttributes<unknown>['capture'];
22
22
  onPreview?: (index: number, item: ImageUploadItem) => void;
23
- beforeUpload?: (file: File[]) => Promise<File[]> | File[];
23
+ beforeUpload?: (file: File, files: File[]) => Promise<File | null> | File | null;
24
24
  upload: (file: File) => Promise<ImageUploadItem>;
25
25
  onDelete?: (item: ImageUploadItem) => boolean | Promise<boolean> | void;
26
26
  preview?: boolean;
@@ -63,6 +63,17 @@ const ImageUploader = p => {
63
63
  onPreview
64
64
  } = props;
65
65
 
66
+ function processFile(file, fileList) {
67
+ return (0, _tslib.__awaiter)(this, void 0, void 0, function* () {
68
+ const {
69
+ beforeUpload
70
+ } = props;
71
+ let transformedFile = file;
72
+ transformedFile = yield beforeUpload === null || beforeUpload === void 0 ? void 0 : beforeUpload(file, fileList);
73
+ return transformedFile;
74
+ });
75
+ }
76
+
66
77
  function onChange(e) {
67
78
  var _a;
68
79
 
@@ -75,7 +86,12 @@ const ImageUploader = p => {
75
86
  let files = [].slice.call(rawFiles);
76
87
 
77
88
  if (props.beforeUpload) {
78
- files = yield props.beforeUpload(files);
89
+ const postFiles = files.map(file => {
90
+ return processFile(file, files);
91
+ });
92
+ yield Promise.all(postFiles).then(filesList => {
93
+ files = filesList.filter(Boolean);
94
+ });
79
95
  }
80
96
 
81
97
  if (files.length === 0) {
@@ -2,7 +2,7 @@
2
2
  import './image-viewer.less';
3
3
  import { showMultiImageViewer, showImageViewer, clearImageViewer } from './methods';
4
4
  export type { ImageViewerProps, MultiImageViewerProps, MultiImageViewerRef, } from './image-viewer';
5
- export type { ImageViewerHandler } from './methods';
5
+ export type { ImageViewerShowHandler } from './methods';
6
6
  declare const _default: import("react").FC<import("./image-viewer").ImageViewerProps> & {
7
7
  Multi: import("react").ForwardRefExoticComponent<Omit<import("./image-viewer").ImageViewerProps, "image"> & {
8
8
  images?: string[] | undefined;
@@ -1,11 +1,10 @@
1
1
  import { ImageViewerProps, MultiImageViewerProps } from './image-viewer';
2
- export declare type ImageViewerHandler = {
3
- close: () => void;
4
- };
5
- export declare function showImageViewer(props: Omit<ImageViewerProps, 'visible'>): {
2
+ export declare type ImageViewerShowHandler = {
6
3
  close: () => void;
7
4
  };
5
+ export declare function showImageViewer(props: Omit<ImageViewerProps, 'visible'>): ImageViewerShowHandler;
8
6
  export declare function showMultiImageViewer(props: Omit<MultiImageViewerProps, 'visible'>): {
9
7
  close: () => void;
10
8
  };
11
9
  export declare function clearImageViewer(): void;
10
+ export declare const getH: () => void;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.clearImageViewer = clearImageViewer;
7
+ exports.getH = void 0;
7
8
  exports.showImageViewer = showImageViewer;
8
9
  exports.showMultiImageViewer = showMultiImageViewer;
9
10
 
@@ -13,7 +14,7 @@ var _renderToBody = require("../../utils/render-to-body");
13
14
 
14
15
  var _imageViewer = require("./image-viewer");
15
16
 
16
- var _ahooks = require("ahooks");
17
+ var _renderImperatively = require("../../utils/render-imperatively");
17
18
 
18
19
  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); }
19
20
 
@@ -23,45 +24,14 @@ const handlerSet = new Set();
23
24
 
24
25
  function showImageViewer(props) {
25
26
  clearImageViewer();
26
- const Wrapper = (0, _react.forwardRef)((_, ref) => {
27
- const [visible, setVisible] = (0, _react.useState)(false);
28
- (0, _react.useEffect)(() => {
29
- setVisible(true);
30
- }, []);
31
- const isUnmountedRef = (0, _ahooks.useUnmountedRef)();
32
- (0, _react.useImperativeHandle)(ref, () => ({
33
- close: () => {
34
- if (isUnmountedRef.current) return;
35
- setVisible(false);
36
- }
37
- }));
38
- return _react.default.createElement(_imageViewer.ImageViewer, Object.assign({}, props, {
39
- visible: visible,
40
- onClose: () => {
41
- var _a;
42
-
43
- (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
44
- setVisible(false);
45
- },
46
- afterClose: () => {
47
- var _a;
48
-
49
- (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
50
- unmount();
51
- }
52
- }));
53
- });
54
- const ref = (0, _react.createRef)();
55
- const unmount = (0, _renderToBody.renderToBody)(_react.default.createElement(Wrapper, {
56
- ref: ref
57
- }));
58
- const handler = {
59
- close: () => {
27
+ const handler = (0, _renderImperatively.renderImperatively)(_react.default.createElement(_imageViewer.ImageViewer, Object.assign({}, props, {
28
+ afterClose: () => {
60
29
  var _a;
61
30
 
62
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.close();
31
+ handlerSet.delete(handler);
32
+ (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
63
33
  }
64
- };
34
+ })));
65
35
  handlerSet.add(handler);
66
36
  return handler;
67
37
  }
@@ -70,30 +40,39 @@ function showMultiImageViewer(props) {
70
40
  clearImageViewer();
71
41
  const Wrapper = (0, _react.forwardRef)((_, ref) => {
72
42
  const [visible, setVisible] = (0, _react.useState)(false);
43
+ const closedRef = (0, _react.useRef)(false);
73
44
  (0, _react.useEffect)(() => {
74
- setVisible(true);
45
+ if (!closedRef.current) {
46
+ setVisible(true);
47
+ } else {
48
+ handleAfterClose();
49
+ }
75
50
  }, []);
76
- const isUnmountedRef = (0, _ahooks.useUnmountedRef)();
51
+
52
+ function handleClose() {
53
+ var _a;
54
+
55
+ closedRef.current = true;
56
+ (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
57
+ setVisible(false);
58
+ }
59
+
77
60
  (0, _react.useImperativeHandle)(ref, () => ({
78
- close: () => {
79
- if (isUnmountedRef.current) return;
80
- setVisible(false);
81
- }
61
+ close: handleClose
82
62
  }));
83
- return _react.default.createElement(_imageViewer.MultiImageViewer, Object.assign({}, props, {
84
- visible: visible,
85
- onClose: () => {
86
- var _a;
87
63
 
88
- (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
89
- setVisible(false);
90
- },
91
- afterClose: () => {
92
- var _a;
64
+ function handleAfterClose() {
65
+ var _a;
93
66
 
94
- (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
95
- unmount();
96
- }
67
+ (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
68
+ unmount();
69
+ handlerSet.delete(handler);
70
+ }
71
+
72
+ return _react.default.createElement(_imageViewer.MultiImageViewer, Object.assign({}, props, {
73
+ visible: visible,
74
+ onClose: handleClose,
75
+ afterClose: handleAfterClose
97
76
  }));
98
77
  });
99
78
  const ref = (0, _react.createRef)();
@@ -116,4 +95,10 @@ function clearImageViewer() {
116
95
  handler.close();
117
96
  });
118
97
  handlerSet.clear();
119
- }
98
+ }
99
+
100
+ const getH = () => {
101
+ console.log(handlerSet);
102
+ };
103
+
104
+ exports.getH = getH;
@@ -6,7 +6,7 @@ import { confirm } from './confirm';
6
6
  import { clear } from './clear';
7
7
  export type { ModalProps } from './modal';
8
8
  export type { Action } from './modal-action-button';
9
- export type { ModalShowProps, ModalShowRef } from './show';
9
+ export type { ModalShowProps, ModalShowHandler } from './show';
10
10
  export type { ModalAlertProps } from './alert';
11
11
  export type { ModalConfirmProps } from './confirm';
12
12
  declare const _default: import("react").FC<import("./modal").ModalProps> & {
@@ -1,9 +1,7 @@
1
1
  import { ModalProps } from './modal';
2
2
  export declare type ModalShowProps = Omit<ModalProps, 'visible'>;
3
- export declare type ModalShowRef = {
3
+ export declare type ModalShowHandler = {
4
4
  close: () => void;
5
5
  };
6
6
  export declare const closeFnSet: Set<() => void>;
7
- export declare function show(props: ModalShowProps): {
8
- close: () => void;
9
- };
7
+ export declare function show(props: ModalShowProps): ModalShowHandler;
@@ -6,64 +6,26 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.closeFnSet = void 0;
7
7
  exports.show = show;
8
8
 
9
- var _react = _interopRequireWildcard(require("react"));
10
-
11
- var _renderToBody = require("../../utils/render-to-body");
9
+ var _react = _interopRequireDefault(require("react"));
12
10
 
13
11
  var _modal = require("./modal");
14
12
 
15
- 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
+ var _renderImperatively = require("../../utils/render-imperatively");
16
14
 
17
- 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; }
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
16
 
19
17
  const closeFnSet = new Set();
20
18
  exports.closeFnSet = closeFnSet;
21
19
 
22
20
  function show(props) {
23
- const Wrapper = (0, _react.forwardRef)((_, ref) => {
24
- const [visible, setVisible] = (0, _react.useState)(false);
25
- (0, _react.useEffect)(() => {
26
- setVisible(true);
27
- }, []);
28
-
29
- function handleClose() {
30
- var _a;
31
-
32
- (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
33
- setVisible(false);
34
- }
35
-
36
- (0, _react.useImperativeHandle)(ref, () => ({
37
- close: handleClose
38
- }));
39
-
40
- function handleAfterClose() {
21
+ const handler = (0, _renderImperatively.renderImperatively)(_react.default.createElement(_modal.Modal, Object.assign({}, props, {
22
+ afterClose: () => {
41
23
  var _a;
42
24
 
25
+ closeFnSet.delete(handler.close);
43
26
  (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
44
- unmount();
45
- closeFnSet.delete(close);
46
27
  }
47
-
48
- return _react.default.createElement(_modal.Modal, Object.assign({}, props, {
49
- visible: visible,
50
- onClose: handleClose,
51
- afterClose: handleAfterClose
52
- }));
53
- });
54
- const ref = (0, _react.createRef)();
55
- const unmount = (0, _renderToBody.renderToBody)(_react.default.createElement(Wrapper, {
56
- ref: ref
57
- }));
58
-
59
- const close = () => {
60
- var _a;
61
-
62
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.close();
63
- };
64
-
65
- closeFnSet.add(close);
66
- return {
67
- close
68
- };
28
+ })));
29
+ closeFnSet.add(handler.close);
30
+ return handler;
69
31
  }
@@ -3,16 +3,21 @@ import './popover.less';
3
3
  import './popover-menu.less';
4
4
  export type { PopoverProps, PopoverRef } from './popover';
5
5
  export type { PopoverMenuProps, Action } from './popover-menu';
6
+ export declare type Placement = 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end';
7
+ export declare type DeprecatedPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
6
8
  declare const _default: import("react").ForwardRefExoticComponent<{
9
+ defaultVisible?: boolean | undefined;
10
+ visible?: boolean | undefined;
11
+ onVisibleChange?: ((visible: boolean) => void) | undefined;
7
12
  getContainer?: import("../../utils/render-to-container").GetContainer | undefined;
8
13
  destroyOnHide?: boolean | undefined;
9
14
  children: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
10
15
  mode?: "dark" | "light" | undefined;
11
16
  trigger?: "click" | undefined;
12
- placement?: "left" | "right" | "bottom" | "top" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | undefined;
17
+ placement?: DeprecatedPlacement | Placement | undefined;
13
18
  stopPropagation?: "click"[] | undefined;
14
19
  content: import("react").ReactNode;
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>> & {
20
+ } & import("../../utils/native-props").NativeProps<"--z-index"> & import("react").RefAttributes<import("./popover").PopoverRef>> & {
16
21
  Menu: import("react").ForwardRefExoticComponent<Omit<import("./popover").PopoverProps, "content"> & {
17
22
  actions: import("./popover-menu").Action[];
18
23
  onAction?: ((item: import("./popover-menu").Action) => void) | undefined;
@@ -0,0 +1,2 @@
1
+ import { DeprecatedPlacement, Placement } from './index';
2
+ export declare function normalizePlacement(placement: Placement | DeprecatedPlacement): Placement;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.normalizePlacement = normalizePlacement;
7
+ const record = {
8
+ 'topLeft': 'top-start',
9
+ 'topRight': 'top-end',
10
+ 'bottomLeft': 'bottom-start',
11
+ 'bottomRight': 'bottom-end',
12
+ 'leftTop': 'left-start',
13
+ 'leftBottom': 'left-end',
14
+ 'rightTop': 'right-start',
15
+ 'rightBottom': 'right-end'
16
+ };
17
+
18
+ function normalizePlacement(placement) {
19
+ var _a;
20
+
21
+ return (_a = record[placement]) !== null && _a !== void 0 ? _a : placement;
22
+ }
@@ -34,110 +34,6 @@
34
34
  display: none;
35
35
  }
36
36
 
37
- .adm-popover-placement-top,
38
- .adm-popover-placement-topLeft,
39
- .adm-popover-placement-topRight {
40
- padding-bottom: var(--arrow-size);
41
- }
42
-
43
- .adm-popover-placement-top .adm-popover-arrow,
44
- .adm-popover-placement-topLeft .adm-popover-arrow,
45
- .adm-popover-placement-topRight .adm-popover-arrow {
46
- bottom: 0;
47
- --arrow-icon-rotate: 0deg;
48
- }
49
-
50
- .adm-popover-placement-top .adm-popover-arrow {
51
- left: 50%;
52
- transform: translateX(-50%);
53
- }
54
-
55
- .adm-popover-placement-topLeft .adm-popover-arrow {
56
- left: 24px;
57
- }
58
-
59
- .adm-popover-placement-topRight .adm-popover-arrow {
60
- right: 24px;
61
- }
62
-
63
- .adm-popover-placement-right,
64
- .adm-popover-placement-rightTop,
65
- .adm-popover-placement-rightBottom {
66
- padding-left: var(--arrow-size);
67
- }
68
-
69
- .adm-popover-placement-right .adm-popover-arrow,
70
- .adm-popover-placement-rightTop .adm-popover-arrow,
71
- .adm-popover-placement-rightBottom .adm-popover-arrow {
72
- left: 0;
73
- --arrow-icon-rotate: 90deg;
74
- }
75
-
76
- .adm-popover-placement-right .adm-popover-arrow {
77
- top: 50%;
78
- transform: translateY(-50%);
79
- }
80
-
81
- .adm-popover-placement-rightTop .adm-popover-arrow {
82
- top: 24px;
83
- }
84
-
85
- .adm-popover-placement-rightBottom .adm-popover-arrow {
86
- bottom: 24px;
87
- }
88
-
89
- .adm-popover-placement-bottom,
90
- .adm-popover-placement-bottomLeft,
91
- .adm-popover-placement-bottomRight {
92
- padding-top: var(--arrow-size);
93
- }
94
-
95
- .adm-popover-placement-bottom .adm-popover-arrow,
96
- .adm-popover-placement-bottomLeft .adm-popover-arrow,
97
- .adm-popover-placement-bottomRight .adm-popover-arrow {
98
- top: 0;
99
- --arrow-icon-rotate: 180deg;
100
- }
101
-
102
- .adm-popover-placement-bottom .adm-popover-arrow {
103
- left: 50%;
104
- transform: translateX(-50%);
105
- }
106
-
107
- .adm-popover-placement-bottomLeft .adm-popover-arrow {
108
- left: 24px;
109
- }
110
-
111
- .adm-popover-placement-bottomRight .adm-popover-arrow {
112
- right: 24px;
113
- }
114
-
115
- .adm-popover-placement-left,
116
- .adm-popover-placement-leftTop,
117
- .adm-popover-placement-leftBottom {
118
- padding-right: var(--arrow-size);
119
- }
120
-
121
- .adm-popover-placement-left .adm-popover-arrow,
122
- .adm-popover-placement-leftTop .adm-popover-arrow,
123
- .adm-popover-placement-leftBottom .adm-popover-arrow {
124
- right: 0;
125
- --arrow-icon-rotate: 270deg;
126
- }
127
-
128
- .adm-popover-placement-left .adm-popover-arrow {
129
- top: 50%;
130
- transform: translateY(-50%);
131
- }
132
-
133
- .adm-popover-placement-leftTop .adm-popover-arrow {
134
- top: 24px;
135
- }
136
-
137
- .adm-popover-placement-leftBottom .adm-popover-arrow {
138
- bottom: 24px;
139
- }
140
-
141
37
  .adm-popover-inner {
142
38
  background-color: var(--background);
143
39
  background-clip: padding-box;
@@ -1,30 +1,36 @@
1
1
  import React, { ReactElement } from 'react';
2
- import type { TooltipProps } from 'rc-tooltip/lib/Tooltip';
3
2
  import { NativeProps } from '../../utils/native-props';
4
3
  import { PropagationEvent } from '../../utils/with-stop-propagation';
5
4
  import { GetContainer } from '../../utils/render-to-container';
5
+ import { DeprecatedPlacement, Placement } from './index';
6
6
  export declare type PopoverProps = {
7
+ defaultVisible?: boolean;
8
+ visible?: boolean;
9
+ onVisibleChange?: (visible: boolean) => void;
7
10
  getContainer?: GetContainer;
8
11
  destroyOnHide?: boolean;
9
12
  children: ReactElement;
10
13
  mode?: 'light' | 'dark';
11
14
  trigger?: 'click';
12
- placement?: 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
15
+ placement?: Placement | DeprecatedPlacement;
13
16
  stopPropagation?: PropagationEvent[];
14
17
  content: React.ReactNode;
15
- } & Pick<TooltipProps, 'defaultVisible' | 'visible' | 'onVisibleChange' | 'align'> & NativeProps<'--z-index'>;
18
+ } & NativeProps<'--z-index'>;
16
19
  export declare type PopoverRef = {
17
20
  show: () => void;
18
21
  hide: () => void;
19
22
  visible: boolean;
20
23
  };
21
24
  export declare const Popover: React.ForwardRefExoticComponent<{
25
+ defaultVisible?: boolean | undefined;
26
+ visible?: boolean | undefined;
27
+ onVisibleChange?: ((visible: boolean) => void) | undefined;
22
28
  getContainer?: GetContainer | undefined;
23
29
  destroyOnHide?: boolean | undefined;
24
30
  children: ReactElement;
25
31
  mode?: "dark" | "light" | undefined;
26
32
  trigger?: "click" | undefined;
27
- placement?: "left" | "right" | "bottom" | "top" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | undefined;
33
+ placement?: DeprecatedPlacement | Placement | undefined;
28
34
  stopPropagation?: "click"[] | undefined;
29
35
  content: React.ReactNode;
30
- } & Pick<TooltipProps, "visible" | "align" | "defaultVisible" | "onVisibleChange"> & NativeProps<"--z-index"> & React.RefAttributes<PopoverRef>>;
36
+ } & NativeProps<"--z-index"> & React.RefAttributes<PopoverRef>>;