@nutui/nutui-react 3.0.10-beta.1 → 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 +22 -0
- 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 +80 -55
- 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 +262 -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-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/elevator/elevator.js +2 -1
- 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-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 +81 -56
- 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 +250 -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-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/elevator/elevator.js +2 -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-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 +463 -127
- package/dist/style-jmapp.css +1 -1
- package/dist/style-jmapp.scss +35 -35
- package/dist/style-jrkf.css +1 -1
- package/dist/style-jrkf.scss +27 -27
- package/dist/style.css +1 -1
- package/dist/style.scss +42 -42
- package/package.json +1 -1
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
/* #endif */
|
|
3
3
|
/* #ifndef harmony */
|
|
4
4
|
/* #endif */
|
|
5
|
-
.nut-address-elevator {
|
|
6
|
-
display: flex;
|
|
7
|
-
margin-top: 20px;
|
|
8
|
-
}
|
|
9
5
|
.nut-address-exist {
|
|
10
6
|
display: block;
|
|
11
7
|
padding: 15px 20px 0;
|
|
@@ -45,6 +41,109 @@
|
|
|
45
41
|
color: var(--nutui-color-text-dark);
|
|
46
42
|
}
|
|
47
43
|
|
|
44
|
+
.nut-address-title {
|
|
45
|
+
font-size: 14px;
|
|
46
|
+
font-weight: 500;
|
|
47
|
+
padding: 16px 16px 12px 16px;
|
|
48
|
+
}
|
|
49
|
+
.nut-address-hotlist {
|
|
50
|
+
padding: 0 16px;
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-wrap: wrap;
|
|
53
|
+
align-items: flex-start;
|
|
54
|
+
}
|
|
55
|
+
.nut-address-hotlist-item {
|
|
56
|
+
display: flex;
|
|
57
|
+
justify-content: center;
|
|
58
|
+
align-items: center;
|
|
59
|
+
width: 63px;
|
|
60
|
+
height: 28px;
|
|
61
|
+
font-size: 12px;
|
|
62
|
+
border-radius: 4px;
|
|
63
|
+
margin-bottom: 7px;
|
|
64
|
+
/* #ifdef harmony*/
|
|
65
|
+
margin-right: 6px;
|
|
66
|
+
/* #endif */
|
|
67
|
+
/* #ifndef harmony*/
|
|
68
|
+
margin-right: 7px;
|
|
69
|
+
/* #endif */
|
|
70
|
+
background-color: var(--nutui-gray-2, #f0f0f0);
|
|
71
|
+
color: var(--nutui-color-title);
|
|
72
|
+
}
|
|
73
|
+
.nut-address-hotlist-item:nth-child(5n) {
|
|
74
|
+
margin-right: 0;
|
|
75
|
+
}
|
|
76
|
+
.nut-address-hotlist.hotlist-more .nut-address-hotlist-item {
|
|
77
|
+
width: auto;
|
|
78
|
+
padding: 0 16px;
|
|
79
|
+
margin-right: 7px;
|
|
80
|
+
}
|
|
81
|
+
.nut-address-selected {
|
|
82
|
+
width: 100%;
|
|
83
|
+
height: 60px;
|
|
84
|
+
padding: 0 16px;
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
border-bottom: 1px solid var(--nutui-color-border);
|
|
88
|
+
}
|
|
89
|
+
.nut-address-selected-item {
|
|
90
|
+
font-size: 12px;
|
|
91
|
+
display: inline-block;
|
|
92
|
+
height: 28px;
|
|
93
|
+
line-height: 28px;
|
|
94
|
+
padding: 0 12px;
|
|
95
|
+
border-radius: 4px;
|
|
96
|
+
background-color: var(--nutui-gray-2, #f0f0f0);
|
|
97
|
+
}
|
|
98
|
+
.nut-address-selected-item.active {
|
|
99
|
+
border: 1px solid var(--nutui-color-primary, #ff6666);
|
|
100
|
+
background-color: var(--nutui-color-primary-light-pressed, #ffcccc);
|
|
101
|
+
color: var(--nutui-color-primary, #ff6666);
|
|
102
|
+
}
|
|
103
|
+
.nut-address-selected-border {
|
|
104
|
+
margin: 0 2px;
|
|
105
|
+
color: var(--nutui-color-text-disabled);
|
|
106
|
+
}
|
|
107
|
+
.nut-address-elevator {
|
|
108
|
+
margin-top: 0;
|
|
109
|
+
}
|
|
110
|
+
.nut-address-elevator .nut-elevator-list-item {
|
|
111
|
+
position: relative;
|
|
112
|
+
padding-left: 20px;
|
|
113
|
+
}
|
|
114
|
+
.nut-address-elevator .nut-elevator-list-item-code {
|
|
115
|
+
display: inline;
|
|
116
|
+
position: absolute;
|
|
117
|
+
left: 0;
|
|
118
|
+
top: 0;
|
|
119
|
+
height: 30px;
|
|
120
|
+
line-height: 30px;
|
|
121
|
+
border-bottom: 0;
|
|
122
|
+
color: var(--nutui-color-text-help);
|
|
123
|
+
font-weight: 500;
|
|
124
|
+
}
|
|
125
|
+
.nut-address-elevator .nut-elevator-bars {
|
|
126
|
+
top: 40%;
|
|
127
|
+
padding: 0;
|
|
128
|
+
background: none;
|
|
129
|
+
}
|
|
130
|
+
.nut-address-elevator .nut-elevator-bars-inner-item {
|
|
131
|
+
display: flex;
|
|
132
|
+
justify-content: center;
|
|
133
|
+
align-items: center;
|
|
134
|
+
width: 16px;
|
|
135
|
+
height: 16px;
|
|
136
|
+
font-size: 10px;
|
|
137
|
+
border-radius: 16px;
|
|
138
|
+
margin-bottom: 2px;
|
|
139
|
+
color: var(--nutui-color-text-help);
|
|
140
|
+
}
|
|
141
|
+
.nut-address-elevator .nut-elevator-bars-inner-item-active {
|
|
142
|
+
background-color: var(--nutui-color-primary, #ff6666);
|
|
143
|
+
color: var(--nutui-color-surface-2);
|
|
144
|
+
font-weight: 400;
|
|
145
|
+
}
|
|
146
|
+
|
|
48
147
|
[dir=rtl] .nut-address-exist-item-info,
|
|
49
148
|
.nut-rtl .nut-address-exist-item-info {
|
|
50
149
|
margin-left: 0;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
findDataByName: function() {
|
|
13
|
+
return findDataByName;
|
|
14
|
+
},
|
|
15
|
+
transformData: function() {
|
|
16
|
+
return transformData;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var generateId = function generateId(name) {
|
|
20
|
+
return name.split('').reduce(function(sum, char) {
|
|
21
|
+
return sum + char.charCodeAt(0);
|
|
22
|
+
}, 0) // 使用字符的 Unicode 值作为 ID
|
|
23
|
+
;
|
|
24
|
+
};
|
|
25
|
+
var transformData = function transformData(data) {
|
|
26
|
+
var groupByWordCode = function groupByWordCode1(data, parentId, parentName) {
|
|
27
|
+
return data === null || data === void 0 ? void 0 : data.reduce(function(acc, item) {
|
|
28
|
+
var wordCode = item.wordCode;
|
|
29
|
+
if (!acc[wordCode]) {
|
|
30
|
+
acc[wordCode] = [];
|
|
31
|
+
}
|
|
32
|
+
var currentId = generateId(item.value);
|
|
33
|
+
acc[wordCode].push({
|
|
34
|
+
name: item.value,
|
|
35
|
+
wordCode: item.wordCode,
|
|
36
|
+
id: currentId,
|
|
37
|
+
pId: parentId,
|
|
38
|
+
pName: parentName,
|
|
39
|
+
children: item.children && groupByWordCode(item.children, currentId, item.text) || null
|
|
40
|
+
});
|
|
41
|
+
return acc;
|
|
42
|
+
}, {});
|
|
43
|
+
};
|
|
44
|
+
var extractTitles = function extractTitles1(obj) {
|
|
45
|
+
return Object.keys(obj).map(function(key) {
|
|
46
|
+
return {
|
|
47
|
+
title: key,
|
|
48
|
+
list: obj[key].map(function(item) {
|
|
49
|
+
if (item.children) {
|
|
50
|
+
item.children = extractTitles(item.children);
|
|
51
|
+
}
|
|
52
|
+
return item;
|
|
53
|
+
})
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
var middleData = groupByWordCode(data, '', '');
|
|
58
|
+
var resultData = extractTitles(middleData);
|
|
59
|
+
return resultData;
|
|
60
|
+
};
|
|
61
|
+
var findDataByName = function findDataByName1(data, name) {
|
|
62
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
63
|
+
try {
|
|
64
|
+
for(var _iterator = data[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
65
|
+
var item = _step.value;
|
|
66
|
+
var _item_name;
|
|
67
|
+
if (((_item_name = item.name) === null || _item_name === void 0 ? void 0 : _item_name.indexOf(name)) === 0) return item;
|
|
68
|
+
if (item.children) {
|
|
69
|
+
var found = findDataByName(item.children, name);
|
|
70
|
+
if (found) return found;
|
|
71
|
+
}
|
|
72
|
+
if (item.list) {
|
|
73
|
+
var found1 = findDataByName(item.list, name);
|
|
74
|
+
if (found1) return found1;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
} catch (err) {
|
|
78
|
+
_didIteratorError = true;
|
|
79
|
+
_iteratorError = err;
|
|
80
|
+
} finally{
|
|
81
|
+
try {
|
|
82
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
83
|
+
_iterator.return();
|
|
84
|
+
}
|
|
85
|
+
} finally{
|
|
86
|
+
if (_didIteratorError) {
|
|
87
|
+
throw _iteratorError;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return null // 如果没有找到,返回 null
|
|
92
|
+
;
|
|
93
|
+
};
|
|
@@ -224,9 +224,10 @@ var Elevator = function Elevator(props) {
|
|
|
224
224
|
touchAction: 'pan-y'
|
|
225
225
|
}
|
|
226
226
|
}), list.map(function(item, index) {
|
|
227
|
+
var _list_currentIndex;
|
|
227
228
|
var _obj;
|
|
228
229
|
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
229
|
-
className: (0, _classnames.default)((_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-bars-inner-item"), true), (0, _define_property._)(_obj, "".concat(classPrefix, "-bars-inner-item-active"), item[floorKey] === list[currentIndex][floorKey]), _obj)),
|
|
230
|
+
className: (0, _classnames.default)((_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-bars-inner-item"), true), (0, _define_property._)(_obj, "".concat(classPrefix, "-bars-inner-item-active"), item[floorKey] === ((_list_currentIndex = list[currentIndex]) === null || _list_currentIndex === void 0 ? void 0 : _list_currentIndex[floorKey])), _obj)),
|
|
230
231
|
"data-index": index,
|
|
231
232
|
key: index,
|
|
232
233
|
onClick: function onClick() {
|
|
@@ -4,11 +4,6 @@ export interface RegionData {
|
|
|
4
4
|
name?: string;
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}
|
|
7
|
-
export interface ChangeData {
|
|
8
|
-
next: string;
|
|
9
|
-
value: string | RegionData;
|
|
10
|
-
custom: string;
|
|
11
|
-
}
|
|
12
7
|
export interface CloseCallBackData extends Regions {
|
|
13
8
|
addressIdStr: string;
|
|
14
9
|
addressStr: string;
|
|
@@ -32,24 +27,19 @@ export interface AddressList {
|
|
|
32
27
|
name?: string;
|
|
33
28
|
phone?: string;
|
|
34
29
|
}
|
|
35
|
-
export interface CurrentData {
|
|
36
|
-
next: string;
|
|
37
|
-
value: string | RegionData;
|
|
38
|
-
custom: string;
|
|
39
|
-
selectedRegion?: Regions;
|
|
40
|
-
}
|
|
41
30
|
export interface Regions {
|
|
42
31
|
province: RegionData;
|
|
43
32
|
city: RegionData;
|
|
44
33
|
county: RegionData;
|
|
45
34
|
town: RegionData;
|
|
46
35
|
}
|
|
36
|
+
export type AddressModeType = 'exist' | 'cascader' | 'elevator';
|
|
47
37
|
export interface BaseAddress {
|
|
48
38
|
visible: boolean;
|
|
49
39
|
defaultVisible: boolean;
|
|
50
40
|
value?: CascaderValue;
|
|
51
41
|
defaultValue?: CascaderValue;
|
|
52
|
-
type:
|
|
42
|
+
type: AddressModeType;
|
|
53
43
|
options: CascaderOption[];
|
|
54
44
|
optionKey: CascaderOptionKey;
|
|
55
45
|
format: Record<string, string | number | null>;
|
|
@@ -59,6 +49,7 @@ export interface BaseAddress {
|
|
|
59
49
|
defaultIcon: React.ReactNode;
|
|
60
50
|
selectIcon: React.ReactNode;
|
|
61
51
|
backIcon: React.ReactNode;
|
|
52
|
+
hotList: RegionData[];
|
|
62
53
|
onSwitch?: (data: {
|
|
63
54
|
type: string;
|
|
64
55
|
}) => void;
|
package/dist/es/locales/en-US.js
CHANGED
|
@@ -73,7 +73,9 @@ var enUS = {
|
|
|
73
73
|
address: {
|
|
74
74
|
selectRegion: 'Choose Address',
|
|
75
75
|
deliveryTo: 'Delivery To',
|
|
76
|
-
chooseAnotherAddress: 'Choose Another Address'
|
|
76
|
+
chooseAnotherAddress: 'Choose Another Address',
|
|
77
|
+
hotCity: 'Hot City',
|
|
78
|
+
selectProvince: 'Choose Province or City'
|
|
77
79
|
},
|
|
78
80
|
signature: {
|
|
79
81
|
reSign: 'Re Sign',
|
package/dist/es/locales/id-ID.js
CHANGED
|
@@ -73,7 +73,9 @@ var idID = {
|
|
|
73
73
|
address: {
|
|
74
74
|
selectRegion: 'Pilih Daerah',
|
|
75
75
|
deliveryTo: 'Kirim Ke',
|
|
76
|
-
chooseAnotherAddress: 'Pilih alamat lain'
|
|
76
|
+
chooseAnotherAddress: 'Pilih alamat lain',
|
|
77
|
+
hotCity: 'Kota-kota populer',
|
|
78
|
+
selectProvince: 'Pilih provinsi/wilayah'
|
|
77
79
|
},
|
|
78
80
|
signature: {
|
|
79
81
|
reSign: 'Masuk Kembali',
|
package/dist/es/locales/tr-TR.js
CHANGED
|
@@ -73,7 +73,9 @@ var trTR = {
|
|
|
73
73
|
address: {
|
|
74
74
|
selectRegion: 'Lütfen bölgenizi seçin',
|
|
75
75
|
deliveryTo: 'Teslimat yeri',
|
|
76
|
-
chooseAnotherAddress: 'Başka bir adres seçin'
|
|
76
|
+
chooseAnotherAddress: 'Başka bir adres seçin',
|
|
77
|
+
hotCity: 'Popüler şehirler',
|
|
78
|
+
selectProvince: 'İl/bölge seçin'
|
|
77
79
|
},
|
|
78
80
|
signature: {
|
|
79
81
|
reSign: 'Yeniden imzala',
|
package/dist/es/locales/zh-CN.js
CHANGED
package/dist/es/locales/zh-TW.js
CHANGED
package/dist/es/locales/zh-UG.js
CHANGED
|
@@ -73,7 +73,9 @@ var zhUG = {
|
|
|
73
73
|
address: {
|
|
74
74
|
selectRegion: 'ئادىرىسنى تاللاڭ',
|
|
75
75
|
deliveryTo: 'قەيەرگە',
|
|
76
|
-
chooseAnotherAddress: 'باشقىنى تاللاش'
|
|
76
|
+
chooseAnotherAddress: 'باشقىنى تاللاش',
|
|
77
|
+
hotCity: 'ئاۋات شەھەرلەر',
|
|
78
|
+
selectProvince: 'ئۆلكە / شەھەرنى تاللاڭ'
|
|
77
79
|
},
|
|
78
80
|
signature: {
|
|
79
81
|
reSign: 'قايتا',
|
|
@@ -5,14 +5,16 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
|
5
5
|
import React, { useImperativeHandle, forwardRef, useState } from "react";
|
|
6
6
|
import { ArrowLeft } from "@nutui/icons-react";
|
|
7
7
|
import Popup from "../popup";
|
|
8
|
-
import {
|
|
8
|
+
import { CascaderRender } from "./cascaderRender";
|
|
9
|
+
import { ElevatorRender } from "./elevatorRender";
|
|
9
10
|
import { ExistRender } from "./existRender";
|
|
10
11
|
import { useConfig } from "../configprovider";
|
|
11
12
|
import { ComponentDefaults } from "../../utils/typings";
|
|
12
13
|
import { usePropsValue } from "../../hooks/use-props-value";
|
|
14
|
+
import { mergeProps } from "../../utils/merge-props";
|
|
13
15
|
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
14
16
|
defaultValue: [],
|
|
15
|
-
type: '
|
|
17
|
+
type: 'cascader',
|
|
16
18
|
options: [],
|
|
17
19
|
optionKey: {
|
|
18
20
|
textKey: 'text',
|
|
@@ -22,6 +24,7 @@ var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
|
22
24
|
format: {},
|
|
23
25
|
custom: false,
|
|
24
26
|
existList: [],
|
|
27
|
+
hotList: [],
|
|
25
28
|
height: '200px',
|
|
26
29
|
defaultIcon: null,
|
|
27
30
|
selectIcon: null,
|
|
@@ -30,7 +33,7 @@ var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
|
30
33
|
});
|
|
31
34
|
export var InternalAddress = function(props, ref) {
|
|
32
35
|
var locale = useConfig().locale;
|
|
33
|
-
var
|
|
36
|
+
var _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 = _object_without_properties(_mergeProps, [
|
|
34
37
|
"style",
|
|
35
38
|
"className",
|
|
36
39
|
"visible",
|
|
@@ -49,6 +52,7 @@ export var InternalAddress = function(props, ref) {
|
|
|
49
52
|
"defaultIcon",
|
|
50
53
|
"closeIcon",
|
|
51
54
|
"backIcon",
|
|
55
|
+
"hotList",
|
|
52
56
|
"onChange",
|
|
53
57
|
"onExistSelect",
|
|
54
58
|
"onClose",
|
|
@@ -75,68 +79,89 @@ export var InternalAddress = function(props, ref) {
|
|
|
75
79
|
setInnerVisible(false);
|
|
76
80
|
onClose && onClose();
|
|
77
81
|
};
|
|
78
|
-
var
|
|
79
|
-
if (custom)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
return null;
|
|
82
|
+
var renderLeftOnCascaderSwitch = function() {
|
|
83
|
+
if (!custom) return null;
|
|
84
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
85
|
+
className: "".concat(classPrefix, "-left-icon"),
|
|
86
|
+
onClick: onSwitchModule
|
|
87
|
+
}, /*#__PURE__*/ React.isValidElement(backIcon) ? backIcon : /*#__PURE__*/ React.createElement(ArrowLeft, {
|
|
88
|
+
color: "#cccccc"
|
|
89
|
+
}));
|
|
88
90
|
};
|
|
89
91
|
var selectedExistItem = function(data) {
|
|
90
92
|
onExistSelect && onExistSelect(data);
|
|
91
93
|
handleClose();
|
|
92
94
|
};
|
|
93
95
|
var onSwitchModule = function() {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
} else {
|
|
97
|
-
setCurrentType('exist');
|
|
98
|
-
}
|
|
96
|
+
var nextType = currentType === 'exist' ? 'cascader' : 'exist';
|
|
97
|
+
setCurrentType(nextType);
|
|
99
98
|
onSwitch && onSwitch({
|
|
100
|
-
type:
|
|
99
|
+
type: nextType
|
|
101
100
|
});
|
|
102
101
|
};
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
102
|
+
var renderElevator = function() {
|
|
103
|
+
return /*#__PURE__*/ React.createElement(ElevatorRender, {
|
|
104
|
+
visible: innerVisible,
|
|
105
|
+
closeable: true,
|
|
106
|
+
title: title || locale.address.selectRegion,
|
|
107
|
+
left: backIcon,
|
|
108
|
+
defaultValue: defaultValue,
|
|
109
|
+
closeIcon: closeIcon,
|
|
110
|
+
options: options,
|
|
111
|
+
hotList: hotList,
|
|
112
|
+
format: format,
|
|
113
|
+
optionKey: optionKey,
|
|
114
|
+
type: currentType,
|
|
115
|
+
height: height,
|
|
116
|
+
onClose: handleClose,
|
|
117
|
+
onChange: function(val, params) {
|
|
118
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val, params);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
var renderCascator = function() {
|
|
123
|
+
return /*#__PURE__*/ React.createElement(CascaderRender, {
|
|
124
|
+
visible: innerVisible,
|
|
125
|
+
closeable: true,
|
|
126
|
+
title: title || locale.address.selectRegion,
|
|
127
|
+
left: renderLeftOnCascaderSwitch(),
|
|
128
|
+
defaultValue: defaultValue,
|
|
129
|
+
closeIcon: closeIcon,
|
|
130
|
+
options: options,
|
|
131
|
+
format: format,
|
|
132
|
+
optionKey: optionKey,
|
|
133
|
+
type: currentType,
|
|
134
|
+
height: height,
|
|
135
|
+
onClose: handleClose,
|
|
136
|
+
onChange: function(val, params) {
|
|
137
|
+
onChange && onChange(val, params);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
var renderExist = function() {
|
|
142
|
+
return /*#__PURE__*/ React.createElement(Popup, {
|
|
143
|
+
visible: innerVisible,
|
|
144
|
+
position: "bottom",
|
|
145
|
+
round: true,
|
|
146
|
+
closeable: true,
|
|
147
|
+
closeIcon: closeIcon,
|
|
148
|
+
title: title || locale.address.selectRegion,
|
|
149
|
+
onClose: handleClose
|
|
150
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
151
|
+
className: "".concat(classPrefix, " ").concat(className || ''),
|
|
152
|
+
style: _object_spread({}, style)
|
|
153
|
+
}, // 不需要 close,选中切换即关闭弹框。可手动关闭弹框,只关闭弹框不处理逻辑。
|
|
154
|
+
/*#__PURE__*/ React.createElement(ExistRender, {
|
|
155
|
+
type: currentType,
|
|
156
|
+
existList: existList,
|
|
157
|
+
selectIcon: selectIcon,
|
|
158
|
+
defaultIcon: defaultIcon,
|
|
159
|
+
custom: custom,
|
|
160
|
+
onSelect: selectedExistItem,
|
|
161
|
+
onSwitch: onSwitchModule
|
|
162
|
+
})));
|
|
163
|
+
};
|
|
164
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, currentType === 'elevator' ? renderElevator() : null, currentType === 'cascader' ? renderCascator() : null, currentType === 'exist' ? renderExist() : null);
|
|
140
165
|
};
|
|
141
166
|
export var Address = /*#__PURE__*/ forwardRef(InternalAddress);
|
|
142
167
|
Address.displayName = 'NutAddress';
|
|
@@ -10,4 +10,4 @@ export interface AddressProps extends WebCascaderProps {
|
|
|
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'>>;
|
|
@@ -6,7 +6,7 @@ import { ComponentDefaults } from "../../utils/typings";
|
|
|
6
6
|
import Cascader from "../cascader";
|
|
7
7
|
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
8
8
|
visible: false,
|
|
9
|
-
type: '
|
|
9
|
+
type: 'cascader',
|
|
10
10
|
options: [],
|
|
11
11
|
optionKey: {
|
|
12
12
|
textKey: 'text',
|
|
@@ -16,7 +16,7 @@ var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
|
16
16
|
format: {},
|
|
17
17
|
height: '200px'
|
|
18
18
|
});
|
|
19
|
-
export var
|
|
19
|
+
export var CascaderRender = function(props) {
|
|
20
20
|
var _ref = _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 = _object_without_properties(_ref, [
|
|
21
21
|
"children",
|
|
22
22
|
"visible",
|
|
@@ -33,7 +33,7 @@ export var CustomRender = function(props) {
|
|
|
33
33
|
"onChange",
|
|
34
34
|
"onPathChange"
|
|
35
35
|
]);
|
|
36
|
-
return /*#__PURE__*/ React.createElement(React.Fragment, null, type === '
|
|
36
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, type === 'cascader' && /*#__PURE__*/ React.createElement(Cascader, _object_spread({
|
|
37
37
|
visible: visible,
|
|
38
38
|
value: value,
|
|
39
39
|
defaultValue: defaultValue,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { FunctionComponent } from 'react';
|
|
2
|
+
import { CascaderOption, WebCascaderProps, CascaderValue, CascaderOptionKey, RegionData } from "../../types";
|
|
3
|
+
export interface AddressProps extends WebCascaderProps {
|
|
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'>>;
|