@nutui/nutui-react-taro 3.0.10 → 3.0.11-patch.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.
- package/CHANGELOG.md +18 -13
- package/dist/cjs/locales/base.d.ts +2 -0
- package/dist/cjs/locales/en-US.js +3 -1
- package/dist/cjs/locales/id-ID.js +3 -1
- package/dist/cjs/locales/tr-TR.js +3 -1
- package/dist/cjs/locales/zh-CN.js +3 -1
- package/dist/cjs/locales/zh-TW.js +3 -1
- package/dist/cjs/locales/zh-UG.js +3 -1
- package/dist/cjs/packages/address/address.js +76 -48
- package/dist/cjs/packages/address/{customRender.d.ts → cascaderRender.d.ts} +1 -1
- package/dist/cjs/packages/address/{customRender.js → cascaderRender.js} +5 -5
- package/dist/cjs/packages/address/elevatorRender.d.ts +14 -0
- package/dist/cjs/packages/address/elevatorRender.js +264 -0
- package/dist/cjs/packages/address/existRender.js +2 -2
- package/dist/cjs/packages/address/style/address.scss +114 -5
- package/dist/cjs/packages/address/style/style.css +103 -4
- package/dist/cjs/packages/address/style/style.harmony.css +103 -4
- package/dist/cjs/packages/address/style-jmapp/address.scss +114 -5
- package/dist/cjs/packages/address/style-jmapp/style.css +103 -4
- package/dist/cjs/packages/address/style-jrkf/address.scss +114 -5
- package/dist/cjs/packages/address/style-jrkf/style.css +103 -4
- package/dist/cjs/packages/address/utils.d.ts +5 -0
- package/dist/cjs/packages/address/utils.js +93 -0
- package/dist/cjs/packages/animatingnumbers/style/style.harmony.css +42 -1
- package/dist/cjs/packages/cascader/cascader.js +2 -2
- package/dist/cjs/packages/picker/style/picker.scss +0 -1
- package/dist/cjs/packages/picker/style/style.css +0 -1
- package/dist/cjs/packages/picker/style/style.harmony.css +0 -1
- package/dist/cjs/packages/picker/style-jmapp/picker.scss +0 -1
- package/dist/cjs/packages/picker/style-jmapp/style.css +0 -1
- package/dist/cjs/packages/picker/style-jrkf/picker.scss +0 -1
- package/dist/cjs/packages/picker/style-jrkf/style.css +0 -1
- package/dist/cjs/types/spec/address/base.d.ts +3 -12
- package/dist/cjs/types/spec/cascader/base.d.ts +1 -0
- package/dist/es/locales/base.d.ts +2 -0
- package/dist/es/locales/en-US.js +3 -1
- package/dist/es/locales/id-ID.js +3 -1
- package/dist/es/locales/tr-TR.js +3 -1
- package/dist/es/locales/zh-CN.js +3 -1
- package/dist/es/locales/zh-TW.js +3 -1
- package/dist/es/locales/zh-UG.js +3 -1
- package/dist/es/packages/address/address.js +77 -49
- package/dist/es/packages/address/{customRender.d.ts → cascaderRender.d.ts} +1 -1
- package/dist/es/packages/address/{customRender.js → cascaderRender.js} +3 -3
- package/dist/es/packages/address/elevatorRender.d.ts +14 -0
- package/dist/es/packages/address/elevatorRender.js +252 -0
- package/dist/es/packages/address/existRender.js +2 -2
- package/dist/es/packages/address/style/address.scss +114 -5
- package/dist/es/packages/address/style/style.css +103 -4
- package/dist/es/packages/address/style/style.harmony.css +103 -4
- package/dist/es/packages/address/style-jmapp/address.scss +114 -5
- package/dist/es/packages/address/style-jmapp/style.css +103 -4
- package/dist/es/packages/address/style-jrkf/address.scss +114 -5
- package/dist/es/packages/address/style-jrkf/style.css +103 -4
- package/dist/es/packages/address/utils.d.ts +5 -0
- package/dist/es/packages/address/utils.js +75 -0
- package/dist/es/packages/animatingnumbers/style/style.harmony.css +42 -1
- package/dist/es/packages/cascader/cascader.js +1 -1
- package/dist/es/packages/picker/style/picker.scss +0 -1
- package/dist/es/packages/picker/style/style.css +0 -1
- package/dist/es/packages/picker/style/style.harmony.css +0 -1
- package/dist/es/packages/picker/style-jmapp/picker.scss +0 -1
- package/dist/es/packages/picker/style-jmapp/style.css +0 -1
- package/dist/es/packages/picker/style-jrkf/picker.scss +0 -1
- package/dist/es/packages/picker/style-jrkf/style.css +0 -1
- package/dist/es/types/spec/address/base.d.ts +7 -13
- package/dist/es/types/spec/cascader/base.d.ts +1 -0
- package/dist/nutui.react.umd.js +458 -119
- package/dist/style-jmapp.css +1 -1
- package/dist/style-jmapp.scss +42 -42
- package/dist/style-jrkf.css +1 -1
- package/dist/style-jrkf.scss +40 -40
- package/dist/style.css +1 -1
- package/dist/style.scss +31 -31
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
# v3.0.
|
|
2
|
-
|
|
1
|
+
# v3.0.11
|
|
2
|
+
|
|
3
|
+
`2025-05-09`
|
|
3
4
|
|
|
5
|
+
- 📖 docs: 升级文档补充 (#3204)
|
|
6
|
+
- :sparkles: feat(address): v15 适配 (#3171)
|
|
7
|
+
- :bug: fix: 修复编译单个组件在小程序下路径异常的问题 (#3215)
|
|
8
|
+
- :bug: fix(picker): 解决透传popup的round属性不生效问题 (#3205)
|
|
9
|
+
- zap: perf: optimize the performance issues caused by style injection (#3203)
|
|
4
10
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* 📖 docs: jmapp 不判断环境,直接打开 (#3193)
|
|
9
|
-
* :sparkles: feat(switch): loading 态受控 (#3149)
|
|
10
|
-
* :sparkles: feat(uploader): add listUploadRender prop for custom list mode upload… (#3198)
|
|
11
|
-
* :sparkles: feat(video): 兼容taro Component属性 (#3185)
|
|
12
|
-
* :sparkles: feat(radio): 支持自定义icon的classname (#3196)
|
|
13
|
-
* :bug: fix(tabs): 修复滚动计算问题,优化定位逻辑 (#3183)
|
|
14
|
-
* :bug: fix: 删掉无用console (#3197)
|
|
15
|
-
* :bug: fix: 兼容选中值为0的情况 (#3192)
|
|
11
|
+
# v3.0.10
|
|
12
|
+
|
|
13
|
+
`2025-04-25`
|
|
16
14
|
|
|
15
|
+
- 📖 docs: jmapp 不判断环境,直接打开 (#3193)
|
|
16
|
+
- :sparkles: feat(switch): loading 态受控 (#3149)
|
|
17
|
+
- :sparkles: feat(uploader): add listUploadRender prop for custom list mode upload… (#3198)
|
|
18
|
+
- :sparkles: feat(video): 兼容taro Component属性 (#3185)
|
|
19
|
+
- :sparkles: feat(radio): 支持自定义icon的classname (#3196)
|
|
20
|
+
- :bug: fix(tabs): 修复滚动计算问题,优化定位逻辑 (#3183)
|
|
21
|
+
- :bug: fix: 兼容选中值为0的情况 (#3192)
|
|
17
22
|
|
|
18
23
|
# v3.0.9
|
|
19
24
|
|
|
@@ -83,7 +83,9 @@ var enUS = {
|
|
|
83
83
|
address: {
|
|
84
84
|
selectRegion: 'Choose Address',
|
|
85
85
|
deliveryTo: 'Delivery To',
|
|
86
|
-
chooseAnotherAddress: 'Choose Another Address'
|
|
86
|
+
chooseAnotherAddress: 'Choose Another Address',
|
|
87
|
+
hotCity: 'Hot City',
|
|
88
|
+
selectProvince: 'Choose Province or City'
|
|
87
89
|
},
|
|
88
90
|
signature: {
|
|
89
91
|
reSign: 'Re Sign',
|
|
@@ -83,7 +83,9 @@ var idID = {
|
|
|
83
83
|
address: {
|
|
84
84
|
selectRegion: 'Pilih Daerah',
|
|
85
85
|
deliveryTo: 'Kirim Ke',
|
|
86
|
-
chooseAnotherAddress: 'Pilih alamat lain'
|
|
86
|
+
chooseAnotherAddress: 'Pilih alamat lain',
|
|
87
|
+
hotCity: 'Kota-kota populer',
|
|
88
|
+
selectProvince: 'Pilih provinsi/wilayah'
|
|
87
89
|
},
|
|
88
90
|
signature: {
|
|
89
91
|
reSign: 'Masuk Kembali',
|
|
@@ -83,7 +83,9 @@ var trTR = {
|
|
|
83
83
|
address: {
|
|
84
84
|
selectRegion: 'Lütfen bölgenizi seçin',
|
|
85
85
|
deliveryTo: 'Teslimat yeri',
|
|
86
|
-
chooseAnotherAddress: 'Başka bir adres seçin'
|
|
86
|
+
chooseAnotherAddress: 'Başka bir adres seçin',
|
|
87
|
+
hotCity: 'Popüler şehirler',
|
|
88
|
+
selectProvince: 'İl/bölge seçin'
|
|
87
89
|
},
|
|
88
90
|
signature: {
|
|
89
91
|
reSign: 'Yeniden imzala',
|
|
@@ -83,7 +83,9 @@ var zhUG = {
|
|
|
83
83
|
address: {
|
|
84
84
|
selectRegion: 'ئادىرىسنى تاللاڭ',
|
|
85
85
|
deliveryTo: 'قەيەرگە',
|
|
86
|
-
chooseAnotherAddress: 'باشقىنى تاللاش'
|
|
86
|
+
chooseAnotherAddress: 'باشقىنى تاللاش',
|
|
87
|
+
hotCity: 'ئاۋات شەھەرلەر',
|
|
88
|
+
selectProvince: 'ئۆلكە / شەھەرنى تاللاڭ'
|
|
87
89
|
},
|
|
88
90
|
signature: {
|
|
89
91
|
reSign: 'قايتا',
|
|
@@ -19,13 +19,15 @@ var _components = require("@tarojs/components");
|
|
|
19
19
|
var _iconsreacttaro = require("@nutui/icons-react-taro");
|
|
20
20
|
var _index = /*#__PURE__*/ _interop_require_default._(require("../popup/index"));
|
|
21
21
|
var _existRender = require("./existRender");
|
|
22
|
-
var
|
|
22
|
+
var _elevatorRender = require("./elevatorRender");
|
|
23
|
+
var _cascaderRender = require("./cascaderRender");
|
|
23
24
|
var _index1 = require("../configprovider/index");
|
|
24
25
|
var _typings = require("../../utils/typings");
|
|
25
26
|
var _usepropsvalue = require("../../hooks/use-props-value");
|
|
27
|
+
var _mergeprops = require("../../utils/merge-props");
|
|
26
28
|
var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
|
|
27
29
|
defaultValue: [],
|
|
28
|
-
type: '
|
|
30
|
+
type: 'cascader',
|
|
29
31
|
options: [],
|
|
30
32
|
optionKey: {
|
|
31
33
|
textKey: 'text',
|
|
@@ -35,6 +37,7 @@ var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typing
|
|
|
35
37
|
format: {},
|
|
36
38
|
custom: false,
|
|
37
39
|
existList: [],
|
|
40
|
+
hotList: [],
|
|
38
41
|
height: '200px',
|
|
39
42
|
defaultIcon: null,
|
|
40
43
|
selectIcon: null,
|
|
@@ -43,7 +46,7 @@ var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typing
|
|
|
43
46
|
});
|
|
44
47
|
var InternalAddress = function InternalAddress(props, ref) {
|
|
45
48
|
var locale = (0, _index1.useConfig)().locale;
|
|
46
|
-
var
|
|
49
|
+
var _mergeProps = (0, _mergeprops.mergeProps)(defaultProps, props), style = _mergeProps.style, className = _mergeProps.className, visible = _mergeProps.visible, defaultVisible = _mergeProps.defaultVisible, defaultValue = _mergeProps.defaultValue, children = _mergeProps.children, type = _mergeProps.type, options = _mergeProps.options, optionKey = _mergeProps.optionKey, format = _mergeProps.format, height = _mergeProps.height, title = _mergeProps.title, existList = _mergeProps.existList, custom = _mergeProps.custom, selectIcon = _mergeProps.selectIcon, defaultIcon = _mergeProps.defaultIcon, closeIcon = _mergeProps.closeIcon, backIcon = _mergeProps.backIcon, hotList = _mergeProps.hotList, onChange = _mergeProps.onChange, onExistSelect = _mergeProps.onExistSelect, onClose = _mergeProps.onClose, onSwitch = _mergeProps.onSwitch, rest = (0, _object_without_properties._)(_mergeProps, [
|
|
47
50
|
"style",
|
|
48
51
|
"className",
|
|
49
52
|
"visible",
|
|
@@ -62,6 +65,7 @@ var InternalAddress = function InternalAddress(props, ref) {
|
|
|
62
65
|
"defaultIcon",
|
|
63
66
|
"closeIcon",
|
|
64
67
|
"backIcon",
|
|
68
|
+
"hotList",
|
|
65
69
|
"onChange",
|
|
66
70
|
"onExistSelect",
|
|
67
71
|
"onClose",
|
|
@@ -88,64 +92,88 @@ var InternalAddress = function InternalAddress(props, ref) {
|
|
|
88
92
|
setInnerVisible(false);
|
|
89
93
|
onClose && onClose();
|
|
90
94
|
};
|
|
91
|
-
var
|
|
92
|
-
|
|
95
|
+
var renderLeftOnCascaderSwitch = function renderLeftOnCascaderSwitch() {
|
|
96
|
+
if (!custom) return null;
|
|
97
|
+
return /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
93
98
|
className: "".concat(classPrefix, "-left-icon"),
|
|
94
99
|
onClick: onSwitchModule
|
|
95
100
|
}, /*#__PURE__*/ _react.default.isValidElement(backIcon) ? backIcon : /*#__PURE__*/ _react.default.createElement(_iconsreacttaro.ArrowLeft, {
|
|
96
101
|
color: "#cccccc"
|
|
97
|
-
}))
|
|
102
|
+
}));
|
|
98
103
|
};
|
|
99
104
|
var selectedExistItem = function selectedExistItem(data) {
|
|
100
105
|
onExistSelect && onExistSelect(data);
|
|
101
106
|
handleClose();
|
|
102
107
|
};
|
|
103
108
|
var onSwitchModule = function onSwitchModule() {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
} else {
|
|
107
|
-
setCurrentType('exist');
|
|
108
|
-
}
|
|
109
|
+
var nextType = currentType === 'exist' ? 'cascader' : 'exist';
|
|
110
|
+
setCurrentType(nextType);
|
|
109
111
|
onSwitch && onSwitch({
|
|
110
|
-
type:
|
|
112
|
+
type: nextType
|
|
111
113
|
});
|
|
112
114
|
};
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
115
|
+
var renderElevator = function renderElevator() {
|
|
116
|
+
return /*#__PURE__*/ _react.default.createElement(_elevatorRender.ElevatorRender, {
|
|
117
|
+
visible: innerVisible,
|
|
118
|
+
closeable: true,
|
|
119
|
+
title: title || locale.address.selectRegion,
|
|
120
|
+
left: backIcon,
|
|
121
|
+
defaultValue: defaultValue,
|
|
122
|
+
closeIcon: closeIcon,
|
|
123
|
+
options: options,
|
|
124
|
+
hotList: hotList,
|
|
125
|
+
format: format,
|
|
126
|
+
optionKey: optionKey,
|
|
127
|
+
type: currentType,
|
|
128
|
+
height: height,
|
|
129
|
+
onClose: handleClose,
|
|
130
|
+
onChange: function onChange1(val, params) {
|
|
131
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val, params);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
var renderCascator = function renderCascator() {
|
|
136
|
+
return /*#__PURE__*/ _react.default.createElement(_cascaderRender.CascaderRender, {
|
|
137
|
+
visible: innerVisible,
|
|
138
|
+
closeable: true,
|
|
139
|
+
title: title || locale.address.selectRegion,
|
|
140
|
+
left: renderLeftOnCascaderSwitch(),
|
|
141
|
+
defaultValue: defaultValue,
|
|
142
|
+
closeIcon: closeIcon,
|
|
143
|
+
options: options,
|
|
144
|
+
format: format,
|
|
145
|
+
optionKey: optionKey,
|
|
146
|
+
type: currentType,
|
|
147
|
+
height: height,
|
|
148
|
+
onClose: handleClose,
|
|
149
|
+
onChange: function onChange1(val, params) {
|
|
150
|
+
onChange && onChange(val, params);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
var renderExist = function renderExist() {
|
|
155
|
+
return /*#__PURE__*/ _react.default.createElement(_index.default, {
|
|
156
|
+
visible: innerVisible,
|
|
157
|
+
position: "bottom",
|
|
158
|
+
round: true,
|
|
159
|
+
closeable: true,
|
|
160
|
+
closeIcon: closeIcon,
|
|
161
|
+
title: title || locale.address.selectRegion,
|
|
162
|
+
onClose: handleClose
|
|
163
|
+
}, /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
164
|
+
className: "".concat(classPrefix, " ").concat(className || ''),
|
|
165
|
+
style: (0, _object_spread._)({}, style)
|
|
166
|
+
}, /*#__PURE__*/ _react.default.createElement(_existRender.ExistRender, {
|
|
167
|
+
type: currentType,
|
|
168
|
+
existList: existList,
|
|
169
|
+
selectIcon: selectIcon,
|
|
170
|
+
defaultIcon: defaultIcon,
|
|
171
|
+
custom: custom,
|
|
172
|
+
onSelect: selectedExistItem,
|
|
173
|
+
onSwitch: onSwitchModule
|
|
174
|
+
})));
|
|
175
|
+
};
|
|
176
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, currentType === 'elevator' ? renderElevator() : null, currentType === 'cascader' ? renderCascator() : null, currentType === 'exist' ? renderExist() : null);
|
|
149
177
|
};
|
|
150
178
|
var Address = /*#__PURE__*/ (0, _react.forwardRef)(InternalAddress);
|
|
151
179
|
Address.displayName = 'NutAddress';
|
|
@@ -10,4 +10,4 @@ export interface AddressProps extends TaroCascaderProps {
|
|
|
10
10
|
format: Record<string, string | number | null>;
|
|
11
11
|
height: string | number;
|
|
12
12
|
}
|
|
13
|
-
export declare const
|
|
13
|
+
export declare const CascaderRender: FunctionComponent<Partial<AddressProps> & Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'defaultValue' | 'onChange'>>;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "CascaderRender", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return CascaderRender;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
@@ -17,7 +17,7 @@ var _typings = require("../../utils/typings");
|
|
|
17
17
|
var _index = /*#__PURE__*/ _interop_require_default._(require("../cascader/index"));
|
|
18
18
|
var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
|
|
19
19
|
visible: false,
|
|
20
|
-
type: '
|
|
20
|
+
type: 'cascader',
|
|
21
21
|
options: [],
|
|
22
22
|
optionKey: {
|
|
23
23
|
textKey: 'text',
|
|
@@ -27,7 +27,7 @@ var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typing
|
|
|
27
27
|
format: {},
|
|
28
28
|
height: '200px'
|
|
29
29
|
});
|
|
30
|
-
var
|
|
30
|
+
var CascaderRender = function CascaderRender(props) {
|
|
31
31
|
var _ref = (0, _object_spread._)({}, defaultProps, props), children = _ref.children, visible = _ref.visible, type = _ref.type, height = _ref.height, options = _ref.options, title = _ref.title, left = _ref.left, value = _ref.value, defaultValue = _ref.defaultValue, optionKey = _ref.optionKey, format = _ref.format, onClose = _ref.onClose, onChange = _ref.onChange, onPathChange = _ref.onPathChange, rest = (0, _object_without_properties._)(_ref, [
|
|
32
32
|
"children",
|
|
33
33
|
"visible",
|
|
@@ -44,7 +44,7 @@ var CustomRender = function CustomRender(props) {
|
|
|
44
44
|
"onChange",
|
|
45
45
|
"onPathChange"
|
|
46
46
|
]);
|
|
47
|
-
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, type === '
|
|
47
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, type === 'cascader' && /*#__PURE__*/ _react.default.createElement(_index.default, (0, _object_spread._)({
|
|
48
48
|
visible: visible,
|
|
49
49
|
value: value,
|
|
50
50
|
defaultValue: defaultValue,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { FunctionComponent } from 'react';
|
|
2
|
+
import { CascaderOption, TaroCascaderProps, CascaderValue, CascaderOptionKey, RegionData } from "../../types";
|
|
3
|
+
export interface AddressProps extends TaroCascaderProps {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
type: string;
|
|
6
|
+
options: CascaderOption[];
|
|
7
|
+
hotList: RegionData[];
|
|
8
|
+
value: CascaderValue;
|
|
9
|
+
defaultValue: CascaderValue;
|
|
10
|
+
optionKey: CascaderOptionKey;
|
|
11
|
+
format: Record<string, string | number | null>;
|
|
12
|
+
height: string | number;
|
|
13
|
+
}
|
|
14
|
+
export declare const ElevatorRender: FunctionComponent<Partial<AddressProps> & Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'defaultValue' | 'onChange'>>;
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "ElevatorRender", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return ElevatorRender;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
12
|
+
var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
13
|
+
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
14
|
+
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
15
|
+
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
|
|
16
|
+
var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
17
|
+
var _components = require("@tarojs/components");
|
|
18
|
+
var _index = /*#__PURE__*/ _interop_require_default._(require("../popup/index"));
|
|
19
|
+
var _index1 = /*#__PURE__*/ _interop_require_default._(require("../elevator/index"));
|
|
20
|
+
var _utils = require("../cascader/utils");
|
|
21
|
+
var _utils1 = require("./utils");
|
|
22
|
+
var _typings = require("../../utils/typings");
|
|
23
|
+
var _mergeprops = require("../../utils/merge-props");
|
|
24
|
+
var _usepropsvalue = require("../../hooks/use-props-value");
|
|
25
|
+
var _isempty = require("../../utils/is-empty");
|
|
26
|
+
var _index2 = require("../configprovider/index");
|
|
27
|
+
var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
|
|
28
|
+
visible: false,
|
|
29
|
+
type: 'elevator',
|
|
30
|
+
options: [],
|
|
31
|
+
optionKey: {
|
|
32
|
+
textKey: 'text',
|
|
33
|
+
valueKey: 'value',
|
|
34
|
+
childrenKey: 'children'
|
|
35
|
+
},
|
|
36
|
+
format: {},
|
|
37
|
+
height: '200px',
|
|
38
|
+
activeColor: '',
|
|
39
|
+
activeIcon: 'checklist',
|
|
40
|
+
popup: true,
|
|
41
|
+
closeable: false,
|
|
42
|
+
closeIconPosition: 'top-right',
|
|
43
|
+
closeIcon: 'close',
|
|
44
|
+
lazy: false,
|
|
45
|
+
hotList: [],
|
|
46
|
+
onClose: function onClose() {},
|
|
47
|
+
onChange: function onChange() {},
|
|
48
|
+
onPathChange: function onPathChange() {}
|
|
49
|
+
});
|
|
50
|
+
var ElevatorRender = function ElevatorRender(props) {
|
|
51
|
+
var _mergeProps = (0, _mergeprops.mergeProps)(defaultProps, props), hotList = _mergeProps.hotList, title = _mergeProps.title, left = _mergeProps.left, optionKey = _mergeProps.optionKey, format = _mergeProps.format, onClose = _mergeProps.onClose, onChange = _mergeProps.onChange, onPathChange = _mergeProps.onPathChange, popup = _mergeProps.popup, _mergeProps_popupProps = _mergeProps.popupProps, popupProps = _mergeProps_popupProps === void 0 ? {} : _mergeProps_popupProps, outerVisible = _mergeProps.visible, outerOptions = _mergeProps.options, outerValue = _mergeProps.value, outerDefaultValue = _mergeProps.defaultValue, closeable = _mergeProps.closeable, closeIconPosition = _mergeProps.closeIconPosition, closeIcon = _mergeProps.closeIcon;
|
|
52
|
+
var _useConfig = (0, _index2.useConfig)(), _useConfig_locale = _useConfig.locale, select = _useConfig_locale.select, _useConfig_locale_address = _useConfig_locale.address, hotCity = _useConfig_locale_address.hotCity, selectProvince = _useConfig_locale_address.selectProvince;
|
|
53
|
+
var classPrefix = 'nut-address';
|
|
54
|
+
var MAX_LENGTH = 10;
|
|
55
|
+
var _usePropsValue = (0, _sliced_to_array._)((0, _usepropsvalue.usePropsValue)({
|
|
56
|
+
value: outerValue,
|
|
57
|
+
defaultValue: outerDefaultValue,
|
|
58
|
+
finalValue: [],
|
|
59
|
+
onChange: function onChange1(value) {
|
|
60
|
+
onChange(value, []);
|
|
61
|
+
onPathChange(value, []);
|
|
62
|
+
}
|
|
63
|
+
}), 2), value = _usePropsValue[0], setValue = _usePropsValue[1];
|
|
64
|
+
var _useState = (0, _sliced_to_array._)((0, _react.useState)(outerOptions), 2), innerOptions = _useState[0], setInnerOptions = _useState[1];
|
|
65
|
+
var _useState1 = (0, _sliced_to_array._)((0, _react.useState)(value), 2), innerValue = _useState1[0], setInnerValue = _useState1[1];
|
|
66
|
+
var _useState2 = (0, _sliced_to_array._)((0, _react.useState)([]), 2), elevatorOptions = _useState2[0], setElevatorOptions = _useState2[1];
|
|
67
|
+
var _useState3 = (0, _sliced_to_array._)((0, _react.useState)(selectProvince), 2), addressTip = _useState3[0], setAddressTip = _useState3[1];
|
|
68
|
+
var _useState4 = (0, _sliced_to_array._)((0, _react.useState)(0), 2), levelIndex = _useState4[0], setLevelIndex = _useState4[1];
|
|
69
|
+
var _useState5 = (0, _sliced_to_array._)((0, _react.useState)(0), 2), tabActiveIndex = _useState5[0], setTabActiveIndex = _useState5[1];
|
|
70
|
+
// 初始化数据,只格式化一次;动态数据todo
|
|
71
|
+
var options = (0, _react.useMemo)(function() {
|
|
72
|
+
if (!(0, _isempty.isEmpty)(format)) {
|
|
73
|
+
return (0, _utils1.transformData)((0, _utils.normalizeListOptions)(innerOptions, format));
|
|
74
|
+
}
|
|
75
|
+
if (!(0, _isempty.isEmpty)(optionKey)) {
|
|
76
|
+
return (0, _utils1.transformData)((0, _utils.normalizeOptions)(innerOptions, optionKey) || []);
|
|
77
|
+
}
|
|
78
|
+
return (0, _utils1.transformData)(innerOptions);
|
|
79
|
+
}, [
|
|
80
|
+
innerOptions,
|
|
81
|
+
optionKey,
|
|
82
|
+
format
|
|
83
|
+
]);
|
|
84
|
+
(0, _react.useEffect)(function() {
|
|
85
|
+
setElevatorOptions(options);
|
|
86
|
+
}, [
|
|
87
|
+
options
|
|
88
|
+
]);
|
|
89
|
+
var levels = (0, _react.useMemo)(function() {
|
|
90
|
+
var next = [];
|
|
91
|
+
var end = false;
|
|
92
|
+
var currentOptions = options;
|
|
93
|
+
innerValue.forEach(function(val, index) {
|
|
94
|
+
var opt = currentOptions === null || currentOptions === void 0 ? void 0 : currentOptions.flatMap(function(o) {
|
|
95
|
+
return o.list.find(function(item) {
|
|
96
|
+
return item.name === val;
|
|
97
|
+
});
|
|
98
|
+
}).filter(function(item) {
|
|
99
|
+
return item !== undefined;
|
|
100
|
+
})[0];
|
|
101
|
+
next.push({
|
|
102
|
+
name: val,
|
|
103
|
+
children: currentOptions,
|
|
104
|
+
levelIndex: index,
|
|
105
|
+
current: index === tabActiveIndex
|
|
106
|
+
});
|
|
107
|
+
if (opt === null || opt === void 0 ? void 0 : opt.children) {
|
|
108
|
+
currentOptions = opt.children;
|
|
109
|
+
} else {
|
|
110
|
+
end = true;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
if (!end) {
|
|
114
|
+
next.push({
|
|
115
|
+
name: null,
|
|
116
|
+
children: currentOptions,
|
|
117
|
+
levels: -1,
|
|
118
|
+
current: false
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return next;
|
|
122
|
+
}, [
|
|
123
|
+
innerValue,
|
|
124
|
+
options,
|
|
125
|
+
tabActiveIndex
|
|
126
|
+
]);
|
|
127
|
+
var _usePropsValue1 = (0, _sliced_to_array._)((0, _usepropsvalue.usePropsValue)({
|
|
128
|
+
value: outerVisible,
|
|
129
|
+
defaultValue: undefined,
|
|
130
|
+
onChange: function onChange(value) {
|
|
131
|
+
if (value === false) onClose();
|
|
132
|
+
}
|
|
133
|
+
}), 2), visible = _usePropsValue1[0], setVisible = _usePropsValue1[1];
|
|
134
|
+
(0, _react.useEffect)(function() {
|
|
135
|
+
if (!visible) setInnerValue(value);
|
|
136
|
+
}, [
|
|
137
|
+
visible,
|
|
138
|
+
value
|
|
139
|
+
]);
|
|
140
|
+
(0, _react.useEffect)(function() {
|
|
141
|
+
setInnerOptions(outerOptions);
|
|
142
|
+
}, [
|
|
143
|
+
outerOptions
|
|
144
|
+
]);
|
|
145
|
+
(0, _react.useEffect)(function() {
|
|
146
|
+
setTabActiveIndex(levels.length - 1);
|
|
147
|
+
setAddressTip(innerValue.length ? select : selectProvince);
|
|
148
|
+
}, [
|
|
149
|
+
innerValue
|
|
150
|
+
]);
|
|
151
|
+
var handleElevatorItemClick = function handleElevatorItemClick(elevatorItem, levelIndex) {
|
|
152
|
+
var _elevatorItem_children;
|
|
153
|
+
var nextValue = innerValue.slice(0, levelIndex);
|
|
154
|
+
if (elevatorItem.name) {
|
|
155
|
+
nextValue[levelIndex] = elevatorItem.name;
|
|
156
|
+
}
|
|
157
|
+
setInnerValue(nextValue);
|
|
158
|
+
if ((_elevatorItem_children = elevatorItem.children) === null || _elevatorItem_children === void 0 ? void 0 : _elevatorItem_children.length) {
|
|
159
|
+
setElevatorOptions(elevatorItem.children);
|
|
160
|
+
setLevelIndex(levelIndex + 1);
|
|
161
|
+
} else {
|
|
162
|
+
setVisible(false);
|
|
163
|
+
setValue(nextValue);
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
var handleHotItemClick = function handleHotItemClick(hotItem) {
|
|
167
|
+
// 通过修改 innerValue 构造 level 数据
|
|
168
|
+
var distData = (0, _utils1.findDataByName)(options, hotItem.name);
|
|
169
|
+
// 热门城市主要是一级城市和二级城市,可以扩展。TODO
|
|
170
|
+
if (distData) {
|
|
171
|
+
var nextValue = [
|
|
172
|
+
distData.pName,
|
|
173
|
+
distData.name
|
|
174
|
+
].filter(function(item) {
|
|
175
|
+
return item !== '';
|
|
176
|
+
});
|
|
177
|
+
setInnerValue(nextValue);
|
|
178
|
+
setElevatorOptions(distData.children);
|
|
179
|
+
setLevelIndex(nextValue.length);
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
var renderTabs = function renderTabs() {
|
|
183
|
+
if (!levels.length || !levels[0].name) return null;
|
|
184
|
+
return /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
185
|
+
className: "".concat(classPrefix, "-selected")
|
|
186
|
+
}, levels.map(function(item, index) {
|
|
187
|
+
var _levels_;
|
|
188
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {
|
|
189
|
+
key: "adtabs-".concat(index)
|
|
190
|
+
}, item.name && /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
191
|
+
className: "".concat(classPrefix, "-selected-item ").concat(item.current ? 'active' : ''),
|
|
192
|
+
onClick: function onClick() {
|
|
193
|
+
var _props_onTabsChange;
|
|
194
|
+
(_props_onTabsChange = props.onTabsChange) === null || _props_onTabsChange === void 0 ? void 0 : _props_onTabsChange.call(props, index);
|
|
195
|
+
setTabActiveIndex(index);
|
|
196
|
+
setLevelIndex(index);
|
|
197
|
+
setElevatorOptions(item.children);
|
|
198
|
+
}
|
|
199
|
+
}, item.name), ((_levels_ = levels[index + 1]) === null || _levels_ === void 0 ? void 0 : _levels_.name) && /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
200
|
+
className: "".concat(classPrefix, "-selected-border")
|
|
201
|
+
}, "-"));
|
|
202
|
+
}));
|
|
203
|
+
};
|
|
204
|
+
var renderHotCity = function renderHotCity() {
|
|
205
|
+
if (levels.length && tabActiveIndex !== 0) return null;
|
|
206
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
207
|
+
className: "".concat(classPrefix, "-title")
|
|
208
|
+
}, hotCity), /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
209
|
+
className: "".concat(classPrefix, "-hotlist ").concat(hotList.length > MAX_LENGTH ? 'hotlist-more' : '')
|
|
210
|
+
}, hotList.map(function(item, index) {
|
|
211
|
+
return /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
212
|
+
className: "".concat(classPrefix, "-hotlist-item"),
|
|
213
|
+
key: "hot-".concat(index),
|
|
214
|
+
onClick: function onClick() {
|
|
215
|
+
return handleHotItemClick(item);
|
|
216
|
+
}
|
|
217
|
+
}, item.name);
|
|
218
|
+
})));
|
|
219
|
+
};
|
|
220
|
+
var renderArea = function renderArea() {
|
|
221
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
222
|
+
className: "".concat(classPrefix, "-title")
|
|
223
|
+
}, addressTip), /*#__PURE__*/ _react.default.createElement(_index1.default, {
|
|
224
|
+
className: "".concat(classPrefix, "-elevator"),
|
|
225
|
+
list: elevatorOptions,
|
|
226
|
+
onItemClick: function onItemClick(key, item) {
|
|
227
|
+
return handleElevatorItemClick(item, levelIndex);
|
|
228
|
+
},
|
|
229
|
+
// height="67%"
|
|
230
|
+
style: {
|
|
231
|
+
height: '100%'
|
|
232
|
+
},
|
|
233
|
+
height: "93%"
|
|
234
|
+
}));
|
|
235
|
+
};
|
|
236
|
+
var renderContent = function renderContent() {
|
|
237
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, renderTabs(), /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
238
|
+
style: {
|
|
239
|
+
height: innerValue.length ? '80%' : '93%',
|
|
240
|
+
overflowY: levels.length && tabActiveIndex !== 0 ? 'hidden' : 'auto'
|
|
241
|
+
}
|
|
242
|
+
}, renderHotCity(), renderArea()));
|
|
243
|
+
};
|
|
244
|
+
return popup ? /*#__PURE__*/ _react.default.createElement(_index.default, (0, _object_spread_props._)((0, _object_spread._)({}, popupProps), {
|
|
245
|
+
visible: visible,
|
|
246
|
+
position: "bottom",
|
|
247
|
+
style: {
|
|
248
|
+
height: '89%'
|
|
249
|
+
},
|
|
250
|
+
round: true,
|
|
251
|
+
closeIcon: closeIcon,
|
|
252
|
+
closeable: closeable,
|
|
253
|
+
closeIconPosition: closeIconPosition,
|
|
254
|
+
title: title,
|
|
255
|
+
left: left,
|
|
256
|
+
onOverlayClick: function onOverlayClick() {
|
|
257
|
+
return setVisible(false);
|
|
258
|
+
},
|
|
259
|
+
onCloseIconClick: function onCloseIconClick() {
|
|
260
|
+
return setVisible(false);
|
|
261
|
+
}
|
|
262
|
+
}), renderContent()) : renderContent();
|
|
263
|
+
};
|
|
264
|
+
ElevatorRender.displayName = 'NutElevatorRender';
|
|
@@ -16,7 +16,7 @@ var _iconsreacttaro = require("@nutui/icons-react-taro");
|
|
|
16
16
|
var _components = require("@tarojs/components");
|
|
17
17
|
var _index = require("../configprovider/index");
|
|
18
18
|
var defaultProps = {
|
|
19
|
-
type: '
|
|
19
|
+
type: 'exist',
|
|
20
20
|
existList: [],
|
|
21
21
|
defaultIcon: null,
|
|
22
22
|
selectIcon: null,
|
|
@@ -46,7 +46,7 @@ var ExistRender = function ExistRender(props) {
|
|
|
46
46
|
var onClick = function onClick(e) {
|
|
47
47
|
e.stopPropagation();
|
|
48
48
|
onSwitch && onSwitch({
|
|
49
|
-
type: type === 'exist' ? '
|
|
49
|
+
type: type === 'exist' ? 'cascader' : 'exist'
|
|
50
50
|
});
|
|
51
51
|
};
|
|
52
52
|
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_components.ScrollView, {
|