@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/Sticky.js
CHANGED
|
@@ -1,25 +1,43 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
+
var _excluded = ["position", "zIndex", "children", "container", "style", "className", "threshold", "onChange"];
|
|
5
|
+
function ownKeys(object, enumerableOnly) {
|
|
6
|
+
var keys = Object.keys(object);
|
|
7
|
+
if (Object.getOwnPropertySymbols) {
|
|
8
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
9
|
+
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
10
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
11
|
+
})), keys.push.apply(keys, symbols);
|
|
12
|
+
}
|
|
13
|
+
return keys;
|
|
14
|
+
}
|
|
15
|
+
function _objectSpread(target) {
|
|
16
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
17
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
18
|
+
i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
|
|
19
|
+
_defineProperty(target, key, source[key]);
|
|
20
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
|
|
21
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return target;
|
|
25
|
+
}
|
|
26
|
+
import React__default, { useRef, useEffect, useState, useCallback } from "react";
|
|
27
|
+
import classNames from "classnames";
|
|
28
|
+
import { g as getScrollParent } from "./get-scroll-parent.js";
|
|
29
|
+
import { g as getRect } from "./use-client-rect.js";
|
|
30
|
+
import { C as ComponentDefaults } from "./typings.js";
|
|
13
31
|
function useWatch(dep, callback) {
|
|
14
|
-
var config = arguments.length > 2 && arguments[2] !==
|
|
32
|
+
var config = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
|
|
15
33
|
immediate: false
|
|
16
34
|
};
|
|
17
35
|
var immediate = config.immediate;
|
|
18
36
|
var prev = useRef();
|
|
19
37
|
var inited = useRef(false);
|
|
20
38
|
var stop = useRef(false);
|
|
21
|
-
useEffect(function
|
|
22
|
-
var execute = function
|
|
39
|
+
useEffect(function() {
|
|
40
|
+
var execute = function execute2() {
|
|
23
41
|
return callback(prev.current);
|
|
24
42
|
};
|
|
25
43
|
if (!stop.current) {
|
|
@@ -34,159 +52,132 @@ function useWatch(dep, callback) {
|
|
|
34
52
|
prev.current = dep;
|
|
35
53
|
}
|
|
36
54
|
}, [dep]);
|
|
37
|
-
return function
|
|
55
|
+
return function() {
|
|
38
56
|
stop.current = true;
|
|
39
57
|
};
|
|
40
58
|
}
|
|
41
|
-
var defaultProps = {
|
|
42
|
-
position:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var
|
|
48
|
-
var Sticky = function Sticky(props) {
|
|
59
|
+
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
60
|
+
position: "top",
|
|
61
|
+
threshold: 0,
|
|
62
|
+
zIndex: 2e3
|
|
63
|
+
});
|
|
64
|
+
var classPrefix = "nut-sticky";
|
|
65
|
+
var Sticky = function Sticky2(props) {
|
|
49
66
|
var _useState5;
|
|
50
|
-
var
|
|
51
|
-
position = _props$position === void 0 ? 'top' : _props$position,
|
|
52
|
-
_props$top = props.top,
|
|
53
|
-
top = _props$top === void 0 ? 0 : _props$top,
|
|
54
|
-
_props$bottom = props.bottom,
|
|
55
|
-
bottom = _props$bottom === void 0 ? 0 : _props$bottom,
|
|
56
|
-
_props$zIndex = props.zIndex,
|
|
57
|
-
zIndex = _props$zIndex === void 0 ? 2000 : _props$zIndex,
|
|
58
|
-
children = props.children,
|
|
59
|
-
container = props.container,
|
|
60
|
-
className = props.className,
|
|
61
|
-
onChange = props.onChange,
|
|
62
|
-
rest = _objectWithoutProperties(props, _excluded);
|
|
63
|
-
// const { locale } = useConfig()
|
|
67
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), position = _defaultProps$props.position, zIndex = _defaultProps$props.zIndex, children = _defaultProps$props.children, container = _defaultProps$props.container, style = _defaultProps$props.style, className = _defaultProps$props.className, threshold = _defaultProps$props.threshold, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
64
68
|
var stickyRef = useRef(null);
|
|
65
69
|
var rootRef = useRef(null);
|
|
66
|
-
var
|
|
67
|
-
var
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
setIsFixed = _useState2[1];
|
|
71
|
-
var _useState3 = useState((_useState5 = {}, _defineProperty(_useState5, position, "".concat(offset, "px")), _defineProperty(_useState5, "zIndex", zIndex), _useState5)),
|
|
72
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
73
|
-
stickyStyle = _useState4[0],
|
|
74
|
-
setStickyStyle = _useState4[1];
|
|
75
|
-
var _useState6 = useState({}),
|
|
76
|
-
_useState7 = _slicedToArray(_useState6, 2),
|
|
77
|
-
rootStyle = _useState7[0],
|
|
78
|
-
setRootStyle = _useState7[1];
|
|
79
|
-
var getElement = useCallback(function () {
|
|
80
|
-
// if (!rootRef.current) return Window
|
|
70
|
+
var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isFixed = _useState2[0], setIsFixed = _useState2[1];
|
|
71
|
+
var _useState3 = useState((_useState5 = {}, _defineProperty(_useState5, position, "".concat(threshold, "px")), _defineProperty(_useState5, "zIndex", zIndex), _useState5)), _useState4 = _slicedToArray(_useState3, 2), stickyStyle = _useState4[0], setStickyStyle = _useState4[1];
|
|
72
|
+
var _useState6 = useState({}), _useState7 = _slicedToArray(_useState6, 2), rootStyle = _useState7[0], setRootStyle = _useState7[1];
|
|
73
|
+
var getElement = useCallback(function() {
|
|
81
74
|
return getScrollParent(rootRef.current);
|
|
82
75
|
}, []);
|
|
83
|
-
useEffect(function
|
|
84
|
-
if (position ===
|
|
76
|
+
useEffect(function() {
|
|
77
|
+
if (position === "top")
|
|
78
|
+
return;
|
|
85
79
|
var containerEle = container === null || container === void 0 ? void 0 : container.current;
|
|
86
|
-
if (!rootRef.current && !containerEle)
|
|
80
|
+
if (!rootRef.current && !containerEle)
|
|
81
|
+
return;
|
|
87
82
|
var rootRect = getRect(rootRef.current);
|
|
88
83
|
var containerRect = getRect(containerEle);
|
|
89
84
|
var clientHeight = document.documentElement.clientHeight;
|
|
90
85
|
var stCurrent = stickyRef.current;
|
|
91
86
|
var stickyRect = getRect(stCurrent);
|
|
92
|
-
var fixed = clientHeight -
|
|
87
|
+
var fixed = clientHeight - threshold < rootRect.bottom;
|
|
93
88
|
if (containerEle) {
|
|
94
|
-
fixed = containerRect.bottom > clientHeight -
|
|
89
|
+
fixed = containerRect.bottom > clientHeight - threshold - stickyRect.height && clientHeight - threshold - stickyRect.height > containerRect.top;
|
|
95
90
|
}
|
|
96
|
-
var defaultPostVal = fixed ?
|
|
97
|
-
setStickyStyle(function
|
|
91
|
+
var defaultPostVal = fixed ? "fixed" : "inherit";
|
|
92
|
+
setStickyStyle(function(prev) {
|
|
98
93
|
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
99
94
|
position: defaultPostVal
|
|
100
95
|
});
|
|
101
96
|
});
|
|
102
97
|
setIsFixed(fixed);
|
|
103
|
-
}, [position, container,
|
|
104
|
-
var handleScroll = useCallback(function
|
|
98
|
+
}, [position, container, threshold]);
|
|
99
|
+
var handleScroll = useCallback(function() {
|
|
105
100
|
var containerEle = container === null || container === void 0 ? void 0 : container.current;
|
|
106
|
-
if (!rootRef.current && !containerEle)
|
|
101
|
+
if (!rootRef.current && !containerEle)
|
|
102
|
+
return;
|
|
107
103
|
var rootRect = getRect(rootRef.current);
|
|
108
104
|
var stCurrent = stickyRef.current;
|
|
109
105
|
var stickyRect = getRect(stCurrent);
|
|
110
106
|
var containerRect = getRect(containerEle);
|
|
111
107
|
if (rootRect.height) {
|
|
112
|
-
setRootStyle(function
|
|
108
|
+
setRootStyle(function(prev) {
|
|
113
109
|
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
114
110
|
height: rootRect.height
|
|
115
111
|
});
|
|
116
112
|
});
|
|
117
113
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (
|
|
121
|
-
|
|
122
|
-
var positionVal = fixed ? 'fixed' : 'inherit';
|
|
123
|
-
var diff = containerRect.bottom - top - stickyRect.height;
|
|
124
|
-
var transform = diff < 0 ? diff : 0;
|
|
125
|
-
setStickyStyle(function (prev) {
|
|
126
|
-
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
127
|
-
position: positionVal,
|
|
128
|
-
transform: "translate3d(0, ".concat(transform, "px, 0)")
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
setIsFixed(fixed);
|
|
114
|
+
var getFixed = function getFixed2() {
|
|
115
|
+
var fixed2 = false;
|
|
116
|
+
if (position === "top") {
|
|
117
|
+
fixed2 = containerEle ? threshold > rootRect.top && containerRect.bottom > 0 : threshold > rootRect.top;
|
|
132
118
|
} else {
|
|
133
|
-
var
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
119
|
+
var clientHeight = document.documentElement.clientHeight;
|
|
120
|
+
fixed2 = containerEle ? containerRect.bottom > 0 && clientHeight - threshold - stickyRect.height > containerRect.top : clientHeight - threshold < rootRect.bottom;
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
position: fixed2 ? "fixed" : "inherit",
|
|
124
|
+
fixed: fixed2
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
var getTransform = function getTransform2() {
|
|
128
|
+
if (position === "top") {
|
|
129
|
+
if (containerEle) {
|
|
130
|
+
var diff = containerRect.bottom - threshold - stickyRect.height;
|
|
131
|
+
var transform = diff < 0 ? diff : 0;
|
|
132
|
+
return {
|
|
133
|
+
transform: "translate3d(0, ".concat(transform, "px, 0)")
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
return {};
|
|
141
137
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
var _diff = containerRect.bottom - (clientHeight - bottom);
|
|
149
|
-
var _transform = _diff < 0 ? _diff : 0;
|
|
150
|
-
setStickyStyle(function (prev) {
|
|
151
|
-
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
152
|
-
position: _positionVal2,
|
|
138
|
+
if (position === "bottom") {
|
|
139
|
+
if (containerEle) {
|
|
140
|
+
var clientHeight = document.documentElement.clientHeight;
|
|
141
|
+
var _diff = containerRect.bottom - (clientHeight - threshold);
|
|
142
|
+
var _transform = _diff < 0 ? _diff : 0;
|
|
143
|
+
return {
|
|
153
144
|
transform: "translate3d(0, ".concat(_transform, "px, 0)")
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
} else {
|
|
158
|
-
var _fixed3 = clientHeight - bottom < rootRect.bottom;
|
|
159
|
-
var _positionVal3 = _fixed3 ? 'fixed' : 'inherit';
|
|
160
|
-
setStickyStyle(function (prev) {
|
|
161
|
-
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
162
|
-
position: _positionVal3
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
setIsFixed(_fixed3);
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
return {};
|
|
166
148
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
149
|
+
return {};
|
|
150
|
+
};
|
|
151
|
+
var fixed = getFixed();
|
|
152
|
+
setStickyStyle(function(prev) {
|
|
153
|
+
return _objectSpread(_objectSpread(_objectSpread({}, prev), getTransform()), {}, {
|
|
154
|
+
position: fixed.position
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
setIsFixed(fixed.fixed);
|
|
158
|
+
}, [position, threshold, container]);
|
|
159
|
+
useWatch(isFixed, function() {
|
|
170
160
|
onChange && onChange(isFixed);
|
|
171
161
|
});
|
|
172
|
-
useEffect(function
|
|
162
|
+
useEffect(function() {
|
|
173
163
|
var el = getElement();
|
|
174
|
-
el.addEventListener(
|
|
175
|
-
return function
|
|
176
|
-
el.removeEventListener(
|
|
164
|
+
el.addEventListener("scroll", handleScroll, false);
|
|
165
|
+
return function() {
|
|
166
|
+
el.removeEventListener("tap", handleScroll);
|
|
177
167
|
};
|
|
178
168
|
}, [getElement, handleScroll]);
|
|
179
169
|
return React__default.createElement("div", _objectSpread({
|
|
180
170
|
ref: rootRef,
|
|
181
|
-
style: rootStyle,
|
|
182
|
-
className: classNames(
|
|
171
|
+
style: _objectSpread(_objectSpread({}, style), rootStyle),
|
|
172
|
+
className: classNames(classPrefix, className)
|
|
183
173
|
}, rest), React__default.createElement("div", {
|
|
184
|
-
|
|
185
|
-
className: "nut-sticky-box",
|
|
174
|
+
className: "nut-sticky--box",
|
|
186
175
|
ref: stickyRef,
|
|
187
176
|
style: stickyStyle
|
|
188
177
|
}, children));
|
|
189
178
|
};
|
|
190
179
|
Sticky.defaultProps = defaultProps;
|
|
191
|
-
Sticky.displayName =
|
|
192
|
-
export {
|
|
180
|
+
Sticky.displayName = "NutSticky";
|
|
181
|
+
export {
|
|
182
|
+
Sticky as default
|
|
183
|
+
};
|
|
@@ -1,69 +1,79 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["title", "
|
|
4
|
-
function ownKeys(object, enumerableOnly) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
var _excluded = ["title", "key", "children", "onClick", "open"];
|
|
4
|
+
function ownKeys(object, enumerableOnly) {
|
|
5
|
+
var keys = Object.keys(object);
|
|
6
|
+
if (Object.getOwnPropertySymbols) {
|
|
7
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
8
|
+
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
9
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
10
|
+
})), keys.push.apply(keys, symbols);
|
|
11
|
+
}
|
|
12
|
+
return keys;
|
|
13
|
+
}
|
|
14
|
+
function _objectSpread(target) {
|
|
15
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
16
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
17
|
+
i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
|
|
18
|
+
_defineProperty(target, key, source[key]);
|
|
19
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
|
|
20
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return target;
|
|
24
|
+
}
|
|
25
|
+
import React__default, { useContext, useRef, useCallback, useEffect } from "react";
|
|
26
|
+
import { O as OffsetContext, h as handleClick } from "./offsetContext.js";
|
|
8
27
|
var defaultProps = {
|
|
9
28
|
open: true
|
|
10
29
|
};
|
|
11
|
-
var SubSideNavBar = function
|
|
12
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
13
|
-
title = _defaultProps$props.title,
|
|
14
|
-
ikey = _defaultProps$props.ikey,
|
|
15
|
-
children = _defaultProps$props.children,
|
|
16
|
-
onClick = _defaultProps$props.onClick,
|
|
17
|
-
open = _defaultProps$props.open,
|
|
18
|
-
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
19
|
-
// const offset = props.offset ? Number(props.offset) : 20
|
|
30
|
+
var SubSideNavBar = function SubSideNavBar2(props) {
|
|
31
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), title = _defaultProps$props.title, key = _defaultProps$props.key, children = _defaultProps$props.children, onClick = _defaultProps$props.onClick, open = _defaultProps$props.open, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
20
32
|
var offset = useContext(OffsetContext);
|
|
21
|
-
console.log(
|
|
33
|
+
console.log("offset>>>>>>>", offset);
|
|
22
34
|
var listRef = useRef(null);
|
|
23
|
-
var setListLevel = useCallback(function
|
|
24
|
-
var level = arguments.length > 1 && arguments[1] !==
|
|
35
|
+
var setListLevel = useCallback(function(nodeList) {
|
|
36
|
+
var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
|
|
25
37
|
var titleClass = nodeList[0].className;
|
|
26
|
-
if (titleClass.includes(
|
|
27
|
-
// const left = 15 + offset * level
|
|
38
|
+
if (titleClass.includes("nut-subsidenavbar__title")) {
|
|
28
39
|
var left = offset * (level + 1);
|
|
29
40
|
nodeList[0].style.paddingLeft = "".concat(left, "px");
|
|
30
41
|
}
|
|
31
|
-
var childNodes = nodeList[1] && nodeList[1].children && Array.from(nodeList[1].children).filter(function
|
|
42
|
+
var childNodes = nodeList[1] && nodeList[1].children && Array.from(nodeList[1].children).filter(function(item) {
|
|
32
43
|
return item.nodeType !== 3 && item.nodeType !== 8;
|
|
33
44
|
});
|
|
34
|
-
childNodes.forEach(function
|
|
45
|
+
childNodes.forEach(function(item) {
|
|
35
46
|
var itemClass = item.className;
|
|
36
|
-
if (itemClass.includes(
|
|
37
|
-
// const left = 15 + offset * (level + 1)
|
|
47
|
+
if (itemClass.includes("nut-subsidenavbar__item")) {
|
|
38
48
|
var _left = offset * (level + 2);
|
|
39
49
|
item.style.paddingLeft = "".concat(_left, "px");
|
|
40
50
|
}
|
|
41
|
-
if (itemClass.includes(
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
item.setAttribute(
|
|
45
|
-
item.children && setListLevel(item.children,
|
|
51
|
+
if (itemClass.includes("nut-subsidenavbar__list")) {
|
|
52
|
+
var level2 = item.getAttribute("level") ? Number(item.getAttribute("level")) : 1;
|
|
53
|
+
level2 += 1;
|
|
54
|
+
item.setAttribute("level", level2.toString());
|
|
55
|
+
item.children && setListLevel(item.children, level2);
|
|
46
56
|
}
|
|
47
57
|
});
|
|
48
58
|
}, [offset]);
|
|
49
|
-
var clickFn = function
|
|
59
|
+
var clickFn = function clickFn2(e) {
|
|
50
60
|
handleClick(e);
|
|
51
61
|
var currentClass = e.currentTarget.className;
|
|
52
|
-
var isShow = currentClass.includes(
|
|
62
|
+
var isShow = currentClass.includes("nutShow");
|
|
53
63
|
onClick && onClick({
|
|
54
|
-
title
|
|
55
|
-
|
|
56
|
-
isShow
|
|
64
|
+
title,
|
|
65
|
+
key,
|
|
66
|
+
isShow
|
|
57
67
|
});
|
|
58
68
|
};
|
|
59
|
-
useEffect(function
|
|
69
|
+
useEffect(function() {
|
|
60
70
|
var _listRef$current, _listRef$current2;
|
|
61
71
|
var childNodes = (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.children;
|
|
62
|
-
(_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.setAttribute(
|
|
72
|
+
(_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.setAttribute("level", "1");
|
|
63
73
|
childNodes && setListLevel(childNodes);
|
|
64
74
|
}, [setListLevel]);
|
|
65
|
-
var divClass = open ?
|
|
66
|
-
var iconClass = open ?
|
|
75
|
+
var divClass = open ? "nut-subsidenavbar__list nutShow" : "nut-subsidenavbar__list nutHide";
|
|
76
|
+
var iconClass = open ? "arrow-icon arrow-down" : "arrow-icon arrow-up";
|
|
67
77
|
return React__default.createElement("div", _objectSpread({
|
|
68
78
|
className: divClass,
|
|
69
79
|
ref: listRef,
|
|
@@ -76,4 +86,6 @@ var SubSideNavBar = function SubSideNavBar(props) {
|
|
|
76
86
|
className: "nut-subsidenavbar__content"
|
|
77
87
|
}, children));
|
|
78
88
|
};
|
|
79
|
-
export {
|
|
89
|
+
export {
|
|
90
|
+
SubSideNavBar as default
|
|
91
|
+
};
|