@nutui/nutui-react 2.3.12-beta.0 → 2.4.0-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/CHANGELOG.md +48 -0
- package/dist/esm/ActionSheet.js +30 -76
- package/dist/esm/Address.js +80 -171
- package/dist/esm/Animate.js +21 -49
- package/dist/esm/AnimatingNumbers/style/style.css +1 -1
- package/dist/esm/AnimatingNumbers.js +47 -120
- package/dist/esm/Audio.js +88 -159
- package/dist/esm/Avatar.js +44 -91
- package/dist/esm/AvatarCropper.js +149 -268
- package/dist/esm/AvatarGroup.js +13 -44
- package/dist/esm/BackTop.js +34 -75
- package/dist/esm/Badge/style/style.css +1 -1
- package/dist/esm/Barrage.js +49 -83
- package/dist/esm/Calendar.js +27 -119
- package/dist/esm/CalendarCard.js +180 -291
- package/dist/esm/CalendarItem.js +253 -314
- package/dist/esm/Card.js +38 -72
- package/dist/esm/Cell.js +27 -62
- package/dist/esm/CellGroup.js +16 -45
- package/dist/esm/Checkbox/style/style.css +1 -1
- package/dist/esm/CheckboxGroup/style/style.css +1 -1
- package/dist/esm/CheckboxGroup.js +52 -85
- package/dist/esm/CircleProgress.js +42 -93
- package/dist/esm/Col.js +17 -48
- package/dist/esm/Collapse/style/style.css +1 -1
- package/dist/esm/Collapse.js +18 -49
- package/dist/esm/CollapseItem/style/style.css +1 -1
- package/dist/esm/ConfigProvider.js +3 -2
- package/dist/esm/CountDown.js +63 -102
- package/dist/esm/DatePicker.js +88 -128
- package/dist/esm/Dialog/style/style.css +1 -1
- package/dist/esm/Dialog.js +124 -197
- package/dist/esm/Divider.js +16 -36
- package/dist/esm/Drag.js +32 -76
- package/dist/esm/Elevator.js +93 -133
- package/dist/esm/Ellipsis.js +71 -92
- package/dist/esm/Empty.js +31 -70
- package/dist/esm/FixedNav.js +32 -81
- package/dist/esm/Form.js +28 -61
- package/dist/esm/Grid.js +27 -51
- package/dist/esm/Image.js +47 -102
- package/dist/esm/ImagePreview.js +82 -135
- package/dist/esm/InfiniteLoading.js +77 -159
- package/dist/esm/Input.js +57 -125
- package/dist/esm/InputNumber/style/style.css +1 -1
- package/dist/esm/InputNumber.js +67 -97
- package/dist/esm/Layout.js +4 -28
- package/dist/esm/Loading.js +13 -40
- package/dist/esm/Menu.js +51 -105
- package/dist/esm/NavBar.js +46 -85
- package/dist/esm/NoticeBar/style/style.css +1 -1
- package/dist/esm/NoticeBar.js +158 -227
- package/dist/esm/Notify.js +87 -178
- package/dist/esm/NumberKeyboard.js +84 -150
- package/dist/esm/Pagination.js +58 -97
- package/dist/esm/Picker.js +215 -276
- package/dist/esm/Popover/style/style.css +1 -1
- package/dist/esm/Popover.js +112 -159
- package/dist/esm/Price.js +23 -60
- package/dist/esm/Progress.js +47 -77
- package/dist/esm/PullToRefresh.js +94 -201
- package/dist/esm/RadioGroup.js +23 -53
- package/dist/esm/Range.js +113 -177
- package/dist/esm/Rate.js +48 -95
- package/dist/esm/Row.js +19 -43
- package/dist/esm/SearchBar.js +52 -119
- package/dist/esm/ShortPassword.js +58 -106
- package/dist/esm/SideNavBar.js +34 -59
- package/dist/esm/SideNavBarItem.js +7 -36
- package/dist/esm/Signature.js +49 -84
- package/dist/esm/Skeleton.js +31 -68
- package/dist/esm/Space.js +7 -34
- package/dist/esm/Step.js +35 -64
- package/dist/esm/Steps.js +16 -40
- package/dist/esm/Sticky.js +64 -108
- package/dist/esm/SubSideNavBar.js +42 -71
- package/dist/esm/Swipe/style/style.css +1 -1
- package/dist/esm/Swipe.js +79 -143
- package/dist/esm/Swiper.js +137 -184
- package/dist/esm/SwiperItem.js +13 -38
- package/dist/esm/Switch.js +20 -53
- package/dist/esm/TabPane.js +6 -30
- package/dist/esm/Tabbar/style/style.css +1 -1
- package/dist/esm/Tabbar.js +29 -59
- package/dist/esm/TabbarItem/style/style.css +1 -1
- package/dist/esm/Table.js +99 -147
- package/dist/esm/Tag.js +30 -74
- package/dist/esm/TextArea.js +37 -82
- package/dist/esm/TimeDetail.js +20 -58
- package/dist/esm/TimeSelect.js +57 -95
- package/dist/esm/Toast.js +110 -197
- package/dist/esm/Tour/style/style.css +1 -1
- package/dist/esm/Tour.js +88 -132
- package/dist/esm/TrendArrow.js +32 -74
- package/dist/esm/Uploader.js +226 -346
- package/dist/esm/UserContext.js +1 -1
- package/dist/esm/Video.js +34 -67
- package/dist/esm/VirtualList.js +127 -160
- package/dist/esm/WaterMark.js +24 -68
- package/dist/esm/badge2.js +26 -53
- package/dist/esm/button2.js +30 -63
- package/dist/esm/can-use-dom.js +1 -1
- package/dist/esm/cascader2.js +307 -536
- package/dist/esm/checkbox2.js +70 -96
- package/dist/esm/collapseitem2.js +48 -86
- package/dist/esm/configprovider2.js +43 -1003
- package/dist/esm/context.js +1 -1
- package/dist/esm/context2.js +1 -1
- package/dist/esm/context3.js +1 -1
- package/dist/esm/context4.js +1 -1
- package/dist/esm/context5.js +8 -8
- package/dist/esm/date.js +88 -66
- package/dist/esm/formitem2.js +236 -1510
- package/dist/esm/get-scroll-parent.js +8 -10
- package/dist/esm/griditem2.js +34 -52
- package/dist/esm/index.js +5 -12
- package/dist/esm/indicator2.js +13 -42
- package/dist/esm/menuitem2.js +81 -124
- package/dist/esm/overlay2.js +39 -78
- package/dist/esm/pad-zero.js +3 -4
- package/dist/esm/popup2.js +79 -124
- package/dist/esm/px-check.js +2 -2
- package/dist/esm/radio2.js +48 -79
- package/dist/esm/raf.js +5 -3
- package/dist/esm/render.js +17 -54
- package/dist/esm/safearea2.js +3 -5
- package/dist/esm/supports-passive.js +3 -3
- package/dist/esm/tabbaritem2.js +42 -58
- package/dist/esm/tabs2.js +82 -120
- package/dist/esm/tslib.es6.js +47 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo1.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo2.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo3.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo4.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo5.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo6.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo7.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo8.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/h5/demo9.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo1.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo10.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo2.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo3.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo4.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo5.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo6.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo7.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo8.d.ts +3 -0
- package/dist/esm/types/src/packages/button/demos/taro/demo9.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demo.d.ts +0 -1
- package/dist/esm/types/src/packages/cell/demo.taro.d.ts +0 -1
- package/dist/esm/types/src/packages/cell/demos/h5/demo1.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/h5/demo2.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/h5/demo3.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/h5/demo4.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/h5/demo5.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/h5/demo6.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/h5/demo7.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/taro/demo1.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/taro/demo2.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/taro/demo3.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/taro/demo4.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/taro/demo5.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/taro/demo6.d.ts +3 -0
- package/dist/esm/types/src/packages/cell/demos/taro/demo7.d.ts +3 -0
- package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.d.ts +1 -0
- package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.taro.d.ts +1 -0
- package/dist/esm/types/src/packages/checkboxgroup/context.d.ts +1 -0
- package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +1 -0
- package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +1 -0
- package/dist/esm/types/src/packages/configprovider/index.d.ts +2 -2
- package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +2 -2
- package/dist/esm/types/src/packages/configprovider/types.d.ts +1 -1
- package/dist/esm/types/src/packages/dialog/config.d.ts +3 -3
- package/dist/esm/types/src/packages/dialog/index.d.ts +1 -1
- package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +2 -0
- package/dist/esm/types/src/packages/noticebar/index.d.ts +1 -0
- package/dist/esm/types/src/packages/noticebar/noticebar.d.ts +2 -0
- package/dist/esm/types/src/packages/noticebar/noticebar.taro.d.ts +2 -0
- package/dist/esm/types/src/packages/noticebar/types.d.ts +1 -0
- package/dist/esm/types/src/packages/popover/index.d.ts +2 -1
- package/dist/esm/types/src/packages/popover/index.taro.d.ts +2 -1
- package/dist/esm/types/src/packages/popover/popover.d.ts +2 -12
- package/dist/esm/types/src/packages/popover/popover.taro.d.ts +2 -12
- package/dist/esm/types/src/packages/popover/types.d.ts +14 -0
- package/dist/esm/types/src/packages/table/useTableSticky.d.ts +1 -1
- package/dist/esm/types/src/packages/toast/toast.taro.d.ts +7 -3
- package/dist/esm/types/src/packages/tour/tour.d.ts +1 -1
- package/dist/esm/types/src/packages/tour/tour.taro.d.ts +1 -1
- package/dist/esm/typings.js +1 -1
- package/dist/esm/use-click-away.js +9 -13
- package/dist/esm/use-client-rect.js +4 -4
- package/dist/esm/use-props-value.js +10 -15
- package/dist/esm/use-refs.js +5 -7
- package/dist/esm/use-touch.js +16 -20
- 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/tr-TR.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.es.js +297 -310
- package/dist/nutui.react.umd.js +294 -307
- package/dist/packages/animatingnumbers/countup.scss +1 -0
- package/dist/packages/badge/badge.scss +2 -0
- package/dist/packages/checkbox/checkbox.scss +19 -0
- package/dist/packages/checkboxgroup/checkboxgroup.scss +25 -0
- package/dist/packages/collapseitem/collapseitem.scss +1 -6
- package/dist/packages/dialog/dialog.scss +8 -1
- package/dist/packages/noticebar/noticebar.scss +19 -1
- package/dist/packages/popover/popover.scss +21 -0
- package/dist/packages/swipe/swipe.scss +2 -0
- package/dist/style.css +1 -1
- package/dist/style.mjs +1 -1
- package/dist/styles/variables-jmapp.scss +17 -0
- package/dist/styles/variables.scss +19 -12
- package/dist/types/index.d.ts +98 -98
- package/dist/types/packages/actionsheet/actionsheet.d.ts +1 -1
- package/dist/types/packages/actionsheet/actionsheet.taro.d.ts +1 -1
- package/dist/types/packages/address/address.d.ts +1 -1
- package/dist/types/packages/address/address.taro.d.ts +1 -1
- package/dist/types/packages/address/customRender.d.ts +1 -1
- package/dist/types/packages/address/customRender.taro.d.ts +1 -1
- package/dist/types/packages/avatar/avatar.d.ts +1 -1
- package/dist/types/packages/avatar/avatar.taro.d.ts +1 -1
- package/dist/types/packages/badge/badge.d.ts +1 -1
- package/dist/types/packages/button/demos/h5/demo1.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo2.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo3.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo4.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo5.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo6.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo7.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo8.d.ts +3 -0
- package/dist/types/packages/button/demos/h5/demo9.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo1.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo10.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo2.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo3.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo4.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo5.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo6.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo7.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo8.d.ts +3 -0
- package/dist/types/packages/button/demos/taro/demo9.d.ts +3 -0
- package/dist/types/packages/calendaritem/calendaritem.d.ts +1 -1
- package/dist/types/packages/calendaritem/calendaritem.taro.d.ts +1 -1
- package/dist/types/packages/cascader/cascader.d.ts +1 -1
- package/dist/types/packages/cascader/cascader.taro.d.ts +1 -1
- package/dist/types/packages/cell/cell.d.ts +1 -1
- package/dist/types/packages/cell/cell.taro.d.ts +1 -1
- package/dist/types/packages/cell/demos/h5/demo1.d.ts +3 -0
- package/dist/types/packages/cell/demos/h5/demo2.d.ts +3 -0
- package/dist/types/packages/cell/demos/h5/demo3.d.ts +3 -0
- package/dist/types/packages/cell/demos/h5/demo4.d.ts +3 -0
- package/dist/types/packages/cell/demos/h5/demo5.d.ts +3 -0
- package/dist/types/packages/cell/demos/h5/demo6.d.ts +3 -0
- package/dist/types/packages/cell/demos/h5/demo7.d.ts +3 -0
- package/dist/types/packages/cell/demos/taro/demo1.d.ts +3 -0
- package/dist/types/packages/cell/demos/taro/demo2.d.ts +3 -0
- package/dist/types/packages/cell/demos/taro/demo3.d.ts +3 -0
- package/dist/types/packages/cell/demos/taro/demo4.d.ts +3 -0
- package/dist/types/packages/cell/demos/taro/demo5.d.ts +3 -0
- package/dist/types/packages/cell/demos/taro/demo6.d.ts +3 -0
- package/dist/types/packages/cell/demos/taro/demo7.d.ts +3 -0
- package/dist/types/packages/checkbox/checkbox.d.ts +2 -2
- package/dist/types/packages/checkbox/checkbox.taro.d.ts +2 -2
- package/dist/types/packages/checkboxgroup/checkboxgroup.d.ts +3 -2
- package/dist/types/packages/checkboxgroup/checkboxgroup.taro.d.ts +3 -2
- package/dist/types/packages/checkboxgroup/context.d.ts +1 -0
- package/dist/types/packages/configprovider/configprovider.d.ts +1 -0
- package/dist/types/packages/configprovider/configprovider.taro.d.ts +1 -0
- package/dist/types/packages/configprovider/index.d.ts +2 -2
- package/dist/types/packages/configprovider/index.taro.d.ts +2 -2
- package/dist/types/packages/configprovider/types.d.ts +1 -1
- package/dist/types/packages/datepicker/datepicker.d.ts +1 -1
- package/dist/types/packages/datepicker/datepicker.taro.d.ts +1 -1
- package/dist/types/packages/dialog/config.d.ts +3 -3
- package/dist/types/packages/dialog/dialogwrap.d.ts +1 -1
- package/dist/types/packages/dialog/index.d.ts +1 -1
- package/dist/types/packages/empty/empty.d.ts +16 -4
- package/dist/types/packages/fixednav/fixednav.d.ts +1 -1
- package/dist/types/packages/fixednav/fixednav.taro.d.ts +1 -1
- package/dist/types/packages/form/form.d.ts +1 -1
- package/dist/types/packages/form/form.taro.d.ts +1 -1
- package/dist/types/packages/form/index.d.ts +1 -1
- package/dist/types/packages/form/index.taro.d.ts +1 -1
- package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
- package/dist/types/packages/menu/menu.d.ts +1 -1
- package/dist/types/packages/menu/menu.taro.d.ts +1 -1
- package/dist/types/packages/noticebar/index.d.ts +1 -0
- package/dist/types/packages/noticebar/noticebar.d.ts +6 -0
- package/dist/types/packages/noticebar/noticebar.taro.d.ts +2 -0
- package/dist/types/packages/noticebar/types.d.ts +1 -0
- package/dist/types/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
- package/dist/types/packages/numberkeyboard/numberkeyboard.taro.d.ts +1 -1
- package/dist/types/packages/nutui.react.d.ts +98 -98
- package/dist/types/packages/nutui.react.taro.d.ts +98 -98
- package/dist/types/packages/nutui.taro.react.build.d.ts +98 -98
- package/dist/types/packages/picker/picker.d.ts +1 -1
- package/dist/types/packages/picker/picker.taro.d.ts +1 -1
- package/dist/types/packages/popover/index.d.ts +2 -1
- package/dist/types/packages/popover/index.taro.d.ts +2 -1
- package/dist/types/packages/popover/popover.d.ts +3 -13
- package/dist/types/packages/popover/popover.taro.d.ts +3 -13
- package/dist/types/packages/popover/types.d.ts +14 -0
- package/dist/types/packages/popup/popup.d.ts +1 -1
- package/dist/types/packages/popup/popup.taro.d.ts +1 -1
- package/dist/types/packages/radio/radio.d.ts +2 -2
- package/dist/types/packages/radio/radio.taro.d.ts +2 -2
- package/dist/types/packages/rate/rate.d.ts +1 -1
- package/dist/types/packages/shortpassword/shortpassword.d.ts +1 -1
- package/dist/types/packages/shortpassword/shortpassword.taro.d.ts +1 -1
- package/dist/types/packages/swiper/index.d.ts +1 -1
- package/dist/types/packages/swiper/index.taro.d.ts +1 -1
- package/dist/types/packages/table/useTableSticky.d.ts +1 -1
- package/dist/types/packages/tabs/tabs.d.ts +1 -1
- package/dist/types/packages/tabs/tabs.taro.d.ts +1 -1
- package/dist/types/packages/timedetail/timedetail.d.ts +1 -1
- package/dist/types/packages/timedetail/timedetail.taro.d.ts +1 -1
- package/dist/types/packages/toast/toast.d.ts +2 -2
- package/dist/types/packages/toast/toast.taro.d.ts +7 -3
- package/dist/types/packages/tour/tour.d.ts +1 -1
- package/dist/types/packages/tour/tour.taro.d.ts +1 -1
- package/package.json +5 -1
package/dist/esm/Sticky.js
CHANGED
|
@@ -1,45 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
var _excluded = ["position", "zIndex", "children", "container", "style", "className", "threshold", "onChange"];
|
|
5
|
-
function ownKeys(e, r) {
|
|
6
|
-
var t = Object.keys(e);
|
|
7
|
-
if (Object.getOwnPropertySymbols) {
|
|
8
|
-
var o = Object.getOwnPropertySymbols(e);
|
|
9
|
-
r && (o = o.filter(function(r2) {
|
|
10
|
-
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
|
|
11
|
-
})), t.push.apply(t, o);
|
|
12
|
-
}
|
|
13
|
-
return t;
|
|
14
|
-
}
|
|
15
|
-
function _objectSpread(e) {
|
|
16
|
-
for (var r = 1; r < arguments.length; r++) {
|
|
17
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
|
18
|
-
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
|
|
19
|
-
_defineProperty(e, r2, t[r2]);
|
|
20
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
|
|
21
|
-
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
return e;
|
|
25
|
-
}
|
|
1
|
+
import { _ as __rest } from "./tslib.es6.js";
|
|
26
2
|
import React__default, { useRef, useEffect, useState, useCallback } from "react";
|
|
27
3
|
import classNames from "classnames";
|
|
28
4
|
import { g as getScrollParent } from "./get-scroll-parent.js";
|
|
29
5
|
import { g as getRect } from "./use-client-rect.js";
|
|
30
6
|
import { C as ComponentDefaults } from "./typings.js";
|
|
31
|
-
function useWatch(dep, callback) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var stop = useRef(false);
|
|
39
|
-
useEffect(function() {
|
|
40
|
-
var execute = function execute2() {
|
|
41
|
-
return callback(prev.current);
|
|
42
|
-
};
|
|
7
|
+
function useWatch(dep, callback, config = { immediate: false }) {
|
|
8
|
+
const { immediate } = config;
|
|
9
|
+
const prev = useRef();
|
|
10
|
+
const inited = useRef(false);
|
|
11
|
+
const stop = useRef(false);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const execute = () => callback(prev.current);
|
|
43
14
|
if (!stop.current) {
|
|
44
15
|
if (!inited.current) {
|
|
45
16
|
inited.current = true;
|
|
@@ -52,70 +23,65 @@ function useWatch(dep, callback) {
|
|
|
52
23
|
prev.current = dep;
|
|
53
24
|
}
|
|
54
25
|
}, [dep]);
|
|
55
|
-
return
|
|
26
|
+
return () => {
|
|
56
27
|
stop.current = true;
|
|
57
28
|
};
|
|
58
29
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
zIndex
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var getElement = useCallback(function() {
|
|
30
|
+
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { position: "top", threshold: 0, zIndex: 900 });
|
|
31
|
+
const classPrefix = "nut-sticky";
|
|
32
|
+
const Sticky = (props) => {
|
|
33
|
+
const _a = Object.assign(Object.assign({}, defaultProps), props), { position, zIndex, children, container, style, className, threshold, onChange } = _a, rest = __rest(_a, ["position", "zIndex", "children", "container", "style", "className", "threshold", "onChange"]);
|
|
34
|
+
const stickyRef = useRef(null);
|
|
35
|
+
const rootRef = useRef(null);
|
|
36
|
+
const [isFixed, setIsFixed] = useState(false);
|
|
37
|
+
const [stickyStyle, setStickyStyle] = useState({
|
|
38
|
+
[position]: `${threshold}px`,
|
|
39
|
+
zIndex
|
|
40
|
+
});
|
|
41
|
+
const [rootStyle, setRootStyle] = useState({});
|
|
42
|
+
const getElement = useCallback(() => {
|
|
73
43
|
return getScrollParent(rootRef.current);
|
|
74
44
|
}, []);
|
|
75
|
-
useEffect(
|
|
45
|
+
useEffect(() => {
|
|
76
46
|
if (position === "top")
|
|
77
47
|
return;
|
|
78
|
-
|
|
48
|
+
const containerEle = container === null || container === void 0 ? void 0 : container.current;
|
|
79
49
|
if (!rootRef.current && !containerEle)
|
|
80
50
|
return;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
51
|
+
const rootRect = getRect(rootRef.current);
|
|
52
|
+
const containerRect = getRect(containerEle);
|
|
53
|
+
const clientHeight = document.documentElement.clientHeight;
|
|
54
|
+
const stCurrent = stickyRef.current;
|
|
55
|
+
const stickyRect = getRect(stCurrent);
|
|
56
|
+
let fixed = clientHeight - threshold < rootRect.bottom;
|
|
87
57
|
if (containerEle) {
|
|
88
58
|
fixed = containerRect.bottom > clientHeight - threshold - stickyRect.height && clientHeight - threshold - stickyRect.height > containerRect.top;
|
|
89
59
|
}
|
|
90
|
-
|
|
91
|
-
setStickyStyle(
|
|
92
|
-
return
|
|
93
|
-
position: defaultPostVal
|
|
94
|
-
});
|
|
60
|
+
const defaultPostVal = fixed ? "fixed" : "inherit";
|
|
61
|
+
setStickyStyle((prev) => {
|
|
62
|
+
return Object.assign(Object.assign({}, prev), { position: defaultPostVal });
|
|
95
63
|
});
|
|
96
64
|
setIsFixed(fixed);
|
|
97
65
|
}, [position, container, threshold]);
|
|
98
|
-
|
|
99
|
-
|
|
66
|
+
const handleScroll = useCallback(() => {
|
|
67
|
+
const containerEle = container === null || container === void 0 ? void 0 : container.current;
|
|
100
68
|
if (!rootRef.current && !containerEle)
|
|
101
69
|
return;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
70
|
+
const rootRect = getRect(rootRef.current);
|
|
71
|
+
const stCurrent = stickyRef.current;
|
|
72
|
+
const stickyRect = getRect(stCurrent);
|
|
73
|
+
const containerRect = getRect(containerEle);
|
|
106
74
|
if (rootRect.height) {
|
|
107
|
-
setRootStyle(
|
|
108
|
-
return
|
|
109
|
-
height: rootRect.height
|
|
110
|
-
});
|
|
75
|
+
setRootStyle((prev) => {
|
|
76
|
+
return Object.assign(Object.assign({}, prev), { height: rootRect.height });
|
|
111
77
|
});
|
|
112
78
|
}
|
|
113
|
-
|
|
114
|
-
|
|
79
|
+
const getFixed = () => {
|
|
80
|
+
let fixed2 = false;
|
|
115
81
|
if (position === "top") {
|
|
116
82
|
fixed2 = containerEle ? threshold > rootRect.top && containerRect.bottom > 0 : threshold > rootRect.top;
|
|
117
83
|
} else {
|
|
118
|
-
|
|
84
|
+
const clientHeight = document.documentElement.clientHeight;
|
|
119
85
|
fixed2 = containerEle ? containerRect.bottom > 0 && clientHeight - threshold - stickyRect.height > containerRect.top : clientHeight - threshold < rootRect.bottom;
|
|
120
86
|
}
|
|
121
87
|
return {
|
|
@@ -123,57 +89,47 @@ var Sticky = function Sticky2(props) {
|
|
|
123
89
|
fixed: fixed2
|
|
124
90
|
};
|
|
125
91
|
};
|
|
126
|
-
|
|
92
|
+
const getTransform = () => {
|
|
127
93
|
if (position === "top") {
|
|
128
94
|
if (containerEle) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return {
|
|
132
|
-
transform: "translate3d(0, ".concat(transform, "px, 0)")
|
|
133
|
-
};
|
|
95
|
+
const diff = containerRect.bottom - threshold - stickyRect.height;
|
|
96
|
+
const transform = diff < 0 ? diff : 0;
|
|
97
|
+
return { transform: `translate3d(0, ${transform}px, 0)` };
|
|
134
98
|
}
|
|
135
99
|
return {};
|
|
136
100
|
}
|
|
137
101
|
if (position === "bottom") {
|
|
138
102
|
if (containerEle) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return {
|
|
143
|
-
transform: "translate3d(0, ".concat(_transform, "px, 0)")
|
|
144
|
-
};
|
|
103
|
+
const clientHeight = document.documentElement.clientHeight;
|
|
104
|
+
const diff = containerRect.bottom - (clientHeight - threshold);
|
|
105
|
+
const transform = diff < 0 ? diff : 0;
|
|
106
|
+
return { transform: `translate3d(0, ${transform}px, 0)` };
|
|
145
107
|
}
|
|
146
108
|
return {};
|
|
147
109
|
}
|
|
148
110
|
return {};
|
|
149
111
|
};
|
|
150
|
-
|
|
151
|
-
setStickyStyle(
|
|
152
|
-
return
|
|
153
|
-
position: fixed.position
|
|
154
|
-
});
|
|
112
|
+
const fixed = getFixed();
|
|
113
|
+
setStickyStyle((prev) => {
|
|
114
|
+
return Object.assign(Object.assign(Object.assign({}, prev), getTransform()), { position: fixed.position });
|
|
155
115
|
});
|
|
156
116
|
setIsFixed(fixed.fixed);
|
|
157
117
|
}, [position, threshold, container]);
|
|
158
|
-
useWatch(isFixed,
|
|
118
|
+
useWatch(isFixed, () => {
|
|
159
119
|
onChange && onChange(isFixed);
|
|
160
120
|
});
|
|
161
|
-
useEffect(
|
|
162
|
-
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
const el = getElement();
|
|
163
123
|
el.addEventListener("scroll", handleScroll, false);
|
|
164
|
-
return
|
|
124
|
+
return () => {
|
|
165
125
|
el.removeEventListener("scroll", handleScroll);
|
|
166
126
|
};
|
|
167
127
|
}, [getElement, handleScroll]);
|
|
168
|
-
return React__default.createElement(
|
|
169
|
-
|
|
170
|
-
style:
|
|
171
|
-
className:
|
|
172
|
-
|
|
173
|
-
className: "nut-sticky-box",
|
|
174
|
-
ref: stickyRef,
|
|
175
|
-
style: stickyStyle
|
|
176
|
-
}, children));
|
|
128
|
+
return React__default.createElement(
|
|
129
|
+
"div",
|
|
130
|
+
Object.assign({ ref: rootRef, style: Object.assign(Object.assign({}, style), rootStyle), className: classNames(classPrefix, className) }, rest),
|
|
131
|
+
React__default.createElement("div", { className: "nut-sticky-box", ref: stickyRef, style: stickyStyle }, children)
|
|
132
|
+
);
|
|
177
133
|
};
|
|
178
134
|
Sticky.defaultProps = defaultProps;
|
|
179
135
|
Sticky.displayName = "NutSticky";
|
|
@@ -1,90 +1,61 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["title", "value", "children", "onClick", "open"];
|
|
4
|
-
function ownKeys(e, r) {
|
|
5
|
-
var t = Object.keys(e);
|
|
6
|
-
if (Object.getOwnPropertySymbols) {
|
|
7
|
-
var o = Object.getOwnPropertySymbols(e);
|
|
8
|
-
r && (o = o.filter(function(r2) {
|
|
9
|
-
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
|
|
10
|
-
})), t.push.apply(t, o);
|
|
11
|
-
}
|
|
12
|
-
return t;
|
|
13
|
-
}
|
|
14
|
-
function _objectSpread(e) {
|
|
15
|
-
for (var r = 1; r < arguments.length; r++) {
|
|
16
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
|
17
|
-
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
|
|
18
|
-
_defineProperty(e, r2, t[r2]);
|
|
19
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
|
|
20
|
-
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
return e;
|
|
24
|
-
}
|
|
1
|
+
import { _ as __rest } from "./tslib.es6.js";
|
|
25
2
|
import React__default, { useContext, useRef, useCallback, useEffect } from "react";
|
|
26
3
|
import { O as OffsetContext, h as handleClick } from "./context5.js";
|
|
27
|
-
|
|
4
|
+
const defaultProps = {
|
|
28
5
|
open: true
|
|
29
6
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
nodeList[0].style.paddingLeft = "".concat(left, "px");
|
|
7
|
+
const SubSideNavBar = (props) => {
|
|
8
|
+
const classPrefix = "nut-subsidenavbar";
|
|
9
|
+
const _a = Object.assign(Object.assign({}, defaultProps), props), { title, value, children, onClick, open } = _a, rest = __rest(_a, ["title", "value", "children", "onClick", "open"]);
|
|
10
|
+
const offset = useContext(OffsetContext);
|
|
11
|
+
const listRef = useRef(null);
|
|
12
|
+
const setListLevel = useCallback((nodeList, level = 1) => {
|
|
13
|
+
const titleClass = nodeList[0].className;
|
|
14
|
+
if (titleClass.includes(`${classPrefix}-title`)) {
|
|
15
|
+
const left = offset * (level + 1);
|
|
16
|
+
nodeList[0].style.paddingLeft = `${left}px`;
|
|
41
17
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var _left = offset * (level + 2);
|
|
49
|
-
item.style.paddingLeft = "".concat(_left, "px");
|
|
18
|
+
const childNodes = nodeList[1] && nodeList[1].children && Array.from(nodeList[1].children).filter((item) => item.nodeType !== 3 && item.nodeType !== 8);
|
|
19
|
+
childNodes.forEach((item) => {
|
|
20
|
+
const itemClass = item.className;
|
|
21
|
+
if (itemClass.includes(`${classPrefix}-item`)) {
|
|
22
|
+
const left = offset * (level + 2);
|
|
23
|
+
item.style.paddingLeft = `${left}px`;
|
|
50
24
|
}
|
|
51
|
-
if (itemClass.includes(
|
|
52
|
-
|
|
25
|
+
if (itemClass.includes(`${classPrefix}-list`)) {
|
|
26
|
+
let level2 = item.getAttribute("level") ? Number(item.getAttribute("level")) : 1;
|
|
53
27
|
level2 += 1;
|
|
54
28
|
item.setAttribute("level", level2.toString());
|
|
55
29
|
item.children && setListLevel(item.children, level2);
|
|
56
30
|
}
|
|
57
31
|
});
|
|
58
32
|
}, [offset]);
|
|
59
|
-
|
|
33
|
+
const clickFn = (e) => {
|
|
60
34
|
handleClick(e);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
onClick && onClick({
|
|
64
|
-
title,
|
|
65
|
-
value,
|
|
66
|
-
isShow
|
|
67
|
-
});
|
|
35
|
+
const currentClass = e.currentTarget.className;
|
|
36
|
+
const isShow = currentClass.includes("sidenavbar-show");
|
|
37
|
+
onClick && onClick({ title, value, isShow });
|
|
68
38
|
};
|
|
69
|
-
useEffect(
|
|
70
|
-
var
|
|
71
|
-
|
|
72
|
-
(
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
var _a2, _b;
|
|
41
|
+
const childNodes = (_a2 = listRef.current) === null || _a2 === void 0 ? void 0 : _a2.children;
|
|
42
|
+
(_b = listRef.current) === null || _b === void 0 ? void 0 : _b.setAttribute("level", "1");
|
|
73
43
|
childNodes && setListLevel(childNodes);
|
|
74
44
|
}, [setListLevel]);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return React__default.createElement(
|
|
78
|
-
|
|
79
|
-
ref: listRef,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
45
|
+
const divClass = open ? `${classPrefix}-list sidenavbar-show` : `${classPrefix}-list sidenavbar-hide`;
|
|
46
|
+
const iconClass = open ? "arrow-icon arrow-down" : "arrow-icon arrow-up";
|
|
47
|
+
return React__default.createElement(
|
|
48
|
+
"div",
|
|
49
|
+
Object.assign({ className: divClass, ref: listRef, onClick: clickFn }, rest),
|
|
50
|
+
React__default.createElement(
|
|
51
|
+
"div",
|
|
52
|
+
{ className: `${classPrefix}-title ${classPrefix}-border-bt` },
|
|
53
|
+
title,
|
|
54
|
+
" ",
|
|
55
|
+
React__default.createElement("i", { className: iconClass })
|
|
56
|
+
),
|
|
57
|
+
React__default.createElement("div", { className: `${classPrefix}-content` }, children)
|
|
58
|
+
);
|
|
88
59
|
};
|
|
89
60
|
export {
|
|
90
61
|
SubSideNavBar as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.nut-swipe{position:relative;overflow:hidden;cursor:grab;background-color:#fff}.nut-swipe-wrapper{transition-timing-function:cubic-bezier(.18,.89,.32,1);transition-property:transform}.nut-swipe-wrapper .nut-button{height:100%}.nut-swipe-wrapper .nut-cell{margin:0}.nut-swipe-left,.nut-swipe-right{position:absolute;top:0;height:100%}.nut-swipe-left{left:0;transform:translate3d(-100%,0,0)}.nut-swipe-right{right:0;transform:translate3d(101%,0,0)}
|
|
1
|
+
.nut-swipe{position:relative;overflow:hidden;cursor:grab;background-color:#fff}.nut-swipe-wrapper{height:inherit;transition-timing-function:cubic-bezier(.18,.89,.32,1);transition-property:transform}.nut-swipe-wrapper .nut-button{height:100%}.nut-swipe-wrapper .nut-cell{margin:0;height:100%}.nut-swipe-left,.nut-swipe-right{position:absolute;top:0;height:100%}.nut-swipe-left{left:0;transform:translate3d(-100%,0,0)}.nut-swipe-right{right:0;transform:translate3d(101%,0,0)}
|