antd-mobile 5.0.0-rc.5 → 5.0.0-rc.9

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 (241) hide show
  1. package/2x/README.md +10 -1
  2. package/2x/cjs/components/cascader/cascader.d.ts +2 -2
  3. package/2x/cjs/components/checkbox/checkbox.css +1 -1
  4. package/2x/cjs/components/date-picker/date-picker.js +1 -1
  5. package/2x/cjs/components/dialog/dialog.d.ts +1 -0
  6. package/2x/cjs/components/dialog/dialog.js +5 -3
  7. package/2x/cjs/components/form/form-item.css +2 -1
  8. package/2x/cjs/components/form/form-item.js +1 -1
  9. package/2x/cjs/components/form/index.css +2 -1
  10. package/2x/cjs/components/image/lazy-detector.js +4 -1
  11. package/2x/cjs/components/image-uploader/image-uploader.js +3 -4
  12. package/2x/cjs/components/image-viewer/slide.js +0 -5
  13. package/2x/cjs/components/index-bar/index-bar.css +1 -1
  14. package/2x/cjs/components/infinite-scroll/infinite-scroll.js +1 -1
  15. package/2x/cjs/components/input/input.d.ts +2 -2
  16. package/2x/cjs/components/mask/mask.js +3 -2
  17. package/2x/cjs/components/modal/modal.d.ts +1 -0
  18. package/2x/cjs/components/modal/modal.js +5 -3
  19. package/2x/cjs/components/notice-bar/notice-bar.css +1 -0
  20. package/2x/cjs/components/number-keyboard/number-keyboard.js +1 -1
  21. package/2x/cjs/components/picker/picker.d.ts +2 -2
  22. package/2x/cjs/components/picker/picker.js +4 -3
  23. package/2x/cjs/components/picker-view/picker-view.css +1 -0
  24. package/2x/cjs/components/picker-view/picker-view.js +25 -19
  25. package/2x/cjs/components/picker-view/wheel.d.ts +10 -0
  26. package/2x/cjs/components/picker-view/{column.js → wheel.js} +29 -13
  27. package/2x/cjs/components/progress-bar/progress-bar.css +3 -1
  28. package/2x/cjs/components/progress-bar/progress-bar.d.ts +1 -1
  29. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  30. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.js +2 -0
  31. package/2x/cjs/components/radio/radio.css +1 -1
  32. package/2x/cjs/components/rate/rate.css +1 -0
  33. package/2x/cjs/components/search-bar/search-bar.css +5 -0
  34. package/2x/cjs/components/search-bar/search-bar.d.ts +3 -1
  35. package/2x/cjs/components/search-bar/search-bar.js +6 -5
  36. package/2x/cjs/components/side-bar/side-bar.css +2 -0
  37. package/2x/cjs/components/side-bar/side-bar.d.ts +1 -1
  38. package/2x/cjs/components/skeleton/index.d.ts +8 -0
  39. package/2x/cjs/components/skeleton/index.js +19 -0
  40. package/2x/cjs/components/skeleton/skeleton.css +45 -0
  41. package/2x/cjs/components/skeleton/skeleton.d.ts +15 -0
  42. package/2x/cjs/components/skeleton/skeleton.js +61 -0
  43. package/2x/cjs/components/stepper/stepper.d.ts +1 -0
  44. package/2x/cjs/components/stepper/stepper.js +4 -2
  45. package/2x/cjs/components/tab-bar/tab-bar.css +1 -1
  46. package/2x/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  47. package/2x/cjs/components/tab-bar/tab-bar.js +24 -11
  48. package/2x/cjs/components/tabs/tabs.css +4 -1
  49. package/2x/cjs/components/tabs/tabs.d.ts +1 -1
  50. package/2x/cjs/components/tree-select/tree-select.css +1 -0
  51. package/2x/cjs/components/virtual-input/virtual-input.js +1 -3
  52. package/2x/cjs/global/global.css +0 -4
  53. package/2x/cjs/index.d.ts +2 -1
  54. package/2x/cjs/index.js +10 -2
  55. package/2x/cjs/utils/use-mutation-effect.js +1 -1
  56. package/2x/cjs/utils/use-props-value.js +1 -1
  57. package/2x/cjs/utils/use-resize-effect.js +1 -1
  58. package/2x/es/components/cascader/cascader.d.ts +2 -2
  59. package/2x/es/components/checkbox/checkbox.css +1 -1
  60. package/2x/es/components/date-picker/date-picker.js +2 -2
  61. package/2x/es/components/dialog/dialog.d.ts +1 -0
  62. package/2x/es/components/dialog/dialog.js +5 -3
  63. package/2x/es/components/form/form-item.css +2 -1
  64. package/2x/es/components/form/form-item.js +1 -1
  65. package/2x/es/components/form/index.css +2 -1
  66. package/2x/es/components/image/lazy-detector.js +4 -1
  67. package/2x/es/components/image-uploader/image-uploader.js +4 -5
  68. package/2x/es/components/image-viewer/slide.js +0 -5
  69. package/2x/es/components/index-bar/index-bar.css +1 -1
  70. package/2x/es/components/infinite-scroll/infinite-scroll.js +2 -2
  71. package/2x/es/components/input/input.d.ts +2 -2
  72. package/2x/es/components/mask/mask.js +3 -2
  73. package/2x/es/components/modal/modal.d.ts +1 -0
  74. package/2x/es/components/modal/modal.js +5 -3
  75. package/2x/es/components/notice-bar/notice-bar.css +1 -0
  76. package/2x/es/components/number-keyboard/number-keyboard.js +2 -2
  77. package/2x/es/components/picker/picker.d.ts +2 -2
  78. package/2x/es/components/picker/picker.js +5 -4
  79. package/2x/es/components/picker-view/picker-view.css +1 -0
  80. package/2x/es/components/picker-view/picker-view.js +26 -20
  81. package/2x/es/components/picker-view/wheel.d.ts +10 -0
  82. package/2x/es/components/picker-view/{column.js → wheel.js} +26 -11
  83. package/2x/es/components/progress-bar/progress-bar.css +3 -1
  84. package/2x/es/components/progress-bar/progress-bar.d.ts +1 -1
  85. package/2x/es/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  86. package/2x/es/components/pull-to-refresh/pull-to-refresh.js +2 -0
  87. package/2x/es/components/radio/radio.css +1 -1
  88. package/2x/es/components/rate/rate.css +1 -0
  89. package/2x/es/components/search-bar/search-bar.css +5 -0
  90. package/2x/es/components/search-bar/search-bar.d.ts +3 -1
  91. package/2x/es/components/search-bar/search-bar.js +6 -5
  92. package/2x/es/components/side-bar/side-bar.css +2 -0
  93. package/2x/es/components/side-bar/side-bar.d.ts +1 -1
  94. package/2x/es/components/skeleton/index.d.ts +8 -0
  95. package/2x/es/components/skeleton/index.js +7 -0
  96. package/2x/es/components/skeleton/skeleton.css +45 -0
  97. package/2x/es/components/skeleton/skeleton.d.ts +15 -0
  98. package/2x/es/components/skeleton/skeleton.js +36 -0
  99. package/2x/es/components/stepper/stepper.d.ts +1 -0
  100. package/2x/es/components/stepper/stepper.js +4 -2
  101. package/2x/es/components/tab-bar/tab-bar.css +1 -1
  102. package/2x/es/components/tab-bar/tab-bar.d.ts +1 -0
  103. package/2x/es/components/tab-bar/tab-bar.js +22 -11
  104. package/2x/es/components/tabs/tabs.css +4 -1
  105. package/2x/es/components/tabs/tabs.d.ts +1 -1
  106. package/2x/es/components/tree-select/tree-select.css +1 -0
  107. package/2x/es/components/virtual-input/virtual-input.js +1 -3
  108. package/2x/es/global/global.css +0 -4
  109. package/2x/es/index.d.ts +2 -1
  110. package/2x/es/index.js +3 -2
  111. package/2x/es/utils/use-mutation-effect.js +2 -2
  112. package/2x/es/utils/use-props-value.js +2 -2
  113. package/2x/es/utils/use-resize-effect.js +2 -2
  114. package/2x/package.json +4 -4
  115. package/README.md +10 -1
  116. package/cjs/components/cascader/cascader.d.ts +2 -2
  117. package/cjs/components/checkbox/checkbox.css +1 -1
  118. package/cjs/components/date-picker/date-picker.js +1 -1
  119. package/cjs/components/dialog/dialog.d.ts +1 -0
  120. package/cjs/components/dialog/dialog.js +5 -3
  121. package/cjs/components/form/form-item.css +2 -1
  122. package/cjs/components/form/form-item.js +1 -1
  123. package/cjs/components/form/index.css +2 -1
  124. package/cjs/components/image/lazy-detector.js +4 -1
  125. package/cjs/components/image-uploader/image-uploader.js +3 -4
  126. package/cjs/components/image-viewer/slide.js +0 -5
  127. package/cjs/components/index-bar/index-bar.css +1 -1
  128. package/cjs/components/infinite-scroll/infinite-scroll.js +1 -1
  129. package/cjs/components/input/input.d.ts +2 -2
  130. package/cjs/components/mask/mask.js +3 -2
  131. package/cjs/components/modal/modal.d.ts +1 -0
  132. package/cjs/components/modal/modal.js +5 -3
  133. package/cjs/components/notice-bar/notice-bar.css +1 -0
  134. package/cjs/components/number-keyboard/number-keyboard.js +1 -1
  135. package/cjs/components/picker/picker.d.ts +2 -2
  136. package/cjs/components/picker/picker.js +4 -3
  137. package/cjs/components/picker-view/picker-view.css +1 -0
  138. package/cjs/components/picker-view/picker-view.js +25 -19
  139. package/cjs/components/picker-view/wheel.d.ts +10 -0
  140. package/cjs/components/picker-view/{column.js → wheel.js} +29 -13
  141. package/cjs/components/progress-bar/progress-bar.css +3 -1
  142. package/cjs/components/progress-bar/progress-bar.d.ts +1 -1
  143. package/cjs/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  144. package/cjs/components/pull-to-refresh/pull-to-refresh.js +2 -0
  145. package/cjs/components/radio/radio.css +1 -1
  146. package/cjs/components/rate/rate.css +1 -0
  147. package/cjs/components/search-bar/search-bar.css +4 -0
  148. package/cjs/components/search-bar/search-bar.d.ts +3 -1
  149. package/cjs/components/search-bar/search-bar.js +6 -5
  150. package/cjs/components/side-bar/side-bar.css +2 -0
  151. package/cjs/components/side-bar/side-bar.d.ts +1 -1
  152. package/cjs/components/skeleton/index.d.ts +8 -0
  153. package/cjs/components/skeleton/index.js +19 -0
  154. package/cjs/components/skeleton/skeleton.css +39 -0
  155. package/cjs/components/skeleton/skeleton.d.ts +15 -0
  156. package/cjs/components/skeleton/skeleton.js +61 -0
  157. package/cjs/components/stepper/stepper.d.ts +1 -0
  158. package/cjs/components/stepper/stepper.js +4 -2
  159. package/cjs/components/tab-bar/tab-bar.css +1 -1
  160. package/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  161. package/cjs/components/tab-bar/tab-bar.js +24 -11
  162. package/cjs/components/tabs/tabs.css +4 -1
  163. package/cjs/components/tabs/tabs.d.ts +1 -1
  164. package/cjs/components/tree-select/tree-select.css +1 -0
  165. package/cjs/components/virtual-input/virtual-input.js +1 -3
  166. package/cjs/global/global.css +0 -3
  167. package/cjs/index.d.ts +2 -1
  168. package/cjs/index.js +10 -2
  169. package/cjs/utils/use-mutation-effect.js +1 -1
  170. package/cjs/utils/use-props-value.js +1 -1
  171. package/cjs/utils/use-resize-effect.js +1 -1
  172. package/es/components/cascader/cascader.d.ts +2 -2
  173. package/es/components/checkbox/checkbox.css +1 -1
  174. package/es/components/date-picker/date-picker.js +2 -2
  175. package/es/components/dialog/dialog.d.ts +1 -0
  176. package/es/components/dialog/dialog.js +5 -3
  177. package/es/components/form/form-item.css +2 -1
  178. package/es/components/form/form-item.js +1 -1
  179. package/es/components/form/index.css +2 -1
  180. package/es/components/image/lazy-detector.js +4 -1
  181. package/es/components/image-uploader/image-uploader.js +4 -5
  182. package/es/components/image-viewer/slide.js +0 -5
  183. package/es/components/index-bar/index-bar.css +1 -1
  184. package/es/components/infinite-scroll/infinite-scroll.js +2 -2
  185. package/es/components/input/input.d.ts +2 -2
  186. package/es/components/mask/mask.js +3 -2
  187. package/es/components/modal/modal.d.ts +1 -0
  188. package/es/components/modal/modal.js +5 -3
  189. package/es/components/notice-bar/notice-bar.css +1 -0
  190. package/es/components/number-keyboard/number-keyboard.js +2 -2
  191. package/es/components/picker/picker.d.ts +2 -2
  192. package/es/components/picker/picker.js +5 -4
  193. package/es/components/picker-view/picker-view.css +1 -0
  194. package/es/components/picker-view/picker-view.js +26 -20
  195. package/es/components/picker-view/wheel.d.ts +10 -0
  196. package/es/components/picker-view/{column.js → wheel.js} +26 -11
  197. package/es/components/progress-bar/progress-bar.css +3 -1
  198. package/es/components/progress-bar/progress-bar.d.ts +1 -1
  199. package/es/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  200. package/es/components/pull-to-refresh/pull-to-refresh.js +2 -0
  201. package/es/components/radio/radio.css +1 -1
  202. package/es/components/rate/rate.css +1 -0
  203. package/es/components/search-bar/search-bar.css +4 -0
  204. package/es/components/search-bar/search-bar.d.ts +3 -1
  205. package/es/components/search-bar/search-bar.js +6 -5
  206. package/es/components/side-bar/side-bar.css +2 -0
  207. package/es/components/side-bar/side-bar.d.ts +1 -1
  208. package/es/components/skeleton/index.d.ts +8 -0
  209. package/es/components/skeleton/index.js +7 -0
  210. package/es/components/skeleton/skeleton.css +39 -0
  211. package/es/components/skeleton/skeleton.d.ts +15 -0
  212. package/es/components/skeleton/skeleton.js +36 -0
  213. package/es/components/stepper/stepper.d.ts +1 -0
  214. package/es/components/stepper/stepper.js +4 -2
  215. package/es/components/tab-bar/tab-bar.css +1 -1
  216. package/es/components/tab-bar/tab-bar.d.ts +1 -0
  217. package/es/components/tab-bar/tab-bar.js +22 -11
  218. package/es/components/tabs/tabs.css +4 -1
  219. package/es/components/tabs/tabs.d.ts +1 -1
  220. package/es/components/tree-select/tree-select.css +1 -0
  221. package/es/components/virtual-input/virtual-input.js +1 -3
  222. package/es/global/global.css +0 -3
  223. package/es/index.d.ts +2 -1
  224. package/es/index.js +3 -2
  225. package/es/utils/use-mutation-effect.js +2 -2
  226. package/es/utils/use-props-value.js +2 -2
  227. package/es/utils/use-resize-effect.js +2 -2
  228. package/package.json +4 -4
  229. package/umd/antd-mobile.js +1 -1
  230. package/2x/cjs/components/picker-view/column.d.ts +0 -9
  231. package/2x/cjs/utils/memo-with-event-marks.d.ts +0 -2
  232. package/2x/cjs/utils/memo-with-event-marks.js +0 -23
  233. package/2x/es/components/picker-view/column.d.ts +0 -9
  234. package/2x/es/utils/memo-with-event-marks.d.ts +0 -2
  235. package/2x/es/utils/memo-with-event-marks.js +0 -15
  236. package/cjs/components/picker-view/column.d.ts +0 -9
  237. package/cjs/utils/memo-with-event-marks.d.ts +0 -2
  238. package/cjs/utils/memo-with-event-marks.js +0 -23
  239. package/es/components/picker-view/column.d.ts +0 -9
  240. package/es/utils/memo-with-event-marks.d.ts +0 -2
  241. package/es/utils/memo-with-event-marks.js +0 -15
@@ -1,9 +1,11 @@
1
1
  .adm-progress-bar {
2
2
  --track-width: var(--adm-progress-bar-track-width, 3px);
3
+ --track-color: var(--adm-progress-bar-track-color, #e5e5e5);
3
4
  --fill-color: var(--adm-progress-bar-fill-color, #1677ff);
4
5
  }
5
6
  .adm-progress-bar-trail {
6
- background: #e5e5e5;
7
+ background: var(--track-color);
8
+ overflow: hidden;
7
9
  height: var(--track-width);
8
10
  border-radius: var(--track-width);
9
11
  }
@@ -2,5 +2,5 @@ import { FC } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type ProgressBarProps = {
4
4
  percent?: number;
5
- } & NativeProps<'--track-width' | '--fill-color'>;
5
+ } & NativeProps<'--track-width' | '--track-color' | '--fill-color'>;
6
6
  export declare const ProgressBar: FC<ProgressBarProps>;
@@ -9,6 +9,7 @@ export declare type PullToRefreshProps = {
9
9
  completeDelay?: number;
10
10
  headHeight?: number;
11
11
  threshold?: number;
12
+ disabled?: boolean;
12
13
  renderText?: (status: PullStatus) => ReactNode;
13
14
  };
14
15
  export declare const defaultProps: {
@@ -17,6 +18,7 @@ export declare const defaultProps: {
17
18
  refreshingText: string;
18
19
  completeText: string;
19
20
  completeDelay: number;
21
+ disabled: boolean;
20
22
  onRefresh: () => void;
21
23
  };
22
24
  export declare const PullToRefresh: FC<PullToRefreshProps>;
@@ -46,6 +46,7 @@ export var defaultProps = {
46
46
  refreshingText: '加载中……',
47
47
  completeText: '刷新成功',
48
48
  completeDelay: 500,
49
+ disabled: false,
49
50
  onRefresh: function onRefresh() {}
50
51
  };
51
52
  export var PullToRefresh = function PullToRefresh(p) {
@@ -222,6 +223,7 @@ export var PullToRefresh = function PullToRefresh(p) {
222
223
  },
223
224
  axis: 'y',
224
225
  target: elementRef,
226
+ enabled: !props.disabled,
225
227
  eventOptions: supportsPassive ? {
226
228
  passive: false
227
229
  } : false
@@ -50,7 +50,7 @@
50
50
  font-size: var(--icon-size);
51
51
  }
52
52
  .adm-radio-content {
53
- flex: none;
53
+ flex: 0 1 auto;
54
54
  font-size: var(--font-size);
55
55
  padding-left: var(--gap);
56
56
  }
@@ -14,6 +14,7 @@
14
14
  text-align: center;
15
15
  overflow: hidden;
16
16
  cursor: pointer;
17
+ box-sizing: border-box;
17
18
  }
18
19
  .adm-rate-star-half {
19
20
  padding-right: 0;
@@ -26,6 +26,7 @@
26
26
  flex: auto;
27
27
  padding: 4px 8px 4px 4px;
28
28
  height: 28px;
29
+ box-sizing: border-box;
29
30
  }
30
31
  .adm-search-bar .adm-search-bar-input-box .adm-search-bar-input.adm-input-wrapper {
31
32
  --placeholder-color: var(---placeholder-color);
@@ -34,6 +35,9 @@
34
35
  font-size: 13px;
35
36
  line-height: 19px;
36
37
  }
38
+ .adm-search-bar .adm-search-bar-input-box .adm-search-bar-input.adm-search-bar-input-without-icon {
39
+ padding-left: 8px;
40
+ }
37
41
  .adm-search-bar .adm-search-bar-suffix {
38
42
  flex: none;
39
43
  margin-left: 16px;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { InputRef, InputProps } from '../input';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  export declare type SearchBarRef = InputRef;
@@ -10,6 +10,7 @@ export declare type SearchBarProps = Pick<InputProps, 'onFocus' | 'onBlur' | 'on
10
10
  clearable?: boolean;
11
11
  showCancelButton?: boolean | ((focus: boolean, value: string) => boolean);
12
12
  cancelText?: string;
13
+ icon?: ReactNode;
13
14
  clearOnCancel?: boolean;
14
15
  onSearch?: (val: string) => void;
15
16
  onChange?: (val: string) => void;
@@ -23,6 +24,7 @@ export declare const SearchBar: React.ForwardRefExoticComponent<Pick<InputProps,
23
24
  clearable?: boolean | undefined;
24
25
  showCancelButton?: boolean | ((focus: boolean, value: string) => boolean) | undefined;
25
26
  cancelText?: string | undefined;
27
+ icon?: ReactNode;
26
28
  clearOnCancel?: boolean | undefined;
27
29
  onSearch?: ((val: string) => void) | undefined;
28
30
  onChange?: ((val: string) => void) | undefined;
@@ -11,10 +11,11 @@ var defaultProps = {
11
11
  clearable: true,
12
12
  showCancelButton: false,
13
13
  defaultValue: '',
14
- clearOnCancel: true
14
+ clearOnCancel: true,
15
+ icon: /*#__PURE__*/React.createElement(SearchOutline, null)
15
16
  };
16
17
  export var SearchBar = /*#__PURE__*/forwardRef(function (p, ref) {
17
- var _classNames;
18
+ var _classNames, _classNames2;
18
19
 
19
20
  var _useConfig = useConfig(),
20
21
  locale = _useConfig.locale;
@@ -87,11 +88,11 @@ export var SearchBar = /*#__PURE__*/forwardRef(function (p, ref) {
87
88
  className: classNames(classPrefix, (_classNames = {}, _classNames[classPrefix + "-active"] = hasFocus, _classNames))
88
89
  }, /*#__PURE__*/React.createElement("div", {
89
90
  className: classPrefix + "-input-box"
90
- }, /*#__PURE__*/React.createElement("div", {
91
+ }, props.icon && /*#__PURE__*/React.createElement("div", {
91
92
  className: classPrefix + "-input-box-icon"
92
- }, /*#__PURE__*/React.createElement(SearchOutline, null)), /*#__PURE__*/React.createElement(Input, {
93
+ }, props.icon), /*#__PURE__*/React.createElement(Input, {
93
94
  ref: inputRef,
94
- className: classPrefix + "-input",
95
+ className: classNames(classPrefix + "-input", (_classNames2 = {}, _classNames2[classPrefix + "-input-without-icon"] = !props.icon, _classNames2)),
95
96
  value: value,
96
97
  onChange: setValue,
97
98
  maxLength: props.maxLength,
@@ -4,6 +4,7 @@
4
4
  --item-border-radius: 8px;
5
5
  width: var(--width);
6
6
  height: var(--height);
7
+ box-sizing: border-box;
7
8
  font-size: 15px;
8
9
  overflow-y: auto;
9
10
  transform: translateZ(0);
@@ -13,6 +14,7 @@
13
14
  display: flex;
14
15
  align-items: center;
15
16
  min-height: 50px;
17
+ box-sizing: border-box;
16
18
  padding: 6px 22px;
17
19
  position: relative;
18
20
  cursor: pointer;
@@ -1,7 +1,7 @@
1
1
  import { FC, ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type SideBarItemProps = {
4
- title?: string;
4
+ title?: ReactNode;
5
5
  disabled?: boolean;
6
6
  badge?: ReactNode;
7
7
  } & NativeProps;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import './skeleton.less';
3
+ export type { SkeletonProps, SkeletonTitleProps } from './skeleton';
4
+ declare const _default: import("react").FC<import("./skeleton").SkeletonProps> & {
5
+ Title: import("react").FC<import("./skeleton").SkeletonTitleProps>;
6
+ Paragraph: import("react").FC<import("./skeleton").SkeletonParagraphProps>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import "./skeleton.css";
2
+ import { Skeleton, SkeletonParagraph, SkeletonTitle } from './skeleton';
3
+ import { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';
4
+ export default attachPropertiesToComponent(Skeleton, {
5
+ Title: SkeletonTitle,
6
+ Paragraph: SkeletonParagraph
7
+ });
@@ -0,0 +1,39 @@
1
+ .adm-skeleton {
2
+ --width: 100%;
3
+ --height: 0;
4
+ --border-radius: 0;
5
+ background-color: rgba(190, 190, 190, 0.2);
6
+ border-radius: var(--border-radius);
7
+ width: var(--width);
8
+ height: var(--height);
9
+ display: block;
10
+ }
11
+ .adm-skeleton.adm-skeleton-animated {
12
+ background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);
13
+ background-size: 400% 100%;
14
+ animation: adm-skeleton-loading 1.4s ease infinite;
15
+ }
16
+ .adm-skeleton.adm-skeleton-title {
17
+ --width: 45%;
18
+ --height: 32px;
19
+ --border-radius: 2px;
20
+ margin-bottom: 16px;
21
+ margin-top: 16px;
22
+ }
23
+ .adm-skeleton.adm-skeleton-paragraph-line {
24
+ --height: 18px;
25
+ --border-radius: 2px;
26
+ margin-top: 12px;
27
+ margin-bottom: 12px;
28
+ }
29
+ .adm-skeleton.adm-skeleton-paragraph-line:last-child {
30
+ --width: 65%;
31
+ }
32
+ @keyframes adm-skeleton-loading {
33
+ 0% {
34
+ background-position: 100% 50%;
35
+ }
36
+ 100% {
37
+ background-position: 0 50%;
38
+ }
39
+ }
@@ -0,0 +1,15 @@
1
+ import { FC } from 'react';
2
+ import { NativeProps } from '../../utils/native-props';
3
+ export declare type SkeletonProps = {
4
+ animated?: boolean;
5
+ } & NativeProps<'--width' | '--height' | '--border-radius'>;
6
+ export declare const Skeleton: FC<SkeletonProps>;
7
+ export declare type SkeletonTitleProps = {
8
+ animated?: boolean;
9
+ } & NativeProps;
10
+ export declare const SkeletonTitle: FC<SkeletonTitleProps>;
11
+ export declare type SkeletonParagraphProps = {
12
+ animated?: boolean;
13
+ lineCount?: number;
14
+ } & NativeProps;
15
+ export declare const SkeletonParagraph: FC<SkeletonParagraphProps>;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { withNativeProps } from '../../utils/native-props';
3
+ import classNames from 'classnames';
4
+ import { generateIntArray } from '../../utils/generate-int-array';
5
+ import { mergeProps } from '../../utils/with-default-props';
6
+ var classPrefix = 'adm-skeleton';
7
+ export var Skeleton = function Skeleton(props) {
8
+ var _classNames;
9
+
10
+ return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
11
+ className: classNames(classPrefix, (_classNames = {}, _classNames[classPrefix + "-animated"] = props.animated, _classNames))
12
+ }));
13
+ };
14
+ export var SkeletonTitle = function SkeletonTitle(props) {
15
+ return withNativeProps(props, /*#__PURE__*/React.createElement(Skeleton, {
16
+ animated: props.animated,
17
+ className: classPrefix + "-title"
18
+ }));
19
+ };
20
+ var defaultSkeletonParagraphProps = {
21
+ lineCount: 3
22
+ };
23
+ export var SkeletonParagraph = function SkeletonParagraph(p) {
24
+ var props = mergeProps(defaultSkeletonParagraphProps, p);
25
+ var keys = generateIntArray(1, props.lineCount);
26
+ var node = /*#__PURE__*/React.createElement("div", {
27
+ className: classPrefix + "-paragraph"
28
+ }, keys.map(function (key) {
29
+ return /*#__PURE__*/React.createElement(Skeleton, {
30
+ key: key,
31
+ animated: props.animated,
32
+ className: classPrefix + "-paragraph-line"
33
+ });
34
+ }));
35
+ return withNativeProps(props, node);
36
+ };
@@ -9,6 +9,7 @@ export declare type StepperProps = Pick<InputProps, 'onFocus' | 'onBlur'> & {
9
9
  step?: number;
10
10
  digits?: number;
11
11
  disabled?: boolean;
12
+ inputReadOnly?: boolean;
12
13
  onChange?: (value: number) => void;
13
14
  } & NativeProps<'--height' | '--input-width' | '--input-font-size' | '--border-radius' | '--border' | '--border-inner' | '--active-border' | '--button-font-size' | '--button-background-color' | '--button-width' | '--input-font-color' | '--button-text-color'>;
14
15
  export declare const Stepper: FC<StepperProps>;
@@ -20,7 +20,8 @@ export var Stepper = function Stepper(p) {
20
20
  var disabled = props.disabled,
21
21
  step = props.step,
22
22
  max = props.max,
23
- min = props.min;
23
+ min = props.min,
24
+ inputReadOnly = props.inputReadOnly;
24
25
 
25
26
  var _usePropsValue = usePropsValue(props),
26
27
  value = _usePropsValue[0],
@@ -113,7 +114,8 @@ export var Stepper = function Stepper(p) {
113
114
 
114
115
  setHasFocus(false);
115
116
  (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
116
- }
117
+ },
118
+ readOnly: inputReadOnly
117
119
  }), /*#__PURE__*/React.createElement(Button, {
118
120
  className: classPrefix + "-plus",
119
121
  onClick: handlePlus,
@@ -1,4 +1,4 @@
1
- .adm-tab-bar {
1
+ .adm-tab-bar-wrap {
2
2
  display: flex;
3
3
  flex-wrap: nowrap;
4
4
  justify-content: flex-start;
@@ -11,5 +11,6 @@ export declare type TabBarProps = {
11
11
  activeKey?: string | null;
12
12
  defaultActiveKey?: string | null;
13
13
  onChange?: (key: string) => void;
14
+ safeArea?: boolean;
14
15
  } & NativeProps;
15
16
  export declare const TabBar: FC<TabBarProps>;
@@ -1,14 +1,21 @@
1
1
  import React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { withNativeProps } from '../../utils/native-props';
4
+ import { mergeProps } from '../../utils/with-default-props';
4
5
  import Badge from '../badge';
6
+ import SafeArea from '../safe-area';
5
7
  import { usePropsValue } from '../../utils/use-props-value';
6
8
  export var TabBarItem = function TabBarItem() {
7
9
  return null;
8
10
  };
9
- export var TabBar = function TabBar(props) {
11
+ var classPrefix = "adm-tab-bar";
12
+ var defaultProps = {
13
+ safeArea: false
14
+ };
15
+ export var TabBar = function TabBar(p) {
10
16
  var _a;
11
17
 
18
+ var props = mergeProps(defaultProps, p);
12
19
  var firstActiveKey = null;
13
20
  var items = [];
14
21
  React.Children.forEach(props.children, function (child, index) {
@@ -32,28 +39,32 @@ export var TabBar = function TabBar(props) {
32
39
  setActiveKey = _usePropsValue[1];
33
40
 
34
41
  return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
35
- className: 'adm-tab-bar'
42
+ className: classPrefix
43
+ }, /*#__PURE__*/React.createElement("div", {
44
+ className: classPrefix + "-wrap"
36
45
  }, items.map(function (item) {
46
+ var _classNames;
47
+
37
48
  var active = item.key === activeKey;
38
49
 
39
50
  function renderContent() {
40
51
  var iconElement = item.props.icon && /*#__PURE__*/React.createElement("div", {
41
- className: 'adm-tab-bar-item-icon'
52
+ className: classPrefix + "-item-icon"
42
53
  }, typeof item.props.icon === 'function' ? item.props.icon(active) : item.props.icon);
43
54
  var titleElement = item.props.title && /*#__PURE__*/React.createElement("div", {
44
- className: 'adm-tab-bar-item-title'
55
+ className: classPrefix + "-item-title"
45
56
  }, item.props.title);
46
57
 
47
58
  if (iconElement) {
48
59
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Badge, {
49
60
  content: item.props.badge,
50
- className: 'adm-tab-bar-icon-badge'
61
+ className: classPrefix + "-icon-badge"
51
62
  }, iconElement), titleElement);
52
63
  } else if (titleElement) {
53
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Badge, {
64
+ return /*#__PURE__*/React.createElement(Badge, {
54
65
  content: item.props.badge,
55
- className: 'adm-tab-bar-title-badge'
56
- }, titleElement));
66
+ className: classPrefix + "-title-badge"
67
+ }, titleElement);
57
68
  }
58
69
 
59
70
  return null;
@@ -66,9 +77,9 @@ export var TabBar = function TabBar(props) {
66
77
  if (key === undefined || key === null) return;
67
78
  setActiveKey(key.toString());
68
79
  },
69
- className: classNames('adm-tab-bar-item', {
70
- 'adm-tab-bar-item-active': active
71
- })
80
+ className: classNames(classPrefix + "-item", (_classNames = {}, _classNames[classPrefix + "-item-active"] = active, _classNames))
72
81
  }, renderContent()));
82
+ })), props.safeArea && /*#__PURE__*/React.createElement(SafeArea, {
83
+ position: 'bottom'
73
84
  })));
74
85
  };
@@ -1,6 +1,8 @@
1
1
  .adm-tabs {
2
2
  --title-font-size: 17px;
3
3
  --content-padding: 12px;
4
+ --active-line-height: 2px;
5
+ --active-line-border-radius: 0;
4
6
  position: relative;
5
7
  }
6
8
  .adm-tabs-header {
@@ -44,9 +46,10 @@
44
46
  .adm-tabs-tab-line {
45
47
  position: absolute;
46
48
  bottom: 0;
47
- height: 2px;
49
+ height: var(--active-line-height);
48
50
  color: var(--adm-color-primary);
49
51
  background: var(--adm-color-primary);
52
+ border-radius: var(--active-line-border-radius);
50
53
  }
51
54
  .adm-tabs-content {
52
55
  padding: var(--content-padding);
@@ -12,5 +12,5 @@ export declare type TabsProps = {
12
12
  activeLineMode?: 'auto' | 'full' | 'fixed';
13
13
  stretch?: boolean;
14
14
  onChange?: (key: string) => void;
15
- } & NativeProps<'--fixed-active-line-width' | '--title-font-size' | '--content-padding'>;
15
+ } & NativeProps<'--fixed-active-line-width' | '--active-line-height' | '--active-line-border-radius' | '--title-font-size' | '--content-padding'>;
16
16
  export declare const Tabs: FC<TabsProps>;
@@ -24,6 +24,7 @@
24
24
  display: flex;
25
25
  align-items: center;
26
26
  min-height: 50px;
27
+ box-sizing: border-box;
27
28
  padding: 6px 12px;
28
29
  position: relative;
29
30
  }
@@ -34,9 +34,7 @@ export var VirtualInput = /*#__PURE__*/forwardRef(function (p, ref) {
34
34
 
35
35
  var content = contentRef.current;
36
36
  if (!content) return;
37
- content.scrollTo({
38
- left: content.clientWidth
39
- });
37
+ content.scrollLeft = content.clientWidth;
40
38
  }
41
39
 
42
40
  useLayoutEffect(function () {
@@ -21,9 +21,6 @@ body {
21
21
  font-size: var(--adm-font-size-main);
22
22
  font-family: var(--adm-font-family);
23
23
  }
24
- * {
25
- box-sizing: border-box;
26
- }
27
24
  a,
28
25
  button {
29
26
  cursor: pointer;
package/es/index.d.ts CHANGED
@@ -41,6 +41,7 @@ export { default as NavBar } from './components/nav-bar';
41
41
  export { default as NoticeBar } from './components/notice-bar';
42
42
  export { default as NumberKeyboard } from './components/number-keyboard';
43
43
  export { default as PageIndicator } from './components/page-indicator';
44
+ export { default as PasscodeInput } from './components/passcode-input';
44
45
  export { default as Picker } from './components/picker';
45
46
  export { default as PickerView } from './components/picker-view';
46
47
  export { default as Popover } from './components/popover';
@@ -57,6 +58,7 @@ export { default as Search } from './components/search-bar';
57
58
  export { default as SearchBar } from './components/search-bar';
58
59
  export { default as Selector } from './components/selector';
59
60
  export { default as SideBar } from './components/side-bar';
61
+ export { default as Skeleton } from './components/skeleton';
60
62
  export { default as Slider } from './components/slider';
61
63
  export { default as Space } from './components/space';
62
64
  export { default as Stepper } from './components//stepper';
@@ -72,4 +74,3 @@ export { default as Toast } from './components/toast';
72
74
  export { default as TreeSelect } from './components/tree-select';
73
75
  export { default as VirtualInput } from './components/virtual-input';
74
76
  export { default as WaterMark } from './components/water-mark';
75
- export { default as PasscodeInput } from './components/passcode-input';
package/es/index.js CHANGED
@@ -41,6 +41,7 @@ export { default as NavBar } from './components/nav-bar';
41
41
  export { default as NoticeBar } from './components/notice-bar';
42
42
  export { default as NumberKeyboard } from './components/number-keyboard';
43
43
  export { default as PageIndicator } from './components/page-indicator';
44
+ export { default as PasscodeInput } from './components/passcode-input';
44
45
  export { default as Picker } from './components/picker';
45
46
  export { default as PickerView } from './components/picker-view';
46
47
  export { default as Popover } from './components/popover';
@@ -58,6 +59,7 @@ export { default as Search } from './components/search-bar'; // TODO: deprecated
58
59
  export { default as SearchBar } from './components/search-bar';
59
60
  export { default as Selector } from './components/selector';
60
61
  export { default as SideBar } from './components/side-bar';
62
+ export { default as Skeleton } from './components/skeleton';
61
63
  export { default as Slider } from './components/slider';
62
64
  export { default as Space } from './components/space';
63
65
  export { default as Stepper } from './components//stepper';
@@ -72,5 +74,4 @@ export { default as TextArea } from './components/text-area';
72
74
  export { default as Toast } from './components/toast';
73
75
  export { default as TreeSelect } from './components/tree-select';
74
76
  export { default as VirtualInput } from './components/virtual-input';
75
- export { default as WaterMark } from './components/water-mark';
76
- export { default as PasscodeInput } from './components/passcode-input';
77
+ export { default as WaterMark } from './components/water-mark';
@@ -1,7 +1,7 @@
1
1
  import { useEffect } from 'react';
2
- import { usePersistFn } from 'ahooks';
2
+ import { useMemoizedFn } from 'ahooks';
3
3
  export function useMutationEffect(effect, targetRef, options) {
4
- var fn = usePersistFn(effect);
4
+ var fn = useMemoizedFn(effect);
5
5
  useEffect(function () {
6
6
  var observer = new MutationObserver(function () {
7
7
  fn();
@@ -1,5 +1,5 @@
1
1
  import { useRef } from 'react';
2
- import { usePersistFn, useUpdate } from 'ahooks';
2
+ import { useMemoizedFn, useUpdate } from 'ahooks';
3
3
  export function usePropsValue(options) {
4
4
  var value = options.value,
5
5
  defaultValue = options.defaultValue,
@@ -11,7 +11,7 @@ export function usePropsValue(options) {
11
11
  stateRef.current = value;
12
12
  }
13
13
 
14
- var setState = usePersistFn(function (v) {
14
+ var setState = useMemoizedFn(function (v) {
15
15
  if (value === undefined) {
16
16
  stateRef.current = v;
17
17
  update();
@@ -1,7 +1,7 @@
1
1
  import { useLayoutEffect } from 'react';
2
- import { usePersistFn } from 'ahooks';
2
+ import { useMemoizedFn } from 'ahooks';
3
3
  export function useResizeEffect(effect, targetRef) {
4
- var fn = usePersistFn(effect);
4
+ var fn = useMemoizedFn(effect);
5
5
  useLayoutEffect(function () {
6
6
  var target = targetRef.current;
7
7
  if (!target) return;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "antd-mobile",
3
- "version": "5.0.0-rc.5",
3
+ "version": "5.0.0-rc.9",
4
4
  "dependencies": {
5
- "@react-spring/web": "^9.3.1",
5
+ "@react-spring/web": "^9.3.2",
6
6
  "@types/resize-observer-browser": "^0.1.6",
7
- "@use-gesture/react": "^10.2.2",
8
- "ahooks": "^2.10.14",
7
+ "@use-gesture/react": "^10.2.4",
8
+ "ahooks": "^3.1.1",
9
9
  "antd-mobile-icons": "^0.2.2",
10
10
  "antd-mobile-v5-count": "^1.0.1",
11
11
  "classnames": "^2.3.1",