antd-mobile 5.41.0-alpha.2 → 5.41.0-alpha.3

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 (68) hide show
  1. package/2x/bundle/antd-mobile.cjs.development.js +164 -128
  2. package/2x/bundle/antd-mobile.cjs.js +7 -7
  3. package/2x/bundle/antd-mobile.es.development.js +164 -128
  4. package/2x/bundle/antd-mobile.es.js +3988 -3969
  5. package/2x/bundle/antd-mobile.umd.development.js +164 -128
  6. package/2x/bundle/antd-mobile.umd.js +7 -7
  7. package/2x/cjs/components/avatar/avatar.d.ts +3 -1
  8. package/2x/cjs/components/avatar/avatar.js +4 -2
  9. package/2x/cjs/components/calendar/calendar.js +4 -4
  10. package/2x/cjs/components/image/image.d.ts +1 -1
  11. package/2x/cjs/components/image/image.js +5 -5
  12. package/2x/cjs/components/image-viewer/image-viewer.d.ts +7 -4
  13. package/2x/cjs/components/image-viewer/index.d.ts +2 -1
  14. package/2x/cjs/components/image-viewer/methods.js +1 -1
  15. package/2x/cjs/components/image-viewer/slide.d.ts +3 -2
  16. package/2x/cjs/components/image-viewer/slide.js +2 -1
  17. package/2x/cjs/components/image-viewer/slides.d.ts +3 -2
  18. package/2x/cjs/components/swiper/swiper.d.ts +3 -3
  19. package/2x/cjs/components/swiper/swiper.js +47 -38
  20. package/2x/es/components/avatar/avatar.d.ts +3 -1
  21. package/2x/es/components/avatar/avatar.js +4 -2
  22. package/2x/es/components/calendar/calendar.js +4 -4
  23. package/2x/es/components/image/image.d.ts +1 -1
  24. package/2x/es/components/image/image.js +6 -6
  25. package/2x/es/components/image-viewer/image-viewer.d.ts +7 -4
  26. package/2x/es/components/image-viewer/index.d.ts +2 -1
  27. package/2x/es/components/image-viewer/methods.js +1 -1
  28. package/2x/es/components/image-viewer/slide.d.ts +3 -2
  29. package/2x/es/components/image-viewer/slide.js +2 -1
  30. package/2x/es/components/image-viewer/slides.d.ts +3 -2
  31. package/2x/es/components/swiper/swiper.d.ts +3 -3
  32. package/2x/es/components/swiper/swiper.js +28 -19
  33. package/2x/package.json +1 -1
  34. package/bundle/antd-mobile.cjs.development.js +164 -128
  35. package/bundle/antd-mobile.cjs.js +7 -7
  36. package/bundle/antd-mobile.compatible.umd.js +1 -1
  37. package/bundle/antd-mobile.es.development.js +164 -128
  38. package/bundle/antd-mobile.es.js +3988 -3969
  39. package/bundle/antd-mobile.umd.development.js +164 -128
  40. package/bundle/antd-mobile.umd.js +7 -7
  41. package/cjs/components/avatar/avatar.d.ts +3 -1
  42. package/cjs/components/avatar/avatar.js +4 -2
  43. package/cjs/components/calendar/calendar.js +4 -4
  44. package/cjs/components/image/image.d.ts +1 -1
  45. package/cjs/components/image/image.js +5 -5
  46. package/cjs/components/image-viewer/image-viewer.d.ts +7 -4
  47. package/cjs/components/image-viewer/index.d.ts +2 -1
  48. package/cjs/components/image-viewer/methods.js +1 -1
  49. package/cjs/components/image-viewer/slide.d.ts +3 -2
  50. package/cjs/components/image-viewer/slide.js +2 -1
  51. package/cjs/components/image-viewer/slides.d.ts +3 -2
  52. package/cjs/components/swiper/swiper.d.ts +3 -3
  53. package/cjs/components/swiper/swiper.js +47 -38
  54. package/es/components/avatar/avatar.d.ts +3 -1
  55. package/es/components/avatar/avatar.js +4 -2
  56. package/es/components/calendar/calendar.js +4 -4
  57. package/es/components/image/image.d.ts +1 -1
  58. package/es/components/image/image.js +6 -6
  59. package/es/components/image-viewer/image-viewer.d.ts +7 -4
  60. package/es/components/image-viewer/index.d.ts +2 -1
  61. package/es/components/image-viewer/methods.js +1 -1
  62. package/es/components/image-viewer/slide.d.ts +3 -2
  63. package/es/components/image-viewer/slide.js +2 -1
  64. package/es/components/image-viewer/slides.d.ts +3 -2
  65. package/es/components/swiper/swiper.d.ts +3 -3
  66. package/es/components/swiper/swiper.js +28 -19
  67. package/package.json +1 -1
  68. package/umd/antd-mobile.js +1 -1
@@ -1,11 +1,12 @@
1
- import React, { ReactNode } from 'react';
1
+ import React, { ReactNode, RefObject } from 'react';
2
2
  export declare type SlidesType = {
3
3
  images: string[];
4
4
  onTap?: () => void;
5
5
  maxZoom: number;
6
6
  defaultIndex: number;
7
7
  onIndexChange?: (index: number) => void;
8
- imageRender?: (image: string, { index }: {
8
+ imageRender?: (image: string, { ref, index }: {
9
+ ref: RefObject<HTMLImageElement>;
9
10
  index: number;
10
11
  }) => ReactNode;
11
12
  };
@@ -1,5 +1,5 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
1
2
  import React from 'react';
2
- import type { ReactNode, ReactElement } from 'react';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  import { PageIndicatorProps } from '../page-indicator';
5
5
  declare const eventToPropRecord: {
@@ -59,10 +59,10 @@ export declare const Swiper: React.ForwardRefExoticComponent<{
59
59
  /**
60
60
  * renderProps is only work when `total` used
61
61
  */
62
- children?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactElement<any, string | React.JSXElementConstructor<any>>[] | ((index: number) => ReactElement) | undefined;
62
+ children?: ReactElement<any, string | React.JSXElementConstructor<any>> | ReactElement<any, string | React.JSXElementConstructor<any>>[] | ((index: number) => ReactElement) | undefined;
63
63
  } & {
64
64
  className?: string | undefined;
65
- style?: (React.CSSProperties & Partial<Record<"--width" | "--height" | "--border-radius" | "--track-padding", string>>) | undefined;
65
+ style?: (CSSProperties & Partial<Record<"--width" | "--height" | "--border-radius" | "--track-padding", string>>) | undefined;
66
66
  tabIndex?: number | undefined;
67
67
  } & React.AriaAttributes & React.RefAttributes<SwiperRef>>;
68
68
  export {};
@@ -1,17 +1,18 @@
1
- import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
2
- import { withNativeProps } from '../../utils/native-props';
3
- import { mergeProps } from '../../utils/with-default-props';
4
- import classNames from 'classnames';
5
- import { SwiperItem } from './swiper-item';
6
- import { devWarning } from '../../utils/dev-log';
7
- import { useSpring, animated } from '@react-spring/web';
1
+ import { animated, useSpring } from '@react-spring/web';
8
2
  import { useDrag } from '@use-gesture/react';
9
- import PageIndicator from '../page-indicator';
3
+ import { useGetState, useIsomorphicLayoutEffect } from 'ahooks';
4
+ import classNames from 'classnames';
5
+ import toArray from 'rc-util/lib/Children/toArray';
6
+ import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
10
7
  import { staged } from 'staged-components';
11
- import { useRefState } from '../../utils/use-ref-state';
12
8
  import { bound } from '../../utils/bound';
13
- import { useIsomorphicLayoutEffect, useGetState } from 'ahooks';
9
+ import { devWarning } from '../../utils/dev-log';
10
+ import { withNativeProps } from '../../utils/native-props';
11
+ import { useRefState } from '../../utils/use-ref-state';
12
+ import { mergeProps } from '../../utils/with-default-props';
14
13
  import { mergeFuncProps } from '../../utils/with-func-props';
14
+ import PageIndicator from '../page-indicator';
15
+ import { SwiperItem } from './swiper-item';
15
16
  const classPrefix = `adm-swiper`;
16
17
  const eventToPropRecord = {
17
18
  'mousedown': 'onMouseDown',
@@ -56,14 +57,15 @@ export const Swiper = forwardRef(staged((p, ref) => {
56
57
  if (typeof children === 'function') {
57
58
  renderChildren = children;
58
59
  } else {
59
- validChildren = React.Children.map(children, child => {
60
+ const childrenArray = toArray(children);
61
+ validChildren = childrenArray.filter(child => {
60
62
  if (!React.isValidElement(child)) return null;
61
63
  if (child.type !== SwiperItem) {
62
64
  devWarning('Swiper', 'The children of `Swiper` must be `Swiper.Item` components.');
63
- return null;
65
+ return false;
64
66
  }
65
67
  count++;
66
- return child;
68
+ return true;
67
69
  });
68
70
  }
69
71
  return {
@@ -236,7 +238,7 @@ export const Swiper = forwardRef(staged((p, ref) => {
236
238
  }, [autoplay, autoplayInterval, dragging, mergedTotal]);
237
239
  // ============================== Render ==============================
238
240
  // Render Item
239
- function renderItem(index, child) {
241
+ function renderItem(index, child, key) {
240
242
  let itemStyle = {};
241
243
  if (loop) {
242
244
  itemStyle = {
@@ -255,10 +257,10 @@ export const Swiper = forwardRef(staged((p, ref) => {
255
257
  [`${classPrefix}-slide-active`]: current === index
256
258
  }),
257
259
  style: itemStyle,
258
- key: index
260
+ key: key !== null && key !== void 0 ? key : index
259
261
  }, child);
260
262
  }
261
- function renderItems() {
263
+ const renderStableItems = () => {
262
264
  if (renderChildren && total) {
263
265
  const offsetCount = 2;
264
266
  const startIndex = Math.max(current - offsetCount, 0);
@@ -274,9 +276,16 @@ export const Swiper = forwardRef(staged((p, ref) => {
274
276
  }
275
277
  }), items);
276
278
  }
277
- return React.Children.map(validChildren, (child, index) => {
278
- return renderItem(index, child);
279
- });
279
+ if (validChildren) {
280
+ return validChildren.map((child, index) => {
281
+ var _a;
282
+ return renderItem(index, child, (_a = child === null || child === void 0 ? void 0 : child.key) !== null && _a !== void 0 ? _a : index);
283
+ });
284
+ }
285
+ return null;
286
+ };
287
+ function renderItems() {
288
+ return renderStableItems();
280
289
  }
281
290
  // Render Track Inner
282
291
  function renderTrackInner() {
package/2x/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antd-mobile",
3
- "version": "5.41.0-alpha.2",
3
+ "version": "5.41.0-alpha.3",
4
4
  "homepage": "https://github.com/ant-design/ant-design-mobile#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/ant-design/ant-design-mobile/issues"