@nutui/nutui-react 1.3.0 → 1.3.1-beta.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/dist/esm/Audio/style/index.js +4 -0
- package/dist/esm/Audio.js +293 -0
- package/dist/esm/Calendar/style/index.js +1 -2
- package/dist/esm/Calendar.js +80 -33
- package/dist/esm/CalendarItem.js +429 -231
- package/dist/esm/Cascader/style/index.js +2 -0
- package/dist/esm/Cascader.js +788 -0
- package/dist/esm/ConfigProvider.js +16 -0
- package/dist/esm/DatePicker.js +37 -6
- package/dist/esm/Dialog.js +9 -16
- package/dist/esm/Elevator.js +16 -5
- package/dist/esm/Grid/style/index.js +2 -0
- package/dist/esm/Grid.js +91 -0
- package/dist/esm/GridItem/style/index.js +2 -0
- package/dist/esm/GridItem.js +99 -0
- package/dist/esm/ImagePreview/style/index.js +2 -0
- package/dist/esm/ImagePreview.js +257 -0
- package/dist/esm/Menu/style/index.js +3 -0
- package/dist/esm/Menu.js +153 -0
- package/dist/esm/MenuItem/style/index.js +3 -0
- package/dist/esm/MenuItem.js +197 -0
- package/dist/esm/NoticeBar.js +3 -2
- package/dist/esm/Notify.js +2 -1
- package/dist/esm/Popover.js +4 -11
- package/dist/esm/Range.js +2 -45
- package/dist/esm/Swipe/style/index.js +2 -0
- package/dist/esm/Swipe.js +265 -0
- package/dist/esm/Swiper.js +2 -1
- package/dist/esm/TabPane.js +5 -33
- package/dist/esm/Tabs.js +6 -196
- package/dist/esm/TextArea.js +45 -4
- package/dist/esm/Toast.js +2 -1
- package/dist/esm/nutui-react.es.js +8 -0
- package/dist/esm/render-4a3856cb.js +32 -0
- package/dist/esm/tabpane-c957ab14.js +33 -0
- package/dist/esm/tabs-a48583e9.js +196 -0
- package/dist/esm/useClientRect-839d18c5.js +44 -0
- package/dist/locales/base.d.ts +16 -0
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +17 -1
- package/dist/locales/id-ID.js +17 -1
- package/dist/locales/zh-CN.js +17 -1
- package/dist/locales/zh-TW.js +17 -1
- package/dist/nutui.react.es.js +2338 -530
- package/dist/nutui.react.umd.js +2345 -529
- package/dist/packages/audio/audio.scss +80 -0
- package/dist/packages/calendar/calendar.scss +57 -36
- package/dist/packages/calendaritem/calendaritem.scss +0 -191
- package/dist/packages/cascader/cascader.scss +69 -0
- package/dist/packages/grid/grid.scss +10 -0
- package/dist/packages/griditem/griditem.scss +103 -0
- package/dist/packages/imagepreview/imagepreview.scss +51 -0
- package/dist/packages/menu/menu.scss +72 -0
- package/dist/packages/menuitem/menuitem.scss +90 -0
- package/dist/packages/popup/popup.scss +1 -1
- package/dist/packages/searchbar/searchbar.scss +1 -0
- package/dist/packages/shortpassword/shortpassword.scss +6 -1
- package/dist/packages/swipe/swipe.scss +33 -0
- package/dist/packages/textarea/textarea.scss +16 -1
- package/dist/style.css +1 -1
- package/dist/style.es.js +1 -1
- package/dist/styles/font/iconfont.js +20 -18
- package/dist/styles/themes/default.scss +8 -0
- package/dist/styles/variables.scss +59 -8
- package/dist/types/audio/__test__/audio.spec.d.ts +1 -0
- package/dist/types/audio/audio.d.ts +18 -0
- package/dist/types/audio/audio.taro.d.ts +18 -0
- package/dist/types/audio/demo.d.ts +4 -0
- package/dist/types/audio/index.d.ts +2 -0
- package/dist/types/audio/index.taro.d.ts +2 -0
- package/dist/types/backtop/__test__/backtop.spec.d.ts +1 -0
- package/dist/types/calendar/__tests__/calendar.spec.d.ts +1 -0
- package/dist/types/calendar/calendar.d.ts +22 -2
- package/dist/types/calendar/demo.d.ts +1 -0
- package/dist/types/calendaritem/calendaritem.d.ts +21 -3
- package/dist/types/cascader/__tests__/cascader.spec.d.ts +1 -0
- package/dist/types/cascader/cascader.d.ts +25 -0
- package/dist/types/cascader/cascader.taro.d.ts +25 -0
- package/dist/types/cascader/cascaderItem.d.ts +25 -0
- package/dist/types/cascader/cascaderItem.taro.d.ts +25 -0
- package/dist/types/cascader/demo.d.ts +3 -0
- package/dist/types/cascader/helper.d.ts +4 -0
- package/dist/types/cascader/index.d.ts +2 -0
- package/dist/types/cascader/index.taro.d.ts +2 -0
- package/dist/types/cascader/tree.d.ts +12 -0
- package/dist/types/cascader/types.d.ts +28 -0
- package/dist/types/checkbox/checkbox.d.ts +2 -2
- package/dist/types/checkbox/checkbox.taro.d.ts +2 -2
- package/dist/types/checkboxgroup/checkboxgroup.d.ts +2 -2
- package/dist/types/checkboxgroup/checkboxgroup.taro.d.ts +2 -2
- package/dist/types/dialog/__test__/dialog.spec.d.ts +1 -0
- package/dist/types/dialog/config.d.ts +3 -3
- package/dist/types/dialog/dialog.d.ts +2 -1
- package/dist/types/dialog/dialog.taro.d.ts +2 -1
- package/dist/types/fixednav/fixednav.d.ts +2 -2
- package/dist/types/grid/__test__/grid.spec.d.ts +1 -0
- package/dist/types/grid/demo.d.ts +3 -0
- package/dist/types/grid/grid.d.ts +16 -0
- package/dist/types/grid/grid.taro.d.ts +16 -0
- package/dist/types/grid/index.d.ts +2 -0
- package/dist/types/grid/index.taro.d.ts +2 -0
- package/dist/types/griditem/griditem.d.ts +20 -0
- package/dist/types/griditem/griditem.taro.d.ts +20 -0
- package/dist/types/griditem/index.d.ts +2 -0
- package/dist/types/griditem/index.taro.d.ts +2 -0
- package/dist/types/icon/icon.d.ts +1 -2
- package/dist/types/icon/icon.taro.d.ts +1 -2
- package/dist/types/imagepreview/__test__/imagepreview.spec.d.ts +1 -0
- package/dist/types/imagepreview/demo.d.ts +3 -0
- package/dist/types/imagepreview/imagepreview.d.ts +26 -0
- package/dist/types/imagepreview/imagepreview.taro.d.ts +26 -0
- package/dist/types/imagepreview/index.d.ts +2 -0
- package/dist/types/imagepreview/index.taro.d.ts +2 -0
- package/dist/types/input/__test__/input.spec.d.ts +1 -0
- package/dist/types/menu/__test__/menu.spec.d.ts +1 -0
- package/dist/types/menu/demo.d.ts +4 -0
- package/dist/types/menu/index.d.ts +2 -0
- package/dist/types/menu/index.taro.d.ts +2 -0
- package/dist/types/menu/menu.d.ts +12 -0
- package/dist/types/menu/menu.taro.d.ts +12 -0
- package/dist/types/menuitem/index.d.ts +2 -0
- package/dist/types/menuitem/index.taro.d.ts +2 -0
- package/dist/types/menuitem/menuitem.d.ts +23 -0
- package/dist/types/menuitem/menuitem.taro.d.ts +23 -0
- package/dist/types/notify/__test__/notify.spec.d.ts +1 -0
- package/dist/types/notify/notify.d.ts +13 -0
- package/dist/types/notify/notify.taro.d.ts +13 -0
- package/dist/types/nutui.react.d.ts +95 -1
- package/dist/types/picker/doc.en.d.ts +142 -0
- package/dist/types/picker/picker.d.ts +2 -2
- package/dist/types/picker/picker.taro.d.ts +2 -2
- package/dist/types/popup/popup.d.ts +1 -1
- package/dist/types/popup/popup.taro.d.ts +1 -1
- package/dist/types/shortpassword/shortpassword.taro.d.ts +3 -3
- package/dist/types/sidenavbar/sidenavbar.d.ts +14 -2
- package/dist/types/sidenavbar/sidenavbar.taro.d.ts +14 -2
- package/dist/types/sidenavbaritem/sidenavbaritem.d.ts +10 -2
- package/dist/types/sidenavbaritem/sidenavbaritem.taro.d.ts +10 -2
- package/dist/types/subsidenavbar/subsidenavbar.d.ts +13 -3
- package/dist/types/subsidenavbar/subsidenavbar.taro.d.ts +13 -3
- package/dist/types/swipe/__tests__/swipe.spec.d.ts +1 -0
- package/dist/types/swipe/demo.d.ts +3 -0
- package/dist/types/swipe/index.d.ts +2 -0
- package/dist/types/swipe/index.taro.d.ts +2 -0
- package/dist/types/swipe/swipe.d.ts +41 -0
- package/dist/types/swipe/swipe.taro.d.ts +41 -0
- package/dist/types/swiper/swiper.d.ts +1 -2
- package/dist/types/swiperitem/swiperitem.d.ts +1 -2
- package/dist/types/table/table.d.ts +2 -1
- package/dist/types/table/table.taro.d.ts +2 -1
- package/dist/types/table/types.d.ts +1 -1
- package/dist/types/textarea/__test__/textarea.spec.d.ts +1 -0
- package/dist/types/toast/toast.d.ts +21 -0
- package/dist/types/toast/toast.taro.d.ts +18 -0
- package/dist/types/virtuallist/type.d.ts +1 -1
- package/dist/types/virtuallist/virtuallist.d.ts +2 -1
- package/dist/types/virtuallist/virtuallist.taro.d.ts +2 -1
- package/package.json +4 -4
package/dist/esm/Menu.js
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
+
var _excluded = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor"];
|
|
6
|
+
|
|
7
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
+
|
|
9
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
+
|
|
11
|
+
import React__default, { useRef, useEffect, useState } from 'react';
|
|
12
|
+
import classNames from 'classnames';
|
|
13
|
+
import Icon from './Icon.js';
|
|
14
|
+
var defaultProps = {
|
|
15
|
+
className: '',
|
|
16
|
+
style: {},
|
|
17
|
+
activeColor: '#F2270C',
|
|
18
|
+
closeOnClickOverlay: true,
|
|
19
|
+
scrollFixed: false,
|
|
20
|
+
lockScroll: true,
|
|
21
|
+
titleIcon: ''
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var Menu = function Menu(props) {
|
|
25
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
26
|
+
className = _defaultProps$props.className,
|
|
27
|
+
titleIcon = _defaultProps$props.titleIcon,
|
|
28
|
+
scrollFixed = _defaultProps$props.scrollFixed,
|
|
29
|
+
lockScroll = _defaultProps$props.lockScroll,
|
|
30
|
+
closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay,
|
|
31
|
+
children = _defaultProps$props.children,
|
|
32
|
+
activeColor = _defaultProps$props.activeColor,
|
|
33
|
+
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
34
|
+
|
|
35
|
+
var parentRef = useRef(null);
|
|
36
|
+
|
|
37
|
+
var onScroll = function onScroll() {};
|
|
38
|
+
|
|
39
|
+
useEffect(function () {
|
|
40
|
+
if (scrollFixed) {
|
|
41
|
+
window.addEventListener('scroll', onScroll);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return function () {
|
|
45
|
+
return window.removeEventListener('scroll', onScroll);
|
|
46
|
+
};
|
|
47
|
+
}, []);
|
|
48
|
+
|
|
49
|
+
var _useState = useState([]),
|
|
50
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
+
itemShow = _useState2[0],
|
|
52
|
+
setItemShow = _useState2[1];
|
|
53
|
+
|
|
54
|
+
var _useState3 = useState([]),
|
|
55
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
56
|
+
itemTitle = _useState4[0],
|
|
57
|
+
setItemTitle = _useState4[1];
|
|
58
|
+
|
|
59
|
+
var toggleItemShow = function toggleItemShow(index) {
|
|
60
|
+
itemShow[index] = !itemShow[index];
|
|
61
|
+
var temp = itemShow.map(function (i, idx) {
|
|
62
|
+
return idx === index ? i : false;
|
|
63
|
+
});
|
|
64
|
+
setItemShow(_toConsumableArray(temp));
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
var hideItemShow = function hideItemShow(index) {
|
|
68
|
+
itemShow[index] = false;
|
|
69
|
+
setItemShow(_toConsumableArray(itemShow));
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
var updateTitle = function updateTitle(text, index) {
|
|
73
|
+
itemTitle[index] = text;
|
|
74
|
+
setItemTitle(_toConsumableArray(itemTitle));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var parent = function parent() {
|
|
78
|
+
return parentRef;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var cloneChildren = function cloneChildren() {
|
|
82
|
+
return React__default.Children.map(children, function (child, index) {
|
|
83
|
+
return React__default.cloneElement(child, {
|
|
84
|
+
showPopup: itemShow[index],
|
|
85
|
+
orderKey: index,
|
|
86
|
+
activeColor: activeColor,
|
|
87
|
+
parent: {
|
|
88
|
+
closeOnClickOverlay: closeOnClickOverlay,
|
|
89
|
+
lockScroll: lockScroll,
|
|
90
|
+
toggleItemShow: toggleItemShow,
|
|
91
|
+
updateTitle: updateTitle,
|
|
92
|
+
hideItemShow: hideItemShow,
|
|
93
|
+
parent: parent
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
return React__default.createElement("div", _objectSpread(_objectSpread({
|
|
100
|
+
className: "nut-menu ".concat(className)
|
|
101
|
+
}, rest), {}, {
|
|
102
|
+
ref: parentRef
|
|
103
|
+
}), React__default.createElement("div", {
|
|
104
|
+
className: "nut-menu__bar ".concat(itemShow.includes(true) ? 'opened' : '', " ").concat(className)
|
|
105
|
+
}, React__default.Children.toArray(children).map(function (child, index) {
|
|
106
|
+
if (!child) return null;
|
|
107
|
+
var _child$props = child.props,
|
|
108
|
+
disabled = _child$props.disabled,
|
|
109
|
+
title = _child$props.title,
|
|
110
|
+
value = _child$props.value,
|
|
111
|
+
direction = _child$props.direction,
|
|
112
|
+
options = _child$props.options;
|
|
113
|
+
var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function (option) {
|
|
114
|
+
return option.value === value;
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
function finallyTitle() {
|
|
118
|
+
if (title) return title;
|
|
119
|
+
if (itemTitle && itemTitle[index]) return itemTitle[index];
|
|
120
|
+
if (currentTitle && currentTitle[0] && currentTitle[0].text) return currentTitle[0].text;
|
|
121
|
+
return '';
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return React__default.createElement("div", {
|
|
125
|
+
className: "nut-menu__item ".concat(classNames({
|
|
126
|
+
active: itemShow[index],
|
|
127
|
+
disabled: disabled
|
|
128
|
+
})),
|
|
129
|
+
style: {
|
|
130
|
+
color: itemShow[index] ? activeColor : ''
|
|
131
|
+
},
|
|
132
|
+
key: index,
|
|
133
|
+
onClick: function onClick() {
|
|
134
|
+
!disabled && toggleItemShow(index);
|
|
135
|
+
}
|
|
136
|
+
}, React__default.createElement("div", {
|
|
137
|
+
className: "nut-menu__title ".concat(classNames({
|
|
138
|
+
active: itemShow[index],
|
|
139
|
+
disabled: disabled
|
|
140
|
+
}))
|
|
141
|
+
}, React__default.createElement("div", {
|
|
142
|
+
className: "nut-menu__title-text"
|
|
143
|
+
}, finallyTitle()), React__default.createElement(Icon, {
|
|
144
|
+
className: "nut-menu__title-icon",
|
|
145
|
+
size: "10",
|
|
146
|
+
name: titleIcon || (direction === 'up' ? 'arrow-up' : 'down-arrow')
|
|
147
|
+
})));
|
|
148
|
+
})), cloneChildren());
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
Menu.defaultProps = defaultProps;
|
|
152
|
+
Menu.displayName = 'NutMenu';
|
|
153
|
+
export { Menu as default };
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
+
|
|
8
|
+
import React__default, { useState, useEffect } from 'react';
|
|
9
|
+
import classNames from 'classnames';
|
|
10
|
+
import { CSSTransition } from 'react-transition-group';
|
|
11
|
+
import { useConfig } from './ConfigProvider.js';
|
|
12
|
+
import Icon from './Icon.js';
|
|
13
|
+
import { O as Overlay } from './overlay-ed3eb37d.js';
|
|
14
|
+
import './bem-893ad28d.js';
|
|
15
|
+
import '@bem-react/classname';
|
|
16
|
+
var defaultProps = {
|
|
17
|
+
className: '',
|
|
18
|
+
style: {},
|
|
19
|
+
columns: 1,
|
|
20
|
+
direction: 'down',
|
|
21
|
+
optionsIcon: 'Check',
|
|
22
|
+
activeTitleClass: '',
|
|
23
|
+
inactiveTitleClass: '',
|
|
24
|
+
iconClassPrefix: 'nut-icon',
|
|
25
|
+
fontClassName: 'nutui-iconfont',
|
|
26
|
+
onChange: function onChange(value) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var MenuItem = function MenuItem(props) {
|
|
32
|
+
useConfig();
|
|
33
|
+
|
|
34
|
+
var mergedProps = _objectSpread(_objectSpread({}, defaultProps), props);
|
|
35
|
+
|
|
36
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
37
|
+
className = _defaultProps$props.className,
|
|
38
|
+
style = _defaultProps$props.style,
|
|
39
|
+
options = _defaultProps$props.options,
|
|
40
|
+
value = _defaultProps$props.value,
|
|
41
|
+
columns = _defaultProps$props.columns,
|
|
42
|
+
title = _defaultProps$props.title,
|
|
43
|
+
iconClassPrefix = _defaultProps$props.iconClassPrefix,
|
|
44
|
+
fontClassName = _defaultProps$props.fontClassName,
|
|
45
|
+
optionsIcon = _defaultProps$props.optionsIcon,
|
|
46
|
+
direction = _defaultProps$props.direction,
|
|
47
|
+
onChange = _defaultProps$props.onChange,
|
|
48
|
+
activeTitleClass = _defaultProps$props.activeTitleClass,
|
|
49
|
+
inactiveTitleClass = _defaultProps$props.inactiveTitleClass,
|
|
50
|
+
children = _defaultProps$props.children;
|
|
51
|
+
|
|
52
|
+
var activeColor = mergedProps.activeColor,
|
|
53
|
+
showPopup = mergedProps.showPopup,
|
|
54
|
+
parent = mergedProps.parent,
|
|
55
|
+
orderKey = mergedProps.orderKey;
|
|
56
|
+
|
|
57
|
+
var _useState = useState(showPopup),
|
|
58
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
59
|
+
_showPopup = _useState2[0],
|
|
60
|
+
setShowPopup = _useState2[1];
|
|
61
|
+
|
|
62
|
+
var _useState3 = useState(value),
|
|
63
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
64
|
+
_value = _useState4[0],
|
|
65
|
+
setValue = _useState4[1];
|
|
66
|
+
|
|
67
|
+
useEffect(function () {
|
|
68
|
+
setShowPopup(showPopup);
|
|
69
|
+
}, [showPopup]);
|
|
70
|
+
useEffect(function () {
|
|
71
|
+
getParentOffset();
|
|
72
|
+
}, [_showPopup]);
|
|
73
|
+
|
|
74
|
+
var getIconCName = function getIconCName(optionVal, value) {
|
|
75
|
+
var _classNames;
|
|
76
|
+
|
|
77
|
+
return classNames((_classNames = {}, _defineProperty(_classNames, activeTitleClass, optionVal === value), _defineProperty(_classNames, inactiveTitleClass, optionVal !== value), _classNames));
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var setTitle = function setTitle(text) {
|
|
81
|
+
if (!title) {
|
|
82
|
+
parent.updateTitle(text, orderKey);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var handleClick = function handleClick(item) {
|
|
87
|
+
parent.toggleItemShow(orderKey);
|
|
88
|
+
setTitle(item.text);
|
|
89
|
+
setValue(item.value);
|
|
90
|
+
onChange && onChange(item);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
var _useState5 = useState({
|
|
94
|
+
top: 0,
|
|
95
|
+
height: 0
|
|
96
|
+
}),
|
|
97
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
98
|
+
position = _useState6[0],
|
|
99
|
+
setPosition = _useState6[1];
|
|
100
|
+
|
|
101
|
+
var getParentOffset = function getParentOffset() {
|
|
102
|
+
setTimeout(function () {
|
|
103
|
+
var p = parent.parent().current;
|
|
104
|
+
var rect = p.getBoundingClientRect();
|
|
105
|
+
console.log(rect, p.offsetTop, window.screenTop);
|
|
106
|
+
setPosition({
|
|
107
|
+
height: rect.height,
|
|
108
|
+
top: rect.top
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
var isShow = function isShow() {
|
|
114
|
+
if (_showPopup) return {};
|
|
115
|
+
return {
|
|
116
|
+
display: 'none'
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
var getPosition = function getPosition() {
|
|
121
|
+
return direction === 'down' ? {
|
|
122
|
+
top: "".concat(position.top + position.height, "px")
|
|
123
|
+
} : {
|
|
124
|
+
bottom: "".concat(window.innerHeight - position.top, "px"),
|
|
125
|
+
top: 'auto'
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var placeholderStyle = function placeholderStyle() {
|
|
130
|
+
if (direction === 'down') {
|
|
131
|
+
return _objectSpread(_objectSpread({
|
|
132
|
+
height: "".concat(position.top + position.height, "px")
|
|
133
|
+
}, isShow()), style);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return _objectSpread(_objectSpread({
|
|
137
|
+
height: "".concat(window.innerHeight - position.top, "px"),
|
|
138
|
+
top: 'auto'
|
|
139
|
+
}, isShow()), style);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
|
143
|
+
className: "placeholder-element ".concat(classNames({
|
|
144
|
+
up: direction === 'up'
|
|
145
|
+
}), " ").concat(className),
|
|
146
|
+
style: placeholderStyle(),
|
|
147
|
+
onClick: function onClick() {
|
|
148
|
+
return parent.toggleItemShow(orderKey);
|
|
149
|
+
}
|
|
150
|
+
}), React__default.createElement(Overlay, {
|
|
151
|
+
overlayClass: "nut-menu__overlay",
|
|
152
|
+
style: getPosition(),
|
|
153
|
+
lockScroll: parent.lockScroll,
|
|
154
|
+
visible: _showPopup,
|
|
155
|
+
closeOnClickOverlay: parent.closeOnClickOverlay,
|
|
156
|
+
onClick: function onClick() {
|
|
157
|
+
parent.closeOnClickOverlay && parent.toggleItemShow(orderKey);
|
|
158
|
+
}
|
|
159
|
+
}), React__default.createElement("div", {
|
|
160
|
+
className: "nut-menu-item__wrap",
|
|
161
|
+
style: _objectSpread(_objectSpread({}, getPosition()), isShow())
|
|
162
|
+
}, React__default.createElement(CSSTransition, {
|
|
163
|
+
"in": _showPopup,
|
|
164
|
+
timeout: 100,
|
|
165
|
+
classNames: "menu-item"
|
|
166
|
+
}, React__default.createElement("div", {
|
|
167
|
+
className: "nut-menu-item__content"
|
|
168
|
+
}, options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
169
|
+
return React__default.createElement("div", {
|
|
170
|
+
className: "nut-menu-item__option ".concat(classNames({
|
|
171
|
+
active: item.value === _value
|
|
172
|
+
})),
|
|
173
|
+
key: item.text,
|
|
174
|
+
style: {
|
|
175
|
+
flexBasis: "".concat(100 / columns, "%")
|
|
176
|
+
},
|
|
177
|
+
onClick: function onClick() {
|
|
178
|
+
handleClick(item);
|
|
179
|
+
}
|
|
180
|
+
}, item.value === _value ? React__default.createElement(Icon, {
|
|
181
|
+
className: getIconCName(item.value, value),
|
|
182
|
+
name: optionsIcon,
|
|
183
|
+
classPrefix: iconClassPrefix,
|
|
184
|
+
fontClassName: fontClassName,
|
|
185
|
+
color: activeColor
|
|
186
|
+
}) : null, React__default.createElement("div", {
|
|
187
|
+
className: getIconCName(item.value, value),
|
|
188
|
+
style: {
|
|
189
|
+
color: "".concat(item.value === _value ? activeColor : '')
|
|
190
|
+
}
|
|
191
|
+
}, item.text));
|
|
192
|
+
}), children))));
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
MenuItem.defaultProps = defaultProps;
|
|
196
|
+
MenuItem.displayName = 'NutMenuItem';
|
|
197
|
+
export { MenuItem as default };
|
package/dist/esm/NoticeBar.js
CHANGED
|
@@ -9,6 +9,7 @@ import React__default, { useRef, useState, useEffect } from 'react';
|
|
|
9
9
|
import classNames from 'classnames';
|
|
10
10
|
import Icon from './Icon.js';
|
|
11
11
|
import { c as cn } from './bem-893ad28d.js';
|
|
12
|
+
import { g as getRect } from './useClientRect-839d18c5.js';
|
|
12
13
|
import '@bem-react/classname';
|
|
13
14
|
var defaultProps = {
|
|
14
15
|
// 滚动方向 across 横向 vertical 纵向
|
|
@@ -166,8 +167,8 @@ var NoticeBar = function NoticeBar(props) {
|
|
|
166
167
|
return;
|
|
167
168
|
}
|
|
168
169
|
|
|
169
|
-
var wrapW = wrap.current
|
|
170
|
-
var offsetW = content.current
|
|
170
|
+
var wrapW = getRect(wrap.current).width;
|
|
171
|
+
var offsetW = getRect(content.current).width;
|
|
171
172
|
var canScroll = scrollable == null ? offsetW > wrapW : scrollable;
|
|
172
173
|
SetIsCanScroll(canScroll);
|
|
173
174
|
|
package/dist/esm/Notify.js
CHANGED
|
@@ -19,6 +19,7 @@ import * as ReactDOM from 'react-dom';
|
|
|
19
19
|
import classNames from 'classnames';
|
|
20
20
|
import { CSSTransition } from 'react-transition-group';
|
|
21
21
|
import { c as cn } from './bem-893ad28d.js';
|
|
22
|
+
import { r as render } from './render-4a3856cb.js';
|
|
22
23
|
import '@bem-react/classname';
|
|
23
24
|
|
|
24
25
|
var Notification = /*#__PURE__*/function (_React$PureComponent) {
|
|
@@ -165,7 +166,7 @@ Notification.newInstance = function (properties, callback) {
|
|
|
165
166
|
});
|
|
166
167
|
}
|
|
167
168
|
|
|
168
|
-
|
|
169
|
+
render(React.createElement(Notification, _objectSpread(_objectSpread({}, properties), {}, {
|
|
169
170
|
ref: ref
|
|
170
171
|
})), element);
|
|
171
172
|
};
|
package/dist/esm/Popover.js
CHANGED
|
@@ -20,6 +20,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
20
20
|
import React__default, { useRef, useState, useEffect } from 'react';
|
|
21
21
|
import Icon from './Icon.js';
|
|
22
22
|
import Overlay from './Overlay.js';
|
|
23
|
+
import { g as getRect } from './useClientRect-839d18c5.js';
|
|
23
24
|
/**
|
|
24
25
|
* 过滤ref
|
|
25
26
|
*/
|
|
@@ -101,14 +102,6 @@ var Trigger = /*#__PURE__*/function (_React__default$Compo) {
|
|
|
101
102
|
return Trigger;
|
|
102
103
|
}(React__default.Component);
|
|
103
104
|
|
|
104
|
-
var getEleAttr = function getEleAttr(ele) {
|
|
105
|
-
if (ele && ele.getBoundingClientRect) {
|
|
106
|
-
return ele.getBoundingClientRect();
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return null;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
105
|
var defaultProps = {
|
|
113
106
|
list: [],
|
|
114
107
|
theme: 'light',
|
|
@@ -136,9 +129,9 @@ var Popover = function Popover(props) {
|
|
|
136
129
|
|
|
137
130
|
var goodItem = useRef(null);
|
|
138
131
|
setTimeout(function () {
|
|
139
|
-
if (goodItem.current &&
|
|
140
|
-
setElWidth(
|
|
141
|
-
setElHeight(
|
|
132
|
+
if (goodItem.current && getRect(goodItem.current)) {
|
|
133
|
+
setElWidth(getRect(goodItem.current).width);
|
|
134
|
+
setElHeight(getRect(goodItem.current).height);
|
|
142
135
|
}
|
|
143
136
|
});
|
|
144
137
|
|
package/dist/esm/Range.js
CHANGED
|
@@ -7,52 +7,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
7
7
|
|
|
8
8
|
import React__default, { useState, useRef, useEffect, useCallback } from 'react';
|
|
9
9
|
import { u as useTouch } from './useTouch-a2ea68c6.js';
|
|
10
|
+
import { g as getRect } from './useClientRect-839d18c5.js';
|
|
10
11
|
import Toast from './Toast.js';
|
|
11
12
|
import { useConfig } from './ConfigProvider.js';
|
|
12
|
-
/**
|
|
13
|
-
获取元素的大小及其相对于视口的位置,等价于 Element.getBoundingClientRect。
|
|
14
|
-
width 宽度 number
|
|
15
|
-
height 高度 number
|
|
16
|
-
top 顶部与视图窗口左上角的距离 number
|
|
17
|
-
left 左侧与视图窗口左上角的距离 number
|
|
18
|
-
right 右侧与视图窗口左上角的距离 number
|
|
19
|
-
bottom 底部与视图窗口左上角的距离 number
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
function isWindow(val) {
|
|
23
|
-
return val === window;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var getRect = function getRect(elementRef) {
|
|
27
|
-
var element = elementRef;
|
|
28
|
-
|
|
29
|
-
if (isWindow(element)) {
|
|
30
|
-
var width = element.innerWidth;
|
|
31
|
-
var height = element.innerHeight;
|
|
32
|
-
return {
|
|
33
|
-
top: 0,
|
|
34
|
-
left: 0,
|
|
35
|
-
right: width,
|
|
36
|
-
bottom: height,
|
|
37
|
-
width: width,
|
|
38
|
-
height: height
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (element && element.getBoundingClientRect) {
|
|
43
|
-
return element.getBoundingClientRect();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return {
|
|
47
|
-
top: 0,
|
|
48
|
-
left: 0,
|
|
49
|
-
right: 0,
|
|
50
|
-
bottom: 0,
|
|
51
|
-
width: 0,
|
|
52
|
-
height: 0
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
|
|
56
13
|
var defaultProps = {
|
|
57
14
|
range: false,
|
|
58
15
|
hiddenRange: false,
|
|
@@ -445,7 +402,7 @@ var Range = function Range(props) {
|
|
|
445
402
|
return React__default.createElement("div", {
|
|
446
403
|
role: "slider",
|
|
447
404
|
key: index,
|
|
448
|
-
className: "".concat(index === 0 ? 'nut-range-button-wrapper-left' : '', "\n
|
|
405
|
+
className: "".concat(index === 0 ? 'nut-range-button-wrapper-left' : '', "\n ").concat(index === 1 ? 'nut-range-button-wrapper-right' : ''),
|
|
449
406
|
tabIndex: disabled ? -1 : 0,
|
|
450
407
|
"aria-valuemin": +min,
|
|
451
408
|
"aria-valuenow": curValue(index),
|