antd-mobile 5.33.0 → 5.33.2
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.
- package/2x/README.md +1 -1
- package/2x/bundle/antd-mobile.cjs.development.js +1843 -1829
- package/2x/bundle/antd-mobile.cjs.js +9 -9
- package/2x/bundle/antd-mobile.es.development.js +1025 -1007
- package/2x/bundle/antd-mobile.es.js +5315 -5259
- package/2x/bundle/antd-mobile.umd.development.js +2194 -2180
- package/2x/bundle/antd-mobile.umd.js +9 -9
- package/2x/bundle/style.css +4 -4
- package/2x/cjs/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/2x/cjs/components/calendar-picker/calendar-picker.js +5 -3
- package/2x/cjs/components/cascader/cascader.js +6 -1
- package/2x/cjs/components/cascader-view/cascader-view.js +4 -1
- package/2x/cjs/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/2x/cjs/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/2x/cjs/components/dropdown/dropdown.js +3 -1
- package/2x/cjs/components/image-viewer/image-viewer.d.ts +4 -0
- package/2x/cjs/components/image-viewer/image-viewer.js +11 -8
- package/2x/cjs/components/mask/mask.js +1 -0
- package/2x/cjs/components/number-keyboard/number-keyboard.js +15 -7
- package/2x/cjs/components/popover/popover-menu.js +3 -1
- package/2x/cjs/components/popover/popover.js +5 -5
- package/2x/cjs/components/popup/popup.js +1 -0
- package/2x/cjs/components/switch/switch.css +2 -2
- package/2x/cjs/components/tabs/tabs.d.ts +6 -0
- package/2x/cjs/components/tabs/tabs.js +14 -12
- package/2x/cjs/components/virtual-input/virtual-input.js +11 -4
- package/2x/cjs/global/global.css +2 -2
- package/2x/es/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/2x/es/components/calendar-picker/calendar-picker.js +5 -3
- package/2x/es/components/cascader/cascader.js +6 -1
- package/2x/es/components/cascader-view/cascader-view.js +4 -1
- package/2x/es/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/2x/es/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/2x/es/components/dropdown/dropdown.js +3 -1
- package/2x/es/components/image-viewer/image-viewer.d.ts +4 -0
- package/2x/es/components/image-viewer/image-viewer.js +11 -8
- package/2x/es/components/mask/mask.js +1 -0
- package/2x/es/components/number-keyboard/number-keyboard.js +15 -7
- package/2x/es/components/popover/popover-menu.js +3 -1
- package/2x/es/components/popover/popover.js +5 -5
- package/2x/es/components/popup/popup.js +1 -0
- package/2x/es/components/switch/switch.css +2 -2
- package/2x/es/components/tabs/tabs.d.ts +6 -0
- package/2x/es/components/tabs/tabs.js +14 -12
- package/2x/es/components/virtual-input/virtual-input.js +11 -4
- package/2x/es/global/global.css +2 -2
- package/2x/package.json +1 -1
- package/README.md +1 -1
- package/bundle/antd-mobile.cjs.development.js +1843 -1829
- package/bundle/antd-mobile.cjs.js +9 -9
- package/bundle/antd-mobile.compatible.umd.js +1 -1
- package/bundle/antd-mobile.es.development.js +1025 -1007
- package/bundle/antd-mobile.es.js +5315 -5259
- package/bundle/antd-mobile.umd.development.js +2194 -2180
- package/bundle/antd-mobile.umd.js +9 -9
- package/bundle/style.css +1 -1
- package/cjs/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/cjs/components/calendar-picker/calendar-picker.js +5 -3
- package/cjs/components/cascader/cascader.js +6 -1
- package/cjs/components/cascader-view/cascader-view.js +4 -1
- package/cjs/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/cjs/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/cjs/components/dropdown/dropdown.js +3 -1
- package/cjs/components/image-viewer/image-viewer.d.ts +4 -0
- package/cjs/components/image-viewer/image-viewer.js +11 -8
- package/cjs/components/mask/mask.js +1 -0
- package/cjs/components/number-keyboard/number-keyboard.js +15 -7
- package/cjs/components/popover/popover-menu.js +3 -1
- package/cjs/components/popover/popover.js +5 -5
- package/cjs/components/popup/popup.js +1 -0
- package/cjs/components/switch/switch.css +2 -2
- package/cjs/components/tabs/tabs.d.ts +6 -0
- package/cjs/components/tabs/tabs.js +14 -12
- package/cjs/components/virtual-input/virtual-input.js +11 -4
- package/cjs/global/global.css +2 -2
- package/es/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/es/components/calendar-picker/calendar-picker.js +5 -3
- package/es/components/cascader/cascader.js +6 -1
- package/es/components/cascader-view/cascader-view.js +4 -1
- package/es/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/es/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/es/components/dropdown/dropdown.js +3 -1
- package/es/components/image-viewer/image-viewer.d.ts +4 -0
- package/es/components/image-viewer/image-viewer.js +11 -8
- package/es/components/mask/mask.js +1 -0
- package/es/components/number-keyboard/number-keyboard.js +15 -7
- package/es/components/popover/popover-menu.js +3 -1
- package/es/components/popover/popover.js +5 -5
- package/es/components/popup/popup.js +1 -0
- package/es/components/switch/switch.css +2 -2
- package/es/components/tabs/tabs.d.ts +6 -0
- package/es/components/tabs/tabs.js +14 -12
- package/es/components/virtual-input/virtual-input.js +11 -4
- package/es/global/global.css +2 -2
- package/package.json +1 -1
- package/umd/antd-mobile.js +1 -1
package/2x/bundle/style.css
CHANGED
|
@@ -101,8 +101,8 @@ div.adm-px-tester {
|
|
|
101
101
|
height: calc(var(--size) / 2 * 4px);
|
|
102
102
|
width: 0;
|
|
103
103
|
position: fixed;
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
left: -100vw;
|
|
105
|
+
top: -100vh;
|
|
106
106
|
-webkit-user-select: none;
|
|
107
107
|
user-select: none;
|
|
108
108
|
pointer-events: none;
|
|
@@ -5228,7 +5228,7 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
|
|
|
5228
5228
|
display: flex;
|
|
5229
5229
|
justify-content: center;
|
|
5230
5230
|
align-items: center;
|
|
5231
|
-
margin: 0 16px 0 calc(var(--height) - var(--border-width) +
|
|
5231
|
+
margin: 0 16px 0 calc(var(--height) - var(--border-width) + 10px);
|
|
5232
5232
|
height: 100%;
|
|
5233
5233
|
color: var(--adm-color-weak);
|
|
5234
5234
|
transition: margin .2s;
|
|
@@ -5248,7 +5248,7 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
|
|
|
5248
5248
|
}
|
|
5249
5249
|
|
|
5250
5250
|
.adm-switch.adm-switch-checked .adm-switch-inner {
|
|
5251
|
-
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0
|
|
5251
|
+
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0 16px;
|
|
5252
5252
|
color: var(--adm-color-text-light-solid);
|
|
5253
5253
|
}
|
|
5254
5254
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type GetContainer } from '../../utils/render-to-container';
|
|
2
3
|
import { CalendarPickerViewProps, CalendarPickerViewRef } from '../calendar-picker-view';
|
|
3
4
|
export declare type CalendarPickerRef = CalendarPickerViewRef;
|
|
4
5
|
export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
@@ -11,6 +12,7 @@ export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
|
11
12
|
closeOnMaskClick?: boolean;
|
|
12
13
|
onClose?: () => void;
|
|
13
14
|
onMaskClick?: () => void;
|
|
15
|
+
getContainer?: GetContainer;
|
|
14
16
|
} & ({
|
|
15
17
|
selectionMode?: undefined;
|
|
16
18
|
onConfirm?: undefined;
|
|
@@ -51,6 +53,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
51
53
|
closeOnMaskClick?: boolean | undefined;
|
|
52
54
|
onClose?: (() => void) | undefined;
|
|
53
55
|
onMaskClick?: (() => void) | undefined;
|
|
56
|
+
getContainer?: GetContainer | undefined;
|
|
54
57
|
} & {
|
|
55
58
|
selectionMode?: undefined;
|
|
56
59
|
onConfirm?: undefined;
|
|
@@ -84,6 +87,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
84
87
|
closeOnMaskClick?: boolean | undefined;
|
|
85
88
|
onClose?: (() => void) | undefined;
|
|
86
89
|
onMaskClick?: (() => void) | undefined;
|
|
90
|
+
getContainer?: GetContainer | undefined;
|
|
87
91
|
} & {
|
|
88
92
|
selectionMode: 'single';
|
|
89
93
|
onConfirm?: ((val: Date | null) => void) | undefined;
|
|
@@ -117,6 +121,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
117
121
|
closeOnMaskClick?: boolean | undefined;
|
|
118
122
|
onClose?: (() => void) | undefined;
|
|
119
123
|
onMaskClick?: (() => void) | undefined;
|
|
124
|
+
getContainer?: GetContainer | undefined;
|
|
120
125
|
} & {
|
|
121
126
|
selectionMode: 'range';
|
|
122
127
|
onConfirm?: ((val: [Date, Date] | null) => void) | undefined;
|
|
@@ -41,9 +41,10 @@ const CalendarPicker = (0, _react.forwardRef)((p, ref) => {
|
|
|
41
41
|
closeOnMaskClick,
|
|
42
42
|
onClose,
|
|
43
43
|
onConfirm,
|
|
44
|
-
onMaskClick
|
|
44
|
+
onMaskClick,
|
|
45
|
+
getContainer
|
|
45
46
|
} = props,
|
|
46
|
-
calendarViewProps = (0, _tslib.__rest)(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick"]);
|
|
47
|
+
calendarViewProps = (0, _tslib.__rest)(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick", "getContainer"]);
|
|
47
48
|
const footer = _react.default.createElement("div", {
|
|
48
49
|
className: `${classPrefix}-footer`
|
|
49
50
|
}, _react.default.createElement(_divider.default, null), _react.default.createElement("div", {
|
|
@@ -81,7 +82,8 @@ const CalendarPicker = (0, _react.forwardRef)((p, ref) => {
|
|
|
81
82
|
if (closeOnMaskClick) {
|
|
82
83
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
83
84
|
}
|
|
84
|
-
}
|
|
85
|
+
},
|
|
86
|
+
getContainer: getContainer
|
|
85
87
|
}, _react.default.createElement(_calendarPickerView.default, Object.assign({
|
|
86
88
|
ref: calendarRef
|
|
87
89
|
}, calendarViewProps)), footer)));
|
|
@@ -12,6 +12,7 @@ var _usePropsValue = require("../../utils/use-props-value");
|
|
|
12
12
|
var _cascaderView = _interopRequireDefault(require("../cascader-view"));
|
|
13
13
|
var _configProvider = require("../config-provider");
|
|
14
14
|
var _useCascaderValueExtend = require("../cascader-view/use-cascader-value-extend");
|
|
15
|
+
var _hooks = require("../../hooks");
|
|
15
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -59,7 +60,11 @@ const Cascader = (0, _react.forwardRef)((p, ref) => {
|
|
|
59
60
|
(_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, generateValueExtend(val));
|
|
60
61
|
}
|
|
61
62
|
}));
|
|
62
|
-
const
|
|
63
|
+
const [, valueName, childrenName] = (0, _hooks.useFieldNames)(props.fieldNames);
|
|
64
|
+
const generateValueExtend = (0, _useCascaderValueExtend.useCascaderValueExtend)(props.options, {
|
|
65
|
+
valueName,
|
|
66
|
+
childrenName
|
|
67
|
+
});
|
|
63
68
|
const [innerValue, setInnerValue] = (0, _react.useState)(value);
|
|
64
69
|
(0, _react.useEffect)(() => {
|
|
65
70
|
if (!visible) {
|
|
@@ -29,8 +29,11 @@ const CascaderView = p => {
|
|
|
29
29
|
const {
|
|
30
30
|
locale
|
|
31
31
|
} = (0, _configProvider.useConfig)();
|
|
32
|
-
const generateValueExtend = (0, _useCascaderValueExtend.useCascaderValueExtend)(props.options);
|
|
33
32
|
const [labelName, valueName, childrenName, disabledName] = (0, _hooks.useFieldNames)(props.fieldNames);
|
|
33
|
+
const generateValueExtend = (0, _useCascaderValueExtend.useCascaderValueExtend)(props.options, {
|
|
34
|
+
valueName,
|
|
35
|
+
childrenName
|
|
36
|
+
});
|
|
34
37
|
const [value, setValue] = (0, _usePropsValue.usePropsValue)(Object.assign(Object.assign({}, props), {
|
|
35
38
|
onChange: val => {
|
|
36
39
|
var _a;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { CascaderValue, CascaderValueExtend
|
|
2
|
-
|
|
1
|
+
import { CascaderValue, CascaderValueExtend } from './cascader-view';
|
|
2
|
+
import type { CascaderOption } from './cascader-view';
|
|
3
|
+
export declare function useCascaderValueExtend(options: CascaderOption[], fieldNames: CascaderOption): (val: CascaderValue[]) => CascaderValueExtend;
|
|
@@ -7,19 +7,23 @@ exports.useCascaderValueExtend = useCascaderValueExtend;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _memoize = _interopRequireDefault(require("lodash/memoize"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function useCascaderValueExtend(options) {
|
|
10
|
+
function useCascaderValueExtend(options, fieldNames) {
|
|
11
|
+
const {
|
|
12
|
+
valueName,
|
|
13
|
+
childrenName
|
|
14
|
+
} = fieldNames;
|
|
11
15
|
const generateItems = (0, _react.useMemo)(() => {
|
|
12
16
|
return (0, _memoize.default)(val => {
|
|
13
17
|
const ret = [];
|
|
14
18
|
let currentOptions = options;
|
|
15
19
|
for (const v of val) {
|
|
16
|
-
const target = currentOptions.find(option => option
|
|
20
|
+
const target = currentOptions.find(option => option[valueName] === v);
|
|
17
21
|
if (!target) {
|
|
18
22
|
break;
|
|
19
23
|
}
|
|
20
24
|
ret.push(target);
|
|
21
|
-
if (!target
|
|
22
|
-
currentOptions = target
|
|
25
|
+
if (!target[childrenName]) break;
|
|
26
|
+
currentOptions = target[childrenName];
|
|
23
27
|
}
|
|
24
28
|
return ret;
|
|
25
29
|
}, val => JSON.stringify(val));
|
|
@@ -28,7 +32,7 @@ function useCascaderValueExtend(options) {
|
|
|
28
32
|
return (0, _memoize.default)(val => {
|
|
29
33
|
const children = val.reduce((currentOptions, v) => {
|
|
30
34
|
var _a;
|
|
31
|
-
return ((_a = currentOptions.find(option => option
|
|
35
|
+
return ((_a = currentOptions.find(option => option[valueName] === v)) === null || _a === void 0 ? void 0 : _a[childrenName]) || [];
|
|
32
36
|
}, options);
|
|
33
37
|
return children.length === 0;
|
|
34
38
|
}, val => JSON.stringify(val));
|
|
@@ -60,8 +60,10 @@ const Dropdown = (0, _react.forwardRef)((p, ref) => {
|
|
|
60
60
|
const navs = _react.default.Children.map(props.children, child => {
|
|
61
61
|
if ((0, _react.isValidElement)(child)) {
|
|
62
62
|
const childProps = Object.assign(Object.assign({}, child.props), {
|
|
63
|
-
onClick:
|
|
63
|
+
onClick: event => {
|
|
64
|
+
var _a, _b;
|
|
64
65
|
changeActive(child.key);
|
|
66
|
+
(_b = (_a = child.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
|
|
65
67
|
},
|
|
66
68
|
active: child.key === value,
|
|
67
69
|
arrow: child.props.arrow === undefined ? props.arrow : child.props.arrow
|
|
@@ -10,6 +10,10 @@ export declare type ImageViewerProps = {
|
|
|
10
10
|
onClose?: () => void;
|
|
11
11
|
afterClose?: () => void;
|
|
12
12
|
renderFooter?: (image: string) => ReactNode;
|
|
13
|
+
classNames?: {
|
|
14
|
+
mask?: string;
|
|
15
|
+
body?: string;
|
|
16
|
+
};
|
|
13
17
|
};
|
|
14
18
|
export declare const ImageViewer: FC<ImageViewerProps>;
|
|
15
19
|
export declare type MultiImageViewerRef = SlidesRef;
|
|
@@ -11,6 +11,7 @@ var _mask = _interopRequireDefault(require("../mask"));
|
|
|
11
11
|
var _safeArea = _interopRequireDefault(require("../safe-area"));
|
|
12
12
|
var _slide = require("./slide");
|
|
13
13
|
var _slides = require("./slides");
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -21,23 +22,24 @@ const defaultProps = {
|
|
|
21
22
|
visible: false
|
|
22
23
|
};
|
|
23
24
|
const ImageViewer = p => {
|
|
24
|
-
var _a;
|
|
25
|
+
var _a, _b, _c;
|
|
25
26
|
const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
|
|
26
27
|
const node = _react.default.createElement(_mask.default, {
|
|
27
28
|
visible: props.visible,
|
|
28
29
|
disableBodyScroll: false,
|
|
29
30
|
opacity: 'thick',
|
|
30
31
|
afterClose: props.afterClose,
|
|
31
|
-
destroyOnClose: true
|
|
32
|
+
destroyOnClose: true,
|
|
33
|
+
className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask
|
|
32
34
|
}, _react.default.createElement("div", {
|
|
33
|
-
className: `${classPrefix}-content
|
|
35
|
+
className: (0, _classnames.default)(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)
|
|
34
36
|
}, props.image && _react.default.createElement(_slide.Slide, {
|
|
35
37
|
image: props.image,
|
|
36
38
|
onTap: props.onClose,
|
|
37
39
|
maxZoom: props.maxZoom
|
|
38
40
|
})), props.image && _react.default.createElement("div", {
|
|
39
41
|
className: `${classPrefix}-footer`
|
|
40
|
-
}, (
|
|
42
|
+
}, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.image), _react.default.createElement(_safeArea.default, {
|
|
41
43
|
position: 'bottom'
|
|
42
44
|
})));
|
|
43
45
|
return (0, _renderToContainer.renderToContainer)(props.getContainer, node);
|
|
@@ -47,7 +49,7 @@ const multiDefaultProps = Object.assign(Object.assign({}, defaultProps), {
|
|
|
47
49
|
defaultIndex: 0
|
|
48
50
|
});
|
|
49
51
|
const MultiImageViewer = (0, _react.forwardRef)((p, ref) => {
|
|
50
|
-
var _a;
|
|
52
|
+
var _a, _b, _c;
|
|
51
53
|
const props = (0, _withDefaultProps.mergeProps)(multiDefaultProps, p);
|
|
52
54
|
const [index, setIndex] = (0, _react.useState)(props.defaultIndex);
|
|
53
55
|
const slidesRef = (0, _react.useRef)(null);
|
|
@@ -69,9 +71,10 @@ const MultiImageViewer = (0, _react.forwardRef)((p, ref) => {
|
|
|
69
71
|
disableBodyScroll: false,
|
|
70
72
|
opacity: 'thick',
|
|
71
73
|
afterClose: props.afterClose,
|
|
72
|
-
destroyOnClose: true
|
|
74
|
+
destroyOnClose: true,
|
|
75
|
+
className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask
|
|
73
76
|
}, _react.default.createElement("div", {
|
|
74
|
-
className: `${classPrefix}-content
|
|
77
|
+
className: (0, _classnames.default)(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)
|
|
75
78
|
}, props.images && _react.default.createElement(_slides.Slides, {
|
|
76
79
|
ref: slidesRef,
|
|
77
80
|
defaultIndex: index,
|
|
@@ -81,7 +84,7 @@ const MultiImageViewer = (0, _react.forwardRef)((p, ref) => {
|
|
|
81
84
|
maxZoom: props.maxZoom
|
|
82
85
|
})), props.images && _react.default.createElement("div", {
|
|
83
86
|
className: `${classPrefix}-footer`
|
|
84
|
-
}, (
|
|
87
|
+
}, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.images[index], index), _react.default.createElement(_safeArea.default, {
|
|
85
88
|
position: 'bottom'
|
|
86
89
|
})));
|
|
87
90
|
return (0, _renderToContainer.renderToContainer)(props.getContainer, node);
|
|
@@ -79,6 +79,7 @@ const Mask = p => {
|
|
|
79
79
|
const node = (0, _withStopPropagation.withStopPropagation)(props.stopPropagation, (0, _nativeProps.withNativeProps)(props, _react.default.createElement(_web.animated.div, {
|
|
80
80
|
className: classPrefix,
|
|
81
81
|
ref: ref,
|
|
82
|
+
"aria-hidden": true,
|
|
82
83
|
style: Object.assign(Object.assign({}, props.style), {
|
|
83
84
|
background,
|
|
84
85
|
opacity,
|
|
@@ -13,6 +13,7 @@ var _popup = _interopRequireDefault(require("../popup"));
|
|
|
13
13
|
var _nativeProps = require("../../utils/native-props");
|
|
14
14
|
var _safeArea = _interopRequireDefault(require("../safe-area"));
|
|
15
15
|
var _ahooks = require("ahooks");
|
|
16
|
+
var _configProvider = require("../config-provider");
|
|
16
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -39,6 +40,9 @@ const NumberKeyboard = p => {
|
|
|
39
40
|
showCloseButton,
|
|
40
41
|
onInput
|
|
41
42
|
} = props;
|
|
43
|
+
const {
|
|
44
|
+
locale
|
|
45
|
+
} = (0, _configProvider.useConfig)();
|
|
42
46
|
const keyboardRef = (0, _react.useRef)(null);
|
|
43
47
|
const keys = (0, _react.useMemo)(() => {
|
|
44
48
|
const defaultKeys = ['1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
|
@@ -97,7 +101,7 @@ const NumberKeyboard = p => {
|
|
|
97
101
|
className: (0, _classnames.default)(`${classPrefix}-header`, {
|
|
98
102
|
[`${classPrefix}-header-with-title`]: !!title
|
|
99
103
|
})
|
|
100
|
-
},
|
|
104
|
+
}, !!title && _react.default.createElement("div", {
|
|
101
105
|
className: `${classPrefix}-title`,
|
|
102
106
|
"aria-label": title
|
|
103
107
|
}, title), showCloseButton && _react.default.createElement("span", {
|
|
@@ -106,8 +110,8 @@ const NumberKeyboard = p => {
|
|
|
106
110
|
var _a;
|
|
107
111
|
(_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
108
112
|
},
|
|
109
|
-
role: '
|
|
110
|
-
title:
|
|
113
|
+
role: 'button',
|
|
114
|
+
title: locale.common.close,
|
|
111
115
|
tabIndex: -1
|
|
112
116
|
}, _react.default.createElement(_antdMobileIcons.DownOutline, null)));
|
|
113
117
|
};
|
|
@@ -119,7 +123,7 @@ const NumberKeyboard = p => {
|
|
|
119
123
|
[`${classPrefix}-key-mid`]: index === 9 && !!confirmText && keys.length < 12
|
|
120
124
|
});
|
|
121
125
|
const ariaProps = key ? {
|
|
122
|
-
role: '
|
|
126
|
+
role: 'button',
|
|
123
127
|
title: key,
|
|
124
128
|
tabIndex: -1
|
|
125
129
|
} : undefined;
|
|
@@ -172,13 +176,17 @@ const NumberKeyboard = p => {
|
|
|
172
176
|
onKeyPress(e, 'BACKSPACE');
|
|
173
177
|
onBackspacePressEnd();
|
|
174
178
|
},
|
|
175
|
-
|
|
176
|
-
|
|
179
|
+
onContextMenu: e => {
|
|
180
|
+
// Long press should not trigger native context menu
|
|
181
|
+
e.preventDefault();
|
|
182
|
+
},
|
|
183
|
+
title: locale.Input.clear,
|
|
184
|
+
role: 'button',
|
|
177
185
|
tabIndex: -1
|
|
178
186
|
}, _react.default.createElement(_antdMobileIcons.TextDeletionOutline, null)), _react.default.createElement("div", {
|
|
179
187
|
className: `${classPrefix}-key ${classPrefix}-key-extra ${classPrefix}-key-ok`,
|
|
180
188
|
onTouchEnd: e => onKeyPress(e, 'OK'),
|
|
181
|
-
role: '
|
|
189
|
+
role: 'button',
|
|
182
190
|
tabIndex: -1,
|
|
183
191
|
"aria-label": confirmText
|
|
184
192
|
}, confirmText))), props.safeArea && _react.default.createElement("div", {
|
|
@@ -41,7 +41,9 @@ const PopoverMenu = (0, _react.forwardRef)((props, ref) => {
|
|
|
41
41
|
var _a;
|
|
42
42
|
return _react.default.createElement("a", {
|
|
43
43
|
key: (_a = action.key) !== null && _a !== void 0 ? _a : index,
|
|
44
|
-
className: (0, _classnames.default)(`${classPrefix}-item`, 'adm-plain-anchor',
|
|
44
|
+
className: (0, _classnames.default)(`${classPrefix}-item`, 'adm-plain-anchor', {
|
|
45
|
+
[`${classPrefix}-item-disabled`]: action.disabled
|
|
46
|
+
}),
|
|
45
47
|
onClick: () => {
|
|
46
48
|
var _a;
|
|
47
49
|
if (action.disabled) return;
|
|
@@ -27,13 +27,11 @@ const defaultProps = {
|
|
|
27
27
|
placement: 'top',
|
|
28
28
|
defaultVisible: false,
|
|
29
29
|
stopPropagation: ['click'],
|
|
30
|
-
getContainer: () => document.body
|
|
30
|
+
getContainer: () => document.body,
|
|
31
|
+
mode: 'light'
|
|
31
32
|
};
|
|
32
33
|
const Popover = (0, _react.forwardRef)((p, ref) => {
|
|
33
34
|
const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
|
|
34
|
-
const {
|
|
35
|
-
mode = 'light'
|
|
36
|
-
} = props;
|
|
37
35
|
const placement = (0, _normalizePlacement.normalizePlacement)(props.placement);
|
|
38
36
|
const [visible, setVisible] = (0, _usePropsValue.usePropsValue)({
|
|
39
37
|
value: props.visible,
|
|
@@ -49,7 +47,9 @@ const Popover = (0, _react.forwardRef)((p, ref) => {
|
|
|
49
47
|
const floatingRef = (0, _react.useRef)(null);
|
|
50
48
|
const arrowRef = (0, _react.useRef)(null);
|
|
51
49
|
const floating = (0, _withStopPropagation.withStopPropagation)(props.stopPropagation, (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
|
|
52
|
-
className: (0, _classnames.default)(classPrefix, `${classPrefix}-${mode}`,
|
|
50
|
+
className: (0, _classnames.default)(classPrefix, `${classPrefix}-${props.mode}`, {
|
|
51
|
+
[`${classPrefix}-hidden`]: !visible
|
|
52
|
+
}),
|
|
53
53
|
ref: floatingRef
|
|
54
54
|
}, _react.default.createElement("div", {
|
|
55
55
|
className: `${classPrefix}-arrow`,
|
|
@@ -102,6 +102,7 @@ const Popup = p => {
|
|
|
102
102
|
}), _react.default.createElement(_web.animated.div, {
|
|
103
103
|
className: bodyCls,
|
|
104
104
|
style: Object.assign(Object.assign({}, props.bodyStyle), {
|
|
105
|
+
pointerEvents: percent.to(v => v === 0 ? 'unset' : 'none'),
|
|
105
106
|
transform: percent.to(v => {
|
|
106
107
|
if (props.position === 'bottom') {
|
|
107
108
|
return `translate(0, ${v}%)`;
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
display: flex;
|
|
73
73
|
justify-content: center;
|
|
74
74
|
align-items: center;
|
|
75
|
-
margin: 0 16px 0 calc(var(--height) - var(--border-width) +
|
|
75
|
+
margin: 0 16px 0 calc(var(--height) - var(--border-width) + 10px);
|
|
76
76
|
height: 100%;
|
|
77
77
|
color: var(--adm-color-weak);
|
|
78
78
|
transition: margin 200ms;
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
.adm-switch.adm-switch-checked .adm-switch-inner {
|
|
95
|
-
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0
|
|
95
|
+
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0 16px;
|
|
96
96
|
color: var(--adm-color-text-light-solid);
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -16,5 +16,11 @@ export declare type TabsProps = {
|
|
|
16
16
|
onChange?: (key: string) => void;
|
|
17
17
|
children?: ReactNode;
|
|
18
18
|
direction?: 'ltr' | 'rtl';
|
|
19
|
+
/**
|
|
20
|
+
* @experimental Support disabled auto scroll when Tabs header content change.
|
|
21
|
+
* This API name or function may change in the future.
|
|
22
|
+
* Please lock the version if you want to use it.
|
|
23
|
+
*/
|
|
24
|
+
autoScroll?: boolean;
|
|
19
25
|
} & NativeProps<'--fixed-active-line-width' | '--active-line-height' | '--active-line-border-radius' | '--title-font-size' | '--content-padding' | '--active-title-color' | '--active-line-color'>;
|
|
20
26
|
export declare const Tabs: FC<TabsProps>;
|
|
@@ -61,7 +61,7 @@ const Tabs = p => {
|
|
|
61
61
|
const [{
|
|
62
62
|
x,
|
|
63
63
|
width
|
|
64
|
-
},
|
|
64
|
+
}, inkApi] = (0, _web.useSpring)(() => ({
|
|
65
65
|
x: 0,
|
|
66
66
|
width: 0,
|
|
67
67
|
config: {
|
|
@@ -88,12 +88,12 @@ const Tabs = p => {
|
|
|
88
88
|
clamp: true
|
|
89
89
|
}
|
|
90
90
|
}));
|
|
91
|
-
function animate(immediate = false) {
|
|
91
|
+
function animate(immediate = false, fromMutation = false) {
|
|
92
92
|
const container = tabListContainerRef.current;
|
|
93
93
|
if (!container) return;
|
|
94
94
|
const activeIndex = keyToIndexRecord[activeKey];
|
|
95
95
|
if (activeIndex === undefined) {
|
|
96
|
-
|
|
96
|
+
inkApi.start({
|
|
97
97
|
x: 0,
|
|
98
98
|
width: 0,
|
|
99
99
|
immediate: true
|
|
@@ -131,7 +131,7 @@ const Tabs = p => {
|
|
|
131
131
|
const w = ['auto', 'full'].includes(props.activeLineMode) ? width : activeLineWidth;
|
|
132
132
|
x = -(containerWidth - x - w);
|
|
133
133
|
}
|
|
134
|
-
|
|
134
|
+
inkApi.start({
|
|
135
135
|
x,
|
|
136
136
|
width,
|
|
137
137
|
immediate
|
|
@@ -148,13 +148,15 @@ const Tabs = p => {
|
|
|
148
148
|
} else {
|
|
149
149
|
nextScrollLeft = (0, _bound.bound)(activeTabLeft - (containerWidth - activeTabWidth) / 2, 0, maxScrollDistance);
|
|
150
150
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
151
|
+
if (!fromMutation || props.autoScroll !== false) {
|
|
152
|
+
scrollApi.start({
|
|
153
|
+
scrollLeft: nextScrollLeft,
|
|
154
|
+
from: {
|
|
155
|
+
scrollLeft: containerScrollLeft
|
|
156
|
+
},
|
|
157
|
+
immediate
|
|
158
|
+
});
|
|
159
|
+
}
|
|
158
160
|
}
|
|
159
161
|
(0, _ahooks.useIsomorphicLayoutEffect)(() => {
|
|
160
162
|
animate(!x.isAnimating);
|
|
@@ -166,7 +168,7 @@ const Tabs = p => {
|
|
|
166
168
|
animate(!x.isAnimating);
|
|
167
169
|
}, tabListContainerRef);
|
|
168
170
|
(0, _useMutationEffect.useMutationEffect)(() => {
|
|
169
|
-
animate(!x.isAnimating);
|
|
171
|
+
animate(!x.isAnimating, true);
|
|
170
172
|
}, tabListContainerRef, {
|
|
171
173
|
subtree: true,
|
|
172
174
|
childList: true,
|
|
@@ -80,9 +80,16 @@ const VirtualInput = (0, _react.forwardRef)((p, ref) => {
|
|
|
80
80
|
},
|
|
81
81
|
visible: hasFocus,
|
|
82
82
|
onClose: () => {
|
|
83
|
-
var _a, _b, _c;
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
var _a, _b, _c, _d;
|
|
84
|
+
const activeElement = document.activeElement;
|
|
85
|
+
// Long press makes `activeElement` to be the child of rootRef
|
|
86
|
+
// We will trigger blur on the child element instead
|
|
87
|
+
if (activeElement && ((_a = rootRef.current) === null || _a === void 0 ? void 0 : _a.contains(activeElement))) {
|
|
88
|
+
activeElement.blur();
|
|
89
|
+
} else {
|
|
90
|
+
(_b = rootRef.current) === null || _b === void 0 ? void 0 : _b.blur();
|
|
91
|
+
}
|
|
92
|
+
(_d = (_c = keyboard.props).onClose) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
86
93
|
},
|
|
87
94
|
getContainer: null
|
|
88
95
|
});
|
|
@@ -92,7 +99,7 @@ const VirtualInput = (0, _react.forwardRef)((p, ref) => {
|
|
|
92
99
|
[`${classPrefix}-disabled`]: props.disabled
|
|
93
100
|
}),
|
|
94
101
|
tabIndex: props.disabled ? undefined : 0,
|
|
95
|
-
role: '
|
|
102
|
+
role: 'textbox',
|
|
96
103
|
onFocus: onFocus,
|
|
97
104
|
onBlur: onBlur,
|
|
98
105
|
onClick: props.onClick
|
package/2x/cjs/global/global.css
CHANGED
|
@@ -103,8 +103,8 @@ div.adm-px-tester {
|
|
|
103
103
|
height: calc(var(--size) / 2 * 4px);
|
|
104
104
|
width: 0;
|
|
105
105
|
position: fixed;
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
left: -100vw;
|
|
107
|
+
top: -100vh;
|
|
108
108
|
-webkit-user-select: none;
|
|
109
109
|
user-select: none;
|
|
110
110
|
pointer-events: none;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type GetContainer } from '../../utils/render-to-container';
|
|
2
3
|
import { CalendarPickerViewProps, CalendarPickerViewRef } from '../calendar-picker-view';
|
|
3
4
|
export declare type CalendarPickerRef = CalendarPickerViewRef;
|
|
4
5
|
export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
@@ -11,6 +12,7 @@ export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
|
11
12
|
closeOnMaskClick?: boolean;
|
|
12
13
|
onClose?: () => void;
|
|
13
14
|
onMaskClick?: () => void;
|
|
15
|
+
getContainer?: GetContainer;
|
|
14
16
|
} & ({
|
|
15
17
|
selectionMode?: undefined;
|
|
16
18
|
onConfirm?: undefined;
|
|
@@ -51,6 +53,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
51
53
|
closeOnMaskClick?: boolean | undefined;
|
|
52
54
|
onClose?: (() => void) | undefined;
|
|
53
55
|
onMaskClick?: (() => void) | undefined;
|
|
56
|
+
getContainer?: GetContainer | undefined;
|
|
54
57
|
} & {
|
|
55
58
|
selectionMode?: undefined;
|
|
56
59
|
onConfirm?: undefined;
|
|
@@ -84,6 +87,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
84
87
|
closeOnMaskClick?: boolean | undefined;
|
|
85
88
|
onClose?: (() => void) | undefined;
|
|
86
89
|
onMaskClick?: (() => void) | undefined;
|
|
90
|
+
getContainer?: GetContainer | undefined;
|
|
87
91
|
} & {
|
|
88
92
|
selectionMode: 'single';
|
|
89
93
|
onConfirm?: ((val: Date | null) => void) | undefined;
|
|
@@ -117,6 +121,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
117
121
|
closeOnMaskClick?: boolean | undefined;
|
|
118
122
|
onClose?: (() => void) | undefined;
|
|
119
123
|
onMaskClick?: (() => void) | undefined;
|
|
124
|
+
getContainer?: GetContainer | undefined;
|
|
120
125
|
} & {
|
|
121
126
|
selectionMode: 'range';
|
|
122
127
|
onConfirm?: ((val: [Date, Date] | null) => void) | undefined;
|
|
@@ -32,9 +32,10 @@ export const CalendarPicker = forwardRef((p, ref) => {
|
|
|
32
32
|
closeOnMaskClick,
|
|
33
33
|
onClose,
|
|
34
34
|
onConfirm,
|
|
35
|
-
onMaskClick
|
|
35
|
+
onMaskClick,
|
|
36
|
+
getContainer
|
|
36
37
|
} = props,
|
|
37
|
-
calendarViewProps = __rest(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick"]);
|
|
38
|
+
calendarViewProps = __rest(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick", "getContainer"]);
|
|
38
39
|
const footer = React.createElement("div", {
|
|
39
40
|
className: `${classPrefix}-footer`
|
|
40
41
|
}, React.createElement(Divider, null), React.createElement("div", {
|
|
@@ -72,7 +73,8 @@ export const CalendarPicker = forwardRef((p, ref) => {
|
|
|
72
73
|
if (closeOnMaskClick) {
|
|
73
74
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
74
75
|
}
|
|
75
|
-
}
|
|
76
|
+
},
|
|
77
|
+
getContainer: getContainer
|
|
76
78
|
}, React.createElement(CalendarPickerView, Object.assign({
|
|
77
79
|
ref: calendarRef
|
|
78
80
|
}, calendarViewProps)), footer)));
|
|
@@ -6,6 +6,7 @@ import { usePropsValue } from '../../utils/use-props-value';
|
|
|
6
6
|
import CascaderView from '../cascader-view';
|
|
7
7
|
import { useConfig } from '../config-provider';
|
|
8
8
|
import { useCascaderValueExtend } from '../cascader-view/use-cascader-value-extend';
|
|
9
|
+
import { useFieldNames } from '../../hooks';
|
|
9
10
|
const classPrefix = `adm-cascader`;
|
|
10
11
|
const defaultProps = {
|
|
11
12
|
defaultValue: [],
|
|
@@ -50,7 +51,11 @@ export const Cascader = forwardRef((p, ref) => {
|
|
|
50
51
|
(_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, generateValueExtend(val));
|
|
51
52
|
}
|
|
52
53
|
}));
|
|
53
|
-
const
|
|
54
|
+
const [, valueName, childrenName] = useFieldNames(props.fieldNames);
|
|
55
|
+
const generateValueExtend = useCascaderValueExtend(props.options, {
|
|
56
|
+
valueName,
|
|
57
|
+
childrenName
|
|
58
|
+
});
|
|
54
59
|
const [innerValue, setInnerValue] = useState(value);
|
|
55
60
|
useEffect(() => {
|
|
56
61
|
if (!visible) {
|
|
@@ -20,8 +20,11 @@ export const CascaderView = p => {
|
|
|
20
20
|
const {
|
|
21
21
|
locale
|
|
22
22
|
} = useConfig();
|
|
23
|
-
const generateValueExtend = useCascaderValueExtend(props.options);
|
|
24
23
|
const [labelName, valueName, childrenName, disabledName] = useFieldNames(props.fieldNames);
|
|
24
|
+
const generateValueExtend = useCascaderValueExtend(props.options, {
|
|
25
|
+
valueName,
|
|
26
|
+
childrenName
|
|
27
|
+
});
|
|
25
28
|
const [value, setValue] = usePropsValue(Object.assign(Object.assign({}, props), {
|
|
26
29
|
onChange: val => {
|
|
27
30
|
var _a;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { CascaderValue, CascaderValueExtend
|
|
2
|
-
|
|
1
|
+
import { CascaderValue, CascaderValueExtend } from './cascader-view';
|
|
2
|
+
import type { CascaderOption } from './cascader-view';
|
|
3
|
+
export declare function useCascaderValueExtend(options: CascaderOption[], fieldNames: CascaderOption): (val: CascaderValue[]) => CascaderValueExtend;
|