@nutui/nutui-react 2.0.0-alpha.0 → 2.0.0-alpha.10
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 +137 -638
- package/dist/esm/Address.js +1 -1
- package/dist/esm/Animate.js +6 -7
- package/dist/esm/Audio.js +28 -27
- package/dist/esm/Avatar.js +30 -25
- package/dist/esm/AvatarGroup.js +10 -15
- package/dist/esm/Badge.js +4 -73
- package/dist/esm/CalendarItem.js +2 -12
- package/dist/esm/Cascader.js +67 -69
- package/dist/esm/Checkbox.js +1 -2
- package/dist/esm/CheckboxGroup.js +18 -20
- package/dist/esm/CircleProgress.js +20 -25
- package/dist/esm/Col.js +4 -3
- package/dist/esm/DatePicker.js +10 -10
- package/dist/esm/Dialog.js +162 -171
- package/dist/esm/Divider.js +4 -3
- package/dist/esm/Drag.js +7 -9
- package/dist/esm/Elevator.js +39 -41
- package/dist/esm/Ellipsis.js +13 -12
- package/dist/esm/Empty.js +18 -26
- package/dist/esm/Image.js +5 -10
- package/dist/esm/ImagePreview.js +67 -58
- package/dist/esm/Indicator.js +4 -4
- package/dist/esm/Input.js +87 -193
- package/dist/esm/Menu.js +75 -73
- package/dist/esm/MenuItem.js +29 -27
- package/dist/esm/NavBar.js +17 -48
- package/dist/esm/NoticeBar.js +50 -87
- package/dist/esm/Notify.js +35 -46
- package/dist/esm/NumberKeyboard.js +137 -195
- package/dist/esm/Picker.js +175 -160
- package/dist/esm/Popup.js +24 -33
- package/dist/esm/Price.js +22 -23
- package/dist/esm/Progress.js +74 -67
- package/dist/esm/PullToRefresh.js +8 -8
- package/dist/esm/Radio.js +2 -0
- package/dist/esm/RadioGroup.js +31 -51
- package/dist/esm/Range/style/index.js +1 -1
- package/dist/esm/Range.js +119 -174
- package/dist/esm/Row.js +6 -5
- package/dist/esm/SideNavBar.js +0 -2
- package/dist/esm/Skeleton.js +1 -1
- package/dist/esm/Step.js +23 -28
- package/dist/esm/Steps/style/index.js +1 -1
- package/dist/esm/Steps.js +10 -11
- package/dist/esm/Swipe.js +4 -10
- package/dist/esm/Swiper.js +86 -91
- package/dist/esm/SwiperItem.js +1 -1
- package/dist/esm/Switch.js +16 -30
- package/dist/esm/TabPane.js +39 -5
- package/dist/esm/Tabbar/style/index.js +1 -1
- package/dist/esm/Tabbar.js +29 -33
- package/dist/esm/TabbarItem.js +5 -75
- package/dist/esm/Table.js +20 -34
- package/dist/esm/Tabs.js +2 -2
- package/dist/esm/TextArea.js +53 -81
- package/dist/esm/Uploader.js +49 -52
- package/dist/esm/badge2.js +69 -0
- package/dist/esm/cellgroup2.js +5 -4
- package/dist/esm/checkbox2.js +34 -47
- package/dist/esm/nutui-react.es.js +170 -170
- package/dist/esm/overlay2.js +12 -14
- package/dist/esm/radio2.js +52 -54
- package/dist/esm/raf.js +16 -0
- package/dist/esm/tabbaritem2.js +61 -0
- package/dist/esm/tabs2.js +126 -95
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/locales/id-ID.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/locales/zh-UG.js +1 -1
- package/dist/nutui.react.mjs +23562 -24489
- package/dist/nutui.react.umd.js +23560 -24487
- package/dist/packages/audio/audio.scss +2 -15
- package/dist/packages/badge/badge.scss +8 -18
- package/dist/packages/calendar/calendar.scss +0 -30
- package/dist/packages/cascader/cascader.scss +0 -26
- package/dist/packages/cellgroup/cellgroup.scss +20 -16
- package/dist/packages/checkbox/checkbox.scss +8 -11
- package/dist/packages/circleprogress/circleprogress.scss +0 -9
- package/dist/packages/dialog/dialog.scss +36 -65
- package/dist/packages/elevator/elevator.scss +2 -28
- package/dist/packages/empty/empty.scss +0 -9
- package/dist/packages/imagepreview/imagepreview.scss +52 -16
- package/dist/packages/input/input.scss +13 -180
- package/dist/packages/menu/menu.scss +44 -55
- package/dist/packages/menuitem/menuitem.scss +16 -26
- package/dist/packages/navbar/navbar.scss +16 -115
- package/dist/packages/noticebar/noticebar.scss +18 -19
- package/dist/packages/notify/notify.scss +1 -1
- package/dist/packages/numberkeyboard/numberkeyboard.scss +29 -77
- package/dist/packages/overlay/overlay.scss +11 -4
- package/dist/packages/picker/picker.scss +66 -137
- package/dist/packages/popup/popup.scss +0 -16
- package/dist/packages/price/price.scss +8 -0
- package/dist/packages/progress/progress.scss +19 -58
- package/dist/packages/pulltorefresh/pulltorefresh.scss +0 -8
- package/dist/packages/radio/radio.scss +13 -32
- package/dist/packages/radiogroup/radiogroup.scss +17 -51
- package/dist/packages/range/range.scss +24 -49
- package/dist/packages/row/row.scss +13 -31
- package/dist/packages/sidenavbar/sidenavbar.scss +0 -19
- package/dist/packages/step/step.scss +9 -62
- package/dist/packages/steps/steps.scss +2 -0
- package/dist/packages/swiper/swiper.scss +3 -18
- package/dist/packages/switch/switch.scss +13 -31
- package/dist/packages/tabbar/tabbar.scss +16 -22
- package/dist/packages/tabbaritem/tabbaritem.scss +9 -70
- package/dist/packages/table/table.scss +0 -56
- package/dist/packages/tabs/tabs.scss +196 -225
- package/dist/packages/textarea/textarea.scss +5 -12
- package/dist/packages/uploader/uploader.scss +2 -28
- package/dist/style.css +1 -1
- package/dist/style.mjs +1 -1
- package/dist/styles/themes/default.scss +17 -18
- package/dist/styles/variables-jmapp.scss +120 -240
- package/dist/styles/variables.scss +139 -252
- package/dist/types/index.d.ts +565 -708
- package/package.json +2 -2
- package/dist/esm/Icon.js +0 -83
- package/dist/esm/tabpane2.js +0 -44
- package/dist/packages/icon/icon.scss +0 -0
- /package/dist/esm/{AvatarContext.js → context.js} +0 -0
- /package/dist/esm/{UserContext2.js → context2.js} +0 -0
- /package/dist/esm/{UserContext3.js → context3.js} +0 -0
package/dist/esm/MenuItem.js
CHANGED
|
@@ -28,11 +28,10 @@ import { Check } from "@nutui/icons-react";
|
|
|
28
28
|
import { O as Overlay } from "./overlay2.js";
|
|
29
29
|
import { C as ComponentDefaults } from "./typings.js";
|
|
30
30
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
31
|
-
className: "",
|
|
32
|
-
style: {},
|
|
33
31
|
columns: 1,
|
|
34
32
|
direction: "down",
|
|
35
|
-
|
|
33
|
+
icon: null,
|
|
34
|
+
closeOnClickAway: false,
|
|
36
35
|
activeTitleClass: "",
|
|
37
36
|
inactiveTitleClass: "",
|
|
38
37
|
onChange: function onChange(value) {
|
|
@@ -40,20 +39,18 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
|
40
39
|
}
|
|
41
40
|
});
|
|
42
41
|
var MenuItem = forwardRef(function(props, ref) {
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
var activeColor = mergedProps.activeColor, showPopup = mergedProps.showPopup, parent = mergedProps.parent, orderKey = mergedProps.orderKey;
|
|
46
|
-
var _useState = useState(showPopup), _useState2 = _slicedToArray(_useState, 2), _showPopup = _useState2[0], setShowPopup = _useState2[1];
|
|
42
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, style = _defaultProps$props.style, options = _defaultProps$props.options, value = _defaultProps$props.value, columns = _defaultProps$props.columns, title = _defaultProps$props.title, icon = _defaultProps$props.icon, direction = _defaultProps$props.direction, onChange2 = _defaultProps$props.onChange, activeTitleClass = _defaultProps$props.activeTitleClass, inactiveTitleClass = _defaultProps$props.inactiveTitleClass, closeOnClickAway = _defaultProps$props.closeOnClickAway, children = _defaultProps$props.children, activeColor = _defaultProps$props.activeColor, show = _defaultProps$props.show, parent = _defaultProps$props.parent, index = _defaultProps$props.index;
|
|
43
|
+
var _useState = useState(show), _useState2 = _slicedToArray(_useState, 2), _showPopup = _useState2[0], setShowPopup = _useState2[1];
|
|
47
44
|
var _useState3 = useState(value), _useState4 = _slicedToArray(_useState3, 2), _value = _useState4[0], setValue = _useState4[1];
|
|
48
45
|
useEffect(function() {
|
|
49
|
-
setShowPopup(
|
|
50
|
-
}, [
|
|
46
|
+
setShowPopup(show);
|
|
47
|
+
}, [show]);
|
|
51
48
|
useEffect(function() {
|
|
52
49
|
getParentOffset();
|
|
53
50
|
}, [_showPopup]);
|
|
54
51
|
useImperativeHandle(ref, function() {
|
|
55
52
|
return {
|
|
56
|
-
toggle: parent.
|
|
53
|
+
toggle: parent.toggleMenuItem
|
|
57
54
|
};
|
|
58
55
|
});
|
|
59
56
|
var getIconCName = function getIconCName2(optionVal, value2) {
|
|
@@ -62,11 +59,11 @@ var MenuItem = forwardRef(function(props, ref) {
|
|
|
62
59
|
};
|
|
63
60
|
var setTitle = function setTitle2(text) {
|
|
64
61
|
if (!title) {
|
|
65
|
-
parent.updateTitle(text,
|
|
62
|
+
parent.updateTitle(text, index);
|
|
66
63
|
}
|
|
67
64
|
};
|
|
68
65
|
var handleClick = function handleClick2(item) {
|
|
69
|
-
parent.
|
|
66
|
+
parent.toggleMenuItem(index);
|
|
70
67
|
setTitle(item.text);
|
|
71
68
|
setValue(item.value);
|
|
72
69
|
onChange2 && onChange2(item);
|
|
@@ -77,7 +74,7 @@ var MenuItem = forwardRef(function(props, ref) {
|
|
|
77
74
|
}), _useState6 = _slicedToArray(_useState5, 2), position = _useState6[0], setPosition = _useState6[1];
|
|
78
75
|
var getParentOffset = function getParentOffset2() {
|
|
79
76
|
setTimeout(function() {
|
|
80
|
-
var p = parent.
|
|
77
|
+
var p = parent.menuRef.current;
|
|
81
78
|
var rect = p.getBoundingClientRect();
|
|
82
79
|
setPosition({
|
|
83
80
|
height: rect.height,
|
|
@@ -102,42 +99,47 @@ var MenuItem = forwardRef(function(props, ref) {
|
|
|
102
99
|
};
|
|
103
100
|
var placeholderStyle = function placeholderStyle2() {
|
|
104
101
|
if (direction === "down") {
|
|
105
|
-
return _objectSpread(
|
|
106
|
-
height: "".concat(position.top + position.height, "px")
|
|
107
|
-
|
|
102
|
+
return _objectSpread({
|
|
103
|
+
height: "".concat(position.top + position.height, "px"),
|
|
104
|
+
top: 0
|
|
105
|
+
}, isShow());
|
|
108
106
|
}
|
|
109
|
-
return _objectSpread(
|
|
107
|
+
return _objectSpread({
|
|
110
108
|
height: "".concat(window.innerHeight - position.top, "px"),
|
|
109
|
+
bottom: "0px",
|
|
111
110
|
top: "auto"
|
|
112
|
-
}, isShow())
|
|
111
|
+
}, isShow());
|
|
113
112
|
};
|
|
114
|
-
return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
|
113
|
+
return React__default.createElement(React__default.Fragment, null, closeOnClickAway ? React__default.createElement("div", {
|
|
115
114
|
className: "placeholder-element ".concat(classNames({
|
|
116
115
|
up: direction === "up"
|
|
117
116
|
})),
|
|
118
117
|
style: placeholderStyle(),
|
|
119
118
|
onClick: function onClick() {
|
|
120
|
-
return parent.
|
|
119
|
+
return parent.toggleMenuItem(index);
|
|
121
120
|
}
|
|
122
|
-
}), React__default.createElement(Overlay, {
|
|
121
|
+
}) : null, React__default.createElement(Overlay, {
|
|
123
122
|
className: "nut-menu__overlay",
|
|
124
123
|
style: getPosition(),
|
|
125
124
|
lockScroll: parent.lockScroll,
|
|
126
125
|
visible: _showPopup,
|
|
127
|
-
closeOnOverlayClick: parent.
|
|
126
|
+
closeOnOverlayClick: parent.closeOnOverlayClick,
|
|
128
127
|
onClick: function onClick() {
|
|
129
|
-
parent.
|
|
128
|
+
parent.closeOnOverlayClick && parent.toggleMenuItem(index);
|
|
130
129
|
}
|
|
131
130
|
}), React__default.createElement("div", {
|
|
132
|
-
className:
|
|
133
|
-
|
|
131
|
+
className: classNames(className, {
|
|
132
|
+
"nut-menu-item__wrap": direction === "down",
|
|
133
|
+
"nut-menu-item__wrap-up": direction !== "down"
|
|
134
|
+
}),
|
|
135
|
+
style: _objectSpread(_objectSpread({}, style), isShow())
|
|
134
136
|
}, React__default.createElement(CSSTransition, {
|
|
135
137
|
"in": _showPopup,
|
|
136
138
|
timeout: 100,
|
|
137
139
|
classNames: direction === "down" ? "menu-item" : "menu-item-up"
|
|
138
140
|
}, React__default.createElement("div", {
|
|
139
141
|
className: "nut-menu-item__content"
|
|
140
|
-
}, options === null || options === void 0 ? void 0 : options.map(function(item,
|
|
142
|
+
}, options === null || options === void 0 ? void 0 : options.map(function(item, index2) {
|
|
141
143
|
return React__default.createElement("div", {
|
|
142
144
|
className: "nut-menu-item__option ".concat(classNames({
|
|
143
145
|
active: item.value === _value
|
|
@@ -149,7 +151,7 @@ var MenuItem = forwardRef(function(props, ref) {
|
|
|
149
151
|
onClick: function onClick() {
|
|
150
152
|
handleClick(item);
|
|
151
153
|
}
|
|
152
|
-
}, item.value === _value ? React__default.createElement("i", null,
|
|
154
|
+
}, item.value === _value ? React__default.createElement("i", null, icon || React__default.createElement(Check, {
|
|
153
155
|
color: activeColor,
|
|
154
156
|
className: getIconCName(item.value, value)
|
|
155
157
|
})) : null, React__default.createElement("div", {
|
package/dist/esm/NavBar.js
CHANGED
|
@@ -22,35 +22,21 @@ function _objectSpread(target) {
|
|
|
22
22
|
}
|
|
23
23
|
import React__default from "react";
|
|
24
24
|
import classNames from "classnames";
|
|
25
|
-
import { Left } from "@nutui/icons-react";
|
|
26
|
-
import { c as cn } from "./bem.js";
|
|
27
25
|
import { C as ComponentDefaults } from "./typings.js";
|
|
28
|
-
import "@bem-react/classname";
|
|
29
26
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
className: "",
|
|
34
|
-
leftText: "",
|
|
27
|
+
left: "",
|
|
28
|
+
right: "",
|
|
29
|
+
back: "",
|
|
35
30
|
fixed: false,
|
|
36
31
|
safeAreaInsetTop: false,
|
|
37
|
-
border: false,
|
|
38
32
|
placeholder: false,
|
|
39
|
-
zIndex: 10
|
|
40
|
-
style: {}
|
|
33
|
+
zIndex: 10
|
|
41
34
|
});
|
|
42
35
|
var NavBar = function NavBar2(props) {
|
|
43
36
|
var _classNames;
|
|
44
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
45
|
-
var
|
|
37
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), right = _defaultProps$props.right, left = _defaultProps$props.left, className = _defaultProps$props.className, style = _defaultProps$props.style, back = _defaultProps$props.back, fixed = _defaultProps$props.fixed, safeAreaInsetTop = _defaultProps$props.safeAreaInsetTop, placeholder = _defaultProps$props.placeholder, zIndex = _defaultProps$props.zIndex, onClickBack = _defaultProps$props.onClickBack;
|
|
38
|
+
var classPrefix = "nut-navbar";
|
|
46
39
|
var children = Array.isArray(props.children) ? props.children : [props.children];
|
|
47
|
-
var slot = children.reduce(function(slot2, item) {
|
|
48
|
-
var data = slot2;
|
|
49
|
-
if (item && item.props) {
|
|
50
|
-
data[item.props.slot] = item.props.children;
|
|
51
|
-
}
|
|
52
|
-
return data;
|
|
53
|
-
}, {});
|
|
54
40
|
var styles = function styles2() {
|
|
55
41
|
return _objectSpread(_objectSpread({}, style), {}, {
|
|
56
42
|
zIndex
|
|
@@ -58,40 +44,23 @@ var NavBar = function NavBar2(props) {
|
|
|
58
44
|
};
|
|
59
45
|
var renderLeft = function renderLeft2() {
|
|
60
46
|
return React__default.createElement("div", {
|
|
61
|
-
className: "".concat(
|
|
47
|
+
className: "".concat(classPrefix, "__left")
|
|
48
|
+
}, back && React__default.createElement("div", {
|
|
49
|
+
className: "".concat(classPrefix, "__left__back"),
|
|
62
50
|
onClick: function onClick(e) {
|
|
63
51
|
return onClickBack(e);
|
|
64
52
|
}
|
|
65
|
-
},
|
|
66
|
-
name: "left",
|
|
67
|
-
color: "#979797"
|
|
68
|
-
}), leftText && React__default.createElement("div", {
|
|
69
|
-
className: "".concat(b("text"))
|
|
70
|
-
}, leftText), slot.left);
|
|
53
|
+
}, back), left);
|
|
71
54
|
};
|
|
72
55
|
var renderContent = function renderContent2() {
|
|
73
56
|
return React__default.createElement("div", {
|
|
74
|
-
className: "".concat(
|
|
75
|
-
},
|
|
76
|
-
className: "title",
|
|
77
|
-
onClick: function onClick(e) {
|
|
78
|
-
return onClickTitle(e);
|
|
79
|
-
}
|
|
80
|
-
}, title), slot.titleIcon && React__default.createElement("div", {
|
|
81
|
-
onClick: function onClick(e) {
|
|
82
|
-
return onClickIcon(e);
|
|
83
|
-
}
|
|
84
|
-
}, slot.titleIcon), slot.content);
|
|
57
|
+
className: "".concat(classPrefix, "__title")
|
|
58
|
+
}, children);
|
|
85
59
|
};
|
|
86
60
|
var renderRight = function renderRight2() {
|
|
87
61
|
return React__default.createElement("div", {
|
|
88
|
-
className: "".concat(
|
|
89
|
-
|
|
90
|
-
return onClickRight(e);
|
|
91
|
-
}
|
|
92
|
-
}, description && React__default.createElement("div", {
|
|
93
|
-
className: "".concat(b("text"))
|
|
94
|
-
}, description), slot.right);
|
|
62
|
+
className: "".concat(classPrefix, "__right")
|
|
63
|
+
}, right);
|
|
95
64
|
};
|
|
96
65
|
var renderWrapper = function renderWrapper2() {
|
|
97
66
|
return React__default.createElement("div", {
|
|
@@ -99,10 +68,10 @@ var NavBar = function NavBar2(props) {
|
|
|
99
68
|
style: styles()
|
|
100
69
|
}, renderLeft(), renderContent(), renderRight());
|
|
101
70
|
};
|
|
102
|
-
var classes = classNames((_classNames = {}, _defineProperty(_classNames, "
|
|
103
|
-
var cls = classNames(
|
|
71
|
+
var classes = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(classPrefix, "--fixed"), fixed), _defineProperty(_classNames, "".concat(classPrefix, "--safe-area-inset-top"), safeAreaInsetTop), _classNames));
|
|
72
|
+
var cls = classNames(classPrefix, classes, className);
|
|
104
73
|
return React__default.createElement(React__default.Fragment, null, fixed && placeholder ? React__default.createElement("div", {
|
|
105
|
-
className: "".concat(
|
|
74
|
+
className: "".concat(classPrefix, "--placeholder")
|
|
106
75
|
}, renderWrapper()) : renderWrapper());
|
|
107
76
|
};
|
|
108
77
|
NavBar.defaultProps = defaultProps;
|
package/dist/esm/NoticeBar.js
CHANGED
|
@@ -24,50 +24,44 @@ function _objectSpread(target) {
|
|
|
24
24
|
import React__default, { useRef, useState, useMemo, useEffect } from "react";
|
|
25
25
|
import { Notice, Close } from "@nutui/icons-react";
|
|
26
26
|
import classNames from "classnames";
|
|
27
|
-
import { c as cn } from "./bem.js";
|
|
28
27
|
import { g as getRect } from "./use-client-rect.js";
|
|
29
28
|
import { C as ComponentDefaults } from "./typings.js";
|
|
30
|
-
import "@bem-react/classname";
|
|
31
29
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
32
|
-
|
|
33
|
-
direction: "across",
|
|
30
|
+
direction: "horizontal",
|
|
34
31
|
list: [],
|
|
35
|
-
|
|
36
|
-
complexAm: false,
|
|
32
|
+
duration: 1e3,
|
|
37
33
|
height: 40,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
content: "",
|
|
35
|
+
closeable: false,
|
|
36
|
+
wrap: false,
|
|
41
37
|
leftIcon: null,
|
|
42
38
|
rightIcon: null,
|
|
43
|
-
color: "",
|
|
44
|
-
background: "",
|
|
45
39
|
delay: 1,
|
|
46
40
|
scrollable: null,
|
|
47
41
|
speed: 50
|
|
48
42
|
});
|
|
49
43
|
var NoticeBar = function NoticeBar2(props) {
|
|
50
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, className = _defaultProps$props.className, style = _defaultProps$props.style, direction = _defaultProps$props.direction, list = _defaultProps$props.list,
|
|
51
|
-
var
|
|
52
|
-
var
|
|
44
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, className = _defaultProps$props.className, style = _defaultProps$props.style, direction = _defaultProps$props.direction, list = _defaultProps$props.list, duration = _defaultProps$props.duration, height = _defaultProps$props.height, content = _defaultProps$props.content, closeable = _defaultProps$props.closeable, wrap = _defaultProps$props.wrap, leftIcon = _defaultProps$props.leftIcon, rightIcon = _defaultProps$props.rightIcon, delay = _defaultProps$props.delay, scrollable = _defaultProps$props.scrollable, speed = _defaultProps$props.speed, close = _defaultProps$props.close, click = _defaultProps$props.click, onClose = _defaultProps$props.onClose, onClick = _defaultProps$props.onClick, onClickItem = _defaultProps$props.onClickItem;
|
|
45
|
+
var classPrefix = "nut-noticebar";
|
|
46
|
+
var wrapRef = useRef(null);
|
|
47
|
+
var contentRef = useRef(null);
|
|
53
48
|
var _useState = useState(true), _useState2 = _slicedToArray(_useState, 2), showNoticeBar = _useState2[0], SetShowNoticeBar = _useState2[1];
|
|
54
49
|
var scrollList = useRef([]);
|
|
55
50
|
var _useState3 = useState(0), _useState4 = _slicedToArray(_useState3, 2), wrapWidth = _useState4[0], SetWrapWidth = _useState4[1];
|
|
56
51
|
var _useState5 = useState(true), _useState6 = _slicedToArray(_useState5, 2), firstRound = _useState6[0], SetFirstRound = _useState6[1];
|
|
57
|
-
var _useState7 = useState(0), _useState8 = _slicedToArray(_useState7, 2),
|
|
52
|
+
var _useState7 = useState(0), _useState8 = _slicedToArray(_useState7, 2), animationDuration = _useState8[0], SetAnimationDuration = _useState8[1];
|
|
58
53
|
var _useState9 = useState(0), _useState10 = _slicedToArray(_useState9, 2), offsetWidth = _useState10[0], SetOffsetW = _useState10[1];
|
|
59
54
|
var _useState11 = useState(""), _useState12 = _slicedToArray(_useState11, 2), animationClass = _useState12[0], SetAnimationClass = _useState12[1];
|
|
60
55
|
var _useState13 = useState(false), _useState14 = _slicedToArray(_useState13, 2), animate = _useState14[0], SetAnimate = _useState14[1];
|
|
61
|
-
var _useState15 = useState(0), _useState16 = _slicedToArray(_useState15, 2),
|
|
62
|
-
var _useState17 = useState(
|
|
63
|
-
var _useState19 = useState(null), _useState20 = _slicedToArray(_useState19, 2), isCanScroll = _useState20[0], SetIsCanScroll = _useState20[1];
|
|
56
|
+
var _useState15 = useState(0), _useState16 = _slicedToArray(_useState15, 2), timer = _useState16[0], SetTimer = _useState16[1];
|
|
57
|
+
var _useState17 = useState(null), _useState18 = _slicedToArray(_useState17, 2), isCanScroll = _useState18[0], SetIsCanScroll = _useState18[1];
|
|
64
58
|
var isVertical = direction === "vertical";
|
|
65
|
-
var
|
|
59
|
+
var _useState19 = useState(null), _useState20 = _slicedToArray(_useState19, 2), rect = _useState20[0], setRect = _useState20[1];
|
|
66
60
|
var active = 0;
|
|
67
|
-
var
|
|
61
|
+
var _useState21 = useState(false), _useState22 = _slicedToArray(_useState21, 2), ready = _useState22[0], setReady = _useState22[1];
|
|
68
62
|
var container = useRef(null);
|
|
69
63
|
var innerRef = useRef(null);
|
|
70
|
-
var
|
|
64
|
+
var swiperRef = useRef({
|
|
71
65
|
moving: false,
|
|
72
66
|
autoplayTimer: null,
|
|
73
67
|
width: 0,
|
|
@@ -75,8 +69,8 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
75
69
|
offset: 0,
|
|
76
70
|
size: 0
|
|
77
71
|
});
|
|
78
|
-
var
|
|
79
|
-
var
|
|
72
|
+
var _useState23 = useState([]), _useState24 = _slicedToArray(_useState23, 2), childOffset = _useState24[0], setChildOffset = _useState24[1];
|
|
73
|
+
var _useState25 = useState(0), _useState26 = _slicedToArray(_useState25, 2), offset = _useState26[0], setOffset = _useState26[1];
|
|
80
74
|
var _useMemo = useMemo(function() {
|
|
81
75
|
var childCount2 = 0;
|
|
82
76
|
var childs2 = React__default.Children.map(children, function(child) {
|
|
@@ -106,7 +100,6 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
106
100
|
scrollList.current = [].concat(list);
|
|
107
101
|
startRollEasy();
|
|
108
102
|
}
|
|
109
|
-
complexAm && startRoll();
|
|
110
103
|
} else {
|
|
111
104
|
initScrollWrap();
|
|
112
105
|
}
|
|
@@ -116,7 +109,7 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
116
109
|
}, []);
|
|
117
110
|
useEffect(function() {
|
|
118
111
|
initScrollWrap();
|
|
119
|
-
}, [
|
|
112
|
+
}, [content]);
|
|
120
113
|
useEffect(function() {
|
|
121
114
|
if (list && list.length) {
|
|
122
115
|
scrollList.current = [].concat(list);
|
|
@@ -127,17 +120,17 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
127
120
|
return;
|
|
128
121
|
}
|
|
129
122
|
setTimeout(function() {
|
|
130
|
-
if (!
|
|
123
|
+
if (!wrapRef.current || !contentRef.current) {
|
|
131
124
|
return;
|
|
132
125
|
}
|
|
133
|
-
var wrapW = getRect(
|
|
134
|
-
var offsetW = getRect(
|
|
126
|
+
var wrapW = getRect(wrapRef.current).width;
|
|
127
|
+
var offsetW = getRect(contentRef.current).width;
|
|
135
128
|
var canScroll = scrollable == null ? offsetW > wrapW : scrollable;
|
|
136
129
|
SetIsCanScroll(canScroll);
|
|
137
130
|
if (canScroll) {
|
|
138
131
|
SetWrapWidth(wrapW);
|
|
139
132
|
SetOffsetW(offsetW);
|
|
140
|
-
|
|
133
|
+
SetAnimationDuration(offsetW / speed);
|
|
141
134
|
SetAnimationClass("play");
|
|
142
135
|
} else {
|
|
143
136
|
SetAnimationClass("");
|
|
@@ -150,21 +143,21 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
150
143
|
};
|
|
151
144
|
var onClickIcon = function onClickIcon2(event) {
|
|
152
145
|
event.stopPropagation();
|
|
153
|
-
SetShowNoticeBar(!
|
|
146
|
+
SetShowNoticeBar(!closeable);
|
|
154
147
|
close && close(event);
|
|
155
148
|
onClose && onClose(event);
|
|
156
149
|
};
|
|
157
150
|
var onAnimationEnd = function onAnimationEnd2() {
|
|
158
151
|
SetFirstRound(false);
|
|
159
152
|
setTimeout(function() {
|
|
160
|
-
|
|
153
|
+
SetAnimationDuration((offsetWidth + wrapWidth) / speed);
|
|
161
154
|
SetAnimationClass("play-infinite");
|
|
162
155
|
}, 0);
|
|
163
156
|
};
|
|
164
157
|
var time = height / speed / 4 < 1 ? Number((height / speed / 4).toFixed(1)) * 1e3 : ~~(height / speed / 4) * 1e3;
|
|
165
158
|
var startRollEasy = function startRollEasy2() {
|
|
166
159
|
showhorseLamp();
|
|
167
|
-
var timerCurr = window.setInterval(showhorseLamp, time + Number(
|
|
160
|
+
var timerCurr = window.setInterval(showhorseLamp, time + Number(duration));
|
|
168
161
|
SetTimer(timerCurr);
|
|
169
162
|
};
|
|
170
163
|
var showhorseLamp = function showhorseLamp2() {
|
|
@@ -175,55 +168,29 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
175
168
|
SetAnimate(false);
|
|
176
169
|
}, time);
|
|
177
170
|
};
|
|
178
|
-
var startRoll = function startRoll2() {
|
|
179
|
-
var timerCurr = window.setInterval(function() {
|
|
180
|
-
var chunk = 100;
|
|
181
|
-
for (var i = 0; i < chunk; i++) {
|
|
182
|
-
scroll(i, !(i < chunk - 1));
|
|
183
|
-
}
|
|
184
|
-
}, Number(standTime) + 100 * speed);
|
|
185
|
-
SetTimer(timerCurr);
|
|
186
|
-
};
|
|
187
|
-
var scroll = function scroll2(n, last) {
|
|
188
|
-
SetAnimate(true);
|
|
189
|
-
setTimeout(function() {
|
|
190
|
-
var _long = distance;
|
|
191
|
-
_long -= height / 100;
|
|
192
|
-
SetDistance(_long);
|
|
193
|
-
if (last) {
|
|
194
|
-
scrollList.current.push(scrollList.current[0]);
|
|
195
|
-
scrollList.current.shift();
|
|
196
|
-
SetDistance(0);
|
|
197
|
-
SetAnimate(false);
|
|
198
|
-
}
|
|
199
|
-
}, n * speed);
|
|
200
|
-
};
|
|
201
171
|
var handleClickIcon = function handleClickIcon2(event) {
|
|
202
172
|
event.stopPropagation();
|
|
203
|
-
SetShowNoticeBar(!
|
|
173
|
+
SetShowNoticeBar(!closeable);
|
|
204
174
|
close && close(event);
|
|
205
175
|
onClose && onClose(event);
|
|
206
176
|
};
|
|
207
177
|
var isEllipsis = function isEllipsis2() {
|
|
208
178
|
if (isCanScroll == null) {
|
|
209
|
-
return
|
|
179
|
+
return wrap;
|
|
210
180
|
}
|
|
211
|
-
return !isCanScroll && !
|
|
181
|
+
return !isCanScroll && !wrap;
|
|
212
182
|
};
|
|
213
183
|
var contentStyle = {
|
|
214
184
|
animationDelay: "".concat(firstRound ? delay : 0, "s"),
|
|
215
|
-
animationDuration: "".concat(
|
|
185
|
+
animationDuration: "".concat(animationDuration, "s"),
|
|
216
186
|
transform: "translateX(".concat(firstRound ? 0 : "".concat(wrapWidth, "px"), ")")
|
|
217
187
|
};
|
|
218
188
|
var barStyle = {
|
|
219
|
-
color,
|
|
220
|
-
background,
|
|
221
189
|
height: isVertical ? "".concat(height, "px") : ""
|
|
222
190
|
};
|
|
223
191
|
var duringTime = height / speed / 4 < 1 ? Number((height / speed / 4).toFixed(1)) : ~~(height / speed / 4);
|
|
224
192
|
var noDuring = height / speed < 1 ? (height / speed).toFixed(1) : ~~(height / speed);
|
|
225
193
|
var horseLampStyle = {
|
|
226
|
-
transform: complexAm ? "translateY(".concat(distance, "px)") : "",
|
|
227
194
|
transition: animate ? "all ".concat(duringTime === 0 ? noDuring : duringTime, "s") : "",
|
|
228
195
|
marginTop: animate ? "-".concat(height, "px") : ""
|
|
229
196
|
};
|
|
@@ -234,9 +201,9 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
234
201
|
var _height = rects.height;
|
|
235
202
|
trackSize = childCount * Number(_height);
|
|
236
203
|
var targetOffset = getOffset(_active);
|
|
237
|
-
|
|
204
|
+
swiperRef.current.moving = true;
|
|
238
205
|
if (ready) {
|
|
239
|
-
|
|
206
|
+
swiperRef.current.moving = false;
|
|
240
207
|
}
|
|
241
208
|
active2 = _active;
|
|
242
209
|
setRect(rects);
|
|
@@ -260,17 +227,17 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
260
227
|
}
|
|
261
228
|
}, [children, container === null || container === void 0 ? void 0 : container.current]);
|
|
262
229
|
var stopAutoPlay = function stopAutoPlay2() {
|
|
263
|
-
clearTimeout(
|
|
264
|
-
|
|
230
|
+
clearTimeout(swiperRef.current.autoplayTimer);
|
|
231
|
+
swiperRef.current.autoplayTimer = null;
|
|
265
232
|
};
|
|
266
233
|
var autoplay = function autoplay2() {
|
|
267
234
|
if (childCount <= 1)
|
|
268
235
|
return;
|
|
269
236
|
stopAutoPlay();
|
|
270
|
-
|
|
237
|
+
swiperRef.current.autoplayTimer = setTimeout(function() {
|
|
271
238
|
next();
|
|
272
239
|
autoplay2();
|
|
273
|
-
}, Number(
|
|
240
|
+
}, Number(duration) + 100 * speed);
|
|
274
241
|
};
|
|
275
242
|
var move = function move2(_ref) {
|
|
276
243
|
var _ref$pace = _ref.pace, pace = _ref$pace === void 0 ? 0 : _ref$pace, _ref$offset = _ref.offset, offset2 = _ref$offset === void 0 ? 0 : _ref$offset;
|
|
@@ -295,7 +262,7 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
295
262
|
resettPosition();
|
|
296
263
|
requestFrame(function() {
|
|
297
264
|
requestFrame(function() {
|
|
298
|
-
|
|
265
|
+
swiperRef.current.moving = false;
|
|
299
266
|
move({
|
|
300
267
|
pace: 1
|
|
301
268
|
});
|
|
@@ -311,7 +278,7 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
311
278
|
var _offset = 0;
|
|
312
279
|
var val = rect.height - height;
|
|
313
280
|
_offset = moveOffset + Number(active === childCount - 1 && val / 2);
|
|
314
|
-
target.style.transitionDuration = "".concat(
|
|
281
|
+
target.style.transitionDuration = "".concat(swiperRef.current.moving ? 0 : duration, "ms");
|
|
315
282
|
target.style.height = "".concat(Number(height) * childCount, "px");
|
|
316
283
|
target.style.transform = "translate3D(0,".concat(_offset, "px,0)");
|
|
317
284
|
};
|
|
@@ -347,7 +314,7 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
347
314
|
return Math.min(Math.max(num, min), max);
|
|
348
315
|
};
|
|
349
316
|
var resettPosition = function resettPosition2() {
|
|
350
|
-
|
|
317
|
+
swiperRef.current.moving = true;
|
|
351
318
|
if (active <= -1) {
|
|
352
319
|
move({
|
|
353
320
|
pace: childCount
|
|
@@ -359,12 +326,11 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
359
326
|
});
|
|
360
327
|
}
|
|
361
328
|
};
|
|
362
|
-
var b = cn("noticebar");
|
|
363
329
|
var noticebarClass = classNames({
|
|
364
330
|
"nut-noticebar-page": true,
|
|
365
|
-
withicon:
|
|
366
|
-
close:
|
|
367
|
-
wrapable
|
|
331
|
+
withicon: closeable,
|
|
332
|
+
close: closeable,
|
|
333
|
+
wrapable: wrap
|
|
368
334
|
});
|
|
369
335
|
useEffect(function() {
|
|
370
336
|
return function() {
|
|
@@ -372,9 +338,9 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
372
338
|
};
|
|
373
339
|
}, []);
|
|
374
340
|
return React__default.createElement("div", {
|
|
375
|
-
className: "".concat(
|
|
341
|
+
className: "".concat(classPrefix, " ").concat(className || ""),
|
|
376
342
|
style
|
|
377
|
-
}, showNoticeBar && direction === "
|
|
343
|
+
}, showNoticeBar && direction === "horizontal" ? React__default.createElement("div", {
|
|
378
344
|
className: noticebarClass,
|
|
379
345
|
style: barStyle,
|
|
380
346
|
onClick: handleClick
|
|
@@ -382,23 +348,21 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
382
348
|
className: "left-icon"
|
|
383
349
|
}, leftIcon || React__default.createElement(Notice, {
|
|
384
350
|
width: 16,
|
|
385
|
-
height: 16
|
|
386
|
-
color
|
|
351
|
+
height: 16
|
|
387
352
|
})), React__default.createElement("div", {
|
|
388
|
-
ref:
|
|
353
|
+
ref: wrapRef,
|
|
389
354
|
className: "wrap"
|
|
390
355
|
}, React__default.createElement("div", {
|
|
391
|
-
ref:
|
|
356
|
+
ref: contentRef,
|
|
392
357
|
className: "content ".concat(animationClass, " ").concat(isEllipsis() ? "nut-ellipsis" : ""),
|
|
393
358
|
style: contentStyle,
|
|
394
359
|
onAnimationEnd
|
|
395
|
-
}, children,
|
|
360
|
+
}, children, content)), closeable || rightIcon ? React__default.createElement("div", {
|
|
396
361
|
className: "right-icon",
|
|
397
362
|
onClick: onClickIcon
|
|
398
363
|
}, rightIcon || React__default.createElement(Close, {
|
|
399
364
|
width: 12,
|
|
400
|
-
height: 12
|
|
401
|
-
color
|
|
365
|
+
height: 12
|
|
402
366
|
})) : null) : null, showNoticeBar && scrollList.current.length > 0 && isVertical ? React__default.createElement("div", {
|
|
403
367
|
className: "nut-noticebar-vertical",
|
|
404
368
|
style: barStyle,
|
|
@@ -440,10 +404,9 @@ var NoticeBar = function NoticeBar2(props) {
|
|
|
440
404
|
onClick: function onClick2(e) {
|
|
441
405
|
handleClickIcon(e);
|
|
442
406
|
}
|
|
443
|
-
}, rightIcon || (
|
|
407
|
+
}, rightIcon || (closeable ? React__default.createElement(Close, {
|
|
444
408
|
width: 12,
|
|
445
|
-
height: 12
|
|
446
|
-
color
|
|
409
|
+
height: 12
|
|
447
410
|
}) : null))) : null);
|
|
448
411
|
};
|
|
449
412
|
NoticeBar.defaultProps = defaultProps;
|