antd-mobile 5.2.0 → 5.3.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 (281) hide show
  1. package/2x/cjs/components/calendar/calendar.d.ts +1 -28
  2. package/2x/cjs/components/capsule-tabs/capsule-tabs.d.ts +1 -0
  3. package/2x/cjs/components/capsule-tabs/capsule-tabs.js +14 -17
  4. package/2x/cjs/components/cascade-picker/prompt.d.ts +2 -1
  5. package/2x/cjs/components/collapse/collapse.js +5 -3
  6. package/2x/cjs/components/date-picker/date-picker.js +7 -1
  7. package/2x/cjs/components/dialog/dialog.css +27 -18
  8. package/2x/cjs/components/dialog/dialog.js +39 -42
  9. package/2x/cjs/components/dropdown/dropdown.css +2 -1
  10. package/2x/cjs/components/dropdown/item.js +2 -2
  11. package/2x/cjs/components/ellipsis/ellipsis.d.ts +2 -0
  12. package/2x/cjs/components/ellipsis/ellipsis.js +8 -5
  13. package/2x/cjs/components/form/context.d.ts +2 -1
  14. package/2x/cjs/components/form/context.js +6 -5
  15. package/2x/cjs/components/form/form-item.css +27 -1
  16. package/2x/cjs/components/form/form-item.d.ts +1 -0
  17. package/2x/cjs/components/form/form-item.js +44 -13
  18. package/2x/cjs/components/form/form.d.ts +2 -2
  19. package/2x/cjs/components/form/form.js +18 -9
  20. package/2x/cjs/components/form/index.css +27 -1
  21. package/2x/cjs/components/form/index.d.ts +2 -2
  22. package/2x/cjs/components/image-viewer/image-viewer.d.ts +1 -1
  23. package/2x/cjs/components/image-viewer/index.d.ts +1 -1
  24. package/2x/cjs/components/input/input.d.ts +2 -2
  25. package/2x/cjs/components/input/input.js +2 -2
  26. package/2x/cjs/components/jumbo-tabs/jumbo-tabs.d.ts +1 -0
  27. package/2x/cjs/components/jumbo-tabs/jumbo-tabs.js +14 -17
  28. package/2x/cjs/components/mask/mask.js +2 -2
  29. package/2x/cjs/components/modal/modal.css +27 -21
  30. package/2x/cjs/components/modal/modal.js +39 -36
  31. package/2x/cjs/components/passcode-input/passcode-input.d.ts +1 -1
  32. package/2x/cjs/components/picker/prompt.d.ts +2 -2
  33. package/2x/cjs/components/popover/arrow.js +1 -2
  34. package/2x/cjs/components/popover/index.d.ts +3 -3
  35. package/2x/cjs/components/popover/popover-menu.d.ts +1 -1
  36. package/2x/cjs/components/popover/popover.d.ts +1 -1
  37. package/2x/cjs/components/popup/popup.js +2 -2
  38. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.js +1 -1
  39. package/2x/cjs/components/search-bar/search-bar.js +1 -0
  40. package/2x/cjs/components/selector/selector.d.ts +3 -1
  41. package/2x/cjs/components/stepper/stepper.d.ts +11 -2
  42. package/2x/cjs/components/swiper/index.d.ts +3 -3
  43. package/2x/cjs/components/swiper/swiper.d.ts +3 -3
  44. package/2x/cjs/components/switch/spin-icon.d.ts +3 -0
  45. package/2x/cjs/components/switch/spin-icon.js +37 -0
  46. package/2x/cjs/components/switch/switch.css +1 -1
  47. package/2x/cjs/components/switch/switch.js +4 -6
  48. package/2x/cjs/components/tabs/tabs.d.ts +1 -0
  49. package/2x/cjs/components/tabs/tabs.js +17 -19
  50. package/2x/cjs/components/virtual-input/virtual-input.d.ts +2 -2
  51. package/2x/cjs/locales/base.d.ts +51 -0
  52. package/2x/cjs/locales/base.js +52 -0
  53. package/2x/cjs/locales/en-US.d.ts +51 -0
  54. package/2x/cjs/locales/zh-CN.d.ts +51 -0
  55. package/2x/cjs/locales/zh-CN.js +52 -0
  56. package/2x/cjs/utils/measure-css-length.js +3 -1
  57. package/2x/cjs/utils/native-props.d.ts +1 -1
  58. package/2x/cjs/utils/render-to-container.d.ts +1 -1
  59. package/2x/cjs/utils/should-render.d.ts +10 -0
  60. package/{cjs/utils/use-should-render.js → 2x/cjs/utils/should-render.js} +8 -0
  61. package/2x/cjs/utils/use-drag-and-pinch.d.ts +1 -2
  62. package/2x/cjs/utils/use-isomorphic-update-layout-effect.js +1 -3
  63. package/2x/cjs/utils/use-props-value.d.ts +1 -1
  64. package/2x/cjs/utils/use-tab-list-scroll.js +3 -1
  65. package/2x/cjs/utils/use-touch.d.ts +0 -1
  66. package/2x/cjs/utils/validate.js +1 -1
  67. package/2x/cjs/utils/with-stop-propagation.d.ts +1 -1
  68. package/2x/es/components/calendar/calendar.d.ts +1 -28
  69. package/2x/es/components/capsule-tabs/capsule-tabs.d.ts +1 -0
  70. package/2x/es/components/capsule-tabs/capsule-tabs.js +13 -17
  71. package/2x/es/components/cascade-picker/prompt.d.ts +2 -1
  72. package/2x/es/components/collapse/collapse.js +4 -3
  73. package/2x/es/components/date-picker/date-picker.js +6 -1
  74. package/2x/es/components/dialog/dialog.css +27 -18
  75. package/2x/es/components/dialog/dialog.js +37 -41
  76. package/2x/es/components/dropdown/dropdown.css +2 -1
  77. package/2x/es/components/dropdown/item.js +1 -1
  78. package/2x/es/components/ellipsis/ellipsis.d.ts +2 -0
  79. package/2x/es/components/ellipsis/ellipsis.js +7 -5
  80. package/2x/es/components/form/context.d.ts +2 -1
  81. package/2x/es/components/form/context.js +4 -3
  82. package/2x/es/components/form/form-item.css +27 -1
  83. package/2x/es/components/form/form-item.d.ts +1 -0
  84. package/2x/es/components/form/form-item.js +43 -13
  85. package/2x/es/components/form/form.d.ts +2 -2
  86. package/2x/es/components/form/form.js +18 -11
  87. package/2x/es/components/form/index.css +27 -1
  88. package/2x/es/components/form/index.d.ts +2 -2
  89. package/2x/es/components/image-viewer/image-viewer.d.ts +1 -1
  90. package/2x/es/components/image-viewer/index.d.ts +1 -1
  91. package/2x/es/components/input/input.d.ts +2 -2
  92. package/2x/es/components/input/input.js +2 -2
  93. package/2x/es/components/jumbo-tabs/jumbo-tabs.d.ts +1 -0
  94. package/2x/es/components/jumbo-tabs/jumbo-tabs.js +13 -17
  95. package/2x/es/components/mask/mask.js +1 -1
  96. package/2x/es/components/modal/modal.css +27 -21
  97. package/2x/es/components/modal/modal.js +37 -36
  98. package/2x/es/components/passcode-input/passcode-input.d.ts +1 -1
  99. package/2x/es/components/picker/prompt.d.ts +2 -2
  100. package/2x/es/components/popover/arrow.js +1 -2
  101. package/2x/es/components/popover/index.d.ts +3 -3
  102. package/2x/es/components/popover/popover-menu.d.ts +1 -1
  103. package/2x/es/components/popover/popover.d.ts +1 -1
  104. package/2x/es/components/popup/popup.js +1 -1
  105. package/2x/es/components/pull-to-refresh/pull-to-refresh.js +1 -1
  106. package/2x/es/components/search-bar/search-bar.js +1 -0
  107. package/2x/es/components/selector/selector.d.ts +3 -1
  108. package/2x/es/components/stepper/stepper.d.ts +11 -2
  109. package/2x/es/components/swiper/index.d.ts +3 -3
  110. package/2x/es/components/swiper/swiper.d.ts +3 -3
  111. package/2x/es/components/switch/spin-icon.d.ts +3 -0
  112. package/2x/es/components/switch/spin-icon.js +23 -0
  113. package/2x/es/components/switch/switch.css +1 -1
  114. package/2x/es/components/switch/switch.js +3 -5
  115. package/2x/es/components/tabs/tabs.d.ts +1 -0
  116. package/2x/es/components/tabs/tabs.js +16 -20
  117. package/2x/es/components/virtual-input/virtual-input.d.ts +2 -2
  118. package/2x/es/locales/base.d.ts +51 -0
  119. package/2x/es/locales/base.js +52 -0
  120. package/2x/es/locales/en-US.d.ts +51 -0
  121. package/2x/es/locales/zh-CN.d.ts +51 -0
  122. package/2x/es/locales/zh-CN.js +52 -0
  123. package/2x/es/utils/measure-css-length.js +3 -1
  124. package/2x/es/utils/native-props.d.ts +1 -1
  125. package/2x/es/utils/render-to-container.d.ts +1 -1
  126. package/2x/es/utils/should-render.d.ts +10 -0
  127. package/2x/es/utils/{use-should-render.js → should-render.js} +4 -0
  128. package/2x/es/utils/use-drag-and-pinch.d.ts +1 -2
  129. package/2x/es/utils/use-isomorphic-update-layout-effect.js +1 -2
  130. package/2x/es/utils/use-props-value.d.ts +1 -1
  131. package/2x/es/utils/use-tab-list-scroll.js +3 -2
  132. package/2x/es/utils/use-touch.d.ts +0 -1
  133. package/2x/es/utils/validate.js +1 -1
  134. package/2x/es/utils/with-stop-propagation.d.ts +1 -1
  135. package/2x/package.json +6 -6
  136. package/cjs/components/calendar/calendar.d.ts +1 -28
  137. package/cjs/components/capsule-tabs/capsule-tabs.d.ts +1 -0
  138. package/cjs/components/capsule-tabs/capsule-tabs.js +14 -17
  139. package/cjs/components/cascade-picker/prompt.d.ts +2 -1
  140. package/cjs/components/collapse/collapse.js +5 -3
  141. package/cjs/components/date-picker/date-picker.js +7 -1
  142. package/cjs/components/dialog/dialog.css +26 -18
  143. package/cjs/components/dialog/dialog.js +39 -42
  144. package/cjs/components/dropdown/dropdown.css +2 -1
  145. package/cjs/components/dropdown/item.js +2 -2
  146. package/cjs/components/ellipsis/ellipsis.d.ts +2 -0
  147. package/cjs/components/ellipsis/ellipsis.js +8 -5
  148. package/cjs/components/form/context.d.ts +2 -1
  149. package/cjs/components/form/context.js +6 -5
  150. package/cjs/components/form/form-item.css +21 -1
  151. package/cjs/components/form/form-item.d.ts +1 -0
  152. package/cjs/components/form/form-item.js +44 -13
  153. package/cjs/components/form/form.d.ts +2 -2
  154. package/cjs/components/form/form.js +18 -9
  155. package/cjs/components/form/index.css +21 -1
  156. package/cjs/components/form/index.d.ts +2 -2
  157. package/cjs/components/image-viewer/image-viewer.d.ts +1 -1
  158. package/cjs/components/image-viewer/index.d.ts +1 -1
  159. package/cjs/components/input/input.d.ts +2 -2
  160. package/cjs/components/input/input.js +2 -2
  161. package/cjs/components/jumbo-tabs/jumbo-tabs.d.ts +1 -0
  162. package/cjs/components/jumbo-tabs/jumbo-tabs.js +14 -17
  163. package/cjs/components/mask/mask.js +2 -2
  164. package/cjs/components/modal/modal.css +26 -20
  165. package/cjs/components/modal/modal.js +39 -36
  166. package/cjs/components/passcode-input/passcode-input.d.ts +1 -1
  167. package/cjs/components/picker/prompt.d.ts +2 -2
  168. package/cjs/components/popover/arrow.js +1 -2
  169. package/cjs/components/popover/index.d.ts +3 -3
  170. package/cjs/components/popover/popover-menu.d.ts +1 -1
  171. package/cjs/components/popover/popover.d.ts +1 -1
  172. package/cjs/components/popup/popup.js +2 -2
  173. package/cjs/components/pull-to-refresh/pull-to-refresh.js +1 -1
  174. package/cjs/components/search-bar/search-bar.js +1 -0
  175. package/cjs/components/selector/selector.d.ts +3 -1
  176. package/cjs/components/stepper/stepper.d.ts +11 -2
  177. package/cjs/components/swiper/index.d.ts +3 -3
  178. package/cjs/components/swiper/swiper.d.ts +3 -3
  179. package/cjs/components/switch/spin-icon.d.ts +3 -0
  180. package/cjs/components/switch/spin-icon.js +37 -0
  181. package/cjs/components/switch/switch.css +1 -1
  182. package/cjs/components/switch/switch.js +4 -6
  183. package/cjs/components/tabs/tabs.d.ts +1 -0
  184. package/cjs/components/tabs/tabs.js +17 -19
  185. package/cjs/components/virtual-input/virtual-input.d.ts +2 -2
  186. package/cjs/locales/base.d.ts +51 -0
  187. package/cjs/locales/base.js +52 -0
  188. package/cjs/locales/en-US.d.ts +51 -0
  189. package/cjs/locales/zh-CN.d.ts +51 -0
  190. package/cjs/locales/zh-CN.js +52 -0
  191. package/cjs/utils/measure-css-length.js +3 -1
  192. package/cjs/utils/native-props.d.ts +1 -1
  193. package/cjs/utils/render-to-container.d.ts +1 -1
  194. package/cjs/utils/should-render.d.ts +10 -0
  195. package/{2x/cjs/utils/use-should-render.js → cjs/utils/should-render.js} +8 -0
  196. package/cjs/utils/use-drag-and-pinch.d.ts +1 -2
  197. package/cjs/utils/use-isomorphic-update-layout-effect.js +1 -3
  198. package/cjs/utils/use-props-value.d.ts +1 -1
  199. package/cjs/utils/use-tab-list-scroll.js +3 -1
  200. package/cjs/utils/use-touch.d.ts +0 -1
  201. package/cjs/utils/validate.js +1 -1
  202. package/cjs/utils/with-stop-propagation.d.ts +1 -1
  203. package/es/components/calendar/calendar.d.ts +1 -28
  204. package/es/components/capsule-tabs/capsule-tabs.d.ts +1 -0
  205. package/es/components/capsule-tabs/capsule-tabs.js +13 -17
  206. package/es/components/cascade-picker/prompt.d.ts +2 -1
  207. package/es/components/collapse/collapse.js +4 -3
  208. package/es/components/date-picker/date-picker.js +6 -1
  209. package/es/components/dialog/dialog.css +26 -18
  210. package/es/components/dialog/dialog.js +37 -41
  211. package/es/components/dropdown/dropdown.css +2 -1
  212. package/es/components/dropdown/item.js +1 -1
  213. package/es/components/ellipsis/ellipsis.d.ts +2 -0
  214. package/es/components/ellipsis/ellipsis.js +7 -5
  215. package/es/components/form/context.d.ts +2 -1
  216. package/es/components/form/context.js +4 -3
  217. package/es/components/form/form-item.css +21 -1
  218. package/es/components/form/form-item.d.ts +1 -0
  219. package/es/components/form/form-item.js +43 -13
  220. package/es/components/form/form.d.ts +2 -2
  221. package/es/components/form/form.js +18 -11
  222. package/es/components/form/index.css +21 -1
  223. package/es/components/form/index.d.ts +2 -2
  224. package/es/components/image-viewer/image-viewer.d.ts +1 -1
  225. package/es/components/image-viewer/index.d.ts +1 -1
  226. package/es/components/input/input.d.ts +2 -2
  227. package/es/components/input/input.js +2 -2
  228. package/es/components/jumbo-tabs/jumbo-tabs.d.ts +1 -0
  229. package/es/components/jumbo-tabs/jumbo-tabs.js +13 -17
  230. package/es/components/mask/mask.js +1 -1
  231. package/es/components/modal/modal.css +26 -20
  232. package/es/components/modal/modal.js +37 -36
  233. package/es/components/passcode-input/passcode-input.d.ts +1 -1
  234. package/es/components/picker/prompt.d.ts +2 -2
  235. package/es/components/popover/arrow.js +1 -2
  236. package/es/components/popover/index.d.ts +3 -3
  237. package/es/components/popover/popover-menu.d.ts +1 -1
  238. package/es/components/popover/popover.d.ts +1 -1
  239. package/es/components/popup/popup.js +1 -1
  240. package/es/components/pull-to-refresh/pull-to-refresh.js +1 -1
  241. package/es/components/search-bar/search-bar.js +1 -0
  242. package/es/components/selector/selector.d.ts +3 -1
  243. package/es/components/stepper/stepper.d.ts +11 -2
  244. package/es/components/swiper/index.d.ts +3 -3
  245. package/es/components/swiper/swiper.d.ts +3 -3
  246. package/es/components/switch/spin-icon.d.ts +3 -0
  247. package/es/components/switch/spin-icon.js +23 -0
  248. package/es/components/switch/switch.css +1 -1
  249. package/es/components/switch/switch.js +3 -5
  250. package/es/components/tabs/tabs.d.ts +1 -0
  251. package/es/components/tabs/tabs.js +16 -20
  252. package/es/components/virtual-input/virtual-input.d.ts +2 -2
  253. package/es/locales/base.d.ts +51 -0
  254. package/es/locales/base.js +52 -0
  255. package/es/locales/en-US.d.ts +51 -0
  256. package/es/locales/zh-CN.d.ts +51 -0
  257. package/es/locales/zh-CN.js +52 -0
  258. package/es/utils/measure-css-length.js +3 -1
  259. package/es/utils/native-props.d.ts +1 -1
  260. package/es/utils/render-to-container.d.ts +1 -1
  261. package/es/utils/should-render.d.ts +10 -0
  262. package/es/utils/{use-should-render.js → should-render.js} +4 -0
  263. package/es/utils/use-drag-and-pinch.d.ts +1 -2
  264. package/es/utils/use-isomorphic-update-layout-effect.js +1 -2
  265. package/es/utils/use-props-value.d.ts +1 -1
  266. package/es/utils/use-tab-list-scroll.js +3 -2
  267. package/es/utils/use-touch.d.ts +0 -1
  268. package/es/utils/validate.js +1 -1
  269. package/es/utils/with-stop-propagation.d.ts +1 -1
  270. package/package.json +6 -6
  271. package/umd/antd-mobile.js +1 -1
  272. package/2x/assets/spin.svg +0 -12
  273. package/2x/cjs/assets/spin.svg +0 -12
  274. package/2x/cjs/utils/use-should-render.d.ts +0 -1
  275. package/2x/es/assets/spin.svg +0 -12
  276. package/2x/es/utils/use-should-render.d.ts +0 -1
  277. package/assets/spin.svg +0 -12
  278. package/cjs/assets/spin.svg +0 -12
  279. package/cjs/utils/use-should-render.d.ts +0 -1
  280. package/es/assets/spin.svg +0 -12
  281. package/es/utils/use-should-render.d.ts +0 -1
@@ -0,0 +1,23 @@
1
+ import React, { memo } from 'react';
2
+ import { withNativeProps } from '../../utils/native-props';
3
+ export const SpinIcon = memo(props => {
4
+ return withNativeProps(props, React.createElement("svg", {
5
+ width: '28px',
6
+ height: '28px',
7
+ viewBox: '0 0 28 28'
8
+ }, React.createElement("g", {
9
+ stroke: 'none',
10
+ strokeWidth: '1',
11
+ fill: 'none',
12
+ fillRule: 'evenodd'
13
+ }, React.createElement("g", {
14
+ transform: 'translate(-137.000000, -840.000000)',
15
+ fill: '#1576FE'
16
+ }, React.createElement("g", {
17
+ transform: 'translate(80.000000, 823.000000)'
18
+ }, React.createElement("g", {
19
+ transform: 'translate(53.000000, 13.000000)'
20
+ }, React.createElement("path", {
21
+ d: 'M17.9996753,31.5 C10.5556724,31.5 4.5,25.4443275 4.5,18.0003247 C4.5,10.5563219 10.5556724,4.5 17.9996753,4.5 C18.5355492,4.5 18.9702974,4.93474816 18.9702974,5.47062208 C18.9702974,6.006496 18.5355492,6.44124416 17.9996753,6.44124416 C11.6261524,6.44124416 6.44124416,11.6267709 6.44124416,18.0002938 C6.44124416,24.3738167 11.6261524,29.5587249 17.9996753,29.5587249 C24.3731982,29.5587249 29.5587249,24.3738167 29.5587249,18.0002938 C29.5587249,14.7964616 28.2778291,11.8169616 25.9523687,9.61220279 C25.5637302,9.24317094 25.5473089,8.62893223 25.9157222,8.23967523 C26.2841356,7.84976878 26.8989928,7.83461537 27.2882498,8.20302872 C30.0042351,10.7787368 31.5,14.2580826 31.5,18.0002938 C31.5,25.4443275 25.4436781,31.5 17.9996753,31.5 Z'
22
+ })))))));
23
+ });
@@ -101,7 +101,7 @@
101
101
  opacity: 0.4;
102
102
  }
103
103
 
104
- .adm-switch-icon {
104
+ .adm-switch-spin-icon {
105
105
  width: 28px;
106
106
  height: 28px;
107
107
  animation: loading-rotate 1s linear infinite;
@@ -1,10 +1,10 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import classNames from 'classnames';
3
3
  import React, { useState } from 'react';
4
- import SpinIcon from '../../assets/spin.svg';
5
4
  import { withNativeProps } from '../../utils/native-props';
6
5
  import { usePropsValue } from '../../utils/use-props-value';
7
6
  import { mergeProps } from '../../utils/with-default-props';
7
+ import { SpinIcon } from './spin-icon';
8
8
  const classPrefix = `adm-switch`;
9
9
  const defaultProps = {
10
10
  defaultChecked: false
@@ -54,10 +54,8 @@ export const Switch = p => {
54
54
  className: `${classPrefix}-checkbox`
55
55
  }, React.createElement("div", {
56
56
  className: `${classPrefix}-handle`
57
- }, (props.loading || changing) && React.createElement("img", {
58
- src: SpinIcon,
59
- className: `${classPrefix}-icon`,
60
- alt: 'switch-handle'
57
+ }, (props.loading || changing) && React.createElement(SpinIcon, {
58
+ className: `${classPrefix}-spin-icon`
61
59
  })), React.createElement("div", {
62
60
  className: `${classPrefix}-inner`
63
61
  }, checked ? props.checkedText : props.uncheckedText))));
@@ -4,6 +4,7 @@ export declare type TabProps = {
4
4
  title: ReactNode;
5
5
  disabled?: boolean;
6
6
  forceRender?: boolean;
7
+ destroyOnClose?: boolean;
7
8
  } & NativeProps;
8
9
  export declare const Tab: FC<TabProps>;
9
10
  export declare type TabsProps = {
@@ -4,10 +4,12 @@ import { useSpring, animated } from '@react-spring/web';
4
4
  import { withNativeProps } from '../../utils/native-props';
5
5
  import { usePropsValue } from '../../utils/use-props-value';
6
6
  import { bound } from '../../utils/bound';
7
- import { useUpdateLayoutEffect, useThrottleFn, useIsomorphicLayoutEffect } from 'ahooks';
7
+ import { useThrottleFn, useIsomorphicLayoutEffect } from 'ahooks';
8
8
  import { useMutationEffect } from '../../utils/use-mutation-effect';
9
9
  import { useResizeEffect } from '../../utils/use-resize-effect';
10
10
  import { mergeProps } from '../../utils/with-default-props';
11
+ import { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';
12
+ import { ShouldRender } from '../../utils/should-render';
11
13
  const classPrefix = `adm-tabs`;
12
14
  export const Tab = () => {
13
15
  return null;
@@ -137,7 +139,7 @@ export const Tabs = p => {
137
139
  useIsomorphicLayoutEffect(() => {
138
140
  animate(!x.isAnimating);
139
141
  }, []);
140
- useUpdateLayoutEffect(() => {
142
+ useIsomorphicUpdateLayoutEffect(() => {
141
143
  animate();
142
144
  }, [activeKey]);
143
145
  useResizeEffect(() => {
@@ -224,23 +226,17 @@ export const Tabs = p => {
224
226
  return null;
225
227
  }
226
228
 
227
- if (pane.key === activeKey) {
228
- return React.createElement("div", {
229
- key: pane.key,
230
- className: `${classPrefix}-content`
231
- }, pane.props.children);
232
- }
233
-
234
- if (pane.props.forceRender) {
235
- return React.createElement("div", {
236
- key: pane.key,
237
- className: `${classPrefix}-content`,
238
- style: {
239
- display: 'none'
240
- }
241
- }, pane.props.children);
242
- }
243
-
244
- return null;
229
+ const active = pane.key === activeKey;
230
+ return React.createElement(ShouldRender, {
231
+ key: pane.key,
232
+ active: active,
233
+ forceRender: pane.props.forceRender,
234
+ destroyOnClose: pane.props.destroyOnClose
235
+ }, React.createElement("div", {
236
+ className: `${classPrefix}-content`,
237
+ style: {
238
+ display: active ? 'block' : 'none'
239
+ }
240
+ }, pane.props.children));
245
241
  })));
246
242
  };
@@ -18,7 +18,7 @@ export declare const VirtualInput: React.ForwardRefExoticComponent<{
18
18
  onFocus?: (() => void) | undefined;
19
19
  onBlur?: (() => void) | undefined;
20
20
  onClick?: ((e: React.MouseEvent<HTMLDivElement>) => void) | undefined;
21
- keyboard?: React.ReactElement<NumberKeyboardProps, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | undefined;
21
+ keyboard?: React.ReactElement<NumberKeyboardProps, string | React.JSXElementConstructor<any>> | undefined;
22
22
  clearable?: boolean | undefined;
23
23
  onClear?: (() => void) | undefined;
24
- } & Pick<InputProps, "value" | "disabled" | "onChange" | "placeholder"> & NativeProps<"--color" | "--font-size" | "--placeholder-color" | "--text-align" | "--disabled-color" | "--caret-width" | "--caret-color"> & React.RefAttributes<VirtualInputRef>>;
24
+ } & Pick<InputProps, "value" | "onChange" | "disabled" | "placeholder"> & NativeProps<"--color" | "--font-size" | "--placeholder-color" | "--text-align" | "--disabled-color" | "--caret-width" | "--caret-color"> & React.RefAttributes<VirtualInputRef>>;
@@ -31,6 +31,57 @@ export declare const base: {
31
31
  description: string;
32
32
  };
33
33
  };
34
+ Form: {
35
+ required: string;
36
+ optional: string;
37
+ defaultValidateMessages: {
38
+ default: string;
39
+ required: string;
40
+ enum: string;
41
+ whitespace: string;
42
+ date: {
43
+ format: string;
44
+ parse: string;
45
+ invalid: string;
46
+ };
47
+ types: {
48
+ string: string;
49
+ method: string;
50
+ array: string;
51
+ object: string;
52
+ number: string;
53
+ date: string;
54
+ boolean: string;
55
+ integer: string;
56
+ float: string;
57
+ regexp: string;
58
+ email: string;
59
+ url: string;
60
+ hex: string;
61
+ };
62
+ string: {
63
+ len: string;
64
+ min: string;
65
+ max: string;
66
+ range: string;
67
+ };
68
+ number: {
69
+ len: string;
70
+ min: string;
71
+ max: string;
72
+ range: string;
73
+ };
74
+ array: {
75
+ len: string;
76
+ min: string;
77
+ max: string;
78
+ range: string;
79
+ };
80
+ pattern: {
81
+ mismatch: string;
82
+ };
83
+ };
84
+ };
34
85
  ImageUploader: {
35
86
  uploading: string;
36
87
  };
@@ -1,3 +1,4 @@
1
+ const typeTemplate = '${label} is not a valid ${type}';
1
2
  export const base = {
2
3
  common: {
3
4
  confirm: 'Confirm',
@@ -31,6 +32,57 @@ export const base = {
31
32
  description: 'Want to try a new search?'
32
33
  }
33
34
  },
35
+ Form: {
36
+ required: 'Required',
37
+ optional: 'Optional',
38
+ defaultValidateMessages: {
39
+ default: 'Field validation error for ${label}',
40
+ required: 'Please enter ${label}',
41
+ enum: '${label} must be one of [${enum}]',
42
+ whitespace: '${label} cannot be a blank character',
43
+ date: {
44
+ format: '${label} date format is invalid',
45
+ parse: '${label} cannot be converted to a date',
46
+ invalid: '${label} is an invalid date'
47
+ },
48
+ types: {
49
+ string: typeTemplate,
50
+ method: typeTemplate,
51
+ array: typeTemplate,
52
+ object: typeTemplate,
53
+ number: typeTemplate,
54
+ date: typeTemplate,
55
+ boolean: typeTemplate,
56
+ integer: typeTemplate,
57
+ float: typeTemplate,
58
+ regexp: typeTemplate,
59
+ email: typeTemplate,
60
+ url: typeTemplate,
61
+ hex: typeTemplate
62
+ },
63
+ string: {
64
+ len: '${label} must be ${len} characters',
65
+ min: '${label} must be at least ${min} characters',
66
+ max: '${label} must be up to ${max} characters',
67
+ range: '${label} must be between ${min}-${max} characters'
68
+ },
69
+ number: {
70
+ len: '${label} must be equal to ${len}',
71
+ min: '${label} must be minimum ${min}',
72
+ max: '${label} must be maximum ${max}',
73
+ range: '${label} must be between ${min}-${max}'
74
+ },
75
+ array: {
76
+ len: 'Must be ${len} ${label}',
77
+ min: 'At least ${min} ${label}',
78
+ max: 'At most ${max} ${label}',
79
+ range: 'The amount of ${label} must be between ${min}-${max}'
80
+ },
81
+ pattern: {
82
+ mismatch: '${label} does not match the pattern ${pattern}'
83
+ }
84
+ }
85
+ },
34
86
  ImageUploader: {
35
87
  uploading: 'Uploading...'
36
88
  },
@@ -31,6 +31,57 @@ declare const enUS: {
31
31
  description: string;
32
32
  };
33
33
  };
34
+ Form: {
35
+ required: string;
36
+ optional: string;
37
+ defaultValidateMessages: {
38
+ default: string;
39
+ required: string;
40
+ enum: string;
41
+ whitespace: string;
42
+ date: {
43
+ format: string;
44
+ parse: string;
45
+ invalid: string;
46
+ };
47
+ types: {
48
+ string: string;
49
+ method: string;
50
+ array: string;
51
+ object: string;
52
+ number: string;
53
+ date: string;
54
+ boolean: string;
55
+ integer: string;
56
+ float: string;
57
+ regexp: string;
58
+ email: string;
59
+ url: string;
60
+ hex: string;
61
+ };
62
+ string: {
63
+ len: string;
64
+ min: string;
65
+ max: string;
66
+ range: string;
67
+ };
68
+ number: {
69
+ len: string;
70
+ min: string;
71
+ max: string;
72
+ range: string;
73
+ };
74
+ array: {
75
+ len: string;
76
+ min: string;
77
+ max: string;
78
+ range: string;
79
+ };
80
+ pattern: {
81
+ mismatch: string;
82
+ };
83
+ };
84
+ };
34
85
  ImageUploader: {
35
86
  uploading: string;
36
87
  };
@@ -31,6 +31,57 @@ declare const zhCN: {
31
31
  description: string;
32
32
  };
33
33
  };
34
+ Form: {
35
+ required: string;
36
+ optional: string;
37
+ defaultValidateMessages: {
38
+ default: string;
39
+ required: string;
40
+ enum: string;
41
+ whitespace: string;
42
+ date: {
43
+ format: string;
44
+ parse: string;
45
+ invalid: string;
46
+ };
47
+ types: {
48
+ string: string;
49
+ method: string;
50
+ array: string;
51
+ object: string;
52
+ number: string;
53
+ date: string;
54
+ boolean: string;
55
+ integer: string;
56
+ float: string;
57
+ regexp: string;
58
+ email: string;
59
+ url: string;
60
+ hex: string;
61
+ };
62
+ string: {
63
+ len: string;
64
+ min: string;
65
+ max: string;
66
+ range: string;
67
+ };
68
+ number: {
69
+ len: string;
70
+ min: string;
71
+ max: string;
72
+ range: string;
73
+ };
74
+ array: {
75
+ len: string;
76
+ min: string;
77
+ max: string;
78
+ range: string;
79
+ };
80
+ pattern: {
81
+ mismatch: string;
82
+ };
83
+ };
84
+ };
34
85
  ImageUploader: {
35
86
  uploading: string;
36
87
  };
@@ -1,5 +1,6 @@
1
1
  import { mergeLocale } from '../utils/merge-locale';
2
2
  import { base } from './base';
3
+ const typeTemplate = '${label}不是一个有效的${type}';
3
4
  const zhCN = mergeLocale(base, {
4
5
  common: {
5
6
  confirm: '确定',
@@ -33,6 +34,57 @@ const zhCN = mergeLocale(base, {
33
34
  description: '找找其他的吧'
34
35
  }
35
36
  },
37
+ Form: {
38
+ required: '必填',
39
+ optional: '选填',
40
+ defaultValidateMessages: {
41
+ default: '字段验证错误${label}',
42
+ required: '请输入${label}',
43
+ enum: '${label}必须是其中一个[${enum}]',
44
+ whitespace: '${label}不能为空字符',
45
+ date: {
46
+ format: '${label}日期格式无效',
47
+ parse: '${label}不能转换为日期',
48
+ invalid: '${label}是一个无效日期'
49
+ },
50
+ types: {
51
+ string: typeTemplate,
52
+ method: typeTemplate,
53
+ array: typeTemplate,
54
+ object: typeTemplate,
55
+ number: typeTemplate,
56
+ date: typeTemplate,
57
+ boolean: typeTemplate,
58
+ integer: typeTemplate,
59
+ float: typeTemplate,
60
+ regexp: typeTemplate,
61
+ email: typeTemplate,
62
+ url: typeTemplate,
63
+ hex: typeTemplate
64
+ },
65
+ string: {
66
+ len: '${label}须为${len}个字符',
67
+ min: '${label}最少${min}个字符',
68
+ max: '${label}最多${max}个字符',
69
+ range: '${label}须在${min}-${max}字符之间'
70
+ },
71
+ number: {
72
+ len: '${label}必须等于${len}',
73
+ min: '${label}最小值为${min}',
74
+ max: '${label}最大值为${max}',
75
+ range: '${label}须在${min}-${max}之间'
76
+ },
77
+ array: {
78
+ len: '须为${len}个${label}',
79
+ min: '最少${min}个${label}',
80
+ max: '最多${max}个${label}',
81
+ range: '${label}数量须在${min}-${max}之间'
82
+ },
83
+ pattern: {
84
+ mismatch: '${label}与模式不匹配${pattern}'
85
+ }
86
+ }
87
+ },
36
88
  ImageUploader: {
37
89
  uploading: '上传中...'
38
90
  },
@@ -7,9 +7,11 @@ export function measureCSSLength(raw) {
7
7
  return parseFloat(withUnit);
8
8
  } else if (withUnit.endsWith('rem')) {
9
9
  return parseFloat(withUnit) * parseFloat(window.getComputedStyle(document.documentElement).fontSize);
10
+ } else if (withUnit.endsWith('vw')) {
11
+ return parseFloat(withUnit) * window.innerWidth / 100;
10
12
  } else {
11
13
  if (isDev) {
12
- devError('Global', 'You are using a not supported CSS unit. Only `px` and `rem` are supported.');
14
+ devError('Global', 'You are using a not supported CSS unit. Only `px` `rem` and `vw` are supported.');
13
15
  }
14
16
 
15
17
  return 0;
@@ -5,4 +5,4 @@ export interface NativeProps<S extends string = never> {
5
5
  style?: CSSProperties & Partial<Record<S, string>>;
6
6
  tabIndex?: number;
7
7
  }
8
- export declare function withNativeProps<P extends NativeProps>(props: P, element: ReactElement): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>;
8
+ export declare function withNativeProps<P extends NativeProps>(props: P, element: ReactElement): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
@@ -1,3 +1,3 @@
1
1
  import { ReactElement } from 'react';
2
2
  export declare type GetContainer = HTMLElement | (() => HTMLElement) | null;
3
- export declare function renderToContainer(getContainer: GetContainer, node: ReactElement): ReactElement<any, string | ((props: any) => ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)>;
3
+ export declare function renderToContainer(getContainer: GetContainer, node: ReactElement): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
@@ -0,0 +1,10 @@
1
+ import { FC, ReactElement } from 'react';
2
+ interface Props {
3
+ active: boolean;
4
+ forceRender?: boolean;
5
+ destroyOnClose?: boolean;
6
+ children: ReactElement;
7
+ }
8
+ export declare const ShouldRender: FC<Props>;
9
+ export declare function useShouldRender(active: boolean, forceRender?: boolean, destroyOnClose?: boolean): boolean;
10
+ export {};
@@ -1,4 +1,8 @@
1
1
  import { useInitialized } from './use-initialized';
2
+ export const ShouldRender = props => {
3
+ const shouldRender = useShouldRender(props.active, props.forceRender, props.destroyOnClose);
4
+ return shouldRender ? props.children : null;
5
+ };
2
6
  export function useShouldRender(active, forceRender, destroyOnClose) {
3
7
  const initialized = useInitialized(active);
4
8
  if (forceRender) return true;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
- export declare const useDragAndPinch: <Config extends import("@use-gesture/react").UserGestureConfig = import("@use-gesture/react").UserGestureConfig>(_handlers: Partial<import("@use-gesture/react").NativeHandlers<import("@use-gesture/react").EventTypes> & import("@use-gesture/react").UserHandlers<import("@use-gesture/react").EventTypes>>, _config?: {} | Config | undefined) => Config["target"] extends object ? void : (...args: any[]) => Pick<import("react").DOMAttributes<EventTarget>, "onClick" | "onChange" | "onPause" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScrollCapture" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture">;
1
+ export declare const useDragAndPinch: <Config extends import("@use-gesture/react").UserGestureConfig = import("@use-gesture/react").UserGestureConfig>(_handlers: Partial<import("@use-gesture/react").NativeHandlers<import("@use-gesture/react").EventTypes> & import("@use-gesture/react").UserHandlers<import("@use-gesture/react").EventTypes>>, _config?: {} | Config | undefined) => Config["target"] extends object ? void : (...args: any[]) => import("@use-gesture/react").ReactDOMAttributes;
@@ -1,3 +1,2 @@
1
- import { createUpdateEffect } from 'ahooks/lib/createUpdateEffect';
2
- import { useIsomorphicLayoutEffect } from 'ahooks';
1
+ import { createUpdateEffect, useIsomorphicLayoutEffect } from 'ahooks';
3
2
  export const useIsomorphicUpdateLayoutEffect = createUpdateEffect(useIsomorphicLayoutEffect);
@@ -3,5 +3,5 @@ declare type Options<T> = {
3
3
  defaultValue: T;
4
4
  onChange?: (v: T) => void;
5
5
  };
6
- export declare function usePropsValue<T>(options: Options<T>): readonly [T, (v: T) => void];
6
+ export declare function usePropsValue<T>(options: Options<T>): readonly [T, (this: unknown, v: T) => void];
7
7
  export {};
@@ -1,7 +1,8 @@
1
1
  import { useSpring } from '@react-spring/web';
2
2
  import { useMutationEffect } from './use-mutation-effect';
3
3
  import { bound } from './bound';
4
- import { useIsomorphicLayoutEffect, useUpdateLayoutEffect } from 'ahooks';
4
+ import { useIsomorphicLayoutEffect } from 'ahooks';
5
+ import { useIsomorphicUpdateLayoutEffect } from './use-isomorphic-update-layout-effect';
5
6
  export const useTabListScroll = (targetRef, activeIndex) => {
6
7
  const [{
7
8
  scrollLeft
@@ -39,7 +40,7 @@ export const useTabListScroll = (targetRef, activeIndex) => {
39
40
  useIsomorphicLayoutEffect(() => {
40
41
  animate(true);
41
42
  }, []);
42
- useUpdateLayoutEffect(() => {
43
+ useIsomorphicUpdateLayoutEffect(() => {
43
44
  animate();
44
45
  }, [activeIndex]);
45
46
  useMutationEffect(() => {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare type Direction = '' | 'vertical' | 'horizontal';
3
2
  export declare function useTouch(): {
4
3
  move: EventListener;
@@ -6,7 +6,7 @@ export function isObject(val) {
6
6
  return val !== null && typeof val === 'object';
7
7
  }
8
8
  export function isPromise(obj) {
9
- return obj && typeof obj === 'object' && typeof obj.then === 'function';
9
+ return !!obj && typeof obj === 'object' && typeof obj.then === 'function';
10
10
  }
11
11
  export function isDate(val) {
12
12
  return Object.prototype.toString.call(val) === '[object Date]' && !Number.isNaN(val.getTime());
@@ -1,3 +1,3 @@
1
1
  import React, { ReactElement } from 'react';
2
2
  export declare type PropagationEvent = 'click';
3
- export declare function withStopPropagation(events: PropagationEvent[], element: ReactElement): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>;
3
+ export declare function withStopPropagation(events: PropagationEvent[], element: ReactElement): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
package/2x/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "antd-mobile",
3
- "version": "5.2.0",
3
+ "version": "5.3.0",
4
4
  "dependencies": {
5
5
  "@react-spring/web": "^9.4.3",
6
6
  "@types/resize-observer-browser": "^0.1.7",
7
- "@use-gesture/react": "^10.2.6",
8
- "ahooks": "^3.1.9",
7
+ "@use-gesture/react": "^10.2.7",
8
+ "ahooks": "^3.1.10",
9
9
  "antd-mobile-icons": "^0.2.2",
10
10
  "antd-mobile-v5-count": "^1.0.1",
11
11
  "classnames": "^2.3.1",
12
- "dayjs": "^1.10.7",
12
+ "dayjs": "^1.10.8",
13
13
  "lodash": "^4.17.21",
14
- "rc-field-form": "^1.22.1",
14
+ "rc-field-form": "^1.23.1",
15
15
  "rc-tooltip": "^5.1.1",
16
16
  "staged-components": "^1.1.2",
17
- "tslib": "^1.14.1",
17
+ "tslib": "^2.3.1",
18
18
  "use-async-memo": "^1.2.3"
19
19
  },
20
20
  "peerDependencies": {
@@ -28,32 +28,5 @@ export declare type CalendarProps = {
28
28
  defaultValue?: [Date, Date] | null;
29
29
  onChange?: (val: [Date, Date]) => void;
30
30
  }) & NativeProps;
31
- export declare const Calendar: React.ForwardRefExoticComponent<({
32
- weekStartsOn?: "Monday" | "Sunday" | undefined;
33
- renderLabel?: ((date: Date) => string | null | undefined) | undefined;
34
- onPageChange?: ((year: number, month: number) => void) | undefined;
35
- } & {
36
- selectionMode?: undefined;
37
- value?: undefined;
38
- defaultValue?: undefined;
39
- onChange?: undefined;
40
- } & NativeProps<never> & React.RefAttributes<CalenderRef>) | ({
41
- weekStartsOn?: "Monday" | "Sunday" | undefined;
42
- renderLabel?: ((date: Date) => string | null | undefined) | undefined;
43
- onPageChange?: ((year: number, month: number) => void) | undefined;
44
- } & {
45
- selectionMode: 'single';
46
- value?: Date | null | undefined;
47
- defaultValue?: Date | null | undefined;
48
- onChange?: ((val: Date) => void) | undefined;
49
- } & NativeProps<never> & React.RefAttributes<CalenderRef>) | ({
50
- weekStartsOn?: "Monday" | "Sunday" | undefined;
51
- renderLabel?: ((date: Date) => string | null | undefined) | undefined;
52
- onPageChange?: ((year: number, month: number) => void) | undefined;
53
- } & {
54
- selectionMode: 'range';
55
- value?: [Date, Date] | null | undefined;
56
- defaultValue?: [Date, Date] | null | undefined;
57
- onChange?: ((val: [Date, Date]) => void) | undefined;
58
- } & NativeProps<never> & React.RefAttributes<CalenderRef>)>;
31
+ export declare const Calendar: React.ForwardRefExoticComponent<CalendarProps & React.RefAttributes<CalenderRef>>;
59
32
  export {};
@@ -4,6 +4,7 @@ export declare type CapsuleTabProps = {
4
4
  title: ReactNode;
5
5
  disabled?: boolean;
6
6
  forceRender?: boolean;
7
+ destroyOnClose?: boolean;
7
8
  } & NativeProps;
8
9
  export declare const CapsuleTab: FC<CapsuleTabProps>;
9
10
  export declare type CapsuleTabsProps = {