antd-mobile 5.19.0 → 5.22.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 (156) hide show
  1. package/2x/bundle/antd-mobile.cjs.development.js +25724 -0
  2. package/2x/bundle/antd-mobile.cjs.js +8 -32
  3. package/2x/bundle/antd-mobile.compatible.umd.js +10464 -10860
  4. package/2x/bundle/antd-mobile.es.development.js +25704 -0
  5. package/2x/bundle/antd-mobile.es.js +8381 -8615
  6. package/2x/bundle/antd-mobile.umd.development.js +25726 -0
  7. package/2x/bundle/antd-mobile.umd.js +8 -32
  8. package/2x/bundle/style.css +153 -7
  9. package/2x/cjs/components/action-sheet/action-sheet.css +6 -2
  10. package/2x/cjs/components/action-sheet/action-sheet.d.ts +1 -0
  11. package/2x/cjs/components/action-sheet/action-sheet.js +2 -1
  12. package/2x/cjs/components/check-list/check-list.css +1 -1
  13. package/2x/cjs/components/ellipsis/ellipsis.js +1 -0
  14. package/2x/cjs/components/floating-panel/floating-panel.js +2 -2
  15. package/2x/cjs/components/form/context.d.ts +1 -1
  16. package/2x/cjs/components/form/form-item.d.ts +1 -1
  17. package/2x/cjs/components/form/form-item.js +3 -0
  18. package/2x/cjs/components/image/test/image.test.js +57 -8
  19. package/2x/cjs/components/image-viewer/image-viewer.js +4 -2
  20. package/2x/cjs/components/index-bar/index-bar.css +1 -1
  21. package/2x/cjs/components/page-indicator/page-indicator.css +1 -1
  22. package/2x/cjs/components/picker-view/wheel.js +2 -0
  23. package/2x/cjs/components/rate/rate.css +4 -0
  24. package/2x/cjs/components/rate/rate.js +42 -13
  25. package/2x/cjs/components/result-page/index.d.ts +7 -0
  26. package/2x/cjs/components/result-page/index.js +20 -0
  27. package/2x/cjs/components/result-page/result-page-card.d.ts +6 -0
  28. package/2x/cjs/components/result-page/result-page-card.js +24 -0
  29. package/2x/cjs/components/result-page/result-page.css +130 -0
  30. package/2x/cjs/components/result-page/result-page.d.ts +23 -0
  31. package/2x/cjs/components/result-page/result-page.js +108 -0
  32. package/2x/cjs/components/selector/selector.css +10 -0
  33. package/2x/cjs/components/selector/selector.d.ts +3 -2
  34. package/2x/cjs/components/selector/selector.js +1 -4
  35. package/2x/cjs/components/swipe-action/swipe-action.d.ts +2 -0
  36. package/2x/cjs/components/swipe-action/swipe-action.js +34 -6
  37. package/2x/cjs/components/swiper/swiper.js +15 -1
  38. package/2x/cjs/components/tab-bar/tab-bar.css +2 -2
  39. package/2x/cjs/index.d.ts +1 -0
  40. package/2x/cjs/index.js +8 -0
  41. package/2x/cjs/locales/id-ID.js +13 -0
  42. package/2x/cjs/utils/use-resize-effect.js +3 -1
  43. package/2x/es/components/action-sheet/action-sheet.css +6 -2
  44. package/2x/es/components/action-sheet/action-sheet.d.ts +1 -0
  45. package/2x/es/components/action-sheet/action-sheet.js +2 -1
  46. package/2x/es/components/check-list/check-list.css +1 -1
  47. package/2x/es/components/ellipsis/ellipsis.js +1 -0
  48. package/2x/es/components/floating-panel/floating-panel.js +2 -2
  49. package/2x/es/components/form/context.d.ts +1 -1
  50. package/2x/es/components/form/form-item.d.ts +1 -1
  51. package/2x/es/components/form/form-item.js +3 -0
  52. package/2x/es/components/image/test/image.test.js +54 -8
  53. package/2x/es/components/image-viewer/image-viewer.js +4 -2
  54. package/2x/es/components/index-bar/index-bar.css +1 -1
  55. package/2x/es/components/page-indicator/page-indicator.css +1 -1
  56. package/2x/es/components/picker-view/wheel.js +2 -0
  57. package/2x/es/components/rate/rate.css +4 -0
  58. package/2x/es/components/rate/rate.js +36 -13
  59. package/2x/es/components/result-page/index.d.ts +7 -0
  60. package/2x/es/components/result-page/index.js +7 -0
  61. package/2x/es/components/result-page/result-page-card.d.ts +6 -0
  62. package/2x/es/components/result-page/result-page-card.js +9 -0
  63. package/2x/es/components/result-page/result-page.css +130 -0
  64. package/2x/es/components/result-page/result-page.d.ts +23 -0
  65. package/2x/es/components/result-page/result-page.js +83 -0
  66. package/2x/es/components/selector/selector.css +10 -0
  67. package/2x/es/components/selector/selector.d.ts +3 -2
  68. package/2x/es/components/selector/selector.js +1 -3
  69. package/2x/es/components/swipe-action/swipe-action.d.ts +2 -0
  70. package/2x/es/components/swipe-action/swipe-action.js +34 -6
  71. package/2x/es/components/swiper/swiper.js +15 -1
  72. package/2x/es/components/tab-bar/tab-bar.css +2 -2
  73. package/2x/es/index.d.ts +1 -0
  74. package/2x/es/index.js +1 -0
  75. package/2x/es/locales/id-ID.js +13 -0
  76. package/2x/es/utils/use-resize-effect.js +3 -1
  77. package/2x/package.json +6 -6
  78. package/2x/umd/antd-mobile.js +10464 -10860
  79. package/bundle/antd-mobile.cjs.development.js +25724 -0
  80. package/bundle/antd-mobile.cjs.js +8 -32
  81. package/bundle/antd-mobile.compatible.umd.js +10464 -10860
  82. package/bundle/antd-mobile.es.development.js +25704 -0
  83. package/bundle/antd-mobile.es.js +8381 -8615
  84. package/bundle/antd-mobile.umd.development.js +25726 -0
  85. package/bundle/antd-mobile.umd.js +8 -32
  86. package/bundle/style.css +1 -1
  87. package/cjs/components/action-sheet/action-sheet.css +5 -2
  88. package/cjs/components/action-sheet/action-sheet.d.ts +1 -0
  89. package/cjs/components/action-sheet/action-sheet.js +2 -1
  90. package/cjs/components/check-list/check-list.css +1 -1
  91. package/cjs/components/ellipsis/ellipsis.js +1 -0
  92. package/cjs/components/floating-panel/floating-panel.js +2 -2
  93. package/cjs/components/form/context.d.ts +1 -1
  94. package/cjs/components/form/form-item.d.ts +1 -1
  95. package/cjs/components/form/form-item.js +3 -0
  96. package/cjs/components/image/test/image.test.js +57 -8
  97. package/cjs/components/image-viewer/image-viewer.js +4 -2
  98. package/cjs/components/index-bar/index-bar.css +1 -1
  99. package/cjs/components/page-indicator/page-indicator.css +1 -1
  100. package/cjs/components/picker-view/wheel.js +2 -0
  101. package/cjs/components/rate/rate.css +4 -0
  102. package/cjs/components/rate/rate.js +42 -13
  103. package/cjs/components/result-page/index.d.ts +7 -0
  104. package/cjs/components/result-page/index.js +20 -0
  105. package/cjs/components/result-page/result-page-card.d.ts +6 -0
  106. package/cjs/components/result-page/result-page-card.js +24 -0
  107. package/cjs/components/result-page/result-page.css +113 -0
  108. package/cjs/components/result-page/result-page.d.ts +23 -0
  109. package/cjs/components/result-page/result-page.js +108 -0
  110. package/cjs/components/selector/selector.css +9 -0
  111. package/cjs/components/selector/selector.d.ts +3 -2
  112. package/cjs/components/selector/selector.js +1 -4
  113. package/cjs/components/swipe-action/swipe-action.d.ts +2 -0
  114. package/cjs/components/swipe-action/swipe-action.js +34 -6
  115. package/cjs/components/swiper/swiper.js +15 -1
  116. package/cjs/components/tab-bar/tab-bar.css +2 -2
  117. package/cjs/index.d.ts +1 -0
  118. package/cjs/index.js +8 -0
  119. package/cjs/locales/id-ID.js +13 -0
  120. package/cjs/utils/use-resize-effect.js +3 -1
  121. package/es/components/action-sheet/action-sheet.css +5 -2
  122. package/es/components/action-sheet/action-sheet.d.ts +1 -0
  123. package/es/components/action-sheet/action-sheet.js +2 -1
  124. package/es/components/check-list/check-list.css +1 -1
  125. package/es/components/ellipsis/ellipsis.js +1 -0
  126. package/es/components/floating-panel/floating-panel.js +2 -2
  127. package/es/components/form/context.d.ts +1 -1
  128. package/es/components/form/form-item.d.ts +1 -1
  129. package/es/components/form/form-item.js +3 -0
  130. package/es/components/image/test/image.test.js +54 -8
  131. package/es/components/image-viewer/image-viewer.js +4 -2
  132. package/es/components/index-bar/index-bar.css +1 -1
  133. package/es/components/page-indicator/page-indicator.css +1 -1
  134. package/es/components/picker-view/wheel.js +2 -0
  135. package/es/components/rate/rate.css +4 -0
  136. package/es/components/rate/rate.js +36 -13
  137. package/es/components/result-page/index.d.ts +7 -0
  138. package/es/components/result-page/index.js +7 -0
  139. package/es/components/result-page/result-page-card.d.ts +6 -0
  140. package/es/components/result-page/result-page-card.js +9 -0
  141. package/es/components/result-page/result-page.css +113 -0
  142. package/es/components/result-page/result-page.d.ts +23 -0
  143. package/es/components/result-page/result-page.js +83 -0
  144. package/es/components/selector/selector.css +9 -0
  145. package/es/components/selector/selector.d.ts +3 -2
  146. package/es/components/selector/selector.js +1 -3
  147. package/es/components/swipe-action/swipe-action.d.ts +2 -0
  148. package/es/components/swipe-action/swipe-action.js +34 -6
  149. package/es/components/swiper/swiper.js +15 -1
  150. package/es/components/tab-bar/tab-bar.css +2 -2
  151. package/es/index.d.ts +1 -0
  152. package/es/index.js +1 -0
  153. package/es/locales/id-ID.js +13 -0
  154. package/es/utils/use-resize-effect.js +3 -1
  155. package/package.json +6 -6
  156. package/umd/antd-mobile.js +1 -1
@@ -1,5 +1,6 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
+ import { GridProps } from '../grid';
3
4
  declare type SelectorValue = string | number;
4
5
  export interface SelectorOption<V> {
5
6
  label: ReactNode;
@@ -9,7 +10,7 @@ export interface SelectorOption<V> {
9
10
  }
10
11
  export declare type SelectorProps<V> = {
11
12
  options: SelectorOption<V>[];
12
- columns?: number;
13
+ columns?: GridProps['columns'];
13
14
  multiple?: boolean;
14
15
  disabled?: boolean;
15
16
  defaultValue?: V[];
@@ -18,6 +19,6 @@ export declare type SelectorProps<V> = {
18
19
  items: SelectorOption<V>[];
19
20
  }) => void;
20
21
  showCheckMark?: boolean;
21
- } & NativeProps<'--color' | '--checked-color' | '--text-color' | '--checked-text-color' | '--border' | '--checked-border' | '--border-radius' | '--padding'>;
22
+ } & NativeProps<'--color' | '--checked-color' | '--text-color' | '--checked-text-color' | '--border' | '--checked-border' | '--border-radius' | '--padding' | '--gap' | '--gap-vertical' | '--gap-horizontal'>;
22
23
  export declare const Selector: <V extends SelectorValue>(p: SelectorProps<V>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
23
24
  export {};
@@ -4,7 +4,6 @@ import { withNativeProps } from '../../utils/native-props';
4
4
  import { mergeProps } from '../../utils/with-default-props';
5
5
  import Space from '../space';
6
6
  import Grid from '../grid';
7
- import { convertPx } from '../../utils/convert-px';
8
7
  import { usePropsValue } from '../../utils/use-props-value';
9
8
  import { CheckMark } from './check-mark';
10
9
  const classPrefix = `adm-selector`;
@@ -65,7 +64,6 @@ export const Selector = p => {
65
64
  }, !props.columns && React.createElement(Space, {
66
65
  wrap: true
67
66
  }, items), props.columns && React.createElement(Grid, {
68
- columns: props.columns,
69
- gap: convertPx(8)
67
+ columns: props.columns
70
68
  }, items)));
71
69
  };
@@ -20,6 +20,7 @@ export declare type SwipeActionProps = {
20
20
  closeOnAction?: boolean;
21
21
  children: ReactNode;
22
22
  stopPropagation?: PropagationEvent[];
23
+ onActionsReveal?: (side: 'left' | 'right') => void;
23
24
  } & NativeProps<'--background'>;
24
25
  export declare const SwipeAction: React.ForwardRefExoticComponent<{
25
26
  rightActions?: Action[] | undefined;
@@ -29,6 +30,7 @@ export declare const SwipeAction: React.ForwardRefExoticComponent<{
29
30
  closeOnAction?: boolean | undefined;
30
31
  children: ReactNode;
31
32
  stopPropagation?: "click"[] | undefined;
33
+ onActionsReveal?: ((side: 'left' | 'right') => void) | undefined;
32
34
  } & {
33
35
  className?: string | undefined;
34
36
  style?: (React.CSSProperties & Partial<Record<"--background", string>>) | undefined;
@@ -44,8 +44,26 @@ export const SwipeAction = forwardRef((p, ref) => {
44
44
  }
45
45
  }), []);
46
46
  const draggingRef = useRef(false);
47
+ const dragCancelRef = useRef(null);
48
+
49
+ function forceCancelDrag() {
50
+ var _a;
51
+
52
+ (_a = dragCancelRef.current) === null || _a === void 0 ? void 0 : _a.call(dragCancelRef);
53
+ draggingRef.current = false;
54
+ }
55
+
47
56
  const bind = useDrag(state => {
48
- draggingRef.current = true;
57
+ var _a;
58
+
59
+ dragCancelRef.current = state.cancel;
60
+ if (!state.intentional) return;
61
+
62
+ if (state.down) {
63
+ draggingRef.current = true;
64
+ }
65
+
66
+ if (!draggingRef.current) return;
49
67
  const [offsetX] = state.offset;
50
68
 
51
69
  if (state.last) {
@@ -61,9 +79,15 @@ export const SwipeAction = forwardRef((p, ref) => {
61
79
  position = 0;
62
80
  }
63
81
 
82
+ const targetX = nearest([-rightWidth, 0, leftWidth], position);
64
83
  api.start({
65
- x: nearest([-rightWidth, 0, leftWidth], position)
84
+ x: targetX
66
85
  });
86
+
87
+ if (targetX !== 0) {
88
+ (_a = p.onActionsReveal) === null || _a === void 0 ? void 0 : _a.call(p, targetX > 0 ? 'left' : 'right');
89
+ }
90
+
67
91
  window.setTimeout(() => {
68
92
  draggingRef.current = false;
69
93
  });
@@ -88,17 +112,21 @@ export const SwipeAction = forwardRef((p, ref) => {
88
112
  preventScroll: true,
89
113
  pointer: {
90
114
  touch: true
91
- }
115
+ },
116
+ triggerAllEvents: true
92
117
  });
93
118
 
94
119
  function close() {
95
120
  api.start({
96
121
  x: 0
97
122
  });
123
+ forceCancelDrag();
98
124
  }
99
125
 
100
126
  useImperativeHandle(ref, () => ({
101
127
  show: (side = 'right') => {
128
+ var _a;
129
+
102
130
  if (side === 'right') {
103
131
  api.start({
104
132
  x: -getRightWidth()
@@ -108,6 +136,8 @@ export const SwipeAction = forwardRef((p, ref) => {
108
136
  x: getLeftWidth()
109
137
  });
110
138
  }
139
+
140
+ (_a = p.onActionsReveal) === null || _a === void 0 ? void 0 : _a.call(p, side);
111
141
  },
112
142
  close
113
143
  }));
@@ -179,9 +209,7 @@ export const SwipeAction = forwardRef((p, ref) => {
179
209
  if (x.goal !== 0) {
180
210
  e.preventDefault();
181
211
  e.stopPropagation();
182
- api.start({
183
- x: 0
184
- });
212
+ close();
185
213
  }
186
214
  }
187
215
  }, React.createElement(animated.div, {
@@ -113,7 +113,18 @@ export const Swiper = forwardRef(staged((p, ref) => {
113
113
  });
114
114
  }
115
115
  }), [count]);
116
+ const dragCancelRef = useRef(null);
117
+
118
+ function forceCancelDrag() {
119
+ var _a;
120
+
121
+ (_a = dragCancelRef.current) === null || _a === void 0 ? void 0 : _a.call(dragCancelRef);
122
+ draggingRef.current = false;
123
+ }
124
+
116
125
  const bind = useDrag(state => {
126
+ dragCancelRef.current = state.cancel;
127
+ if (!state.intentional) return;
117
128
  const slidePixels = getSlidePixels();
118
129
  if (!slidePixels) return;
119
130
  const paramIndex = isVertical ? 1 : 0;
@@ -142,6 +153,7 @@ export const Swiper = forwardRef(staged((p, ref) => {
142
153
  const slidePixels = getSlidePixels();
143
154
  return [position.get() / 100 * slidePixels, position.get() / 100 * slidePixels];
144
155
  },
156
+ triggerAllEvents: true,
145
157
  bounds: () => {
146
158
  if (loop) return {};
147
159
  const slidePixels = getSlidePixels();
@@ -205,7 +217,7 @@ export const Swiper = forwardRef(staged((p, ref) => {
205
217
  return () => {
206
218
  window.clearInterval(interval);
207
219
  };
208
- }, [autoplay, autoplayInterval, dragging]);
220
+ }, [autoplay, autoplayInterval, dragging, count]);
209
221
 
210
222
  function renderTrackInner() {
211
223
  if (loop) {
@@ -256,6 +268,8 @@ export const Swiper = forwardRef(staged((p, ref) => {
256
268
  if (draggingRef.current) {
257
269
  e.stopPropagation();
258
270
  }
271
+
272
+ forceCancelDrag();
259
273
  }
260
274
  }, props.allowTouchMove ? bind() : {}), renderTrackInner()), props.indicator === undefined ? React.createElement("div", {
261
275
  className: `${classPrefix}-indicator`
@@ -8,7 +8,7 @@
8
8
  }
9
9
  .adm-tab-bar-item {
10
10
  flex: 1;
11
- color: var(--adm-color-weak);
11
+ color: var(--adm-color-text-secondary);
12
12
  white-space: nowrap;
13
13
  padding: 4px 8px;
14
14
  width: -webkit-min-content;
@@ -26,7 +26,7 @@
26
26
  line-height: 1;
27
27
  }
28
28
  .adm-tab-bar-item-title {
29
- font-size: var(--adm-font-size-3);
29
+ font-size: var(--adm-font-size-2);
30
30
  line-height: 15px;
31
31
  }
32
32
  .adm-tab-bar-item-title-with-icon {
package/es/index.d.ts CHANGED
@@ -56,6 +56,7 @@ export { default as PullToRefresh } from './components/pull-to-refresh';
56
56
  export { default as Radio } from './components/radio';
57
57
  export { default as Rate } from './components/rate';
58
58
  export { default as Result } from './components/result';
59
+ export { default as ResultPage } from './components/result-page';
59
60
  export { default as SafeArea } from './components/safe-area';
60
61
  export { default as ScrollMask } from './components/scroll-mask';
61
62
  export { default as SearchBar } from './components/search-bar';
package/es/index.js CHANGED
@@ -56,6 +56,7 @@ export { default as PullToRefresh } from './components/pull-to-refresh';
56
56
  export { default as Radio } from './components/radio';
57
57
  export { default as Rate } from './components/rate';
58
58
  export { default as Result } from './components/result';
59
+ export { default as ResultPage } from './components/result-page';
59
60
  export { default as SafeArea } from './components/safe-area';
60
61
  export { default as ScrollMask } from './components/scroll-mask';
61
62
  export { default as SearchBar } from './components/search-bar';
@@ -106,6 +106,19 @@ const idID = mergeLocale(base, {
106
106
  pulling: 'Tarik ke bawah untuk menyegarkan',
107
107
  canRelease: 'Lepaskan untuk menyegarkan segera',
108
108
  complete: 'Segarkan berhasil'
109
+ },
110
+ SearchBar: {
111
+ name: 'Bilah Pencarian'
112
+ },
113
+ Slider: {
114
+ name: 'Penggeser'
115
+ },
116
+ Stepper: {
117
+ decrease: 'mengurangi',
118
+ increase: 'meningkat'
119
+ },
120
+ Switch: {
121
+ name: 'Mengalihkan'
109
122
  }
110
123
  });
111
124
  export default idID;
@@ -6,11 +6,13 @@ export function useResizeEffect(effect, targetRef) {
6
6
  if (!target) return;
7
7
 
8
8
  if (window.ResizeObserver) {
9
+ let animationFrame;
9
10
  const observer = new ResizeObserver(() => {
10
- fn(target);
11
+ animationFrame = window.requestAnimationFrame(() => fn(target));
11
12
  });
12
13
  observer.observe(target);
13
14
  return () => {
15
+ window.cancelAnimationFrame(animationFrame);
14
16
  observer.disconnect();
15
17
  };
16
18
  } else {
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "antd-mobile",
3
- "version": "5.19.0",
3
+ "version": "5.22.0",
4
4
  "dependencies": {
5
- "@floating-ui/dom": "^0.5.2",
5
+ "@floating-ui/dom": "^1.0.0",
6
6
  "@react-spring/web": "^9.4.5",
7
- "@use-gesture/react": "10.2.16",
8
- "ahooks": "^3.5.2",
7
+ "@use-gesture/react": "10.2.17",
8
+ "ahooks": "^3.7.0",
9
9
  "antd-mobile-icons": "^0.3.0",
10
10
  "antd-mobile-v5-count": "^1.0.1",
11
- "big.js": "^6.1.1",
11
+ "big.js": "^6.2.1",
12
12
  "classnames": "^2.3.1",
13
- "dayjs": "^1.11.3",
13
+ "dayjs": "^1.11.4",
14
14
  "lodash": "^4.17.21",
15
15
  "rc-field-form": "~1.27.0",
16
16
  "react-is": "^17.0.2",