@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/UserContext.js
CHANGED
package/dist/esm/Video.js
CHANGED
|
@@ -1,57 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
var _excluded = ["children", "source", "options", "className", "onPlay", "onPause", "onPlayEnd"];
|
|
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, { useRef, useEffect } from "react";
|
|
26
3
|
import classNames from "classnames";
|
|
27
4
|
import { C as ComponentDefaults } from "./typings.js";
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
var rootRef = useRef(null);
|
|
46
|
-
var classes = classNames(classPrefix, className);
|
|
47
|
-
useEffect(function() {
|
|
5
|
+
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { source: {
|
|
6
|
+
type: {},
|
|
7
|
+
src: ""
|
|
8
|
+
}, options: {
|
|
9
|
+
controls: true,
|
|
10
|
+
muted: false,
|
|
11
|
+
autoplay: false,
|
|
12
|
+
poster: "",
|
|
13
|
+
playsinline: false,
|
|
14
|
+
loop: false
|
|
15
|
+
} });
|
|
16
|
+
const classPrefix = `nut-video`;
|
|
17
|
+
const Video = (props) => {
|
|
18
|
+
const _a = Object.assign(Object.assign({}, defaultProps), props), { children, source, options, className, onPlay, onPause, onPlayEnd } = _a, restProps = __rest(_a, ["children", "source", "options", "className", "onPlay", "onPause", "onPlayEnd"]);
|
|
19
|
+
const rootRef = useRef(null);
|
|
20
|
+
const classes = classNames(classPrefix, className);
|
|
21
|
+
useEffect(() => {
|
|
48
22
|
init();
|
|
49
23
|
}, []);
|
|
50
|
-
|
|
24
|
+
const init = () => {
|
|
51
25
|
if (rootRef.current) {
|
|
52
|
-
|
|
26
|
+
const videoRef = rootRef.current;
|
|
53
27
|
if (options.autoplay) {
|
|
54
|
-
setTimeout(
|
|
28
|
+
setTimeout(() => {
|
|
55
29
|
videoRef.play();
|
|
56
30
|
}, 200);
|
|
57
31
|
}
|
|
@@ -61,35 +35,28 @@ var Video = function Video2(props) {
|
|
|
61
35
|
videoRef.setAttribute("x5-video-player-type", "h5-page");
|
|
62
36
|
videoRef.setAttribute("x5-video-player-fullscreen", "false");
|
|
63
37
|
}
|
|
64
|
-
videoRef.addEventListener("play",
|
|
38
|
+
videoRef.addEventListener("play", () => {
|
|
65
39
|
onPlay && onPlay(videoRef);
|
|
66
40
|
});
|
|
67
|
-
videoRef.addEventListener("pause",
|
|
41
|
+
videoRef.addEventListener("pause", () => {
|
|
68
42
|
onPause && onPause(videoRef);
|
|
69
43
|
});
|
|
70
|
-
videoRef.addEventListener("ended",
|
|
44
|
+
videoRef.addEventListener("ended", () => {
|
|
71
45
|
videoRef.currentTime = 0;
|
|
72
46
|
onPlayEnd && onPlayEnd(videoRef);
|
|
73
47
|
});
|
|
74
48
|
}
|
|
75
49
|
};
|
|
76
|
-
return React__default.createElement(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
src: source.src
|
|
87
|
-
}, React__default.createElement("source", {
|
|
88
|
-
src: source.src,
|
|
89
|
-
type: source.type
|
|
90
|
-
}), React__default.createElement("track", {
|
|
91
|
-
kind: "captions"
|
|
92
|
-
})));
|
|
50
|
+
return React__default.createElement(
|
|
51
|
+
"div",
|
|
52
|
+
Object.assign({ className: classes }, restProps),
|
|
53
|
+
React__default.createElement(
|
|
54
|
+
"video",
|
|
55
|
+
{ className: "nut-video-player", muted: options.muted, autoPlay: options.autoplay, loop: options.loop, poster: options.poster, controls: options.controls, ref: rootRef, src: source.src },
|
|
56
|
+
React__default.createElement("source", { src: source.src, type: source.type }),
|
|
57
|
+
React__default.createElement("track", { kind: "captions" })
|
|
58
|
+
)
|
|
59
|
+
);
|
|
93
60
|
};
|
|
94
61
|
Video.defaultProps = defaultProps;
|
|
95
62
|
Video.displayName = "NutVideo";
|
package/dist/esm/VirtualList.js
CHANGED
|
@@ -1,35 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
var _excluded = ["list", "itemRender", "itemEqual", "itemHeight", "direction", "overscan", "key", "onScroll", "className", "containerHeight"];
|
|
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, useState, useEffect, useCallback } from "react";
|
|
27
3
|
import classNames from "classnames";
|
|
28
4
|
import { C as ComponentDefaults } from "./typings.js";
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var positions = Array(length);
|
|
5
|
+
const initPositinoCache = (reaItemSize, length = 0) => {
|
|
6
|
+
let index = 0;
|
|
7
|
+
const positions = Array(length);
|
|
33
8
|
while (index < length) {
|
|
34
9
|
positions[index] = {
|
|
35
10
|
index,
|
|
@@ -44,9 +19,9 @@ var initPositinoCache = function initPositinoCache2(reaItemSize) {
|
|
|
44
19
|
}
|
|
45
20
|
return positions;
|
|
46
21
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
22
|
+
const getListTotalSize = (positions, horizontal) => {
|
|
23
|
+
const index = positions.length - 1;
|
|
24
|
+
let size = 0;
|
|
50
25
|
if (index < 0) {
|
|
51
26
|
size = 0;
|
|
52
27
|
} else {
|
|
@@ -54,15 +29,14 @@ var getListTotalSize = function getListTotalSize2(positions, horizontal) {
|
|
|
54
29
|
}
|
|
55
30
|
return size;
|
|
56
31
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
var key = horizontal ? "right" : "bottom";
|
|
32
|
+
const binarySearch = (positionsList, horizontal, value = 0) => {
|
|
33
|
+
let start = 0;
|
|
34
|
+
let end = positionsList.length - 1;
|
|
35
|
+
let tempIndex = null;
|
|
36
|
+
const key = horizontal ? "right" : "bottom";
|
|
63
37
|
while (start <= end) {
|
|
64
|
-
|
|
65
|
-
|
|
38
|
+
const midIndex = Math.floor((start + end) / 2);
|
|
39
|
+
const midValue = positionsList[midIndex][key];
|
|
66
40
|
if (midValue === value) {
|
|
67
41
|
return midIndex + 1;
|
|
68
42
|
}
|
|
@@ -78,20 +52,19 @@ var binarySearch = function binarySearch2(positionsList, horizontal) {
|
|
|
78
52
|
tempIndex = tempIndex || 0;
|
|
79
53
|
return tempIndex;
|
|
80
54
|
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var tempIndex = null;
|
|
55
|
+
const getEndIndex = ({ list, startIndex, visibleCount, itemEqual = true, positions, offSetSize, overscan, sizeKey = "width" }) => {
|
|
56
|
+
const dataLength = list.length;
|
|
57
|
+
let tempIndex = null;
|
|
85
58
|
if (itemEqual) {
|
|
86
|
-
|
|
59
|
+
const endIndex = startIndex + visibleCount;
|
|
87
60
|
tempIndex = dataLength > 0 ? Math.min(dataLength, endIndex) : endIndex;
|
|
88
61
|
} else {
|
|
89
|
-
|
|
90
|
-
for (
|
|
62
|
+
let sizeNum = 0;
|
|
63
|
+
for (let i = startIndex; i < dataLength; i++) {
|
|
91
64
|
sizeNum += positions[i][sizeKey] || 0;
|
|
92
65
|
if (sizeNum > offSetSize) {
|
|
93
|
-
|
|
94
|
-
tempIndex = dataLength > 0 ? Math.min(dataLength,
|
|
66
|
+
const endIndex = i + overscan;
|
|
67
|
+
tempIndex = dataLength > 0 ? Math.min(dataLength, endIndex) : endIndex;
|
|
95
68
|
break;
|
|
96
69
|
}
|
|
97
70
|
}
|
|
@@ -102,117 +75,111 @@ var getEndIndex = function getEndIndex2(_ref) {
|
|
|
102
75
|
tempIndex = tempIndex || 0;
|
|
103
76
|
return tempIndex;
|
|
104
77
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
Array.from(items).forEach(
|
|
108
|
-
|
|
109
|
-
|
|
78
|
+
const updateItemSize = (positions, items, sizeKey, margin) => {
|
|
79
|
+
const newPos = positions.concat();
|
|
80
|
+
Array.from(items).forEach((item) => {
|
|
81
|
+
const index = Number(item.getAttribute("data-index"));
|
|
82
|
+
const styleVal = item.getAttribute("style");
|
|
110
83
|
if (styleVal && styleVal.includes("none"))
|
|
111
84
|
return;
|
|
112
|
-
|
|
85
|
+
let nowSize = item.getBoundingClientRect()[sizeKey];
|
|
113
86
|
if (margin)
|
|
114
87
|
nowSize += margin;
|
|
115
|
-
|
|
116
|
-
|
|
88
|
+
const oldSize = positions[index][sizeKey];
|
|
89
|
+
const dValue = oldSize - nowSize;
|
|
117
90
|
if (dValue) {
|
|
118
91
|
if (sizeKey === "width") {
|
|
119
92
|
newPos[index].right -= dValue;
|
|
120
93
|
newPos[index][sizeKey] = nowSize;
|
|
121
|
-
for (
|
|
94
|
+
for (let k = index + 1; k < positions.length; k++) {
|
|
122
95
|
newPos[k].left = positions[k - 1].right;
|
|
123
96
|
newPos[k].right -= dValue;
|
|
124
97
|
}
|
|
125
98
|
} else if (sizeKey === "height") {
|
|
126
99
|
newPos[index].bottom -= dValue;
|
|
127
100
|
newPos[index][sizeKey] = nowSize;
|
|
128
|
-
for (
|
|
129
|
-
newPos[
|
|
130
|
-
newPos[
|
|
101
|
+
for (let k = index + 1; k < positions.length; k++) {
|
|
102
|
+
newPos[k].top = positions[k - 1].bottom;
|
|
103
|
+
newPos[k].bottom -= dValue;
|
|
131
104
|
}
|
|
132
105
|
}
|
|
133
106
|
}
|
|
134
107
|
});
|
|
135
108
|
};
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
itemHeight
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
var _useState3 = useState(99999999), _useState4 = _slicedToArray(_useState3, 2), listTotalSize = _useState4[0], setListTotalSize = _useState4[1];
|
|
161
|
-
var _useState5 = useState(0), _useState6 = _slicedToArray(_useState5, 2), visibleCount = _useState6[0], setVisibleCount = _useState6[1];
|
|
162
|
-
var _useState7 = useState(containerHeight || 0), _useState8 = _slicedToArray(_useState7, 2), offSetSize = _useState8[0], setOffSetSize = _useState8[1];
|
|
163
|
-
var _useState9 = useState({
|
|
109
|
+
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { list: [], itemHeight: 66, itemEqual: true, direction: "vertical", overscan: 2 });
|
|
110
|
+
const VirtualList = (props) => {
|
|
111
|
+
const _a = Object.assign(Object.assign({}, defaultProps), props), { list, itemRender, itemEqual, itemHeight, direction, overscan, key, onScroll, className, containerHeight } = _a, rest = __rest(_a, ["list", "itemRender", "itemEqual", "itemHeight", "direction", "overscan", "key", "onScroll", "className", "containerHeight"]);
|
|
112
|
+
const horizontal = direction === "horizontal";
|
|
113
|
+
const sizeKey = horizontal ? "width" : "height";
|
|
114
|
+
const scrollKey = horizontal ? "scrollLeft" : "scrollTop";
|
|
115
|
+
const offsetKey = horizontal ? "left" : "top";
|
|
116
|
+
const scrollRef = useRef(null);
|
|
117
|
+
const itemsRef = useRef(null);
|
|
118
|
+
const [positions, setPositions] = useState([
|
|
119
|
+
{
|
|
120
|
+
index: 0,
|
|
121
|
+
left: 0,
|
|
122
|
+
top: 0,
|
|
123
|
+
bottom: 0,
|
|
124
|
+
width: 0,
|
|
125
|
+
height: 0,
|
|
126
|
+
right: 0
|
|
127
|
+
}
|
|
128
|
+
]);
|
|
129
|
+
const [listTotalSize, setListTotalSize] = useState(99999999);
|
|
130
|
+
const [visibleCount, setVisibleCount] = useState(0);
|
|
131
|
+
const [offSetSize, setOffSetSize] = useState(containerHeight || 0);
|
|
132
|
+
const [options, setOptions] = useState({
|
|
164
133
|
startOffset: 0,
|
|
165
134
|
startIndex: 0,
|
|
166
135
|
overStart: 0,
|
|
167
136
|
endIndex: 10
|
|
168
137
|
// 可视区域结束索引
|
|
169
|
-
})
|
|
170
|
-
useEffect(
|
|
171
|
-
|
|
138
|
+
});
|
|
139
|
+
useEffect(() => {
|
|
140
|
+
const pos = initPositinoCache(itemHeight, list.length);
|
|
172
141
|
setPositions(pos);
|
|
173
|
-
|
|
142
|
+
const totalSize = getListTotalSize(pos, horizontal);
|
|
174
143
|
setListTotalSize(totalSize);
|
|
175
144
|
}, [list, itemHeight, horizontal]);
|
|
176
|
-
|
|
177
|
-
var
|
|
178
|
-
return ((
|
|
145
|
+
const getElement = useCallback(() => {
|
|
146
|
+
var _a2;
|
|
147
|
+
return ((_a2 = scrollRef.current) === null || _a2 === void 0 ? void 0 : _a2.parentElement) || document.body;
|
|
179
148
|
}, []);
|
|
180
|
-
useEffect(
|
|
149
|
+
useEffect(() => {
|
|
181
150
|
if (containerHeight)
|
|
182
151
|
return;
|
|
183
|
-
|
|
152
|
+
const size = horizontal ? getElement().offsetWidth : getElement().offsetHeight;
|
|
184
153
|
setOffSetSize(size);
|
|
185
154
|
}, [getElement, horizontal, containerHeight]);
|
|
186
|
-
useEffect(
|
|
155
|
+
useEffect(() => {
|
|
187
156
|
if (offSetSize === 0)
|
|
188
157
|
return;
|
|
189
|
-
|
|
158
|
+
const count = Math.ceil(offSetSize / itemHeight) + overscan;
|
|
190
159
|
setVisibleCount(count);
|
|
191
|
-
setOptions(
|
|
192
|
-
return
|
|
193
|
-
endIndex: count
|
|
194
|
-
});
|
|
160
|
+
setOptions((options2) => {
|
|
161
|
+
return Object.assign(Object.assign({}, options2), { endIndex: count });
|
|
195
162
|
});
|
|
196
163
|
}, [getElement, horizontal, itemHeight, overscan, offSetSize]);
|
|
197
|
-
|
|
164
|
+
const updateTotalSize = useCallback(() => {
|
|
198
165
|
if (!itemsRef.current)
|
|
199
166
|
return;
|
|
200
|
-
|
|
167
|
+
const items = itemsRef.current.children;
|
|
201
168
|
if (!items.length)
|
|
202
169
|
return;
|
|
203
170
|
updateItemSize(positions, items, sizeKey);
|
|
204
|
-
|
|
171
|
+
const totalSize = getListTotalSize(positions, horizontal);
|
|
205
172
|
setListTotalSize(totalSize);
|
|
206
173
|
}, [positions, sizeKey, horizontal]);
|
|
207
|
-
|
|
208
|
-
requestAnimationFrame(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
174
|
+
const scroll = useCallback(() => {
|
|
175
|
+
requestAnimationFrame((e) => {
|
|
176
|
+
const scrollSize = getElement()[scrollKey];
|
|
177
|
+
const startIndex = binarySearch(positions, horizontal, scrollSize);
|
|
178
|
+
const overStart = startIndex - overscan > -1 ? startIndex - overscan : 0;
|
|
212
179
|
if (!itemEqual) {
|
|
213
180
|
updateTotalSize();
|
|
214
181
|
}
|
|
215
|
-
|
|
182
|
+
const endIndex = getEndIndex({
|
|
216
183
|
list,
|
|
217
184
|
startIndex,
|
|
218
185
|
visibleCount,
|
|
@@ -222,63 +189,63 @@ var VirtualList = function VirtualList2(props) {
|
|
|
222
189
|
sizeKey,
|
|
223
190
|
overscan
|
|
224
191
|
});
|
|
225
|
-
|
|
226
|
-
setOptions({
|
|
227
|
-
startOffset,
|
|
228
|
-
startIndex,
|
|
229
|
-
overStart,
|
|
230
|
-
endIndex
|
|
231
|
-
});
|
|
192
|
+
const startOffset = positions[startIndex][offsetKey];
|
|
193
|
+
setOptions({ startOffset, startIndex, overStart, endIndex });
|
|
232
194
|
if (endIndex > list.length - 1) {
|
|
233
195
|
if (onScroll) {
|
|
234
196
|
onScroll();
|
|
235
197
|
}
|
|
236
198
|
}
|
|
237
199
|
});
|
|
238
|
-
}, [
|
|
239
|
-
|
|
240
|
-
|
|
200
|
+
}, [
|
|
201
|
+
positions,
|
|
202
|
+
getElement,
|
|
203
|
+
list,
|
|
204
|
+
visibleCount,
|
|
205
|
+
itemEqual,
|
|
206
|
+
updateTotalSize,
|
|
207
|
+
offsetKey,
|
|
208
|
+
sizeKey,
|
|
209
|
+
scrollKey,
|
|
210
|
+
horizontal,
|
|
211
|
+
overscan,
|
|
212
|
+
offSetSize
|
|
213
|
+
]);
|
|
214
|
+
useEffect(() => {
|
|
215
|
+
const element = getElement();
|
|
241
216
|
element.addEventListener("scroll", scroll, false);
|
|
242
|
-
return
|
|
217
|
+
return () => {
|
|
243
218
|
element.removeEventListener("scroll", scroll, false);
|
|
244
219
|
};
|
|
245
220
|
}, [getElement, scroll]);
|
|
246
|
-
return React__default.createElement(
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
"data-index": "".concat(dataIndex),
|
|
275
|
-
className: dataIndex % 2 === 0 ? "nut-virtuallist-item even" : "nut-virtuallist-item odd",
|
|
276
|
-
key: "".concat(keyVal),
|
|
277
|
-
style: {
|
|
278
|
-
display: styleVal
|
|
279
|
-
}
|
|
280
|
-
}, itemRender ? itemRender(data, dataIndex, index) : data);
|
|
281
|
-
}))));
|
|
221
|
+
return React__default.createElement(
|
|
222
|
+
"div",
|
|
223
|
+
Object.assign({ className: classNames("nut-virtualList-box", className) }, rest, { style: {
|
|
224
|
+
[sizeKey]: containerHeight ? `${offSetSize}px` : ""
|
|
225
|
+
} }),
|
|
226
|
+
React__default.createElement(
|
|
227
|
+
"div",
|
|
228
|
+
{ ref: scrollRef, className: classNames({
|
|
229
|
+
"nut-horizontal-box": horizontal,
|
|
230
|
+
"nut-vertical-box": !horizontal
|
|
231
|
+
}), style: {
|
|
232
|
+
position: "relative",
|
|
233
|
+
[sizeKey]: `${listTotalSize}px`
|
|
234
|
+
} },
|
|
235
|
+
React__default.createElement("ul", { className: classNames("nut-virtuallist-items", {
|
|
236
|
+
"nut-horizontal-items": horizontal,
|
|
237
|
+
"nut-vertical-items": !horizontal
|
|
238
|
+
}), ref: itemsRef, style: {
|
|
239
|
+
transform: horizontal ? `translate3d(${options.startOffset}px,0,0)` : `translate3d(0,${options.startOffset}px,0)`
|
|
240
|
+
} }, list.slice(options.overStart, options.endIndex).map((data, index) => {
|
|
241
|
+
const { startIndex, overStart } = options;
|
|
242
|
+
const dataIndex = overStart + index;
|
|
243
|
+
const styleVal = dataIndex < startIndex ? "none" : "block";
|
|
244
|
+
const keyVal = key && data[key] ? data[key] : dataIndex;
|
|
245
|
+
return React__default.createElement("li", { "data-index": `${dataIndex}`, className: dataIndex % 2 === 0 ? "nut-virtuallist-item even" : "nut-virtuallist-item odd", key: `${keyVal}`, style: { display: styleVal } }, itemRender ? itemRender(data, dataIndex, index) : data);
|
|
246
|
+
}))
|
|
247
|
+
)
|
|
248
|
+
);
|
|
282
249
|
};
|
|
283
250
|
VirtualList.defaultProps = defaultProps;
|
|
284
251
|
VirtualList.displayName = "NutVirtualList";
|
package/dist/esm/WaterMark.js
CHANGED
|
@@ -1,76 +1,39 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
function ownKeys(e, r) {
|
|
4
|
-
var t = Object.keys(e);
|
|
5
|
-
if (Object.getOwnPropertySymbols) {
|
|
6
|
-
var o = Object.getOwnPropertySymbols(e);
|
|
7
|
-
r && (o = o.filter(function(r2) {
|
|
8
|
-
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
|
|
9
|
-
})), t.push.apply(t, o);
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
}
|
|
13
|
-
function _objectSpread(e) {
|
|
14
|
-
for (var r = 1; r < arguments.length; r++) {
|
|
15
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
|
16
|
-
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
|
|
17
|
-
_defineProperty(e, r2, t[r2]);
|
|
18
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
|
|
19
|
-
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
return e;
|
|
23
|
-
}
|
|
24
1
|
import React__default, { useState, useEffect } from "react";
|
|
25
2
|
import classNames from "classnames";
|
|
26
3
|
import { useConfig } from "./ConfigProvider.js";
|
|
27
4
|
import { C as ComponentDefaults } from "./typings.js";
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
zIndex
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
rotate: -22,
|
|
40
|
-
color: "rgba(0,0,0,.15)",
|
|
41
|
-
fontStyle: "normal",
|
|
42
|
-
fontWeight: "normal",
|
|
43
|
-
fontSize: 14
|
|
44
|
-
});
|
|
45
|
-
var WaterMark = function WaterMark2(props) {
|
|
46
|
-
var _useConfig = useConfig(), locale = _useConfig.locale;
|
|
47
|
-
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), content = _defaultProps$props.content, fullPage = _defaultProps$props.fullPage, zIndex = _defaultProps$props.zIndex, className = _defaultProps$props.className, gapX = _defaultProps$props.gapX, gapY = _defaultProps$props.gapY, width = _defaultProps$props.width, height = _defaultProps$props.height, image = _defaultProps$props.image, imageWidth = _defaultProps$props.imageWidth, imageHeight = _defaultProps$props.imageHeight, rotate = _defaultProps$props.rotate, color = _defaultProps$props.color, fontStyle = _defaultProps$props.fontStyle, fontFamily = _defaultProps$props.fontFamily, fontWeight = _defaultProps$props.fontWeight, fontSize = _defaultProps$props.fontSize, style = _defaultProps$props.style;
|
|
48
|
-
var _useState = useState(""), _useState2 = _slicedToArray(_useState, 2), base64Url = _useState2[0], setBase64Url = _useState2[1];
|
|
49
|
-
var classPrefix = "nut-watermark";
|
|
50
|
-
var classes = classNames(classPrefix, _defineProperty({}, "".concat(classPrefix, "-full-page"), fullPage));
|
|
51
|
-
var cls = classNames(classes, className);
|
|
52
|
-
useEffect(function() {
|
|
5
|
+
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { content: "", fullPage: true, zIndex: 2e3, gapX: 24, gapY: 48, width: 120, height: 64, image: "", imageWidth: 120, imageHeight: 64, rotate: -22, color: "rgba(0,0,0,.15)", fontStyle: "normal", fontWeight: "normal", fontSize: 14 });
|
|
6
|
+
const WaterMark = (props) => {
|
|
7
|
+
const { locale } = useConfig();
|
|
8
|
+
const { content, fullPage, zIndex, className, gapX, gapY, width, height, image, imageWidth, imageHeight, rotate, color, fontStyle, fontFamily, fontWeight, fontSize, style } = Object.assign(Object.assign({}, defaultProps), props);
|
|
9
|
+
const [base64Url, setBase64Url] = useState("");
|
|
10
|
+
const classPrefix = "nut-watermark";
|
|
11
|
+
const classes = classNames(classPrefix, {
|
|
12
|
+
[`${classPrefix}-full-page`]: fullPage
|
|
13
|
+
});
|
|
14
|
+
const cls = classNames(classes, className);
|
|
15
|
+
useEffect(() => {
|
|
53
16
|
init();
|
|
54
17
|
}, []);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
18
|
+
const init = () => {
|
|
19
|
+
const canvas = document.createElement("canvas");
|
|
20
|
+
const ratio = window.devicePixelRatio;
|
|
21
|
+
const ctx = canvas.getContext("2d");
|
|
22
|
+
const canvasWidth = `${(gapX + width) * ratio}px`;
|
|
23
|
+
const canvasHeight = `${(gapY + height) * ratio}px`;
|
|
24
|
+
const markWidth = width * ratio;
|
|
25
|
+
const markHeight = height * ratio;
|
|
63
26
|
canvas.setAttribute("width", canvasWidth);
|
|
64
27
|
canvas.setAttribute("height", canvasHeight);
|
|
65
28
|
if (ctx) {
|
|
66
29
|
if (image) {
|
|
67
30
|
ctx.translate(markWidth / 2, markHeight / 2);
|
|
68
31
|
ctx.rotate(Math.PI / 180 * Number(rotate));
|
|
69
|
-
|
|
32
|
+
const img = new Image();
|
|
70
33
|
img.crossOrigin = "anonymous";
|
|
71
34
|
img.referrerPolicy = "no-referrer";
|
|
72
35
|
img.src = image;
|
|
73
|
-
img.onload =
|
|
36
|
+
img.onload = () => {
|
|
74
37
|
ctx.drawImage(img, -imageWidth * ratio / 2, -imageHeight * ratio / 2, imageWidth * ratio, imageHeight * ratio);
|
|
75
38
|
ctx.restore();
|
|
76
39
|
setBase64Url(canvas.toDataURL());
|
|
@@ -80,8 +43,8 @@ var WaterMark = function WaterMark2(props) {
|
|
|
80
43
|
ctx.textAlign = "center";
|
|
81
44
|
ctx.translate(markWidth / 2, markHeight / 2);
|
|
82
45
|
ctx.rotate(Math.PI / 180 * Number(rotate));
|
|
83
|
-
|
|
84
|
-
ctx.font =
|
|
46
|
+
const markSize = Number(fontSize) * ratio;
|
|
47
|
+
ctx.font = `${fontStyle} normal ${fontWeight} ${markSize}px/${markHeight}px ${fontFamily}`;
|
|
85
48
|
ctx.fillStyle = color;
|
|
86
49
|
ctx.fillText(content, 0, 0);
|
|
87
50
|
ctx.restore();
|
|
@@ -91,14 +54,7 @@ var WaterMark = function WaterMark2(props) {
|
|
|
91
54
|
throw new Error(locale.watermark.errorCanvasTips);
|
|
92
55
|
}
|
|
93
56
|
};
|
|
94
|
-
return React__default.createElement("div", {
|
|
95
|
-
className: cls,
|
|
96
|
-
style: _objectSpread({
|
|
97
|
-
zIndex,
|
|
98
|
-
backgroundSize: "".concat(gapX + width, "px"),
|
|
99
|
-
backgroundImage: "url('".concat(base64Url, "')")
|
|
100
|
-
}, style)
|
|
101
|
-
});
|
|
57
|
+
return React__default.createElement("div", { className: cls, style: Object.assign({ zIndex, backgroundSize: `${gapX + width}px`, backgroundImage: `url('${base64Url}')` }, style) });
|
|
102
58
|
};
|
|
103
59
|
WaterMark.defaultProps = defaultProps;
|
|
104
60
|
WaterMark.displayName = "NutWaterMark";
|