antd-mobile 5.35.0 → 5.36.1

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 (156) hide show
  1. package/2x/bundle/antd-mobile.cjs.development.js +83 -187
  2. package/2x/bundle/antd-mobile.cjs.js +7 -7
  3. package/2x/bundle/antd-mobile.es.development.js +83 -187
  4. package/2x/bundle/antd-mobile.es.js +5115 -5225
  5. package/2x/bundle/antd-mobile.umd.development.js +83 -187
  6. package/2x/bundle/antd-mobile.umd.js +7 -7
  7. package/2x/cjs/components/button/button.d.ts +2 -2
  8. package/2x/cjs/components/collapse/collapse.d.ts +1 -1
  9. package/2x/cjs/components/collapse/collapse.js +28 -11
  10. package/2x/cjs/components/input/input.d.ts +2 -4
  11. package/2x/cjs/components/input/input.js +8 -17
  12. package/2x/cjs/components/input/useInputHandleKeyDown.d.ts +8 -0
  13. package/2x/cjs/components/input/useInputHandleKeyDown.js +29 -0
  14. package/2x/cjs/components/result-page/result-page.d.ts +1 -1
  15. package/2x/cjs/components/swiper/index.d.ts +1 -1
  16. package/2x/cjs/components/swiper/swiper.d.ts +2 -2
  17. package/2x/cjs/components/swiper/swiper.js +5 -1
  18. package/2x/cjs/components/text-area/text-area.d.ts +6 -2
  19. package/2x/cjs/components/text-area/text-area.js +9 -1
  20. package/2x/cjs/locales/ar-SA.d.ts +139 -0
  21. package/2x/cjs/locales/ar-SA.js +149 -0
  22. package/2x/cjs/locales/de-DE.d.ts +139 -0
  23. package/2x/cjs/locales/de-DE.js +149 -0
  24. package/2x/cjs/locales/es-ES.js +2 -2
  25. package/2x/cjs/locales/fr-FR.js +1 -1
  26. package/2x/cjs/locales/in-ID.d.ts +139 -0
  27. package/2x/cjs/locales/in-ID.js +149 -0
  28. package/2x/cjs/locales/ja-JP.js +2 -2
  29. package/2x/cjs/locales/ms-MY.d.ts +139 -0
  30. package/2x/cjs/locales/ms-MY.js +149 -0
  31. package/2x/cjs/locales/pt-BR.d.ts +139 -0
  32. package/2x/cjs/locales/pt-BR.js +144 -0
  33. package/2x/cjs/locales/th-TH.js +2 -2
  34. package/2x/cjs/locales/vi-VN.d.ts +139 -0
  35. package/2x/cjs/locales/vi-VN.js +149 -0
  36. package/2x/cjs/locales/zh-CN.d.ts +2 -138
  37. package/2x/cjs/locales/zh-CN.js +2 -4
  38. package/2x/cjs/locales/zh-CN.test.d.ts +1 -0
  39. package/2x/cjs/locales/zh-CN.test.js +19 -0
  40. package/2x/cjs/utils/use-mutation-effect.d.ts +1 -0
  41. package/2x/cjs/utils/use-mutation-effect.js +20 -9
  42. package/2x/es/components/button/button.d.ts +2 -2
  43. package/2x/es/components/collapse/collapse.d.ts +1 -1
  44. package/2x/es/components/collapse/collapse.js +27 -10
  45. package/2x/es/components/input/input.d.ts +2 -4
  46. package/2x/es/components/input/input.js +8 -17
  47. package/2x/es/components/input/useInputHandleKeyDown.d.ts +8 -0
  48. package/2x/es/components/input/useInputHandleKeyDown.js +23 -0
  49. package/2x/es/components/result-page/result-page.d.ts +1 -1
  50. package/2x/es/components/swiper/index.d.ts +1 -1
  51. package/2x/es/components/swiper/swiper.d.ts +2 -2
  52. package/2x/es/components/swiper/swiper.js +5 -1
  53. package/2x/es/components/text-area/text-area.d.ts +6 -2
  54. package/2x/es/components/text-area/text-area.js +9 -1
  55. package/2x/es/locales/ar-SA.d.ts +139 -0
  56. package/2x/es/locales/ar-SA.js +142 -0
  57. package/2x/es/locales/de-DE.d.ts +139 -0
  58. package/2x/es/locales/de-DE.js +142 -0
  59. package/2x/es/locales/es-ES.js +2 -2
  60. package/2x/es/locales/fr-FR.js +1 -1
  61. package/2x/es/locales/in-ID.d.ts +139 -0
  62. package/2x/es/locales/in-ID.js +142 -0
  63. package/2x/es/locales/ja-JP.js +2 -2
  64. package/2x/es/locales/ms-MY.d.ts +139 -0
  65. package/2x/es/locales/ms-MY.js +142 -0
  66. package/2x/es/locales/pt-BR.d.ts +139 -0
  67. package/2x/es/locales/pt-BR.js +137 -0
  68. package/2x/es/locales/th-TH.js +2 -2
  69. package/2x/es/locales/vi-VN.d.ts +139 -0
  70. package/2x/es/locales/vi-VN.js +142 -0
  71. package/2x/es/locales/zh-CN.d.ts +2 -138
  72. package/2x/es/locales/zh-CN.js +2 -4
  73. package/2x/es/locales/zh-CN.test.d.ts +1 -0
  74. package/2x/es/locales/zh-CN.test.js +16 -0
  75. package/2x/es/utils/use-mutation-effect.d.ts +1 -0
  76. package/2x/es/utils/use-mutation-effect.js +19 -9
  77. package/2x/package.json +31 -21
  78. package/bundle/antd-mobile.cjs.development.js +83 -187
  79. package/bundle/antd-mobile.cjs.js +7 -7
  80. package/bundle/antd-mobile.compatible.umd.js +1 -1
  81. package/bundle/antd-mobile.es.development.js +83 -187
  82. package/bundle/antd-mobile.es.js +5115 -5225
  83. package/bundle/antd-mobile.umd.development.js +83 -187
  84. package/bundle/antd-mobile.umd.js +7 -7
  85. package/cjs/components/button/button.d.ts +2 -2
  86. package/cjs/components/collapse/collapse.d.ts +1 -1
  87. package/cjs/components/collapse/collapse.js +28 -11
  88. package/cjs/components/input/input.d.ts +2 -4
  89. package/cjs/components/input/input.js +8 -17
  90. package/cjs/components/input/useInputHandleKeyDown.d.ts +8 -0
  91. package/cjs/components/input/useInputHandleKeyDown.js +29 -0
  92. package/cjs/components/result-page/result-page.d.ts +1 -1
  93. package/cjs/components/swiper/index.d.ts +1 -1
  94. package/cjs/components/swiper/swiper.d.ts +2 -2
  95. package/cjs/components/swiper/swiper.js +5 -1
  96. package/cjs/components/text-area/text-area.d.ts +6 -2
  97. package/cjs/components/text-area/text-area.js +9 -1
  98. package/cjs/locales/ar-SA.d.ts +139 -0
  99. package/cjs/locales/ar-SA.js +149 -0
  100. package/cjs/locales/de-DE.d.ts +139 -0
  101. package/cjs/locales/de-DE.js +149 -0
  102. package/cjs/locales/es-ES.js +2 -2
  103. package/cjs/locales/fr-FR.js +1 -1
  104. package/cjs/locales/in-ID.d.ts +139 -0
  105. package/cjs/locales/in-ID.js +149 -0
  106. package/cjs/locales/ja-JP.js +2 -2
  107. package/cjs/locales/ms-MY.d.ts +139 -0
  108. package/cjs/locales/ms-MY.js +149 -0
  109. package/cjs/locales/pt-BR.d.ts +139 -0
  110. package/cjs/locales/pt-BR.js +144 -0
  111. package/cjs/locales/th-TH.js +2 -2
  112. package/cjs/locales/vi-VN.d.ts +139 -0
  113. package/cjs/locales/vi-VN.js +149 -0
  114. package/cjs/locales/zh-CN.d.ts +2 -138
  115. package/cjs/locales/zh-CN.js +2 -4
  116. package/cjs/locales/zh-CN.test.d.ts +1 -0
  117. package/cjs/locales/zh-CN.test.js +19 -0
  118. package/cjs/utils/use-mutation-effect.d.ts +1 -0
  119. package/cjs/utils/use-mutation-effect.js +20 -9
  120. package/es/components/button/button.d.ts +2 -2
  121. package/es/components/collapse/collapse.d.ts +1 -1
  122. package/es/components/collapse/collapse.js +27 -10
  123. package/es/components/input/input.d.ts +2 -4
  124. package/es/components/input/input.js +8 -17
  125. package/es/components/input/useInputHandleKeyDown.d.ts +8 -0
  126. package/es/components/input/useInputHandleKeyDown.js +23 -0
  127. package/es/components/result-page/result-page.d.ts +1 -1
  128. package/es/components/swiper/index.d.ts +1 -1
  129. package/es/components/swiper/swiper.d.ts +2 -2
  130. package/es/components/swiper/swiper.js +5 -1
  131. package/es/components/text-area/text-area.d.ts +6 -2
  132. package/es/components/text-area/text-area.js +9 -1
  133. package/es/locales/ar-SA.d.ts +139 -0
  134. package/es/locales/ar-SA.js +142 -0
  135. package/es/locales/de-DE.d.ts +139 -0
  136. package/es/locales/de-DE.js +142 -0
  137. package/es/locales/es-ES.js +2 -2
  138. package/es/locales/fr-FR.js +1 -1
  139. package/es/locales/in-ID.d.ts +139 -0
  140. package/es/locales/in-ID.js +142 -0
  141. package/es/locales/ja-JP.js +2 -2
  142. package/es/locales/ms-MY.d.ts +139 -0
  143. package/es/locales/ms-MY.js +142 -0
  144. package/es/locales/pt-BR.d.ts +139 -0
  145. package/es/locales/pt-BR.js +137 -0
  146. package/es/locales/th-TH.js +2 -2
  147. package/es/locales/vi-VN.d.ts +139 -0
  148. package/es/locales/vi-VN.js +142 -0
  149. package/es/locales/zh-CN.d.ts +2 -138
  150. package/es/locales/zh-CN.js +2 -4
  151. package/es/locales/zh-CN.test.d.ts +1 -0
  152. package/es/locales/zh-CN.test.js +16 -0
  153. package/es/utils/use-mutation-effect.d.ts +1 -0
  154. package/es/utils/use-mutation-effect.js +19 -9
  155. package/package.json +31 -21
  156. package/umd/antd-mobile.js +1 -1
@@ -0,0 +1,139 @@
1
+ declare const viVN: {
2
+ locale: string;
3
+ common: {
4
+ confirm: string;
5
+ cancel: string;
6
+ loading: string;
7
+ close: string;
8
+ };
9
+ Calendar: {
10
+ title: string;
11
+ confirm: string;
12
+ start: string;
13
+ end: string;
14
+ today: string;
15
+ markItems: string[];
16
+ yearAndMonth: string;
17
+ };
18
+ Cascader: {
19
+ placeholder: string;
20
+ };
21
+ Dialog: {
22
+ ok: string;
23
+ };
24
+ DatePicker: {
25
+ tillNow: string;
26
+ };
27
+ ErrorBlock: {
28
+ default: {
29
+ title: string;
30
+ description: string;
31
+ };
32
+ busy: {
33
+ title: string;
34
+ description: string;
35
+ };
36
+ disconnected: {
37
+ title: string;
38
+ description: string;
39
+ };
40
+ empty: {
41
+ title: string;
42
+ description: string;
43
+ };
44
+ };
45
+ Form: {
46
+ required: string;
47
+ optional: string;
48
+ defaultValidateMessages: {
49
+ default: string;
50
+ required: string;
51
+ enum: string;
52
+ whitespace: string;
53
+ date: {
54
+ format: string;
55
+ parse: string;
56
+ invalid: string;
57
+ };
58
+ types: {
59
+ string: string;
60
+ method: string;
61
+ array: string;
62
+ object: string;
63
+ number: string;
64
+ date: string;
65
+ boolean: string;
66
+ integer: string;
67
+ float: string;
68
+ regexp: string;
69
+ email: string;
70
+ url: string;
71
+ hex: string;
72
+ };
73
+ string: {
74
+ len: string;
75
+ min: string;
76
+ max: string;
77
+ range: string;
78
+ };
79
+ number: {
80
+ len: string;
81
+ min: string;
82
+ max: string;
83
+ range: string;
84
+ };
85
+ array: {
86
+ len: string;
87
+ min: string;
88
+ max: string;
89
+ range: string;
90
+ };
91
+ pattern: {
92
+ mismatch: string;
93
+ };
94
+ };
95
+ };
96
+ ImageUploader: {
97
+ uploading: string;
98
+ upload: string;
99
+ };
100
+ InfiniteScroll: {
101
+ noMore: string;
102
+ failedToLoad: string;
103
+ retry: string;
104
+ };
105
+ Input: {
106
+ clear: string;
107
+ };
108
+ Mask: {
109
+ name: string;
110
+ };
111
+ Modal: {
112
+ ok: string;
113
+ };
114
+ PasscodeInput: {
115
+ name: string;
116
+ };
117
+ PullToRefresh: {
118
+ pulling: string;
119
+ canRelease: string;
120
+ complete: string;
121
+ };
122
+ SearchBar: {
123
+ name: string;
124
+ };
125
+ Slider: {
126
+ name: string;
127
+ };
128
+ Stepper: {
129
+ decrease: string;
130
+ increase: string;
131
+ };
132
+ Switch: {
133
+ name: string;
134
+ };
135
+ Selector: {
136
+ name: string;
137
+ };
138
+ };
139
+ export default viVN;
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _mergeLocale = require("../utils/merge-locale");
8
+ var _base = require("./base");
9
+ const typeTemplate = '${label} không phải là một ${type} hợp lệ';
10
+ const viVN = (0, _mergeLocale.mergeLocale)(_base.base, {
11
+ 'locale': 'vi-VN',
12
+ 'common': {
13
+ 'confirm': 'Chắc chắn',
14
+ 'cancel': 'Hủy',
15
+ 'loading': 'Đang tải',
16
+ 'close': 'Đóng'
17
+ },
18
+ 'Calendar': {
19
+ 'title': 'Chọn ngày',
20
+ 'confirm': 'Xác nhận',
21
+ 'start': 'Bắt đầu',
22
+ 'end': 'Kết thúc',
23
+ 'today': 'Hôm nay',
24
+ 'markItems': ['Một', 'Hai', 'Ba', 'Bốn', 'Năm', 'Sáu', 'Ngày'],
25
+ 'yearAndMonth': 'Tháng ${month} năm ${year}'
26
+ },
27
+ 'Cascader': {
28
+ 'placeholder': 'Vui lòng lựa chọn'
29
+ },
30
+ 'Dialog': {
31
+ 'ok': 'OK'
32
+ },
33
+ 'DatePicker': {
34
+ 'tillNow': 'Đến nay'
35
+ },
36
+ 'ErrorBlock': {
37
+ 'default': {
38
+ 'title': 'Trang đang gặp một số vấn đề nhỏ',
39
+ 'description': 'Đợi chút rồi thử'
40
+ },
41
+ 'busy': {
42
+ 'title': 'Ùn tắc phía trước',
43
+ 'description': 'Thử quét mới'
44
+ },
45
+ 'disconnected': {
46
+ 'title': 'Mạng đang bận',
47
+ 'description': 'Chạm khẽ để chỉnh sửa'
48
+ },
49
+ 'empty': {
50
+ 'title': 'Không tìm thấy thứ bạn cần',
51
+ 'description': 'Tìm cái khác'
52
+ }
53
+ },
54
+ 'Form': {
55
+ 'required': 'Bắt buộc',
56
+ 'optional': 'Tùy chọn',
57
+ 'defaultValidateMessages': {
58
+ 'default': 'Lỗi xác thực trường ${label}',
59
+ 'required': 'Vui lòng nhập ${label}',
60
+ 'enum': '${label} phải là một trong [${enum}]',
61
+ 'whitespace': '${label} không được là ký tự trống',
62
+ 'date': {
63
+ 'format': '${label}Định dạng ngày tháng không còn hiệu lực',
64
+ 'parse': '${label} Không thể chuyển đổi thành ngày',
65
+ 'invalid': '${label} là một ngày không hợp lệ'
66
+ },
67
+ 'types': {
68
+ 'string': typeTemplate,
69
+ 'method': typeTemplate,
70
+ 'array': typeTemplate,
71
+ 'object': typeTemplate,
72
+ 'number': typeTemplate,
73
+ 'date': typeTemplate,
74
+ 'boolean': typeTemplate,
75
+ 'integer': typeTemplate,
76
+ 'float': typeTemplate,
77
+ 'regexp': typeTemplate,
78
+ 'email': typeTemplate,
79
+ 'url': typeTemplate,
80
+ 'hex': typeTemplate
81
+ },
82
+ 'string': {
83
+ 'len': '${label} phải là ${len} ký tự',
84
+ 'min': '${label} tối thiểu ${min} ký tự',
85
+ 'max': '${label} tối đa ${max} ký tự',
86
+ 'range': '${label} phải ở giữa chữ ${min} - ${max}'
87
+ },
88
+ 'number': {
89
+ 'len': '${label} phải bằng ${len}',
90
+ 'min': '${label} giá trị tối thiểu là ${min}',
91
+ 'max': '${label} giá trị tối đa là ${max}',
92
+ 'range': '${label} phải ở giữa ${min} - ${max}'
93
+ },
94
+ 'array': {
95
+ 'len': 'Phải là ${len} chiếc ${label}',
96
+ 'min': 'Tối thiểu ${min} chiếc ${label}',
97
+ 'max': 'Tối đa ${max} chiếc ${label}',
98
+ 'range': '${label} số lượng phải ở giữa ${min} - ${max}'
99
+ },
100
+ 'pattern': {
101
+ 'mismatch': '${label} không khớp với mẫu ${pattern}'
102
+ }
103
+ }
104
+ },
105
+ 'ImageUploader': {
106
+ 'uploading': 'Đang tải lên...',
107
+ 'upload': 'Tải lên'
108
+ },
109
+ 'InfiniteScroll': {
110
+ 'noMore': 'Hết rồi bạn ơi',
111
+ 'failedToLoad': 'Tải xuống thất bại',
112
+ 'retry': 'Tải lại'
113
+ },
114
+ 'Input': {
115
+ 'clear': 'Xóa'
116
+ },
117
+ 'Mask': {
118
+ 'name': 'Nền tối'
119
+ },
120
+ 'Modal': {
121
+ 'ok': 'OK'
122
+ },
123
+ 'PasscodeInput': {
124
+ 'name': 'Khung nhập mật khẩu'
125
+ },
126
+ 'PullToRefresh': {
127
+ 'pulling': 'Kéo xuống để làm mới',
128
+ 'canRelease': 'Thả ra để làm mới',
129
+ 'complete': 'Làm mới thành công'
130
+ },
131
+ 'SearchBar': {
132
+ 'name': 'Khung tìm kiếm'
133
+ },
134
+ 'Slider': {
135
+ 'name': 'Thanh nhập liệu trượt'
136
+ },
137
+ 'Stepper': {
138
+ 'decrease': 'Giảm',
139
+ 'increase': 'Tăng'
140
+ },
141
+ 'Switch': {
142
+ 'name': 'Bật tắt'
143
+ },
144
+ 'Selector': {
145
+ 'name': 'Chọn nhóm'
146
+ }
147
+ });
148
+ var _default = viVN;
149
+ exports.default = _default;
@@ -1,139 +1,3 @@
1
- declare const zhCN: {
2
- locale: string;
3
- common: {
4
- confirm: string;
5
- cancel: string;
6
- loading: string;
7
- close: string;
8
- };
9
- Calendar: {
10
- title: string;
11
- confirm: string;
12
- start: string;
13
- end: string;
14
- today: string;
15
- markItems: string[];
16
- yearAndMonth: string;
17
- };
18
- Cascader: {
19
- placeholder: string;
20
- };
21
- Dialog: {
22
- ok: string;
23
- };
24
- DatePicker: {
25
- tillNow: string;
26
- };
27
- ErrorBlock: {
28
- default: {
29
- title: string;
30
- description: string;
31
- };
32
- busy: {
33
- title: string;
34
- description: string;
35
- };
36
- disconnected: {
37
- title: string;
38
- description: string;
39
- };
40
- empty: {
41
- title: string;
42
- description: string;
43
- };
44
- };
45
- Form: {
46
- required: string;
47
- optional: string;
48
- defaultValidateMessages: {
49
- default: string;
50
- required: string;
51
- enum: string;
52
- whitespace: string;
53
- date: {
54
- format: string;
55
- parse: string;
56
- invalid: string;
57
- };
58
- types: {
59
- string: string;
60
- method: string;
61
- array: string;
62
- object: string;
63
- number: string;
64
- date: string;
65
- boolean: string;
66
- integer: string;
67
- float: string;
68
- regexp: string;
69
- email: string;
70
- url: string;
71
- hex: string;
72
- };
73
- string: {
74
- len: string;
75
- min: string;
76
- max: string;
77
- range: string;
78
- };
79
- number: {
80
- len: string;
81
- min: string;
82
- max: string;
83
- range: string;
84
- };
85
- array: {
86
- len: string;
87
- min: string;
88
- max: string;
89
- range: string;
90
- };
91
- pattern: {
92
- mismatch: string;
93
- };
94
- };
95
- };
96
- ImageUploader: {
97
- uploading: string;
98
- upload: string;
99
- };
100
- InfiniteScroll: {
101
- noMore: string;
102
- failedToLoad: string;
103
- retry: string;
104
- };
105
- Input: {
106
- clear: string;
107
- };
108
- Mask: {
109
- name: string;
110
- };
111
- Modal: {
112
- ok: string;
113
- };
114
- PasscodeInput: {
115
- name: string;
116
- };
117
- PullToRefresh: {
118
- pulling: string;
119
- canRelease: string;
120
- complete: string;
121
- };
122
- SearchBar: {
123
- name: string;
124
- };
125
- Slider: {
126
- name: string;
127
- };
128
- Stepper: {
129
- decrease: string;
130
- increase: string;
131
- };
132
- Switch: {
133
- name: string;
134
- };
135
- Selector: {
136
- name: string;
137
- };
138
- };
1
+ import { Locale } from './base';
2
+ declare const zhCN: Locale;
139
3
  export default zhCN;
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _mergeLocale = require("../utils/merge-locale");
8
- var _base = require("./base");
9
7
  const typeTemplate = '${label}不是一个有效的${type}';
10
- const zhCN = (0, _mergeLocale.mergeLocale)(_base.base, {
8
+ const zhCN = {
11
9
  locale: 'zh-CH',
12
10
  common: {
13
11
  confirm: '确定',
@@ -144,6 +142,6 @@ const zhCN = (0, _mergeLocale.mergeLocale)(_base.base, {
144
142
  Selector: {
145
143
  name: '选择组'
146
144
  }
147
- });
145
+ };
148
146
  var _default = zhCN;
149
147
  exports.default = _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _base = require("./base");
4
+ var _zhCN = _interopRequireDefault(require("./zh-CN"));
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+ test('zh-CN', () => {
7
+ function compareKeys(a, b) {
8
+ return !Object.keys(a).some(key => {
9
+ if (typeof b[key] === 'string') {
10
+ return false;
11
+ } else if (b[key]) {
12
+ return !compareKeys(a[key], b[key]);
13
+ } else {
14
+ return true;
15
+ }
16
+ });
17
+ }
18
+ expect(compareKeys(_base.base, _zhCN.default)).toBeTruthy();
19
+ });
@@ -1,2 +1,3 @@
1
1
  import { RefObject } from 'react';
2
+ export declare function observe(element: HTMLElement | null, options: MutationObserverInit, callback: VoidFunction): () => void;
2
3
  export declare function useMutationEffect(effect: () => void, targetRef: RefObject<HTMLElement>, options: MutationObserverInit): void;
@@ -3,19 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.observe = observe;
6
7
  exports.useMutationEffect = useMutationEffect;
7
- var _react = require("react");
8
8
  var _ahooks = require("ahooks");
9
- function useMutationEffect(effect, targetRef, options) {
10
- const fn = (0, _ahooks.useMemoizedFn)(effect);
11
- (0, _react.useEffect)(() => {
12
- const observer = new MutationObserver(() => {
13
- fn();
9
+ var _react = require("react");
10
+ function observe(element, options, callback) {
11
+ if (element && typeof MutationObserver !== 'undefined') {
12
+ let observer = new MutationObserver(() => {
13
+ callback();
14
14
  });
15
- if (!targetRef.current) return;
16
- observer.observe(targetRef.current, options);
15
+ observer.observe(element, options);
16
+ // Return cleanup function
17
17
  return () => {
18
- observer.disconnect();
18
+ if (observer) {
19
+ observer.disconnect();
20
+ observer = null;
21
+ }
19
22
  };
23
+ }
24
+ return () => {};
25
+ }
26
+ function useMutationEffect(effect, targetRef, options) {
27
+ const fn = (0, _ahooks.useMemoizedFn)(effect);
28
+ (0, _react.useEffect)(() => {
29
+ const cleanup = observe(targetRef.current, options, fn);
30
+ return cleanup;
20
31
  }, [targetRef]);
21
32
  }
@@ -11,7 +11,7 @@ export declare type ButtonProps = {
11
11
  loadingText?: string;
12
12
  loadingIcon?: ReactNode;
13
13
  disabled?: boolean;
14
- onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | Promise<void> | unknown;
14
+ onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | Promise<void>;
15
15
  type?: 'submit' | 'reset' | 'button';
16
16
  shape?: 'default' | 'rounded' | 'rectangular';
17
17
  children?: ReactNode;
@@ -28,7 +28,7 @@ export declare const Button: React.ForwardRefExoticComponent<{
28
28
  loadingText?: string | undefined;
29
29
  loadingIcon?: ReactNode;
30
30
  disabled?: boolean | undefined;
31
- onClick?: ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | Promise<void> | unknown) | undefined;
31
+ onClick?: ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void | Promise<void>) | undefined;
32
32
  type?: "reset" | "submit" | "button" | undefined;
33
33
  shape?: "default" | "rounded" | "rectangular" | undefined;
34
34
  children?: ReactNode;
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import type { FC, ReactNode } from 'react';
2
+ import React from 'react';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  export declare type CollapsePanelProps = {
5
5
  key: string;
@@ -1,14 +1,15 @@
1
- import React, { isValidElement, useRef } from 'react';
2
- import { withNativeProps } from '../../utils/native-props';
3
- import List from '../list';
1
+ import { animated, useSpring } from '@react-spring/web';
2
+ import { useMount } from 'ahooks';
4
3
  import { DownOutline } from 'antd-mobile-icons';
5
4
  import classNames from 'classnames';
6
- import { useSpring, animated } from '@react-spring/web';
7
- import { usePropsValue } from '../../utils/use-props-value';
8
- import { useMount } from 'ahooks';
5
+ import React, { isValidElement, useRef } from 'react';
6
+ import { withNativeProps } from '../../utils/native-props';
9
7
  import { useShouldRender } from '../../utils/should-render';
10
- import { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';
11
8
  import { traverseReactNode } from '../../utils/traverse-react-node';
9
+ import { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';
10
+ import { observe } from '../../utils/use-mutation-effect';
11
+ import { usePropsValue } from '../../utils/use-props-value';
12
+ import List from '../list';
12
13
  const classPrefix = `adm-collapse`;
13
14
  export const CollapsePanel = () => {
14
15
  return null;
@@ -46,9 +47,25 @@ const CollapsePanelContent = props => {
46
47
  const inner = innerRef.current;
47
48
  if (!inner) return;
48
49
  if (visible) {
49
- api.start({
50
- height: inner.offsetHeight
51
- });
50
+ let lastMotionId = 0;
51
+ let cancelObserve = () => {};
52
+ const handleMotion = () => {
53
+ lastMotionId += 1;
54
+ const motionId = lastMotionId;
55
+ api.start({
56
+ height: inner.offsetHeight
57
+ })[0].then(() => {
58
+ if (motionId === lastMotionId) {
59
+ cancelObserve();
60
+ }
61
+ });
62
+ };
63
+ cancelObserve = observe(inner, {
64
+ childList: true,
65
+ subtree: true
66
+ }, handleMotion);
67
+ handleMotion();
68
+ return cancelObserve;
52
69
  } else {
53
70
  api.start({
54
71
  height: inner.offsetHeight,
@@ -4,7 +4,7 @@ declare type NativeInputProps = React.DetailedHTMLProps<React.InputHTMLAttribute
4
4
  declare type AriaProps = {
5
5
  role?: string;
6
6
  };
7
- export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength' | 'autoComplete' | 'autoFocus' | 'pattern' | 'inputMode' | 'type' | 'name' | 'onFocus' | 'onBlur' | 'autoCapitalize' | 'autoCorrect' | 'onKeyDown' | 'onKeyUp' | 'onCompositionStart' | 'onCompositionEnd' | 'onClick' | 'step' | 'id' | 'placeholder' | 'readOnly' | 'disabled'> & {
7
+ export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength' | 'autoComplete' | 'autoFocus' | 'pattern' | 'inputMode' | 'type' | 'name' | 'onFocus' | 'onBlur' | 'autoCapitalize' | 'autoCorrect' | 'onKeyDown' | 'onKeyUp' | 'onCompositionStart' | 'onCompositionEnd' | 'onClick' | 'step' | 'id' | 'placeholder' | 'readOnly' | 'disabled' | 'enterKeyHint'> & {
8
8
  value?: string;
9
9
  defaultValue?: string;
10
10
  onChange?: (val: string) => void;
@@ -12,7 +12,6 @@ export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength
12
12
  onlyShowClearWhenFocus?: boolean;
13
13
  onClear?: () => void;
14
14
  onEnterPress?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
15
- enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
16
15
  min?: number;
17
16
  max?: number;
18
17
  } & NativeProps<'--font-size' | '--color' | '--placeholder-color' | '--text-align'> & AriaProps;
@@ -22,7 +21,7 @@ export declare type InputRef = {
22
21
  blur: () => void;
23
22
  nativeElement: HTMLInputElement | null;
24
23
  };
25
- export declare const Input: React.ForwardRefExoticComponent<Pick<NativeInputProps, "pattern" | "id" | "onClick" | "disabled" | "onCompositionEnd" | "onCompositionStart" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "type" | "step" | "autoFocus" | "placeholder" | "autoCapitalize" | "autoCorrect" | "inputMode" | "name" | "readOnly" | "autoComplete" | "maxLength" | "minLength"> & {
24
+ export declare const Input: React.ForwardRefExoticComponent<Pick<NativeInputProps, "pattern" | "id" | "onClick" | "disabled" | "onCompositionEnd" | "onCompositionStart" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "type" | "step" | "autoFocus" | "placeholder" | "autoCapitalize" | "autoCorrect" | "inputMode" | "name" | "readOnly" | "autoComplete" | "enterKeyHint" | "maxLength" | "minLength"> & {
26
25
  value?: string | undefined;
27
26
  defaultValue?: string | undefined;
28
27
  onChange?: ((val: string) => void) | undefined;
@@ -30,7 +29,6 @@ export declare const Input: React.ForwardRefExoticComponent<Pick<NativeInputProp
30
29
  onlyShowClearWhenFocus?: boolean | undefined;
31
30
  onClear?: (() => void) | undefined;
32
31
  onEnterPress?: ((e: React.KeyboardEvent<HTMLInputElement>) => void) | undefined;
33
- enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
34
32
  min?: number | undefined;
35
33
  max?: number | undefined;
36
34
  } & {
@@ -4,10 +4,10 @@ import { CloseCircleFill } from 'antd-mobile-icons';
4
4
  import { withNativeProps } from '../../utils/native-props';
5
5
  import { mergeProps } from '../../utils/with-default-props';
6
6
  import classNames from 'classnames';
7
- import { useIsomorphicLayoutEffect } from 'ahooks';
8
7
  import { bound } from '../../utils/bound';
9
8
  import { isIOS } from '../../utils/validate';
10
9
  import { useConfig } from '../config-provider';
10
+ import useInputHandleKeyDown from './useInputHandleKeyDown';
11
11
  const classPrefix = `adm-input`;
12
12
  const defaultProps = {
13
13
  defaultValue: '',
@@ -22,6 +22,12 @@ export const Input = forwardRef((p, ref) => {
22
22
  const {
23
23
  locale
24
24
  } = useConfig();
25
+ const handleKeydown = useInputHandleKeyDown({
26
+ onEnterPress: props.onEnterPress,
27
+ onKeyDown: props.onKeyDown,
28
+ nativeInputRef,
29
+ enterKeyHint: props.enterKeyHint
30
+ });
25
31
  useImperativeHandle(ref, () => ({
26
32
  clear: () => {
27
33
  setValue('');
@@ -38,22 +44,6 @@ export const Input = forwardRef((p, ref) => {
38
44
  return nativeInputRef.current;
39
45
  }
40
46
  }));
41
- const handleKeydown = e => {
42
- var _a;
43
- if (props.onEnterPress && (e.code === 'Enter' || e.keyCode === 13)) {
44
- props.onEnterPress(e);
45
- }
46
- (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, e);
47
- };
48
- useIsomorphicLayoutEffect(() => {
49
- var _a;
50
- if (!props.enterKeyHint) return;
51
- (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('enterkeyhint', props.enterKeyHint);
52
- return () => {
53
- var _a;
54
- (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('enterkeyhint');
55
- };
56
- }, [props.enterKeyHint]);
57
47
  function checkValue() {
58
48
  let nextValue = value;
59
49
  if (props.type === 'number') {
@@ -104,6 +94,7 @@ export const Input = forwardRef((p, ref) => {
104
94
  max: props.max,
105
95
  min: props.min,
106
96
  autoComplete: props.autoComplete,
97
+ enterKeyHint: props.enterKeyHint,
107
98
  autoFocus: props.autoFocus,
108
99
  pattern: props.pattern,
109
100
  inputMode: props.inputMode,