@nutui/nutui-react-taro 3.0.13 → 3.0.15
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 +45 -12
- package/dist/cjs/packages/button/style/button.scss +3 -0
- package/dist/cjs/packages/button/style/style.css +3 -3
- package/dist/cjs/packages/button/style/style.harmony.css +12 -0
- package/dist/cjs/packages/button/style-jmapp/button.scss +3 -0
- package/dist/cjs/packages/button/style-jmapp/style.css +3 -3
- package/dist/cjs/packages/button/style-jrkf/button.scss +3 -0
- package/dist/cjs/packages/button/style-jrkf/style.css +3 -3
- package/dist/cjs/packages/calendarcard/calendarcard.js +10 -4
- package/dist/cjs/packages/configprovider/types.d.ts +1 -1
- package/dist/cjs/packages/datepicker/utils.js +23 -38
- package/dist/cjs/packages/dialog/dialog.js +2 -7
- package/dist/cjs/packages/elevator/elevator.d.ts +3 -20
- package/dist/cjs/packages/elevator/elevator.js +119 -91
- package/dist/cjs/packages/elevator/index.d.ts +1 -1
- package/dist/cjs/packages/elevator/style/elevator.scss +61 -33
- package/dist/cjs/packages/elevator/style/style.css +65 -40
- package/dist/cjs/packages/elevator/style/style.harmony.css +69 -41
- package/dist/cjs/packages/elevator/style-jmapp/elevator.scss +61 -33
- package/dist/cjs/packages/elevator/style-jmapp/style.css +56 -31
- package/dist/cjs/packages/elevator/style-jrkf/elevator.scss +61 -33
- package/dist/cjs/packages/elevator/style-jrkf/style.css +56 -31
- package/dist/cjs/packages/formitem/formitem.js +2 -2
- package/dist/cjs/packages/formitem/style/formitem.scss +14 -15
- package/dist/cjs/packages/formitem/style/style.css +9 -11
- package/dist/cjs/packages/formitem/style/style.harmony.css +8 -10
- package/dist/cjs/packages/formitem/style-jmapp/formitem.scss +14 -15
- package/dist/cjs/packages/formitem/style-jmapp/style.css +8 -10
- package/dist/cjs/packages/formitem/style-jrkf/formitem.scss +14 -15
- package/dist/cjs/packages/formitem/style-jrkf/style.css +8 -10
- package/dist/cjs/packages/image/image.js +2 -2
- package/dist/cjs/packages/input/input.js +1 -1
- package/dist/cjs/packages/navbar/style/navbar.scss +2 -0
- package/dist/cjs/packages/navbar/style/style.css +2 -0
- package/dist/cjs/packages/navbar/style/style.harmony.css +2 -0
- package/dist/cjs/packages/navbar/style-jmapp/navbar.scss +2 -0
- package/dist/cjs/packages/navbar/style-jmapp/style.css +2 -0
- package/dist/cjs/packages/navbar/style-jrkf/navbar.scss +2 -0
- package/dist/cjs/packages/navbar/style-jrkf/style.css +2 -0
- package/dist/cjs/packages/noticebar/noticebar.js +1 -1
- package/dist/cjs/packages/overlay/style/overlay.scss +0 -1
- package/dist/cjs/packages/overlay/style/style.css +0 -1
- package/dist/cjs/packages/overlay/style/style.harmony.css +0 -1
- package/dist/cjs/packages/overlay/style-jmapp/overlay.scss +0 -1
- package/dist/cjs/packages/overlay/style-jmapp/style.css +0 -1
- package/dist/cjs/packages/overlay/style-jrkf/overlay.scss +0 -1
- package/dist/cjs/packages/overlay/style-jrkf/style.css +0 -1
- package/dist/cjs/packages/pickerview/pickerroller.js +9 -1
- package/dist/cjs/packages/switch/switch.js +0 -1
- package/dist/cjs/packages/tabpane/style/style.css +1 -1
- package/dist/cjs/packages/tabpane/style/tabpane.scss +1 -1
- package/dist/cjs/packages/tabpane/style-jmapp/style.css +1 -1
- package/dist/cjs/packages/tabpane/style-jmapp/tabpane.scss +1 -1
- package/dist/cjs/packages/tabpane/style-jrkf/style.css +1 -1
- package/dist/cjs/packages/tabpane/style-jrkf/tabpane.scss +1 -1
- package/dist/cjs/types/spec/calendarcard/base.d.ts +1 -0
- package/dist/cjs/types/spec/datepicker/base.d.ts +1 -1
- package/dist/cjs/types/spec/elevator/base.d.ts +5 -2
- package/dist/es/packages/button/style/button.scss +3 -0
- package/dist/es/packages/button/style/style.css +3 -3
- package/dist/es/packages/button/style/style.harmony.css +12 -0
- package/dist/es/packages/button/style-jmapp/button.scss +3 -0
- package/dist/es/packages/button/style-jmapp/style.css +3 -3
- package/dist/es/packages/button/style-jrkf/button.scss +3 -0
- package/dist/es/packages/button/style-jrkf/style.css +3 -3
- package/dist/es/packages/calendarcard/calendarcard.js +11 -5
- package/dist/es/packages/configprovider/types.d.ts +1 -1
- package/dist/es/packages/datepicker/utils.js +23 -38
- package/dist/es/packages/dialog/dialog.js +2 -7
- package/dist/es/packages/elevator/elevator.d.ts +3 -20
- package/dist/es/packages/elevator/elevator.js +119 -91
- package/dist/es/packages/elevator/index.d.ts +1 -1
- package/dist/es/packages/elevator/style/elevator.scss +61 -33
- package/dist/es/packages/elevator/style/style.css +65 -40
- package/dist/es/packages/elevator/style/style.harmony.css +69 -41
- package/dist/es/packages/elevator/style-jmapp/elevator.scss +61 -33
- package/dist/es/packages/elevator/style-jmapp/style.css +56 -31
- package/dist/es/packages/elevator/style-jrkf/elevator.scss +61 -33
- package/dist/es/packages/elevator/style-jrkf/style.css +56 -31
- package/dist/es/packages/formitem/formitem.js +2 -2
- package/dist/es/packages/formitem/style/formitem.scss +14 -15
- package/dist/es/packages/formitem/style/style.css +9 -11
- package/dist/es/packages/formitem/style/style.harmony.css +8 -10
- package/dist/es/packages/formitem/style-jmapp/formitem.scss +14 -15
- package/dist/es/packages/formitem/style-jmapp/style.css +8 -10
- package/dist/es/packages/formitem/style-jrkf/formitem.scss +14 -15
- package/dist/es/packages/formitem/style-jrkf/style.css +8 -10
- package/dist/es/packages/image/image.js +2 -2
- package/dist/es/packages/input/input.js +1 -1
- package/dist/es/packages/navbar/style/navbar.scss +2 -0
- package/dist/es/packages/navbar/style/style.css +2 -0
- package/dist/es/packages/navbar/style/style.harmony.css +2 -0
- package/dist/es/packages/navbar/style-jmapp/navbar.scss +2 -0
- package/dist/es/packages/navbar/style-jmapp/style.css +2 -0
- package/dist/es/packages/navbar/style-jrkf/navbar.scss +2 -0
- package/dist/es/packages/navbar/style-jrkf/style.css +2 -0
- package/dist/es/packages/noticebar/noticebar.js +1 -1
- package/dist/es/packages/overlay/style/overlay.scss +0 -1
- package/dist/es/packages/overlay/style/style.css +0 -1
- package/dist/es/packages/overlay/style/style.harmony.css +0 -1
- package/dist/es/packages/overlay/style-jmapp/overlay.scss +0 -1
- package/dist/es/packages/overlay/style-jmapp/style.css +0 -1
- package/dist/es/packages/overlay/style-jrkf/overlay.scss +0 -1
- package/dist/es/packages/overlay/style-jrkf/style.css +0 -1
- package/dist/es/packages/pickerview/pickerroller.js +9 -1
- package/dist/es/packages/switch/switch.js +0 -1
- package/dist/es/packages/tabpane/style/style.css +1 -1
- package/dist/es/packages/tabpane/style/tabpane.scss +1 -1
- package/dist/es/packages/tabpane/style-jmapp/style.css +1 -1
- package/dist/es/packages/tabpane/style-jmapp/tabpane.scss +1 -1
- package/dist/es/packages/tabpane/style-jrkf/style.css +1 -1
- package/dist/es/packages/tabpane/style-jrkf/tabpane.scss +1 -1
- package/dist/es/types/spec/calendarcard/base.d.ts +4 -0
- package/dist/es/types/spec/datepicker/base.d.ts +1 -1
- package/dist/es/types/spec/elevator/base.d.ts +15 -6
- package/dist/nutui.react.umd.js +904 -888
- package/dist/style-jmapp.css +1 -1
- package/dist/style-jmapp.scss +31 -31
- package/dist/style-jrkf.css +1 -1
- package/dist/style-jrkf.scss +29 -29
- package/dist/style.css +1 -1
- package/dist/style.scss +26 -26
- package/dist/styles/variables-jmapp.scss +14 -2
- package/dist/styles/variables-jrkf.scss +14 -2
- package/dist/styles/variables.scss +25 -45
- package/package.json +1 -1
|
@@ -18,12 +18,13 @@ _export(exports, {
|
|
|
18
18
|
});
|
|
19
19
|
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
20
20
|
var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
21
|
+
var _async_to_generator = require("@swc/helpers/_/_async_to_generator");
|
|
21
22
|
var _define_property = require("@swc/helpers/_/_define_property");
|
|
22
23
|
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
23
24
|
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
24
25
|
var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
|
|
25
26
|
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
|
|
26
|
-
var
|
|
27
|
+
var _ts_generator = require("@swc/helpers/_/_ts_generator");
|
|
27
28
|
var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
28
29
|
var _taro = /*#__PURE__*/ _interop_require_wildcard._(require("@tarojs/taro"));
|
|
29
30
|
var _components = require("@tarojs/components");
|
|
@@ -31,25 +32,30 @@ var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames")
|
|
|
31
32
|
var _typings = require("../../utils/typings");
|
|
32
33
|
var _platform = require("../../utils/taro/platform");
|
|
33
34
|
var _useuuid = require("../../hooks/use-uuid");
|
|
35
|
+
var _raf = /*#__PURE__*/ _interop_require_default._(require("../../utils/raf"));
|
|
36
|
+
var _hooks = require("../../hooks");
|
|
34
37
|
var elevatorContext = /*#__PURE__*/ (0, _react.createContext)({});
|
|
35
38
|
var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
|
|
39
|
+
mode: 'horizontal',
|
|
36
40
|
height: '200px',
|
|
37
41
|
floorKey: 'title',
|
|
38
42
|
list: [],
|
|
39
43
|
sticky: false,
|
|
40
|
-
spaceHeight:
|
|
41
|
-
titleHeight: 35,
|
|
44
|
+
spaceHeight: 18,
|
|
42
45
|
showKeys: true,
|
|
43
|
-
|
|
46
|
+
defaultValue: undefined,
|
|
47
|
+
value: undefined
|
|
44
48
|
});
|
|
45
49
|
var Elevator = function Elevator(props) {
|
|
46
|
-
var _ref = (0, _object_spread._)({}, defaultProps, props), height = _ref.height, floorKey = _ref.floorKey, list = _ref.list, sticky = _ref.sticky, spaceHeight = _ref.spaceHeight,
|
|
50
|
+
var _ref = (0, _object_spread._)({}, defaultProps, props), value = _ref.value, defaultValue = _ref.defaultValue, mode = _ref.mode, height = _ref.height, floorKey = _ref.floorKey, list = _ref.list, sticky = _ref.sticky, spaceHeight = _ref.spaceHeight, showKeys = _ref.showKeys, className = _ref.className, style = _ref.style, onItemClick = _ref.onItemClick, onIndexClick = _ref.onIndexClick, children = _ref.children, rest = (0, _object_without_properties._)(_ref, [
|
|
51
|
+
"value",
|
|
52
|
+
"defaultValue",
|
|
53
|
+
"mode",
|
|
47
54
|
"height",
|
|
48
55
|
"floorKey",
|
|
49
56
|
"list",
|
|
50
57
|
"sticky",
|
|
51
58
|
"spaceHeight",
|
|
52
|
-
"titleHeight",
|
|
53
59
|
"showKeys",
|
|
54
60
|
"className",
|
|
55
61
|
"style",
|
|
@@ -59,25 +65,25 @@ var Elevator = function Elevator(props) {
|
|
|
59
65
|
]);
|
|
60
66
|
var uuid = (0, _useuuid.useUuid)();
|
|
61
67
|
var classPrefix = 'nut-elevator';
|
|
62
|
-
var listview = (0, _react.useRef)(null);
|
|
63
68
|
var initData = {
|
|
64
69
|
anchorIndex: 0,
|
|
65
70
|
listHeight: [],
|
|
66
|
-
listGroup: [],
|
|
67
71
|
scrollY: 0
|
|
68
72
|
};
|
|
69
73
|
var touchState = (0, _react.useRef)({
|
|
70
74
|
y1: 0,
|
|
71
75
|
y2: 0
|
|
72
76
|
});
|
|
73
|
-
var
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
var _usePropsValue = (0, _sliced_to_array._)((0, _hooks.usePropsValue)({
|
|
78
|
+
value: value,
|
|
79
|
+
defaultValue: defaultValue || {}
|
|
80
|
+
}), 2), currentData = _usePropsValue[0], setCurrentData = _usePropsValue[1];
|
|
81
|
+
var _useState = (0, _sliced_to_array._)((0, _react.useState)(0), 2), codeIndex = _useState[0], setCodeIndex = _useState[1];
|
|
82
|
+
var _useState1 = (0, _sliced_to_array._)((0, _react.useState)(false), 2), scrollStart = _useState1[0], setScrollStart = _useState1[1];
|
|
77
83
|
var state = (0, _react.useRef)(initData);
|
|
78
84
|
var scrolling = (0, _react.useRef)(false);
|
|
79
|
-
var
|
|
80
|
-
var
|
|
85
|
+
var _useState2 = (0, _sliced_to_array._)((0, _react.useState)(0), 2), scrollTop = _useState2[0], setScrollTop = _useState2[1];
|
|
86
|
+
var _useState3 = (0, _sliced_to_array._)((0, _react.useState)(0), 2), scrollY = _useState3[0], setScrollY = _useState3[1];
|
|
81
87
|
var resetScrollState = function resetScrollState() {
|
|
82
88
|
setScrollStart(false);
|
|
83
89
|
};
|
|
@@ -88,39 +94,71 @@ var Elevator = function Elevator(props) {
|
|
|
88
94
|
return el.dataset.index;
|
|
89
95
|
};
|
|
90
96
|
var calculateHeight = function calculateHeight() {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
state.current.listHeight.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
var cacheIndex = index;
|
|
111
|
-
if (index < 0) {
|
|
112
|
-
cacheIndex = 0;
|
|
113
|
-
}
|
|
114
|
-
if (index > state.current.listHeight.length - 2) {
|
|
115
|
-
cacheIndex = Math.max(0, state.current.listHeight.length - 2);
|
|
116
|
-
}
|
|
117
|
-
setCodeIndex(cacheIndex);
|
|
118
|
-
var scrollTop = state.current.listHeight[cacheIndex];
|
|
119
|
-
setScrollTop(scrollTop);
|
|
120
|
-
if (sticky && scrollY !== scrollTop) {
|
|
121
|
-
setScrollY(Math.floor(scrollTop) > 0 ? 1 : 0);
|
|
122
|
-
}
|
|
97
|
+
state.current.listHeight = [
|
|
98
|
+
0
|
|
99
|
+
];
|
|
100
|
+
var query = (0, _taro.createSelectorQuery)();
|
|
101
|
+
query.selectAll("#".concat(classPrefix, "-").concat(uuid, " .").concat(classPrefix, "-list-item")).boundingClientRect().exec(function() {
|
|
102
|
+
var rect = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
|
|
103
|
+
if (rect[0] && rect[0].length) {
|
|
104
|
+
// rect[0] = rect[0].reverse()
|
|
105
|
+
state.current.listHeight = rect[0].reduce(function(acc, item, index) {
|
|
106
|
+
// 当前项的高度等于前面所有项的高度之和
|
|
107
|
+
var height = acc[index] + item.height;
|
|
108
|
+
acc.push(height);
|
|
109
|
+
return acc;
|
|
110
|
+
}, [
|
|
111
|
+
0
|
|
112
|
+
]);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
123
115
|
};
|
|
116
|
+
var scrollTo = /*#__PURE__*/ function() {
|
|
117
|
+
var _ref = (0, _async_to_generator._)(function(index) {
|
|
118
|
+
var cacheIndex, scrollTop;
|
|
119
|
+
return (0, _ts_generator._)(this, function(_state) {
|
|
120
|
+
switch(_state.label){
|
|
121
|
+
case 0:
|
|
122
|
+
if (!index && index !== 0) {
|
|
123
|
+
return [
|
|
124
|
+
2
|
|
125
|
+
];
|
|
126
|
+
}
|
|
127
|
+
if (!!state.current.listHeight.length) return [
|
|
128
|
+
3,
|
|
129
|
+
2
|
|
130
|
+
];
|
|
131
|
+
return [
|
|
132
|
+
4,
|
|
133
|
+
calculateHeight()
|
|
134
|
+
];
|
|
135
|
+
case 1:
|
|
136
|
+
_state.sent();
|
|
137
|
+
_state.label = 2;
|
|
138
|
+
case 2:
|
|
139
|
+
cacheIndex = index;
|
|
140
|
+
if (index < 0) {
|
|
141
|
+
cacheIndex = 0;
|
|
142
|
+
}
|
|
143
|
+
if (index > state.current.listHeight.length - 2) {
|
|
144
|
+
cacheIndex = Math.max(0, state.current.listHeight.length - 2);
|
|
145
|
+
}
|
|
146
|
+
setCodeIndex(cacheIndex);
|
|
147
|
+
scrollTop = state.current.listHeight[cacheIndex];
|
|
148
|
+
setScrollTop(scrollTop);
|
|
149
|
+
if (mode === 'vertical' && sticky) {
|
|
150
|
+
setScrollY(Math.floor(scrollTop) > 0 ? 1 : 0);
|
|
151
|
+
}
|
|
152
|
+
return [
|
|
153
|
+
2
|
|
154
|
+
];
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
return function scrollTo(index) {
|
|
159
|
+
return _ref.apply(this, arguments);
|
|
160
|
+
};
|
|
161
|
+
}();
|
|
124
162
|
var touchMove = function touchMove(e) {
|
|
125
163
|
var firstTouch = e.touches[0];
|
|
126
164
|
touchState.current.y2 = firstTouch.pageY;
|
|
@@ -145,39 +183,31 @@ var Elevator = function Elevator(props) {
|
|
|
145
183
|
var handleClickItem = function handleClickItem(key, item) {
|
|
146
184
|
onItemClick && onItemClick(key, item);
|
|
147
185
|
setCurrentData(item);
|
|
148
|
-
setCurrentKey(key);
|
|
149
186
|
};
|
|
150
187
|
var handleClickIndex = function handleClickIndex(key) {
|
|
151
188
|
onIndexClick && onIndexClick(key);
|
|
152
189
|
};
|
|
153
|
-
var setListGroup = function setListGroup() {
|
|
154
|
-
if (listview.current) {
|
|
155
|
-
(0, _taro.createSelectorQuery)().selectAll(".".concat(classPrefix, "-").concat(uuid, " .nut-elevator-list-item")).node(function(el) {
|
|
156
|
-
state.current.listGroup = (0, _to_consumable_array._)(Object.keys(el));
|
|
157
|
-
calculateHeight();
|
|
158
|
-
}).exec();
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
190
|
var listViewScroll = function listViewScroll(e) {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
var target = e.target;
|
|
167
|
-
var scrollTop = target.scrollTop;
|
|
168
|
-
state.current.scrollY = Math.floor(scrollTop);
|
|
169
|
-
_taro.default.getEnv() === 'WEB' && setScrollTop(scrollTop);
|
|
170
|
-
if (sticky && scrollTop !== scrollY) {
|
|
171
|
-
setScrollY(Math.floor(scrollTop) > 0 ? 1 : 0);
|
|
172
|
-
}
|
|
173
|
-
if (scrolling.current) return;
|
|
174
|
-
for(var i = 0; i < listHeight.length - 1; i++){
|
|
175
|
-
var height1 = listHeight[i];
|
|
176
|
-
var height2 = listHeight[i + 1];
|
|
177
|
-
if (state.current.scrollY >= height1 && state.current.scrollY < height2) {
|
|
178
|
-
return setCodeIndex(i);
|
|
191
|
+
(0, _raf.default)(function() {
|
|
192
|
+
var listHeight = state.current.listHeight;
|
|
193
|
+
if (!listHeight.length) {
|
|
194
|
+
calculateHeight();
|
|
179
195
|
}
|
|
180
|
-
|
|
196
|
+
var target = e.target;
|
|
197
|
+
var scrollTop = target.scrollTop;
|
|
198
|
+
state.current.scrollY = Math.floor(scrollTop);
|
|
199
|
+
_taro.default.getEnv() === 'WEB' && setScrollTop(scrollTop);
|
|
200
|
+
if (mode === 'vertical' && sticky) {
|
|
201
|
+
setScrollY(Math.floor(scrollTop) > 0 ? 1 : 0);
|
|
202
|
+
}
|
|
203
|
+
if (scrolling.current) return;
|
|
204
|
+
var index = listHeight.findIndex(function(height, i) {
|
|
205
|
+
return state.current.scrollY >= height && state.current.scrollY < (listHeight[i + 1] || Infinity);
|
|
206
|
+
});
|
|
207
|
+
if (index !== -1 && index !== codeIndex) {
|
|
208
|
+
setCodeIndex(index);
|
|
209
|
+
}
|
|
210
|
+
});
|
|
181
211
|
};
|
|
182
212
|
var getWrapStyle = (0, _react.useMemo)(function() {
|
|
183
213
|
var calcHeight = Number.isNaN(+height) ? height : "".concat(height, "px");
|
|
@@ -188,17 +218,14 @@ var Elevator = function Elevator(props) {
|
|
|
188
218
|
height
|
|
189
219
|
]);
|
|
190
220
|
(0, _react.useEffect)(function() {
|
|
191
|
-
|
|
192
|
-
(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
}, [
|
|
197
|
-
listview
|
|
198
|
-
]);
|
|
221
|
+
(0, _taro.nextTick)(function() {
|
|
222
|
+
calculateHeight();
|
|
223
|
+
});
|
|
224
|
+
}, []);
|
|
199
225
|
var _obj;
|
|
200
226
|
return /*#__PURE__*/ _react.default.createElement("div", (0, _object_spread._)({
|
|
201
|
-
className: "".concat(classPrefix, " ").concat(className, " ").concat(classPrefix, "-").concat(
|
|
227
|
+
className: "".concat(classPrefix, " ").concat(className, " ").concat(classPrefix, "-").concat(mode, " "),
|
|
228
|
+
id: "".concat(classPrefix, "-").concat(uuid),
|
|
202
229
|
style: style
|
|
203
230
|
}, rest), /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
204
231
|
className: "".concat(classPrefix, "-list"),
|
|
@@ -206,11 +233,10 @@ var Elevator = function Elevator(props) {
|
|
|
206
233
|
}, /*#__PURE__*/ _react.default.createElement(_components.ScrollView, {
|
|
207
234
|
scrollTop: scrollTop,
|
|
208
235
|
scrollY: true,
|
|
209
|
-
|
|
236
|
+
enhanced: true,
|
|
237
|
+
scrollWithAnimation: false,
|
|
210
238
|
scrollAnchoring: true,
|
|
211
239
|
className: "".concat(classPrefix, "-list-inner"),
|
|
212
|
-
type: "list",
|
|
213
|
-
ref: listview,
|
|
214
240
|
onScroll: listViewScroll,
|
|
215
241
|
onTouchStart: function onTouchStart(e) {
|
|
216
242
|
scrolling.current = false;
|
|
@@ -221,10 +247,12 @@ var Elevator = function Elevator(props) {
|
|
|
221
247
|
key: idx
|
|
222
248
|
}, /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
223
249
|
className: "".concat(classPrefix, "-list-item-code")
|
|
224
|
-
}, item[floorKey]), /*#__PURE__*/ _react.default.createElement(
|
|
250
|
+
}, item[floorKey]), /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
251
|
+
className: "".concat(classPrefix, "-list-item-sublist")
|
|
252
|
+
}, item.list.map(function(subitem) {
|
|
225
253
|
var _obj;
|
|
226
254
|
return /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
227
|
-
className: (0, _classnames.default)((_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-list-item-name"), true), (0, _define_property._)(_obj, "".concat(classPrefix, "-list-item-name-highcolor"), currentData.id === subitem.id
|
|
255
|
+
className: (0, _classnames.default)((_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-list-item-name"), true), (0, _define_property._)(_obj, "".concat(classPrefix, "-list-item-name-highcolor"), currentData.id === subitem.id), _obj)),
|
|
228
256
|
key: subitem.id,
|
|
229
257
|
onClick: function onClick() {
|
|
230
258
|
return handleClickItem(item[floorKey], subitem);
|
|
@@ -235,7 +263,7 @@ var Elevator = function Elevator(props) {
|
|
|
235
263
|
})));
|
|
236
264
|
}))), showKeys ? /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, list.length && scrollStart ? /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
237
265
|
className: (0, _classnames.default)((_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-code-current"), true), (0, _define_property._)(_obj, "".concat(classPrefix, "-code-current-current"), true), _obj))
|
|
238
|
-
}, list[codeIndex][floorKey]) : null, /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
266
|
+
}, list[codeIndex] && String(list[codeIndex][floorKey])) : null, /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
239
267
|
className: "".concat(classPrefix, "-bars")
|
|
240
268
|
}, /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
241
269
|
className: "".concat(classPrefix, "-bars-inner")
|
|
@@ -258,12 +286,12 @@ var Elevator = function Elevator(props) {
|
|
|
258
286
|
style: {
|
|
259
287
|
touchAction: 'pan-y'
|
|
260
288
|
}
|
|
261
|
-
}, item[floorKey]);
|
|
262
|
-
})))) : null, sticky && scrollY > 0 ? /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
289
|
+
}, String(item[floorKey]));
|
|
290
|
+
})))) : null, mode === 'vertical' && sticky && scrollY > 0 ? /*#__PURE__*/ _react.default.createElement(_components.View, {
|
|
263
291
|
className: "".concat(classPrefix, "-list-fixed")
|
|
264
292
|
}, /*#__PURE__*/ _react.default.createElement(_components.Text, {
|
|
265
293
|
className: "".concat(classPrefix, "-list-fixed-title")
|
|
266
|
-
}, list[codeIndex][floorKey])) : null);
|
|
294
|
+
}, list[codeIndex] && String(list[codeIndex][floorKey]))) : null);
|
|
267
295
|
};
|
|
268
296
|
Elevator.displayName = 'NutElevator';
|
|
269
297
|
Elevator.Context = elevatorContext;
|
|
@@ -1,68 +1,66 @@
|
|
|
1
1
|
.nut-elevator {
|
|
2
|
-
width: 100%;
|
|
3
|
-
display: block;
|
|
4
2
|
position: relative;
|
|
5
|
-
|
|
3
|
+
display: flex;
|
|
4
|
+
width: 100%;
|
|
6
5
|
|
|
7
6
|
&-list {
|
|
8
|
-
display: block;
|
|
9
7
|
position: relative;
|
|
10
8
|
top: 0;
|
|
9
|
+
display: flex;
|
|
10
|
+
width: 100%;
|
|
11
11
|
overflow: hidden;
|
|
12
|
-
font-size: $elevator-list-font-size;
|
|
13
|
-
color: $elevator-list-color;
|
|
14
12
|
|
|
15
13
|
&-inner {
|
|
16
|
-
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
min-height: 100%;
|
|
17
17
|
width: 100%;
|
|
18
|
-
display: block;
|
|
19
18
|
background-color: $elevator-list-bg-color;
|
|
20
19
|
overflow: auto;
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
&-item {
|
|
24
|
-
display:
|
|
25
|
-
|
|
23
|
+
display: flex;
|
|
24
|
+
&-sublist {
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
}
|
|
26
28
|
&-code {
|
|
27
29
|
display: flex;
|
|
28
|
-
|
|
30
|
+
align-items: center;
|
|
29
31
|
height: $elevator-list-item-code-height;
|
|
30
|
-
line-height: $elevator-list-item-code-line-height;
|
|
31
32
|
font-size: $elevator-list-item-code-font-size;
|
|
32
33
|
color: $elevator-list-item-code-color;
|
|
33
|
-
padding: $elevator-list-item-padding;
|
|
34
34
|
font-weight: $elevator-list-item-code-font-weight;
|
|
35
|
-
box-sizing: border-box;
|
|
36
|
-
border-bottom: $elevator-list-item-code-border-bottom;
|
|
37
|
-
background-color: $elevator-list-item-code-background-color;
|
|
38
35
|
}
|
|
39
36
|
|
|
40
37
|
&-name {
|
|
41
38
|
display: flex;
|
|
42
39
|
align-items: center;
|
|
43
|
-
padding: $elevator-list-item-padding;
|
|
44
40
|
height: $elevator-list-item-name-height;
|
|
45
|
-
|
|
41
|
+
font-size: $elevator-list-font-size;
|
|
42
|
+
color: $elevator-list-color;
|
|
46
43
|
|
|
47
44
|
&-highcolor {
|
|
48
45
|
color: $color-primary;
|
|
46
|
+
font-weight: 600;
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
50
|
|
|
53
51
|
&-fixed {
|
|
54
|
-
display: flex;
|
|
55
|
-
align-items: center;
|
|
56
|
-
width: 100%;
|
|
57
52
|
position: absolute;
|
|
58
53
|
top: 0;
|
|
59
54
|
left: 0;
|
|
60
55
|
z-index: 1;
|
|
56
|
+
display: flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
width: 100%;
|
|
61
59
|
padding: $elevator-list-item-padding;
|
|
62
60
|
height: $elevator-list-item-code-height;
|
|
63
|
-
background-color: $elevator-list-fixed-bg-color;
|
|
64
61
|
box-sizing: border-box;
|
|
65
62
|
box-shadow: $elevator-list-fixed-box-shadow;
|
|
63
|
+
background-color: $elevator-list-fixed-bg-color;
|
|
66
64
|
&-title {
|
|
67
65
|
font-size: $elevator-list-item-code-font-size;
|
|
68
66
|
color: $elevator-list-fixed-color;
|
|
@@ -76,41 +74,71 @@
|
|
|
76
74
|
right: $elevator-list-item-code-current-right;
|
|
77
75
|
top: $elevator-list-item-code-current-top;
|
|
78
76
|
transform: $elevator-bars-transform;
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
justify-content: center;
|
|
79
80
|
width: $elevator-list-item-code-current-width;
|
|
80
81
|
height: $elevator-list-item-code-current-height;
|
|
81
|
-
line-height: $elevator-list-item-code-current-line-height;
|
|
82
82
|
border-radius: $elevator-list-item-code-current-border-radius;
|
|
83
83
|
background: $elevator-list-item-code-current-bg-color;
|
|
84
84
|
box-shadow: $elevator-list-item-code-current-box-shadow;
|
|
85
|
-
|
|
85
|
+
color: $elevator-list-item-code-current-color;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
&-bars {
|
|
89
89
|
position: absolute;
|
|
90
90
|
right: $elevator-bars-right;
|
|
91
91
|
top: $elevator-bars-top;
|
|
92
|
-
color: $color-text-help;
|
|
93
|
-
font-size: $elevator-bars-font-size;
|
|
94
92
|
transform: $elevator-bars-transform;
|
|
95
|
-
padding: $elevator-bars-padding;
|
|
96
|
-
background-color: $elevator-bars-background-color;
|
|
97
|
-
border-radius: $elevator-bars-border-radius;
|
|
98
|
-
text-align: center;
|
|
99
93
|
z-index: $elevator-bars-z-index;
|
|
100
94
|
|
|
101
95
|
&-inner {
|
|
96
|
+
display: flex;
|
|
97
|
+
flex-direction: column;
|
|
102
98
|
&-item {
|
|
103
|
-
display:
|
|
104
|
-
|
|
99
|
+
display: inline-flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
justify-content: center;
|
|
102
|
+
height: 16px;
|
|
103
|
+
width: 16px;
|
|
104
|
+
border-radius: 50%;
|
|
105
|
+
margin: 1px 0;
|
|
106
|
+
color: $elevator-bars-color;
|
|
107
|
+
font-size: $elevator-bars-font-size;
|
|
105
108
|
cursor: pointer;
|
|
106
|
-
|
|
107
109
|
&-active {
|
|
108
110
|
font-weight: $font-weight-bold;
|
|
109
111
|
color: $elevator-bars-active-color;
|
|
112
|
+
/* #ifndef weapp jd*/
|
|
113
|
+
background: linear-gradient(to right, #ff475d, #ff0f23);
|
|
114
|
+
/* #endif */
|
|
115
|
+
/* #ifdef weapp jd*/
|
|
116
|
+
background: #ff0f23;
|
|
117
|
+
/* #endif */
|
|
110
118
|
}
|
|
111
119
|
}
|
|
112
120
|
}
|
|
113
121
|
}
|
|
122
|
+
&-horizontal {
|
|
123
|
+
.nut-elevator-list-item {
|
|
124
|
+
&-code {
|
|
125
|
+
width: $elevator-list-item-code-width;
|
|
126
|
+
justify-content: center;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
&-vertical {
|
|
131
|
+
.nut-elevator-list-item {
|
|
132
|
+
flex-direction: column;
|
|
133
|
+
&-code {
|
|
134
|
+
border-bottom: $elevator-list-item-code-border-bottom;
|
|
135
|
+
}
|
|
136
|
+
&-name,
|
|
137
|
+
&-code {
|
|
138
|
+
padding: $elevator-list-item-padding;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
114
142
|
}
|
|
115
143
|
|
|
116
144
|
[dir='rtl'] .nut-elevator,
|
|
@@ -3,65 +3,64 @@
|
|
|
3
3
|
/* #ifndef harmony */
|
|
4
4
|
/* #endif */
|
|
5
5
|
.nut-elevator {
|
|
6
|
-
width: 100%;
|
|
7
|
-
display: block;
|
|
8
6
|
position: relative;
|
|
9
|
-
|
|
7
|
+
display: flex;
|
|
8
|
+
width: 100%;
|
|
10
9
|
}
|
|
11
10
|
.nut-elevator-list {
|
|
12
|
-
display: block;
|
|
13
11
|
position: relative;
|
|
14
12
|
top: 0;
|
|
13
|
+
display: flex;
|
|
14
|
+
width: 100%;
|
|
15
15
|
overflow: hidden;
|
|
16
|
-
font-size: var(--nutui-elevator-list-font-size, var(--nutui-font-size-s, 12px));
|
|
17
|
-
color: var(--nutui-elevator-list-color, var(--nutui-color-title, #1a1a1a));
|
|
18
16
|
}
|
|
19
17
|
.nut-elevator-list-inner {
|
|
20
|
-
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
min-height: 100%;
|
|
21
21
|
width: 100%;
|
|
22
|
-
display: block;
|
|
23
22
|
background-color: var(--nutui-elevator-list-bg-color, #ffffff);
|
|
24
23
|
overflow: auto;
|
|
25
24
|
}
|
|
26
25
|
.nut-elevator-list-item {
|
|
27
|
-
display:
|
|
26
|
+
display: flex;
|
|
27
|
+
}
|
|
28
|
+
.nut-elevator-list-item-sublist {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
28
31
|
}
|
|
29
32
|
.nut-elevator-list-item-code {
|
|
30
33
|
display: flex;
|
|
31
|
-
|
|
32
|
-
height: var(--nutui-elevator-list-item-code-height,
|
|
33
|
-
line-height: var(--nutui-elevator-list-item-code-line-height, 35px);
|
|
34
|
+
align-items: center;
|
|
35
|
+
height: var(--nutui-elevator-list-item-code-height, 34px);
|
|
34
36
|
font-size: var(--nutui-elevator-list-item-code-font-size, var(--nutui-font-size-base, 14px));
|
|
35
|
-
color: var(--nutui-elevator-list-item-code-color, var(--nutui-color-
|
|
36
|
-
padding: var(--nutui-elevator-list-item-padding, 0 20px);
|
|
37
|
+
color: var(--nutui-elevator-list-item-code-color, var(--nutui-color-text-help, #888b94));
|
|
37
38
|
font-weight: var(--nutui-elevator-list-item-code-font-weight, var(--nutui-font-weight-bold, 600));
|
|
38
|
-
box-sizing: border-box;
|
|
39
|
-
border-bottom: var(--nutui-elevator-list-item-code-border-bottom, 1px solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
|
|
40
|
-
background-color: var(--nutui-elevator-list-item-code-background-color, inherit);
|
|
41
39
|
}
|
|
42
40
|
.nut-elevator-list-item-name {
|
|
43
41
|
display: flex;
|
|
44
42
|
align-items: center;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
height: var(--nutui-elevator-list-item-name-height, 34px);
|
|
44
|
+
font-size: var(--nutui-elevator-list-font-size, var(--nutui-font-size-base, 14px));
|
|
45
|
+
color: var(--nutui-elevator-list-color, var(--nutui-color-title, #1a1a1a));
|
|
48
46
|
}
|
|
49
47
|
.nut-elevator-list-item-name-highcolor {
|
|
50
48
|
color: var(--nutui-color-primary, #ff0f23);
|
|
49
|
+
font-weight: 600;
|
|
51
50
|
}
|
|
52
51
|
.nut-elevator-list-fixed {
|
|
53
|
-
display: flex;
|
|
54
|
-
align-items: center;
|
|
55
|
-
width: 100%;
|
|
56
52
|
position: absolute;
|
|
57
53
|
top: 0;
|
|
58
54
|
left: 0;
|
|
59
55
|
z-index: 1;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
display: flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
width: 100%;
|
|
59
|
+
padding: var(--nutui-elevator-list-item-padding, 0 36px 0 20px);
|
|
60
|
+
height: var(--nutui-elevator-list-item-code-height, 34px);
|
|
63
61
|
box-sizing: border-box;
|
|
64
62
|
box-shadow: var(--nutui-elevator-list-fixed-box-shadow, 0 0 10px #eee);
|
|
63
|
+
background-color: var(--nutui-elevator-list-fixed-bg-color, #ffffff);
|
|
65
64
|
}
|
|
66
65
|
.nut-elevator-list-fixed-title {
|
|
67
66
|
font-size: var(--nutui-elevator-list-item-code-font-size, var(--nutui-font-size-base, 14px));
|
|
@@ -73,35 +72,61 @@
|
|
|
73
72
|
right: var(--nutui-elevator-list-item-code-current-right, 60px);
|
|
74
73
|
top: var(--nutui-elevator-list-item-code-current-top, 50%);
|
|
75
74
|
transform: var(--nutui-elevator-bars-transform, translateY(-50%));
|
|
75
|
+
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
justify-content: center;
|
|
76
78
|
width: var(--nutui-elevator-list-item-code-current-width, 45px);
|
|
77
79
|
height: var(--nutui-elevator-list-item-code-current-height, 45px);
|
|
78
|
-
line-height: var(--nutui-elevator-list-item-code-current-line-height, 45px);
|
|
79
80
|
border-radius: var(--nutui-elevator-list-item-code-current-border-radius, 50%);
|
|
80
|
-
background: var(--nutui-elevator-list-item-code-current-bg-color, #
|
|
81
|
+
background: var(--nutui-elevator-list-item-code-current-bg-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
81
82
|
box-shadow: 0 3px 3px 1px rgb(240, 240, 240);
|
|
82
|
-
|
|
83
|
+
color: var(--nutui-elevator-list-item-code-current-color, #ffffff);
|
|
83
84
|
}
|
|
84
85
|
.nut-elevator-bars {
|
|
85
86
|
position: absolute;
|
|
86
|
-
right: var(--nutui-elevator-bars-right,
|
|
87
|
+
right: var(--nutui-elevator-bars-right, 16px);
|
|
87
88
|
top: var(--nutui-elevator-bars-top, 50%);
|
|
88
|
-
color: var(--nutui-color-text-help, #888b94);
|
|
89
|
-
font-size: var(--nutui-elevator-bars-font-size, var(--nutui-font-size-s, 12px));
|
|
90
89
|
transform: var(--nutui-elevator-bars-transform, translateY(-50%));
|
|
91
|
-
padding: var(--nutui-elevator-bars-padding, 15px 0);
|
|
92
|
-
background-color: var(--nutui-elevator-bars-background-color, var(--nutui-color-background, #f2f3f5));
|
|
93
|
-
border-radius: var(--nutui-elevator-bars-border-radius, 6px);
|
|
94
|
-
text-align: center;
|
|
95
90
|
z-index: var(--nutui-elevator-bars-z-index, 1);
|
|
96
91
|
}
|
|
92
|
+
.nut-elevator-bars-inner {
|
|
93
|
+
display: flex;
|
|
94
|
+
flex-direction: column;
|
|
95
|
+
}
|
|
97
96
|
.nut-elevator-bars-inner-item {
|
|
98
|
-
display:
|
|
99
|
-
|
|
97
|
+
display: inline-flex;
|
|
98
|
+
align-items: center;
|
|
99
|
+
justify-content: center;
|
|
100
|
+
height: 16px;
|
|
101
|
+
width: 16px;
|
|
102
|
+
border-radius: 50%;
|
|
103
|
+
margin: 1px 0;
|
|
104
|
+
color: var(--nutui-elevator-bars-color, var(--nutui-color-text-help, #888b94));
|
|
105
|
+
font-size: var(--nutui-elevator-bars-font-size, var(--nutui-font-size-xxs, 10px));
|
|
100
106
|
cursor: pointer;
|
|
101
107
|
}
|
|
102
108
|
.nut-elevator-bars-inner-item-active {
|
|
103
109
|
font-weight: var(--nutui-font-weight-bold, 600);
|
|
104
|
-
color: var(--nutui-elevator-bars-active-color,
|
|
110
|
+
color: var(--nutui-elevator-bars-active-color, #ffffff);
|
|
111
|
+
/* #ifndef weapp jd*/
|
|
112
|
+
background: linear-gradient(to right, #ff475d, #ff0f23);
|
|
113
|
+
/* #endif */
|
|
114
|
+
/* #ifdef weapp jd*/
|
|
115
|
+
background: #ff0f23;
|
|
116
|
+
/* #endif */
|
|
117
|
+
}
|
|
118
|
+
.nut-elevator-horizontal .nut-elevator-list-item-code {
|
|
119
|
+
width: var(--nutui-elevator-list-item-code-width, 34px);
|
|
120
|
+
justify-content: center;
|
|
121
|
+
}
|
|
122
|
+
.nut-elevator-vertical .nut-elevator-list-item {
|
|
123
|
+
flex-direction: column;
|
|
124
|
+
}
|
|
125
|
+
.nut-elevator-vertical .nut-elevator-list-item-code {
|
|
126
|
+
border-bottom: var(--nutui-elevator-list-item-code-border-bottom, 1px solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
|
|
127
|
+
}
|
|
128
|
+
.nut-elevator-vertical .nut-elevator-list-item-name, .nut-elevator-vertical .nut-elevator-list-item-code {
|
|
129
|
+
padding: var(--nutui-elevator-list-item-padding, 0 36px 0 20px);
|
|
105
130
|
}
|
|
106
131
|
|
|
107
132
|
[dir=rtl] .nut-elevator-list-fixed,
|
|
@@ -117,5 +142,5 @@
|
|
|
117
142
|
[dir=rtl] .nut-elevator-bars,
|
|
118
143
|
.nut-rtl .nut-elevator-bars {
|
|
119
144
|
right: auto;
|
|
120
|
-
left: var(--nutui-elevator-bars-right,
|
|
145
|
+
left: var(--nutui-elevator-bars-right, 16px);
|
|
121
146
|
}
|