@nutui/nutui-react 1.5.1 → 2.0.0-alpha.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 +1 -35
- package/dist/esm/ActionSheet.js +62 -54
- package/dist/esm/Address/style/index.js +0 -1
- package/dist/esm/Address.js +235 -330
- package/dist/esm/Animate.js +43 -32
- package/dist/esm/AnimatingNumbers.js +88 -49
- package/dist/esm/Audio/style/index.js +0 -1
- package/dist/esm/Audio.js +104 -114
- package/dist/esm/Avatar.js +65 -78
- package/dist/esm/AvatarContext.js +5 -0
- package/dist/esm/AvatarGroup.js +46 -27
- package/dist/esm/BackTop/style/index.js +1 -1
- package/dist/esm/BackTop.js +74 -76
- package/dist/esm/Badge.js +57 -54
- package/dist/esm/Barrage.js +45 -32
- package/dist/esm/Button/style/index.js +1 -1
- package/dist/esm/Button.js +66 -87
- package/dist/esm/Calendar.js +80 -79
- package/dist/esm/CalendarItem.js +199 -231
- package/dist/esm/Card.js +44 -37
- package/dist/esm/Cascader.js +430 -433
- package/dist/esm/Cell/style/index.js +1 -1
- package/dist/esm/Cell.js +57 -87
- package/dist/esm/CellGroup.js +7 -5
- package/dist/esm/Checkbox/style/index.js +0 -1
- package/dist/esm/Checkbox.js +11 -8
- package/dist/esm/CheckboxGroup.js +78 -71
- package/dist/esm/CircleProgress.js +50 -40
- package/dist/esm/Col.js +46 -41
- package/dist/esm/Collapse.js +44 -44
- package/dist/esm/CollapseItem/style/index.js +1 -1
- package/dist/esm/CollapseItem.js +64 -104
- package/dist/esm/ConfigProvider.js +400 -101
- package/dist/esm/CountDown.js +90 -95
- package/dist/esm/DatePicker.js +104 -123
- package/dist/esm/Dialog.js +98 -104
- package/dist/esm/Divider.js +36 -27
- package/dist/esm/Drag.js +55 -59
- package/dist/esm/Elevator.js +77 -88
- package/dist/esm/Ellipsis.js +80 -79
- package/dist/esm/Empty.js +50 -44
- package/dist/esm/FixedNav/style/index.js +0 -1
- package/dist/esm/FixedNav.js +57 -65
- package/dist/esm/Form.js +1154 -123
- package/dist/esm/FormItem.js +7 -5
- package/dist/esm/Grid/style/index.js +1 -1
- package/dist/esm/Grid.js +51 -55
- package/dist/esm/GridItem.js +7 -124
- package/dist/esm/Icon.js +83 -5
- package/dist/esm/Image.js +123 -122
- package/dist/esm/ImagePreview.js +75 -93
- package/dist/esm/Indicator.js +41 -36
- package/dist/esm/Infiniteloading/style/index.js +1 -1
- package/dist/esm/Infiniteloading.js +77 -93
- package/dist/esm/Input/style/index.js +1 -1
- package/dist/esm/Input.js +120 -172
- package/dist/esm/InputNumber/style/index.js +1 -1
- package/dist/esm/InputNumber.js +133 -167
- package/dist/esm/Layout.js +27 -6
- package/dist/esm/Menu.js +84 -86
- package/dist/esm/MenuItem/style/index.js +0 -1
- package/dist/esm/MenuItem.js +76 -86
- package/dist/esm/NavBar/style/index.js +1 -1
- package/dist/esm/NavBar.js +59 -63
- package/dist/esm/NoticeBar/style/index.js +1 -1
- package/dist/esm/NoticeBar.js +173 -290
- package/dist/esm/Notify.js +112 -78
- package/dist/esm/NumberKeyboard.js +110 -109
- package/dist/esm/Overlay.js +7 -6
- package/dist/esm/Pagination.js +94 -135
- package/dist/esm/Picker.js +149 -201
- package/dist/esm/Popover/style/index.js +0 -1
- package/dist/esm/Popover.js +121 -116
- package/dist/esm/Popup/style/index.js +0 -1
- package/dist/esm/Popup.js +109 -119
- package/dist/esm/Price.js +51 -39
- package/dist/esm/Progress/style/index.js +1 -1
- package/dist/esm/Progress.js +59 -64
- package/dist/esm/PullToRefresh.js +173 -149
- package/dist/esm/Radio/style/index.js +0 -1
- package/dist/esm/Radio.js +8 -6
- package/dist/esm/RadioGroup.js +64 -84
- package/dist/esm/Range.js +93 -122
- package/dist/esm/Rate/style/index.js +1 -1
- package/dist/esm/Rate.js +77 -95
- package/dist/esm/Row.js +46 -35
- package/dist/esm/SearchBar/style/index.js +1 -1
- package/dist/esm/SearchBar.js +110 -120
- package/dist/esm/ShortPassword/style/index.js +0 -1
- package/dist/esm/ShortPassword.js +120 -116
- package/dist/esm/SideNavBar.js +39 -27
- package/dist/esm/SideNavBarItem.js +31 -14
- package/dist/esm/Signature.js +65 -61
- package/dist/esm/Skeleton.js +48 -40
- package/dist/esm/Step/style/index.js +1 -1
- package/dist/esm/Step.js +49 -49
- package/dist/esm/Steps.js +37 -23
- package/dist/esm/Sticky.js +111 -120
- package/dist/esm/SubSideNavBar.js +50 -38
- package/dist/esm/Swipe.js +75 -63
- package/dist/esm/Swiper.js +171 -206
- package/dist/esm/SwiperItem.js +39 -22
- package/dist/esm/Switch.js +46 -37
- package/dist/esm/TabPane.js +8 -6
- package/dist/esm/Tabbar.js +47 -39
- package/dist/esm/TabbarItem/style/index.js +1 -1
- package/dist/esm/TabbarItem.js +50 -52
- package/dist/esm/Table/style/index.js +1 -1
- package/dist/esm/Table.js +70 -70
- package/dist/esm/Tabs/style/index.js +1 -2
- package/dist/esm/Tabs.js +11 -9
- package/dist/esm/Tag/style/index.js +1 -1
- package/dist/esm/Tag.js +69 -70
- package/dist/esm/TextArea.js +70 -64
- package/dist/esm/TimeDetail.js +47 -38
- package/dist/esm/TimePannel.js +35 -19
- package/dist/esm/TimeSelect.js +60 -68
- package/dist/esm/Toast/style/index.js +1 -1
- package/dist/esm/Toast.js +126 -98
- package/dist/esm/TrendArrow/style/index.js +1 -1
- package/dist/esm/TrendArrow.js +59 -55
- package/dist/esm/Uploader/style/index.js +0 -1
- package/dist/esm/Uploader.js +180 -229
- package/dist/esm/UserContext.js +5 -0
- package/dist/esm/UserContext2.js +5 -0
- package/dist/esm/UserContext3.js +5 -0
- package/dist/esm/Video.js +49 -39
- package/dist/esm/VirtualList.js +111 -146
- package/dist/esm/WaterMark.js +57 -60
- package/dist/esm/bem.js +10 -0
- package/dist/esm/cellgroup2.js +49 -0
- package/dist/esm/checkbox2.js +145 -0
- package/dist/esm/{date-c7aad4c0.js → date.js} +13 -11
- package/dist/esm/{formitem-8a73a5fb.js → formitem2.js} +83 -50
- package/dist/esm/get-scroll-parent.js +26 -0
- package/dist/esm/griditem2.js +96 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/nutui-react.es.js +188 -94
- package/dist/esm/offsetContext.js +19 -0
- package/dist/esm/overlay2.js +98 -0
- package/dist/esm/px-check.js +6 -0
- package/dist/esm/radio2.js +129 -0
- package/dist/esm/render.js +95 -0
- package/dist/esm/tabpane2.js +44 -0
- package/dist/esm/tabs2.js +175 -0
- package/dist/esm/typings.js +7 -0
- package/dist/esm/use-client-rect.js +32 -0
- package/dist/esm/use-props-value.js +18 -0
- package/dist/esm/use-touch.js +74 -0
- package/dist/locales/base.d.ts +2 -2
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +3 -3
- package/dist/locales/id-ID.js +3 -3
- package/dist/locales/zh-CN.js +3 -3
- package/dist/locales/zh-TW.js +3 -3
- package/dist/locales/zh-UG.js +3 -3
- package/dist/nutui.react.mjs +8327 -4829
- package/dist/nutui.react.umd.js +8328 -4830
- package/dist/packages/actionsheet/actionsheet.scss +10 -2
- package/dist/packages/backtop/backtop.scss +0 -8
- package/dist/packages/badge/badge.scss +3 -4
- package/dist/packages/button/button.scss +80 -93
- package/dist/packages/cell/cell.scss +18 -90
- package/dist/packages/cellgroup/cellgroup.scss +26 -20
- package/dist/packages/collapseitem/collapseitem.scss +0 -1
- package/dist/packages/dialog/dialog.scss +1 -1
- package/dist/packages/divider/divider.scss +3 -17
- package/dist/packages/grid/grid.scss +1 -0
- package/dist/packages/griditem/griditem.scss +2 -17
- package/dist/packages/icon/icon.scss +0 -132
- package/dist/packages/image/image.scss +0 -12
- package/dist/packages/indicator/indicator.scss +21 -39
- package/dist/packages/infiniteloading/infiniteloading.scss +4 -12
- package/dist/packages/input/input.scss +4 -0
- package/dist/packages/inputnumber/inputnumber.scss +10 -26
- package/dist/packages/menuitem/menuitem.scss +2 -0
- package/dist/packages/navbar/navbar.scss +4 -5
- package/dist/packages/overlay/overlay.scss +0 -19
- package/dist/packages/picker/picker.scss +97 -103
- package/dist/packages/progress/progress.scss +0 -1
- package/dist/packages/radio/radio.scss +8 -0
- package/dist/packages/rate/rate.scss +29 -6
- package/dist/packages/searchbar/searchbar.scss +0 -1
- package/dist/packages/shortpassword/shortpassword.scss +4 -1
- package/dist/packages/step/step.scss +0 -1
- package/dist/packages/sticky/sticky.scss +1 -1
- package/dist/packages/swiper/swiper.scss +8 -0
- package/dist/packages/tabbaritem/tabbaritem.scss +0 -1
- package/dist/packages/table/table.scss +0 -1
- package/dist/packages/tag/tag.scss +9 -2
- package/dist/packages/timedetail/timedetail.scss +9 -3
- package/dist/packages/timeselect/timeselect.scss +1 -1
- package/dist/packages/toast/toast.scss +0 -1
- package/dist/style.css +1 -1
- package/dist/style.mjs +1 -1
- package/dist/styles/font-jmapp/config.json +175 -0
- package/dist/styles/font-jmapp/demo.css +539 -0
- package/dist/styles/font-jmapp/demo_index.html +1821 -0
- package/dist/styles/font-jmapp/iconfont.css +299 -0
- package/dist/styles/font-jmapp/iconfont.eot +0 -0
- package/dist/styles/font-jmapp/iconfont.js +68 -0
- package/dist/styles/font-jmapp/iconfont.json +506 -0
- package/dist/styles/font-jmapp/iconfont.svg +356 -0
- package/dist/styles/font-jmapp/iconfont.ttf +0 -0
- package/dist/styles/font-jmapp/iconfont.woff +0 -0
- package/dist/styles/font-jmapp/iconfont.woff2 +0 -0
- package/dist/styles/theme-default.scss +1 -0
- package/dist/styles/theme-jmapp.scss +41 -0
- package/dist/styles/themes/default.scss +0 -1
- package/dist/styles/variables-jmapp.scss +2601 -0
- package/dist/styles/variables.scss +49 -73
- package/dist/types/index.d.ts +147 -240
- package/package.json +23 -154
- package/dist/esm/AvatarContext-15733596.js +0 -3
- package/dist/esm/Icon/style/index.js +0 -4
- package/dist/esm/UserContext-101ad4a4.js +0 -3
- package/dist/esm/UserContext-2629d479.js +0 -3
- package/dist/esm/UserContext-b33bcf21.js +0 -3
- package/dist/esm/bem-3b438e61.js +0 -8
- package/dist/esm/cellgroup-fcc72767.js +0 -34
- package/dist/esm/checkbox-44e13cd0.js +0 -137
- package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
- package/dist/esm/grid.context-2ee27d95.js +0 -6
- package/dist/esm/icon-4ef1581c.js +0 -70
- package/dist/esm/index-030b7245.js +0 -11
- package/dist/esm/offsetContext-3ab00d40.js +0 -16
- package/dist/esm/overlay-de6c79d5.js +0 -83
- package/dist/esm/radio-9f141e6b.js +0 -118
- package/dist/esm/render-bbebb760.js +0 -79
- package/dist/esm/tabpane-01075e6c.js +0 -29
- package/dist/esm/tabs-e1b4e4b1.js +0 -181
- package/dist/esm/typings-f27b58f4.js +0 -8
- package/dist/esm/useClientRect-56bb675b.js +0 -39
- package/dist/esm/useTouch-cf73a407.js +0 -99
package/dist/esm/Menu.js
CHANGED
|
@@ -2,132 +2,130 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
|
-
var _excluded = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor"
|
|
6
|
-
function ownKeys(object, enumerableOnly) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
var _excluded = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor"];
|
|
6
|
+
function ownKeys(object, enumerableOnly) {
|
|
7
|
+
var keys = Object.keys(object);
|
|
8
|
+
if (Object.getOwnPropertySymbols) {
|
|
9
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
10
|
+
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
11
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
12
|
+
})), keys.push.apply(keys, symbols);
|
|
13
|
+
}
|
|
14
|
+
return keys;
|
|
15
|
+
}
|
|
16
|
+
function _objectSpread(target) {
|
|
17
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
18
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
19
|
+
i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
|
|
20
|
+
_defineProperty(target, key, source[key]);
|
|
21
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
|
|
22
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return target;
|
|
26
|
+
}
|
|
27
|
+
import React__default, { useRef, useState, useEffect } from "react";
|
|
28
|
+
import classNames from "classnames";
|
|
29
|
+
import { ArrowUp2, ArrowDown2 } from "@nutui/icons-react";
|
|
30
|
+
import { C as ComponentDefaults } from "./typings.js";
|
|
12
31
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
13
|
-
className:
|
|
32
|
+
className: "",
|
|
14
33
|
style: {},
|
|
15
|
-
activeColor:
|
|
34
|
+
activeColor: "",
|
|
16
35
|
closeOnClickOverlay: true,
|
|
17
36
|
scrollFixed: false,
|
|
18
37
|
lockScroll: true,
|
|
19
|
-
titleIcon:
|
|
38
|
+
titleIcon: null
|
|
20
39
|
});
|
|
21
|
-
var Menu = function
|
|
22
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
23
|
-
className = _defaultProps$props.className,
|
|
24
|
-
titleIcon = _defaultProps$props.titleIcon,
|
|
25
|
-
scrollFixed = _defaultProps$props.scrollFixed,
|
|
26
|
-
lockScroll = _defaultProps$props.lockScroll,
|
|
27
|
-
closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay,
|
|
28
|
-
children = _defaultProps$props.children,
|
|
29
|
-
activeColor = _defaultProps$props.activeColor,
|
|
30
|
-
iconClassPrefix = _defaultProps$props.iconClassPrefix,
|
|
31
|
-
iconFontClassName = _defaultProps$props.iconFontClassName,
|
|
32
|
-
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
40
|
+
var Menu = function Menu2(props) {
|
|
41
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, titleIcon = _defaultProps$props.titleIcon, scrollFixed = _defaultProps$props.scrollFixed, lockScroll = _defaultProps$props.lockScroll, closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay, children = _defaultProps$props.children, activeColor = _defaultProps$props.activeColor, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
33
42
|
var parentRef = useRef(null);
|
|
34
|
-
var _useState = useState(false),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
setIsScrollFixed = _useState2[1];
|
|
38
|
-
var getScrollTop = function getScrollTop(el) {
|
|
39
|
-
return Math.max(0, 'scrollTop' in el ? el.scrollTop : el.pageYOffset);
|
|
43
|
+
var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isScrollFixed = _useState2[0], setIsScrollFixed = _useState2[1];
|
|
44
|
+
var getScrollTop = function getScrollTop2(el) {
|
|
45
|
+
return Math.max(0, "scrollTop" in el ? el.scrollTop : el.pageYOffset);
|
|
40
46
|
};
|
|
41
|
-
var onScroll = function
|
|
42
|
-
var
|
|
47
|
+
var onScroll = function onScroll2() {
|
|
48
|
+
var scrollFixed2 = props.scrollFixed;
|
|
43
49
|
var scrollTop = getScrollTop(window);
|
|
44
|
-
var isFixed = scrollTop > (typeof
|
|
50
|
+
var isFixed = scrollTop > (typeof scrollFixed2 === "boolean" ? 30 : Number(scrollFixed2));
|
|
45
51
|
setIsScrollFixed(isFixed);
|
|
46
52
|
};
|
|
47
|
-
useEffect(function
|
|
53
|
+
useEffect(function() {
|
|
48
54
|
if (scrollFixed) {
|
|
49
|
-
window.addEventListener(
|
|
55
|
+
window.addEventListener("scroll", onScroll);
|
|
50
56
|
}
|
|
51
|
-
return function
|
|
52
|
-
return window.removeEventListener(
|
|
57
|
+
return function() {
|
|
58
|
+
return window.removeEventListener("scroll", onScroll);
|
|
53
59
|
};
|
|
54
60
|
}, []);
|
|
55
|
-
var _useState3 = useState([]),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
setItemShow = _useState4[1];
|
|
59
|
-
var _useState5 = useState([]),
|
|
60
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
61
|
-
itemTitle = _useState6[0],
|
|
62
|
-
setItemTitle = _useState6[1];
|
|
63
|
-
var toggleItemShow = function toggleItemShow(index) {
|
|
61
|
+
var _useState3 = useState([]), _useState4 = _slicedToArray(_useState3, 2), itemShow = _useState4[0], setItemShow = _useState4[1];
|
|
62
|
+
var _useState5 = useState([]), _useState6 = _slicedToArray(_useState5, 2), itemTitle = _useState6[0], setItemTitle = _useState6[1];
|
|
63
|
+
var toggleItemShow = function toggleItemShow2(index) {
|
|
64
64
|
itemShow[index] = !itemShow[index];
|
|
65
|
-
var temp = itemShow.map(function
|
|
65
|
+
var temp = itemShow.map(function(i, idx) {
|
|
66
66
|
return idx === index ? i : false;
|
|
67
67
|
});
|
|
68
68
|
setItemShow(_toConsumableArray(temp));
|
|
69
69
|
};
|
|
70
|
-
var hideItemShow = function
|
|
70
|
+
var hideItemShow = function hideItemShow2(index) {
|
|
71
71
|
itemShow[index] = false;
|
|
72
72
|
setItemShow(_toConsumableArray(itemShow));
|
|
73
73
|
};
|
|
74
|
-
var updateTitle = function
|
|
74
|
+
var updateTitle = function updateTitle2(text, index) {
|
|
75
75
|
itemTitle[index] = text;
|
|
76
76
|
setItemTitle(_toConsumableArray(itemTitle));
|
|
77
77
|
};
|
|
78
|
-
var parent = function
|
|
78
|
+
var parent = function parent2() {
|
|
79
79
|
return parentRef;
|
|
80
80
|
};
|
|
81
|
-
var cloneChildren = function
|
|
82
|
-
return React__default.Children.map(children, function
|
|
81
|
+
var cloneChildren = function cloneChildren2() {
|
|
82
|
+
return React__default.Children.map(children, function(child, index) {
|
|
83
83
|
return React__default.cloneElement(child, {
|
|
84
84
|
showPopup: itemShow[index],
|
|
85
85
|
orderKey: index,
|
|
86
|
-
activeColor
|
|
86
|
+
activeColor,
|
|
87
87
|
parent: {
|
|
88
|
-
closeOnClickOverlay
|
|
89
|
-
lockScroll
|
|
90
|
-
toggleItemShow
|
|
91
|
-
updateTitle
|
|
92
|
-
hideItemShow
|
|
93
|
-
parent
|
|
88
|
+
closeOnClickOverlay,
|
|
89
|
+
lockScroll,
|
|
90
|
+
toggleItemShow,
|
|
91
|
+
updateTitle,
|
|
92
|
+
hideItemShow,
|
|
93
|
+
parent
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
97
|
};
|
|
98
98
|
return React__default.createElement("div", _objectSpread(_objectSpread({
|
|
99
|
-
className: "nut-menu ".concat(className, " ").concat(isScrollFixed ?
|
|
99
|
+
className: "nut-menu ".concat(className, " ").concat(isScrollFixed ? "scroll-fixed" : "")
|
|
100
100
|
}, rest), {}, {
|
|
101
101
|
ref: parentRef
|
|
102
102
|
}), React__default.createElement("div", {
|
|
103
103
|
className: "nut-menu-relative"
|
|
104
104
|
}, React__default.createElement("div", {
|
|
105
|
-
className: "nut-menu__bar ".concat(itemShow.includes(true) ?
|
|
106
|
-
}, React__default.Children.toArray(children).map(function
|
|
107
|
-
if (!child)
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
value = _child$props.value,
|
|
112
|
-
direction = _child$props.direction,
|
|
113
|
-
options = _child$props.options,
|
|
114
|
-
className = _child$props.className;
|
|
115
|
-
var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function (option) {
|
|
105
|
+
className: "nut-menu__bar ".concat(itemShow.includes(true) ? "opened" : "", " ").concat(className)
|
|
106
|
+
}, React__default.Children.toArray(children).map(function(child, index) {
|
|
107
|
+
if (!child)
|
|
108
|
+
return null;
|
|
109
|
+
var _child$props = child.props, disabled = _child$props.disabled, title = _child$props.title, value = _child$props.value, direction = _child$props.direction, options = _child$props.options, className2 = _child$props.className;
|
|
110
|
+
var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function(option) {
|
|
116
111
|
return option.value === value;
|
|
117
112
|
});
|
|
118
113
|
function finallyTitle() {
|
|
119
|
-
if (title)
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
|
|
114
|
+
if (title)
|
|
115
|
+
return title;
|
|
116
|
+
if (itemTitle && itemTitle[index])
|
|
117
|
+
return itemTitle[index];
|
|
118
|
+
if (currentTitle && currentTitle[0] && currentTitle[0].text)
|
|
119
|
+
return currentTitle[0].text;
|
|
120
|
+
return "";
|
|
123
121
|
}
|
|
124
122
|
return React__default.createElement("div", {
|
|
125
123
|
className: "nut-menu__item ".concat(classNames({
|
|
126
124
|
active: itemShow[index],
|
|
127
|
-
disabled
|
|
128
|
-
}), " ").concat(
|
|
125
|
+
disabled
|
|
126
|
+
}), " ").concat(className2),
|
|
129
127
|
style: {
|
|
130
|
-
color: itemShow[index] ? activeColor :
|
|
128
|
+
color: itemShow[index] ? activeColor : ""
|
|
131
129
|
},
|
|
132
130
|
key: index,
|
|
133
131
|
onClick: function onClick() {
|
|
@@ -136,19 +134,19 @@ var Menu = function Menu(props) {
|
|
|
136
134
|
}, React__default.createElement("div", {
|
|
137
135
|
className: "nut-menu__title ".concat(classNames({
|
|
138
136
|
active: itemShow[index],
|
|
139
|
-
disabled
|
|
137
|
+
disabled
|
|
140
138
|
}))
|
|
141
139
|
}, React__default.createElement("div", {
|
|
142
140
|
className: "nut-menu__title-text"
|
|
143
|
-
}, finallyTitle()), React__default.createElement(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
className: "nut-menu__title-icon"
|
|
147
|
-
|
|
148
|
-
name: titleIcon || (direction === 'up' ? 'arrow-up' : 'down-arrow')
|
|
149
|
-
})));
|
|
141
|
+
}, finallyTitle()), titleIcon || React__default.createElement(React__default.Fragment, null, direction === "up" ? React__default.createElement(ArrowUp2, {
|
|
142
|
+
className: "nut-menu__title-icon"
|
|
143
|
+
}) : React__default.createElement(ArrowDown2, {
|
|
144
|
+
className: "nut-menu__title-icon"
|
|
145
|
+
}))));
|
|
150
146
|
})), cloneChildren()));
|
|
151
147
|
};
|
|
152
148
|
Menu.defaultProps = defaultProps;
|
|
153
|
-
Menu.displayName =
|
|
154
|
-
export {
|
|
149
|
+
Menu.displayName = "NutMenu";
|
|
150
|
+
export {
|
|
151
|
+
Menu as default
|
|
152
|
+
};
|
package/dist/esm/MenuItem.js
CHANGED
|
@@ -1,92 +1,82 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
function ownKeys(object, enumerableOnly) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
function ownKeys(object, enumerableOnly) {
|
|
4
|
+
var keys = Object.keys(object);
|
|
5
|
+
if (Object.getOwnPropertySymbols) {
|
|
6
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
7
|
+
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
8
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
9
|
+
})), keys.push.apply(keys, symbols);
|
|
10
|
+
}
|
|
11
|
+
return keys;
|
|
12
|
+
}
|
|
13
|
+
function _objectSpread(target) {
|
|
14
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
15
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
16
|
+
i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
|
|
17
|
+
_defineProperty(target, key, source[key]);
|
|
18
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
|
|
19
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return target;
|
|
23
|
+
}
|
|
24
|
+
import React__default, { forwardRef, useState, useEffect, useImperativeHandle } from "react";
|
|
25
|
+
import classNames from "classnames";
|
|
26
|
+
import { CSSTransition } from "react-transition-group";
|
|
27
|
+
import { Check } from "@nutui/icons-react";
|
|
28
|
+
import { O as Overlay } from "./overlay2.js";
|
|
29
|
+
import { C as ComponentDefaults } from "./typings.js";
|
|
13
30
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
14
|
-
className:
|
|
31
|
+
className: "",
|
|
15
32
|
style: {},
|
|
16
33
|
columns: 1,
|
|
17
|
-
direction:
|
|
18
|
-
optionsIcon:
|
|
19
|
-
activeTitleClass:
|
|
20
|
-
inactiveTitleClass:
|
|
21
|
-
iconClassPrefix: 'nut-icon',
|
|
22
|
-
fontClassName: 'nutui-iconfont',
|
|
34
|
+
direction: "down",
|
|
35
|
+
optionsIcon: null,
|
|
36
|
+
activeTitleClass: "",
|
|
37
|
+
inactiveTitleClass: "",
|
|
23
38
|
onChange: function onChange(value) {
|
|
24
|
-
return
|
|
39
|
+
return void 0;
|
|
25
40
|
}
|
|
26
41
|
});
|
|
27
|
-
var MenuItem = forwardRef(function
|
|
42
|
+
var MenuItem = forwardRef(function(props, ref) {
|
|
28
43
|
var mergedProps = _objectSpread(_objectSpread({}, defaultProps), props);
|
|
29
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
title = _defaultProps$props.title,
|
|
35
|
-
optionsIcon = _defaultProps$props.optionsIcon,
|
|
36
|
-
direction = _defaultProps$props.direction,
|
|
37
|
-
onChange = _defaultProps$props.onChange,
|
|
38
|
-
activeTitleClass = _defaultProps$props.activeTitleClass,
|
|
39
|
-
inactiveTitleClass = _defaultProps$props.inactiveTitleClass,
|
|
40
|
-
children = _defaultProps$props.children,
|
|
41
|
-
iconClassPrefix = _defaultProps$props.iconClassPrefix,
|
|
42
|
-
iconFontClassName = _defaultProps$props.iconFontClassName;
|
|
43
|
-
var activeColor = mergedProps.activeColor,
|
|
44
|
-
showPopup = mergedProps.showPopup,
|
|
45
|
-
parent = mergedProps.parent,
|
|
46
|
-
orderKey = mergedProps.orderKey;
|
|
47
|
-
var _useState = useState(showPopup),
|
|
48
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
49
|
-
_showPopup = _useState2[0],
|
|
50
|
-
setShowPopup = _useState2[1];
|
|
51
|
-
var _useState3 = useState(value),
|
|
52
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
53
|
-
_value = _useState4[0],
|
|
54
|
-
setValue = _useState4[1];
|
|
55
|
-
useEffect(function () {
|
|
44
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), style = _defaultProps$props.style, options = _defaultProps$props.options, value = _defaultProps$props.value, columns = _defaultProps$props.columns, title = _defaultProps$props.title, optionsIcon = _defaultProps$props.optionsIcon, direction = _defaultProps$props.direction, onChange2 = _defaultProps$props.onChange, activeTitleClass = _defaultProps$props.activeTitleClass, inactiveTitleClass = _defaultProps$props.inactiveTitleClass, children = _defaultProps$props.children;
|
|
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];
|
|
47
|
+
var _useState3 = useState(value), _useState4 = _slicedToArray(_useState3, 2), _value = _useState4[0], setValue = _useState4[1];
|
|
48
|
+
useEffect(function() {
|
|
56
49
|
setShowPopup(showPopup);
|
|
57
50
|
}, [showPopup]);
|
|
58
|
-
useEffect(function
|
|
51
|
+
useEffect(function() {
|
|
59
52
|
getParentOffset();
|
|
60
53
|
}, [_showPopup]);
|
|
61
|
-
useImperativeHandle(ref, function
|
|
54
|
+
useImperativeHandle(ref, function() {
|
|
62
55
|
return {
|
|
63
56
|
toggle: parent.toggleItemShow
|
|
64
57
|
};
|
|
65
58
|
});
|
|
66
|
-
var getIconCName = function
|
|
59
|
+
var getIconCName = function getIconCName2(optionVal, value2) {
|
|
67
60
|
var _classNames;
|
|
68
|
-
return classNames((_classNames = {}, _defineProperty(_classNames, activeTitleClass, optionVal ===
|
|
61
|
+
return classNames((_classNames = {}, _defineProperty(_classNames, activeTitleClass, optionVal === value2), _defineProperty(_classNames, inactiveTitleClass, optionVal !== value2), _classNames));
|
|
69
62
|
};
|
|
70
|
-
var setTitle = function
|
|
63
|
+
var setTitle = function setTitle2(text) {
|
|
71
64
|
if (!title) {
|
|
72
65
|
parent.updateTitle(text, orderKey);
|
|
73
66
|
}
|
|
74
67
|
};
|
|
75
|
-
var handleClick = function
|
|
68
|
+
var handleClick = function handleClick2(item) {
|
|
76
69
|
parent.toggleItemShow(orderKey);
|
|
77
70
|
setTitle(item.text);
|
|
78
71
|
setValue(item.value);
|
|
79
|
-
|
|
72
|
+
onChange2 && onChange2(item);
|
|
80
73
|
};
|
|
81
74
|
var _useState5 = useState({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
setPosition = _useState6[1];
|
|
88
|
-
var getParentOffset = function getParentOffset() {
|
|
89
|
-
setTimeout(function () {
|
|
75
|
+
top: 0,
|
|
76
|
+
height: 0
|
|
77
|
+
}), _useState6 = _slicedToArray(_useState5, 2), position = _useState6[0], setPosition = _useState6[1];
|
|
78
|
+
var getParentOffset = function getParentOffset2() {
|
|
79
|
+
setTimeout(function() {
|
|
90
80
|
var p = parent.parent().current;
|
|
91
81
|
var rect = p.getBoundingClientRect();
|
|
92
82
|
setPosition({
|
|
@@ -95,58 +85,59 @@ var MenuItem = forwardRef(function (props, ref) {
|
|
|
95
85
|
});
|
|
96
86
|
});
|
|
97
87
|
};
|
|
98
|
-
var isShow = function
|
|
99
|
-
if (_showPopup)
|
|
88
|
+
var isShow = function isShow2() {
|
|
89
|
+
if (_showPopup)
|
|
90
|
+
return {};
|
|
100
91
|
return {
|
|
101
|
-
display:
|
|
92
|
+
display: "none"
|
|
102
93
|
};
|
|
103
94
|
};
|
|
104
|
-
var getPosition = function
|
|
105
|
-
return direction ===
|
|
95
|
+
var getPosition = function getPosition2() {
|
|
96
|
+
return direction === "down" ? {
|
|
106
97
|
top: "".concat(position.top + position.height, "px")
|
|
107
98
|
} : {
|
|
108
99
|
bottom: "".concat(window.innerHeight - position.top, "px"),
|
|
109
|
-
top:
|
|
100
|
+
top: "auto"
|
|
110
101
|
};
|
|
111
102
|
};
|
|
112
|
-
var placeholderStyle = function
|
|
113
|
-
if (direction ===
|
|
103
|
+
var placeholderStyle = function placeholderStyle2() {
|
|
104
|
+
if (direction === "down") {
|
|
114
105
|
return _objectSpread(_objectSpread({
|
|
115
106
|
height: "".concat(position.top + position.height, "px")
|
|
116
107
|
}, isShow()), style);
|
|
117
108
|
}
|
|
118
109
|
return _objectSpread(_objectSpread({
|
|
119
110
|
height: "".concat(window.innerHeight - position.top, "px"),
|
|
120
|
-
top:
|
|
111
|
+
top: "auto"
|
|
121
112
|
}, isShow()), style);
|
|
122
113
|
};
|
|
123
114
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
|
124
115
|
className: "placeholder-element ".concat(classNames({
|
|
125
|
-
up: direction ===
|
|
116
|
+
up: direction === "up"
|
|
126
117
|
})),
|
|
127
118
|
style: placeholderStyle(),
|
|
128
119
|
onClick: function onClick() {
|
|
129
120
|
return parent.toggleItemShow(orderKey);
|
|
130
121
|
}
|
|
131
122
|
}), React__default.createElement(Overlay, {
|
|
132
|
-
|
|
123
|
+
className: "nut-menu__overlay",
|
|
133
124
|
style: getPosition(),
|
|
134
125
|
lockScroll: parent.lockScroll,
|
|
135
126
|
visible: _showPopup,
|
|
136
|
-
|
|
127
|
+
closeOnOverlayClick: parent.closeOnClickOverlay,
|
|
137
128
|
onClick: function onClick() {
|
|
138
129
|
parent.closeOnClickOverlay && parent.toggleItemShow(orderKey);
|
|
139
130
|
}
|
|
140
131
|
}), React__default.createElement("div", {
|
|
141
|
-
className: direction ===
|
|
132
|
+
className: direction === "down" ? "nut-menu-item__wrap" : "nut-menu-item__wrap-up",
|
|
142
133
|
style: _objectSpread({}, isShow())
|
|
143
134
|
}, React__default.createElement(CSSTransition, {
|
|
144
135
|
"in": _showPopup,
|
|
145
136
|
timeout: 100,
|
|
146
|
-
classNames: direction ===
|
|
137
|
+
classNames: direction === "down" ? "menu-item" : "menu-item-up"
|
|
147
138
|
}, React__default.createElement("div", {
|
|
148
139
|
className: "nut-menu-item__content"
|
|
149
|
-
}, options === null || options === void 0 ? void 0 : options.map(function
|
|
140
|
+
}, options === null || options === void 0 ? void 0 : options.map(function(item, index) {
|
|
150
141
|
return React__default.createElement("div", {
|
|
151
142
|
className: "nut-menu-item__option ".concat(classNames({
|
|
152
143
|
active: item.value === _value
|
|
@@ -158,20 +149,19 @@ var MenuItem = forwardRef(function (props, ref) {
|
|
|
158
149
|
onClick: function onClick() {
|
|
159
150
|
handleClick(item);
|
|
160
151
|
}
|
|
161
|
-
}, item.value === _value ? React__default.createElement(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
name: optionsIcon,
|
|
166
|
-
color: activeColor
|
|
167
|
-
}) : null, React__default.createElement("div", {
|
|
152
|
+
}, item.value === _value ? React__default.createElement("i", null, optionsIcon || React__default.createElement(Check, {
|
|
153
|
+
color: activeColor,
|
|
154
|
+
className: getIconCName(item.value, value)
|
|
155
|
+
})) : null, React__default.createElement("div", {
|
|
168
156
|
className: getIconCName(item.value, value),
|
|
169
157
|
style: {
|
|
170
|
-
color: "".concat(item.value === _value ? activeColor :
|
|
158
|
+
color: "".concat(item.value === _value ? activeColor : "")
|
|
171
159
|
}
|
|
172
160
|
}, item.text));
|
|
173
161
|
}), children))));
|
|
174
162
|
});
|
|
175
163
|
MenuItem.defaultProps = defaultProps;
|
|
176
|
-
MenuItem.displayName =
|
|
177
|
-
export {
|
|
164
|
+
MenuItem.displayName = "NutMenuItem";
|
|
165
|
+
export {
|
|
166
|
+
MenuItem as default
|
|
167
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
import '../../../packages/navbar/navbar.scss'
|