antd-mobile 5.11.0 → 5.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/2x/cjs/components/cascade-picker/cascade-picker-utils.d.ts +2 -2
  2. package/2x/cjs/components/cascade-picker/cascade-picker-utils.js +37 -16
  3. package/2x/cjs/components/cascade-picker/cascade-picker.js +2 -7
  4. package/2x/cjs/components/cascade-picker-view/cascade-picker-view.js +2 -7
  5. package/2x/cjs/components/swiper/index.d.ts +16 -1
  6. package/2x/cjs/components/swiper/swiper.d.ts +16 -1
  7. package/2x/es/components/cascade-picker/cascade-picker-utils.d.ts +2 -2
  8. package/2x/es/components/cascade-picker/cascade-picker-utils.js +35 -15
  9. package/2x/es/components/cascade-picker/cascade-picker.js +3 -7
  10. package/2x/es/components/cascade-picker-view/cascade-picker-view.js +3 -7
  11. package/2x/es/components/swiper/index.d.ts +16 -1
  12. package/2x/es/components/swiper/swiper.d.ts +16 -1
  13. package/2x/package.json +1 -1
  14. package/bundle/antd-mobile.cjs.js +34 -47
  15. package/bundle/antd-mobile.es.js +34 -47
  16. package/cjs/components/cascade-picker/cascade-picker-utils.d.ts +2 -2
  17. package/cjs/components/cascade-picker/cascade-picker-utils.js +37 -16
  18. package/cjs/components/cascade-picker/cascade-picker.js +2 -7
  19. package/cjs/components/cascade-picker-view/cascade-picker-view.js +2 -7
  20. package/cjs/components/swiper/index.d.ts +16 -1
  21. package/cjs/components/swiper/swiper.d.ts +16 -1
  22. package/es/components/cascade-picker/cascade-picker-utils.d.ts +2 -2
  23. package/es/components/cascade-picker/cascade-picker-utils.js +35 -15
  24. package/es/components/cascade-picker/cascade-picker.js +3 -7
  25. package/es/components/cascade-picker-view/cascade-picker-view.js +3 -7
  26. package/es/components/swiper/index.d.ts +16 -1
  27. package/es/components/swiper/swiper.d.ts +16 -1
  28. package/package.json +1 -1
  29. package/umd/antd-mobile.js +1 -1
  30. package/2x/cjs/components/cascade-picker/use-cascade-picker-options.d.ts +0 -5
  31. package/2x/cjs/components/cascade-picker/use-cascade-picker-options.js +0 -40
  32. package/2x/es/components/cascade-picker/use-cascade-picker-options.d.ts +0 -5
  33. package/2x/es/components/cascade-picker/use-cascade-picker-options.js +0 -32
  34. package/cjs/components/cascade-picker/use-cascade-picker-options.d.ts +0 -5
  35. package/cjs/components/cascade-picker/use-cascade-picker-options.js +0 -40
  36. package/es/components/cascade-picker/use-cascade-picker-options.d.ts +0 -5
  37. package/es/components/cascade-picker/use-cascade-picker-options.js +0 -32
@@ -11,8 +11,6 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _pickerView = _interopRequireDefault(require("../picker-view"));
13
13
 
14
- var _useCascadePickerOptions = require("../cascade-picker/use-cascade-picker-options");
15
-
16
14
  var _cascadePickerUtils = require("../cascade-picker/cascade-picker-utils");
17
15
 
18
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -22,12 +20,9 @@ const CascadePickerView = props => {
22
20
  options
23
21
  } = props,
24
22
  pickerProps = (0, _tslib.__rest)(props, ["options"]);
25
- const {
26
- depth,
27
- subOptionsRecord
28
- } = (0, _useCascadePickerOptions.useCascadePickerOptions)(options);
23
+ const columnsFn = (0, _cascadePickerUtils.useColumnsFn)(options);
29
24
  return _react.default.createElement(_pickerView.default, Object.assign({}, pickerProps, {
30
- columns: selected => (0, _cascadePickerUtils.generateCascadePickerColumns)(selected, options, depth, subOptionsRecord)
25
+ columns: columnsFn
31
26
  }));
32
27
  };
33
28
 
@@ -1,7 +1,22 @@
1
1
  /// <reference types="react" />
2
2
  import './swiper.less';
3
3
  export type { SwiperProps, SwiperRef } from './swiper';
4
- declare const _default: import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>> & {
4
+ declare const _default: import("react").ForwardRefExoticComponent<{
5
+ defaultIndex?: number | undefined;
6
+ allowTouchMove?: boolean | undefined;
7
+ autoplay?: boolean | undefined;
8
+ autoplayInterval?: number | undefined;
9
+ loop?: boolean | undefined;
10
+ direction?: "vertical" | "horizontal" | undefined;
11
+ onIndexChange?: ((index: number) => void) | undefined;
12
+ indicatorProps?: Pick<import("../page-indicator").PageIndicatorProps, "style" | "className" | "color"> | undefined;
13
+ indicator?: ((total: number, current: number) => import("react").ReactNode) | undefined;
14
+ slideSize?: number | undefined;
15
+ trackOffset?: number | undefined;
16
+ stuckAtBoundary?: boolean | undefined;
17
+ rubberband?: boolean | undefined;
18
+ children?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>[] | undefined;
19
+ } & import("../../utils/native-props").NativeProps<"--border-radius" | "--width" | "--height" | "--track-padding"> & import("react").RefAttributes<import("./swiper").SwiperRef>> & {
5
20
  Item: import("react").FC<{
6
21
  onClick?: ((e: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
7
22
  children?: import("react").ReactNode;
@@ -22,4 +22,19 @@ export declare type SwiperProps = {
22
22
  rubberband?: boolean;
23
23
  children?: ReactElement | ReactElement[];
24
24
  } & NativeProps<'--height' | '--width' | '--border-radius' | '--track-padding'>;
25
- export declare const Swiper: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>;
25
+ export declare const Swiper: React.ForwardRefExoticComponent<{
26
+ defaultIndex?: number | undefined;
27
+ allowTouchMove?: boolean | undefined;
28
+ autoplay?: boolean | undefined;
29
+ autoplayInterval?: number | undefined;
30
+ loop?: boolean | undefined;
31
+ direction?: "vertical" | "horizontal" | undefined;
32
+ onIndexChange?: ((index: number) => void) | undefined;
33
+ indicatorProps?: Pick<PageIndicatorProps, "style" | "className" | "color"> | undefined;
34
+ indicator?: ((total: number, current: number) => ReactNode) | undefined;
35
+ slideSize?: number | undefined;
36
+ trackOffset?: number | undefined;
37
+ stuckAtBoundary?: boolean | undefined;
38
+ rubberband?: boolean | undefined;
39
+ children?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactElement<any, string | React.JSXElementConstructor<any>>[] | undefined;
40
+ } & NativeProps<"--border-radius" | "--width" | "--height" | "--track-padding"> & React.RefAttributes<SwiperRef>>;
@@ -1,3 +1,3 @@
1
- import { PickerColumn } from '../picker-view';
1
+ import { PickerColumn, PickerValue } from '../picker-view';
2
2
  import { CascadePickerOption } from './cascade-picker';
3
- export declare function generateCascadePickerColumns(value: string[], options: CascadePickerOption[], depth: number, subOptionsRecord: Record<string, CascadePickerOption[]>): PickerColumn[];
3
+ export declare function useColumnsFn(options: CascadePickerOption[]): (selected: PickerValue[]) => PickerColumn[];
@@ -1,23 +1,43 @@
1
- export function generateCascadePickerColumns(value, options, depth, subOptionsRecord) {
2
- const columns = [];
3
- columns.push(options.map(option => ({
4
- label: option.label,
5
- value: option.value
6
- })));
1
+ import { useMemo } from 'react';
2
+ export function useColumnsFn(options) {
3
+ const depth = useMemo(() => {
4
+ let depth = 0;
7
5
 
8
- for (let i = 0; i < depth - 1; i++) {
9
- const x = value[i];
10
- const subOptions = subOptionsRecord[x];
6
+ function traverse(options, currentDepth) {
7
+ if (currentDepth > depth) depth = currentDepth;
8
+ const nextDepth = currentDepth + 1;
9
+ options.forEach(option => {
10
+ if (option.children) {
11
+ traverse(option.children, nextDepth);
12
+ }
13
+ });
14
+ }
11
15
 
12
- if (!subOptions) {
13
- columns.push([]);
14
- } else {
15
- columns.push(subOptions.map(option => ({
16
+ traverse(options, 1);
17
+ return depth;
18
+ }, [options]);
19
+ return selected => {
20
+ const columns = [];
21
+ let currentOptions = options;
22
+ let i = 0;
23
+
24
+ while (true) {
25
+ columns.push(currentOptions.map(option => ({
16
26
  label: option.label,
17
27
  value: option.value
18
28
  })));
29
+ const x = selected[i];
30
+ const targetOptions = currentOptions.find(option => option.value === x);
31
+ if (!targetOptions || !targetOptions.children) break;
32
+ currentOptions = targetOptions.children;
33
+ i++;
34
+ }
35
+
36
+ while (i < depth - 1) {
37
+ columns.push([]);
38
+ i++;
19
39
  }
20
- }
21
40
 
22
- return columns;
41
+ return columns;
42
+ };
23
43
  }
@@ -1,19 +1,15 @@
1
1
  import { __rest } from "tslib";
2
2
  import React from 'react';
3
3
  import Picker from '../picker';
4
- import { useCascadePickerOptions } from './use-cascade-picker-options';
5
- import { generateCascadePickerColumns } from './cascade-picker-utils';
4
+ import { useColumnsFn } from './cascade-picker-utils';
6
5
  export const CascadePicker = props => {
7
6
  const {
8
7
  options
9
8
  } = props,
10
9
  pickerProps = __rest(props, ["options"]);
11
10
 
12
- const {
13
- depth,
14
- subOptionsRecord
15
- } = useCascadePickerOptions(options);
11
+ const columnsFn = useColumnsFn(options);
16
12
  return React.createElement(Picker, Object.assign({}, pickerProps, {
17
- columns: selected => generateCascadePickerColumns(selected, options, depth, subOptionsRecord)
13
+ columns: columnsFn
18
14
  }));
19
15
  };
@@ -1,19 +1,15 @@
1
1
  import { __rest } from "tslib";
2
2
  import React from 'react';
3
3
  import PickerView from '../picker-view';
4
- import { useCascadePickerOptions } from '../cascade-picker/use-cascade-picker-options';
5
- import { generateCascadePickerColumns } from '../cascade-picker/cascade-picker-utils';
4
+ import { useColumnsFn } from '../cascade-picker/cascade-picker-utils';
6
5
  export const CascadePickerView = props => {
7
6
  const {
8
7
  options
9
8
  } = props,
10
9
  pickerProps = __rest(props, ["options"]);
11
10
 
12
- const {
13
- depth,
14
- subOptionsRecord
15
- } = useCascadePickerOptions(options);
11
+ const columnsFn = useColumnsFn(options);
16
12
  return React.createElement(PickerView, Object.assign({}, pickerProps, {
17
- columns: selected => generateCascadePickerColumns(selected, options, depth, subOptionsRecord)
13
+ columns: columnsFn
18
14
  }));
19
15
  };
@@ -1,7 +1,22 @@
1
1
  /// <reference types="react" />
2
2
  import './swiper.less';
3
3
  export type { SwiperProps, SwiperRef } from './swiper';
4
- declare const _default: import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>> & {
4
+ declare const _default: import("react").ForwardRefExoticComponent<{
5
+ defaultIndex?: number | undefined;
6
+ allowTouchMove?: boolean | undefined;
7
+ autoplay?: boolean | undefined;
8
+ autoplayInterval?: number | undefined;
9
+ loop?: boolean | undefined;
10
+ direction?: "vertical" | "horizontal" | undefined;
11
+ onIndexChange?: ((index: number) => void) | undefined;
12
+ indicatorProps?: Pick<import("../page-indicator").PageIndicatorProps, "style" | "className" | "color"> | undefined;
13
+ indicator?: ((total: number, current: number) => import("react").ReactNode) | undefined;
14
+ slideSize?: number | undefined;
15
+ trackOffset?: number | undefined;
16
+ stuckAtBoundary?: boolean | undefined;
17
+ rubberband?: boolean | undefined;
18
+ children?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>[] | undefined;
19
+ } & import("../../utils/native-props").NativeProps<"--border-radius" | "--width" | "--height" | "--track-padding"> & import("react").RefAttributes<import("./swiper").SwiperRef>> & {
5
20
  Item: import("react").FC<{
6
21
  onClick?: ((e: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
7
22
  children?: import("react").ReactNode;
@@ -22,4 +22,19 @@ export declare type SwiperProps = {
22
22
  rubberband?: boolean;
23
23
  children?: ReactElement | ReactElement[];
24
24
  } & NativeProps<'--height' | '--width' | '--border-radius' | '--track-padding'>;
25
- export declare const Swiper: React.ForwardRefExoticComponent<React.RefAttributes<unknown>>;
25
+ export declare const Swiper: React.ForwardRefExoticComponent<{
26
+ defaultIndex?: number | undefined;
27
+ allowTouchMove?: boolean | undefined;
28
+ autoplay?: boolean | undefined;
29
+ autoplayInterval?: number | undefined;
30
+ loop?: boolean | undefined;
31
+ direction?: "vertical" | "horizontal" | undefined;
32
+ onIndexChange?: ((index: number) => void) | undefined;
33
+ indicatorProps?: Pick<PageIndicatorProps, "style" | "className" | "color"> | undefined;
34
+ indicator?: ((total: number, current: number) => ReactNode) | undefined;
35
+ slideSize?: number | undefined;
36
+ trackOffset?: number | undefined;
37
+ stuckAtBoundary?: boolean | undefined;
38
+ rubberband?: boolean | undefined;
39
+ children?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactElement<any, string | React.JSXElementConstructor<any>>[] | undefined;
40
+ } & NativeProps<"--border-radius" | "--width" | "--height" | "--track-padding"> & React.RefAttributes<SwiperRef>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antd-mobile",
3
- "version": "5.11.0",
3
+ "version": "5.11.1",
4
4
  "dependencies": {
5
5
  "@floating-ui/dom": "^0.4.2",
6
6
  "@react-spring/web": "^9.4.4",