@cloud-app-dev/vidc 4.0.19 → 4.0.21
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/es/AppContext/Sync.d.ts +8 -0
- package/es/AppContext/Sync.js +42 -0
- package/es/AppContext/index.d.ts +10 -0
- package/es/AppContext/index.js +141 -0
- package/es/AppContext/interface.d.ts +41 -0
- package/es/AppContext/static.d.ts +8 -0
- package/es/AppContext/static.js +9 -0
- package/es/Auth/index.d.ts +8 -0
- package/es/Auth/index.js +14 -0
- package/es/AutoExit/index.d.ts +6 -0
- package/es/AutoExit/index.js +19 -0
- package/es/CheckGroupFixed/demo.d.ts +3 -0
- package/es/CheckGroupFixed/demo.js +22 -0
- package/es/CheckGroupFixed/index.d.ts +24 -0
- package/es/CheckGroupFixed/index.js +140 -0
- package/es/CheckGroupFixed/index.less +56 -0
- package/es/Config/index.d.ts +4 -0
- package/es/Config/index.js +77 -0
- package/es/Config/interface.d.ts +65 -0
- package/es/Config/utils.d.ts +4 -0
- package/es/Config/utils.js +33 -0
- package/es/ConfigContext/index.d.ts +17 -0
- package/es/ConfigContext/index.js +21 -0
- package/es/CustomRenderSelect/index.d.ts +12 -0
- package/es/CustomRenderSelect/index.js +73 -0
- package/es/CustomRenderSelect/index.less +25 -0
- package/es/DBTools/index.d.ts +25 -0
- package/es/DBTools/index.js +336 -0
- package/es/DisableMark/index.d.ts +9 -0
- package/es/DisableMark/index.js +19 -0
- package/es/DisableMark/index.less +9 -0
- package/es/DomMove/demo.d.ts +2 -0
- package/es/DomMove/demo.js +16 -0
- package/es/DomMove/index.d.ts +16 -0
- package/es/DomMove/index.js +139 -0
- package/es/DomMove/utils.d.ts +8 -0
- package/es/DomMove/utils.js +32 -0
- package/es/Drag/DragAndDropItem.d.ts +4 -0
- package/es/Drag/DragAndDropItem.js +134 -0
- package/es/Drag/DropItem.d.ts +4 -0
- package/es/Drag/DropItem.js +50 -0
- package/es/Drag/index.d.ts +7 -0
- package/es/Drag/index.js +7 -0
- package/es/Drag/interface.d.ts +16 -0
- package/es/DynamicGridList/Demo.d.ts +3 -0
- package/es/DynamicGridList/Demo.js +77 -0
- package/es/DynamicGridList/index.d.ts +24 -0
- package/es/DynamicGridList/index.js +67 -0
- package/es/DynamicList/demo.d.ts +2 -0
- package/es/DynamicList/demo.js +44 -0
- package/es/DynamicList/index.d.ts +22 -0
- package/es/DynamicList/index.js +86 -0
- package/es/DynamicList/index.less +17 -0
- package/es/DynamicList/interface.d.ts +19 -0
- package/es/DynamicList/utils.d.ts +4 -0
- package/es/DynamicList/utils.js +6 -0
- package/es/ErrorFallback/index.d.ts +9 -0
- package/es/ErrorFallback/index.js +31 -0
- package/es/ErrorFallback/inerface.d.ts +48 -0
- package/es/EventTools/index.d.ts +3 -0
- package/es/EventTools/index.js +12 -0
- package/es/FrontendPlayer/index.d.ts +4 -0
- package/es/FrontendPlayer/index.js +2 -0
- package/es/FullScreen/index.d.ts +22 -0
- package/es/FullScreen/index.js +33 -0
- package/es/FullScreen/index.less +18 -0
- package/es/GridList/Demo.d.ts +3 -0
- package/es/GridList/Demo.js +80 -0
- package/es/GridList/data.d.ts +16 -0
- package/es/GridList/data.js +609 -0
- package/es/GridList/hook.d.ts +13 -0
- package/es/GridList/hook.js +270 -0
- package/es/GridList/index.d.ts +15 -0
- package/es/GridList/index.js +44 -0
- package/es/GridList/index.less +8 -0
- package/es/GridList/interface.d.ts +59 -0
- package/es/GridList/utils.d.ts +9 -0
- package/es/GridList/utils.js +42 -0
- package/es/HightLevel/index.d.ts +9 -0
- package/es/HightLevel/index.js +18 -0
- package/es/HightLevel/index.less +3 -0
- package/es/IconFont/index.d.ts +12 -0
- package/es/IconFont/index.js +54 -0
- package/es/ImageView/index.d.ts +20 -0
- package/es/ImageView/index.js +51 -0
- package/es/ImageView/index.less +11 -0
- package/es/InstanceHistory/index.d.ts +3 -0
- package/es/InstanceHistory/index.js +7 -0
- package/es/LabelPlayer/111.png +0 -0
- package/es/LabelPlayer/demo.d.ts +2 -0
- package/es/LabelPlayer/demo.js +115 -0
- package/es/LabelPlayer/index.d.ts +21 -0
- package/es/LabelPlayer/index.js +160 -0
- package/es/LabelPlayer/index.less +24 -0
- package/es/LabelValue/index.d.ts +15 -0
- package/es/LabelValue/index.js +27 -0
- package/es/LabelValue/index.less +23 -0
- package/es/List/demo.d.ts +3 -0
- package/es/List/demo.js +23 -0
- package/es/List/index.d.ts +28 -0
- package/es/List/index.js +28 -0
- package/es/List/index.less +20 -0
- package/es/ListWithSizeAnimate/demo.d.ts +2 -0
- package/es/ListWithSizeAnimate/demo.js +98 -0
- package/es/ListWithSizeAnimate/index.d.ts +14 -0
- package/es/ListWithSizeAnimate/index.js +85 -0
- package/es/ListWithSizeAnimate/index.less +23 -0
- package/es/LoaderScript/index.d.ts +47 -0
- package/es/LoaderScript/index.js +34 -0
- package/es/LoaderScript/utils.d.ts +13 -0
- package/es/LoaderScript/utils.js +179 -0
- package/es/Map/AMap.d.ts +7109 -0
- package/es/Map/BasicMap/AMapInstance.d.ts +19 -0
- package/es/Map/BasicMap/AMapInstance.js +98 -0
- package/es/Map/BasicMap/LeafletInstance.d.ts +18 -0
- package/es/Map/BasicMap/LeafletInstance.js +111 -0
- package/es/Map/BasicMap/index.d.ts +9 -0
- package/es/Map/BasicMap/index.js +90 -0
- package/es/Map/BasicMap/index.less +29 -0
- package/es/Map/ClusterLayer/demo.d.ts +3 -0
- package/es/Map/ClusterLayer/demo.js +18 -0
- package/es/Map/ClusterLayer/hook.d.ts +5 -0
- package/es/Map/ClusterLayer/hook.js +123 -0
- package/es/Map/ClusterLayer/index.d.ts +6 -0
- package/es/Map/ClusterLayer/index.js +28 -0
- package/es/Map/ClusterLayer/index.less +29 -0
- package/es/Map/ClusterLayer/props.d.ts +8 -0
- package/es/Map/Config/index.d.ts +9 -0
- package/es/Map/Config/index.js +48 -0
- package/es/Map/Config/utils.d.ts +2 -0
- package/es/Map/Config/utils.js +65 -0
- package/es/Map/Context/index.d.ts +11 -0
- package/es/Map/Context/index.js +51 -0
- package/es/Map/FindPio/index.d.ts +4 -0
- package/es/Map/FindPio/index.js +13 -0
- package/es/Map/FindPio/index.less +7 -0
- package/es/Map/InfoWindow/MakerLikeWindow.d.ts +4 -0
- package/es/Map/InfoWindow/MakerLikeWindow.js +112 -0
- package/es/Map/InfoWindow/demo.d.ts +3 -0
- package/es/Map/InfoWindow/demo.js +70 -0
- package/es/Map/InfoWindow/index.d.ts +11 -0
- package/es/Map/InfoWindow/index.js +66 -0
- package/es/Map/LevelCenter/DragMarker/index.d.ts +10 -0
- package/es/Map/LevelCenter/DragMarker/index.js +42 -0
- package/es/Map/LevelCenter/demo.d.ts +3 -0
- package/es/Map/LevelCenter/demo.js +38 -0
- package/es/Map/LevelCenter/index.d.ts +15 -0
- package/es/Map/LevelCenter/index.js +66 -0
- package/es/Map/LoaderMap/index.d.ts +7 -0
- package/es/Map/LoaderMap/index.js +62 -0
- package/es/Map/MapDrawSelect/demo.d.ts +3 -0
- package/es/Map/MapDrawSelect/demo.js +71 -0
- package/es/Map/MapDrawSelect/index.d.ts +15 -0
- package/es/Map/MapDrawSelect/index.js +56 -0
- package/es/Map/MouseTool/index.d.ts +10 -0
- package/es/Map/MouseTool/index.js +40 -0
- package/es/Map/MouseTool/useMouseTools.d.ts +7 -0
- package/es/Map/MouseTool/useMouseTools.js +83 -0
- package/es/Map/ResetTools/index.d.ts +10 -0
- package/es/Map/ResetTools/index.js +57 -0
- package/es/Map/ResetTools/index.less +39 -0
- package/es/Map/SinglePoint/demo.d.ts +3 -0
- package/es/Map/SinglePoint/demo.js +14 -0
- package/es/Map/SinglePoint/index.d.ts +27 -0
- package/es/Map/SinglePoint/index.js +52 -0
- package/es/Map/SinglePoint/index.less +41 -0
- package/es/Map/hook/useMapEvent.d.ts +2 -0
- package/es/Map/hook/useMapEvent.js +19 -0
- package/es/Map/hook/useMapType.d.ts +4 -0
- package/es/Map/hook/useMapType.js +12 -0
- package/es/Map/icon.d.ts +2 -0
- package/es/Map/icon.js +10 -0
- package/es/Map/index.d.ts +24 -0
- package/es/Map/index.js +25 -0
- package/es/Map/interface.d.ts +74 -0
- package/es/Map/points.d.ts +50 -0
- package/es/Map/points.js +1 -0
- package/es/Map/useMarker/index.d.ts +10 -0
- package/es/Map/useMarker/index.js +71 -0
- package/es/Map/withMap/index.d.ts +3 -0
- package/es/Map/withMap/index.js +10 -0
- package/es/Picture/component/DefaultRects/RectInfo.d.ts +8 -0
- package/es/Picture/component/DefaultRects/RectInfo.js +80 -0
- package/es/Picture/component/DefaultRects/index.d.ts +13 -0
- package/es/Picture/component/DefaultRects/index.js +52 -0
- package/es/Picture/component/DefaultRects/index.less +211 -0
- package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
- package/es/Picture/component/DefaultRects/utils.js +11 -0
- package/es/Picture/component/DrawRect/index.d.ts +13 -0
- package/es/Picture/component/DrawRect/index.js +46 -0
- package/es/Picture/component/DrawRect/index.less +8 -0
- package/es/Picture/component/RectMenu/index.d.ts +12 -0
- package/es/Picture/component/RectMenu/index.js +76 -0
- package/es/Picture/component/RectMenu/index.less +36 -0
- package/es/Picture/component/RectMenu/utils.d.ts +12 -0
- package/es/Picture/component/RectMenu/utils.js +19 -0
- package/es/Picture/component/Tools/index.d.ts +12 -0
- package/es/Picture/component/Tools/index.js +73 -0
- package/es/Picture/component/Tools/index.less +49 -0
- package/es/Picture/component/WheelScale/index.d.ts +7 -0
- package/es/Picture/component/WheelScale/index.js +27 -0
- package/es/Picture/demo.d.ts +2 -0
- package/es/Picture/demo.js +105 -0
- package/es/Picture/index.d.ts +5 -0
- package/es/Picture/index.js +341 -0
- package/es/Picture/index.less +20 -0
- package/es/Picture/interface.d.ts +196 -0
- package/es/Picture/loadCaptureRectImage.d.ts +3 -0
- package/es/Picture/loadCaptureRectImage.js +99 -0
- package/es/Picture/useDraw.d.ts +1 -0
- package/es/Picture/useDraw.js +103 -0
- package/es/Picture/utils.d.ts +26 -0
- package/es/Picture/utils.js +143 -0
- package/es/Player/api/index.d.ts +68 -0
- package/es/Player/api/index.js +309 -0
- package/es/Player/context.d.ts +17 -0
- package/es/Player/context.js +24 -0
- package/es/Player/contraller_bar/bar.d.ts +8 -0
- package/es/Player/contraller_bar/bar.js +20 -0
- package/es/Player/contraller_bar/contraller_event.d.ts +6 -0
- package/es/Player/contraller_bar/contraller_event.js +50 -0
- package/es/Player/contraller_bar/index.d.ts +14 -0
- package/es/Player/contraller_bar/index.js +27 -0
- package/es/Player/contraller_bar/left_bar.d.ts +10 -0
- package/es/Player/contraller_bar/left_bar.js +83 -0
- package/es/Player/contraller_bar/right_bar.d.ts +8 -0
- package/es/Player/contraller_bar/right_bar.js +32 -0
- package/es/Player/contraller_bar/time.d.ts +3 -0
- package/es/Player/contraller_bar/time.js +19 -0
- package/es/Player/contraller_bar/useBarStatus.d.ts +2 -0
- package/es/Player/contraller_bar/useBarStatus.js +43 -0
- package/es/Player/contraller_bar/volume.d.ts +9 -0
- package/es/Player/contraller_bar/volume.js +62 -0
- package/es/Player/demo.d.ts +3 -0
- package/es/Player/demo.js +266 -0
- package/es/Player/empty.d.ts +2 -0
- package/es/Player/empty.js +4 -0
- package/es/Player/event/errorEvent.d.ts +14 -0
- package/es/Player/event/errorEvent.js +88 -0
- package/es/Player/event/eventName.d.ts +18 -0
- package/es/Player/event/eventName.js +29 -0
- package/es/Player/event/index.d.ts +24 -0
- package/es/Player/event/index.js +205 -0
- package/es/Player/fps_play.d.ts +11 -0
- package/es/Player/fps_play.js +83 -0
- package/es/Player/frontend_player.d.ts +8 -0
- package/es/Player/frontend_player.js +64 -0
- package/es/Player/frontend_timeline.d.ts +10 -0
- package/es/Player/frontend_timeline.js +132 -0
- package/es/Player/iconfont.d.ts +5 -0
- package/es/Player/iconfont.js +16 -0
- package/es/Player/index.d.ts +2 -0
- package/es/Player/index.js +2 -0
- package/es/Player/live_heart.d.ts +8 -0
- package/es/Player/live_heart.js +45 -0
- package/es/Player/message.d.ts +5 -0
- package/es/Player/message.js +137 -0
- package/es/Player/player.d.ts +233 -0
- package/es/Player/segment_player.d.ts +9 -0
- package/es/Player/segment_player.js +228 -0
- package/es/Player/segment_timeline.d.ts +12 -0
- package/es/Player/segment_timeline.js +173 -0
- package/es/Player/single_player.d.ts +5 -0
- package/es/Player/single_player.js +262 -0
- package/es/Player/style/bar.less +43 -0
- package/es/Player/style/iconfont.js +43 -0
- package/es/Player/style/index.less +34 -0
- package/es/Player/style/message.less +56 -0
- package/es/Player/style/slider.less +106 -0
- package/es/Player/style/timeline.less +117 -0
- package/es/Player/style/volume.less +24 -0
- package/es/Player/timeline.d.ts +5 -0
- package/es/Player/timeline.js +95 -0
- package/es/Player/util.d.ts +43 -0
- package/es/Player/util.js +189 -0
- package/es/PlayerExt/demo.d.ts +3 -0
- package/es/PlayerExt/demo.js +154 -0
- package/es/PlayerExt/index.d.ts +48 -0
- package/es/PlayerExt/index.js +188 -0
- package/es/PlayerExt/index.less +10 -0
- package/es/Progress/index.d.ts +7 -0
- package/es/Progress/index.js +53 -0
- package/es/Progress/index.less +21 -0
- package/es/ROI/demo.d.ts +3 -0
- package/es/ROI/demo.js +16 -0
- package/es/ROI/index.d.ts +33 -0
- package/es/ROI/index.js +54 -0
- package/es/ROI/index.less +33 -0
- package/es/RefDrawer/Footer.d.ts +9 -0
- package/es/RefDrawer/Footer.js +22 -0
- package/es/RefDrawer/demo.d.ts +3 -0
- package/es/RefDrawer/demo.js +18 -0
- package/es/RefDrawer/index.d.ts +26 -0
- package/es/RefDrawer/index.js +71 -0
- package/es/RefModal/demo.d.ts +3 -0
- package/es/RefModal/demo.js +18 -0
- package/es/RefModal/index.d.ts +17 -0
- package/es/RefModal/index.js +70 -0
- package/es/ScreenPlayer/Live.d.ts +5 -0
- package/es/ScreenPlayer/Live.js +212 -0
- package/es/ScreenPlayer/LiveTools.d.ts +29 -0
- package/es/ScreenPlayer/LiveTools.js +151 -0
- package/es/ScreenPlayer/PlayerWithExt.d.ts +34 -0
- package/es/ScreenPlayer/PlayerWithExt.js +231 -0
- package/es/ScreenPlayer/RatePick.d.ts +8 -0
- package/es/ScreenPlayer/RatePick.js +29 -0
- package/es/ScreenPlayer/Record.d.ts +10 -0
- package/es/ScreenPlayer/Record.js +442 -0
- package/es/ScreenPlayer/RecordTools.d.ts +38 -0
- package/es/ScreenPlayer/RecordTools.js +197 -0
- package/es/ScreenPlayer/ScreenSelect.d.ts +7 -0
- package/es/ScreenPlayer/ScreenSelect.js +46 -0
- package/es/ScreenPlayer/SegmentTimeLine.d.ts +17 -0
- package/es/ScreenPlayer/SegmentTimeLine.js +36 -0
- package/es/ScreenPlayer/TimeMode.d.ts +7 -0
- package/es/ScreenPlayer/TimeMode.js +26 -0
- package/es/ScreenPlayer/TimeSelect.d.ts +7 -0
- package/es/ScreenPlayer/TimeSelect.js +88 -0
- package/es/ScreenPlayer/demo.d.ts +2 -0
- package/es/ScreenPlayer/demo.js +21 -0
- package/es/ScreenPlayer/demo2.d.ts +2 -0
- package/es/ScreenPlayer/demo2.js +194 -0
- package/es/ScreenPlayer/index.d.ts +6 -0
- package/es/ScreenPlayer/index.js +9 -0
- package/es/ScreenPlayer/index.less +335 -0
- package/es/ScreenPlayer/interface.d.ts +216 -0
- package/es/ScreenPlayer/useTimeSlider.d.ts +25 -0
- package/es/ScreenPlayer/useTimeSlider.js +451 -0
- package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
- package/es/ScreenPlayer/useVideoFit.js +35 -0
- package/es/ScreenPlayer/utils.d.ts +17 -0
- package/es/ScreenPlayer/utils.js +85 -0
- package/es/SegmentPlayer/index.d.ts +2 -0
- package/es/SegmentPlayer/index.js +2 -0
- package/es/Service/http.d.ts +6 -0
- package/es/Service/http.js +133 -0
- package/es/Service/index.d.ts +3 -0
- package/es/Service/index.js +11 -0
- package/es/Service/interface.d.ts +23 -0
- package/es/Service/middleware.d.ts +8 -0
- package/es/Service/middleware.js +22 -0
- package/es/SocketEmitter/eventEmitter.d.ts +27 -0
- package/es/SocketEmitter/eventEmitter.js +88 -0
- package/es/SocketEmitter/index.d.ts +24 -0
- package/es/SocketEmitter/index.js +125 -0
- package/es/SocketEmitter/interface.d.ts +4 -0
- package/es/TableLayout/index.d.ts +10 -0
- package/es/TableLayout/index.js +27 -0
- package/es/TableLayout/index.less +4 -0
- package/es/ThemeAntd/demo.d.ts +4 -0
- package/es/ThemeAntd/demo.js +81 -0
- package/es/ThemeAntd/demo.less +20 -0
- package/es/ThemeAntd/index.d.ts +7 -0
- package/es/ThemeAntd/index.js +21 -0
- package/es/ThemeAntd/index.less +4 -0
- package/es/Timeout/index.d.ts +26 -0
- package/es/Timeout/index.js +65 -0
- package/es/bigNumberTransformCN/index.d.ts +5 -0
- package/es/bigNumberTransformCN/index.js +58 -0
- package/es/cache/index.d.ts +34 -0
- package/es/cache/index.js +94 -0
- package/es/copy/index.d.ts +1 -0
- package/es/copy/index.js +9 -0
- package/es/core.d.ts +0 -0
- package/es/getThemeStyle/index.d.ts +2 -0
- package/es/getThemeStyle/index.js +5 -0
- package/es/index.d.ts +62 -0
- package/es/index.js +62 -0
- package/es/likeGo/index.d.ts +2 -0
- package/es/likeGo/index.js +31 -0
- package/es/likeGoSync/index.d.ts +2 -0
- package/es/likeGoSync/index.js +10 -0
- package/es/logger/index.d.ts +7 -0
- package/es/logger/index.js +30 -0
- package/es/nextTick/index.d.ts +1 -0
- package/es/nextTick/index.js +3 -0
- package/es/recorder/demo.d.ts +3 -0
- package/es/recorder/demo.js +181 -0
- package/es/recorder/index.d.ts +294 -0
- package/es/recorder/index.js +992 -0
- package/es/submidstr/index.d.ts +5 -0
- package/es/submidstr/index.js +14 -0
- package/es/treeHelper/index.d.ts +11 -0
- package/es/treeHelper/index.js +188 -0
- package/es/typings.d.ts +2 -0
- package/es/useDrawROI/index.d.ts +16 -0
- package/es/useDrawROI/index.js +318 -0
- package/es/useEventEmitterHandle/index.d.ts +2 -0
- package/es/useEventEmitterHandle/index.js +17 -0
- package/es/useFullscreen/demo.d.ts +2 -0
- package/es/useFullscreen/demo.js +43 -0
- package/es/useFullscreen/index.d.ts +12 -0
- package/es/useFullscreen/index.js +76 -0
- package/es/useHistory/index.d.ts +3 -0
- package/es/useHistory/index.js +9 -0
- package/es/useHistory/interface.d.ts +3 -0
- package/es/useInfiniteScroll/index.d.ts +16 -0
- package/es/useInfiniteScroll/index.js +102 -0
- package/es/useRafInterval/index.d.ts +5 -0
- package/es/useRafInterval/index.js +71 -0
- package/es/useSimpleState/index.d.ts +3 -0
- package/es/useSimpleState/index.js +35 -0
- package/es/useVirtualList/index.d.ts +13 -0
- package/es/useVirtualList/index.js +136 -0
- package/es/utils.d.ts +14 -0
- package/es/utils.js +46 -0
- package/es/uuid/index.d.ts +5 -0
- package/es/uuid/index.js +6 -0
- package/package.json +1 -1
- package/tsconfig.json +1 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { useState } from 'react';
|
|
8
|
+
import useLatest from 'ahooks/es/useLatest';
|
|
9
|
+
import useMemoizedFn from 'ahooks/es/useMemoizedFn';
|
|
10
|
+
import useUnmount from 'ahooks/es/useUnmount';
|
|
11
|
+
import { getTargetElement } from 'ahooks/es/utils/domTarget';
|
|
12
|
+
import screenfull from 'screenfull';
|
|
13
|
+
var useFullscreen = function useFullscreen(target, options) {
|
|
14
|
+
var _ref = options || {},
|
|
15
|
+
onExit = _ref.onExit,
|
|
16
|
+
onEnter = _ref.onEnter;
|
|
17
|
+
var onExitRef = useLatest(onExit);
|
|
18
|
+
var onEnterRef = useLatest(onEnter);
|
|
19
|
+
var _useState = useState(false),
|
|
20
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
+
state = _useState2[0],
|
|
22
|
+
setState = _useState2[1];
|
|
23
|
+
var onChange = function onChange() {
|
|
24
|
+
if (screenfull.isEnabled) {
|
|
25
|
+
var el = getTargetElement(target);
|
|
26
|
+
var isFullscreen = document.fullscreenElement === el;
|
|
27
|
+
if (isFullscreen) {
|
|
28
|
+
var _onEnterRef$current;
|
|
29
|
+
(_onEnterRef$current = onEnterRef.current) === null || _onEnterRef$current === void 0 || _onEnterRef$current.call(onEnterRef);
|
|
30
|
+
} else {
|
|
31
|
+
var _onExitRef$current;
|
|
32
|
+
screenfull.off('change', onChange);
|
|
33
|
+
(_onExitRef$current = onExitRef.current) === null || _onExitRef$current === void 0 || _onExitRef$current.call(onExitRef);
|
|
34
|
+
}
|
|
35
|
+
setState(isFullscreen);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var enterFullscreen = function enterFullscreen() {
|
|
39
|
+
var el = getTargetElement(target);
|
|
40
|
+
if (!el) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (screenfull.isEnabled) {
|
|
44
|
+
try {
|
|
45
|
+
screenfull.request(el);
|
|
46
|
+
screenfull.on('change', onChange);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error(error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var exitFullscreen = function exitFullscreen() {
|
|
53
|
+
if (screenfull.isEnabled) {
|
|
54
|
+
screenfull.exit();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var toggleFullscreen = function toggleFullscreen() {
|
|
58
|
+
if (state) {
|
|
59
|
+
exitFullscreen();
|
|
60
|
+
} else {
|
|
61
|
+
enterFullscreen();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
useUnmount(function () {
|
|
65
|
+
if (screenfull.isEnabled) {
|
|
66
|
+
screenfull.off('change', onChange);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return [state, {
|
|
70
|
+
enterFullscreen: useMemoizedFn(enterFullscreen),
|
|
71
|
+
exitFullscreen: useMemoizedFn(exitFullscreen),
|
|
72
|
+
toggleFullscreen: useMemoizedFn(toggleFullscreen),
|
|
73
|
+
isEnabled: screenfull.isEnabled
|
|
74
|
+
}];
|
|
75
|
+
};
|
|
76
|
+
export default useFullscreen;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BasicTarget } from 'ahooks/lib/utils/domTarget';
|
|
2
|
+
export type TData<T> = {
|
|
3
|
+
list: T[];
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
};
|
|
6
|
+
declare function useInfiniteScroll<T>(fetcher: (currentData?: TData<T>) => Promise<TData<T>>, options: {
|
|
7
|
+
target?: BasicTarget;
|
|
8
|
+
isNoMore?: (data?: TData<T>) => boolean;
|
|
9
|
+
threshold?: number;
|
|
10
|
+
reloadDeps?: any[];
|
|
11
|
+
}): {
|
|
12
|
+
noMore: boolean;
|
|
13
|
+
data: TData<T>;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
};
|
|
16
|
+
export default useInfiniteScroll;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import { useDebounceFn, useEventListener, useUpdateEffect } from 'ahooks';
|
|
14
|
+
import { getTargetElement } from 'ahooks/es/utils/domTarget';
|
|
15
|
+
import { getClientHeight, getScrollHeight, getScrollTop } from 'ahooks/es/utils/rect';
|
|
16
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
17
|
+
function useInfiniteScroll(fetcher, options) {
|
|
18
|
+
var target = options.target,
|
|
19
|
+
isNoMore = options.isNoMore,
|
|
20
|
+
threshold = options.threshold,
|
|
21
|
+
reloadDeps = options.reloadDeps;
|
|
22
|
+
var _useState = useState({
|
|
23
|
+
data: {
|
|
24
|
+
list: []
|
|
25
|
+
},
|
|
26
|
+
loadding: false
|
|
27
|
+
}),
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
state = _useState2[0],
|
|
30
|
+
setState = _useState2[1];
|
|
31
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
+
var noMore = useMemo(function () {
|
|
33
|
+
return !isNoMore ? false : isNoMore(state.data);
|
|
34
|
+
}, [state.data]);
|
|
35
|
+
var loadMore = function loadMore(flag) {
|
|
36
|
+
var _isNoMore;
|
|
37
|
+
if (!flag && ((_isNoMore = isNoMore === null || isNoMore === void 0 ? void 0 : isNoMore(state.data)) !== null && _isNoMore !== void 0 ? _isNoMore : false)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (state.loadding) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
setState(function (old) {
|
|
44
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
45
|
+
loadding: true
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
fetcher(flag ? {
|
|
49
|
+
list: []
|
|
50
|
+
} : state.data).then(function (res) {
|
|
51
|
+
return setState(function (old) {
|
|
52
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
53
|
+
data: _objectSpread({}, res),
|
|
54
|
+
loadding: false
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
+
useEffect(function () {
|
|
62
|
+
return loadMore(true);
|
|
63
|
+
}, reloadDeps ? reloadDeps : [reloadDeps]);
|
|
64
|
+
var scrollMethod = useDebounceFn(function () {
|
|
65
|
+
var el = getTargetElement(target);
|
|
66
|
+
if (!el) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
var scrollTop = getScrollTop(el);
|
|
70
|
+
var scrollHeight = getScrollHeight(el);
|
|
71
|
+
var clientHeight = getClientHeight(el);
|
|
72
|
+
if (scrollHeight - scrollTop <= clientHeight + (threshold || 50)) {
|
|
73
|
+
loadMore();
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
wait: 100
|
|
77
|
+
});
|
|
78
|
+
useEventListener('scroll', function () {
|
|
79
|
+
if (state.loadding) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
scrollMethod.run();
|
|
83
|
+
}, {
|
|
84
|
+
target: target
|
|
85
|
+
});
|
|
86
|
+
useUpdateEffect(function () {
|
|
87
|
+
var el = getTargetElement(target);
|
|
88
|
+
if (!el) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
el.scrollTo({
|
|
92
|
+
left: 0,
|
|
93
|
+
top: 0
|
|
94
|
+
});
|
|
95
|
+
}, reloadDeps ? reloadDeps : []);
|
|
96
|
+
return {
|
|
97
|
+
noMore: noMore,
|
|
98
|
+
data: state.data,
|
|
99
|
+
loading: state.loadding
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export default useInfiniteScroll;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
9
|
+
import { useLatest } from 'ahooks';
|
|
10
|
+
import { isNumber } from 'lodash-es';
|
|
11
|
+
var setRafInterval = function setRafInterval(callback) {
|
|
12
|
+
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
13
|
+
if ((typeof requestAnimationFrame === "undefined" ? "undefined" : _typeof(requestAnimationFrame)) === (typeof undefined === "undefined" ? "undefined" : _typeof(undefined))) {
|
|
14
|
+
return {
|
|
15
|
+
id: setInterval(callback, delay)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var start = new Date().getTime();
|
|
19
|
+
var handle = {
|
|
20
|
+
id: 0
|
|
21
|
+
};
|
|
22
|
+
var loop = function loop() {
|
|
23
|
+
var current = new Date().getTime();
|
|
24
|
+
if (current - start >= delay) {
|
|
25
|
+
callback();
|
|
26
|
+
start = new Date().getTime();
|
|
27
|
+
}
|
|
28
|
+
handle.id = requestAnimationFrame(loop);
|
|
29
|
+
};
|
|
30
|
+
handle.id = requestAnimationFrame(loop);
|
|
31
|
+
return handle;
|
|
32
|
+
};
|
|
33
|
+
function cancelAnimationFrameIsNotDefined(t) {
|
|
34
|
+
return (typeof cancelAnimationFrame === "undefined" ? "undefined" : _typeof(cancelAnimationFrame)) === (typeof undefined === "undefined" ? "undefined" : _typeof(undefined));
|
|
35
|
+
}
|
|
36
|
+
var clearRafInterval = function clearRafInterval(handle) {
|
|
37
|
+
if (cancelAnimationFrameIsNotDefined(handle.id)) {
|
|
38
|
+
//@ts-ignore
|
|
39
|
+
return clearInterval(handle.id);
|
|
40
|
+
}
|
|
41
|
+
cancelAnimationFrame(handle.id);
|
|
42
|
+
};
|
|
43
|
+
function useRafInterval(fn, delay, options) {
|
|
44
|
+
var _options$deps;
|
|
45
|
+
var immediate = options === null || options === void 0 ? void 0 : options.immediate;
|
|
46
|
+
var deps = (_options$deps = options === null || options === void 0 ? void 0 : options.deps) !== null && _options$deps !== void 0 ? _options$deps : [];
|
|
47
|
+
var fnRef = useLatest(fn);
|
|
48
|
+
var timerRef = useRef();
|
|
49
|
+
useEffect(function () {
|
|
50
|
+
if (!isNumber(delay) || delay < 0) return undefined;
|
|
51
|
+
if (immediate) {
|
|
52
|
+
fnRef.current();
|
|
53
|
+
}
|
|
54
|
+
timerRef.current = setRafInterval(function () {
|
|
55
|
+
fnRef.current();
|
|
56
|
+
}, delay);
|
|
57
|
+
return function () {
|
|
58
|
+
if (timerRef.current) {
|
|
59
|
+
clearRafInterval(timerRef.current);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
|
+
}, [delay].concat(_toConsumableArray(deps)));
|
|
64
|
+
var clear = useCallback(function () {
|
|
65
|
+
if (timerRef.current) {
|
|
66
|
+
clearRafInterval(timerRef.current);
|
|
67
|
+
}
|
|
68
|
+
}, []);
|
|
69
|
+
return clear;
|
|
70
|
+
}
|
|
71
|
+
export default useRafInterval;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import { useMemoizedFn, useSafeState } from 'ahooks';
|
|
14
|
+
import { isFunction, isObjectLike } from 'lodash-es';
|
|
15
|
+
import { useMemo } from 'react';
|
|
16
|
+
function useSimpleState(s) {
|
|
17
|
+
var _useSafeState = useSafeState(s),
|
|
18
|
+
_useSafeState2 = _slicedToArray(_useSafeState, 2),
|
|
19
|
+
state = _useSafeState2[0],
|
|
20
|
+
setState = _useSafeState2[1];
|
|
21
|
+
var stateChange = useMemoizedFn(function (d) {
|
|
22
|
+
return setState(function (old) {
|
|
23
|
+
return _objectSpread(_objectSpread({}, old), d);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27
|
+
var isObject = useMemo(function () {
|
|
28
|
+
return isObjectLike(s) || isFunction(s) && isObjectLike(s());
|
|
29
|
+
}, []);
|
|
30
|
+
var result = useMemo(function () {
|
|
31
|
+
return [state, isObject ? stateChange : setState, setState];
|
|
32
|
+
}, [isObject, setState, state, stateChange]);
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
export default useSimpleState;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BasicTarget } from 'ahooks/es/utils/domTarget';
|
|
2
|
+
type ItemHeight<T> = (index: number, data: T) => number;
|
|
3
|
+
export interface Options<T> {
|
|
4
|
+
containerTarget: BasicTarget;
|
|
5
|
+
wrapperTarget: BasicTarget;
|
|
6
|
+
itemHeight: number | ItemHeight<T>;
|
|
7
|
+
overscan?: number;
|
|
8
|
+
}
|
|
9
|
+
declare const useVirtualList: <T = any>(list: T[], options: Options<T>) => readonly [{
|
|
10
|
+
index: number;
|
|
11
|
+
data: T;
|
|
12
|
+
}[], (index: number) => void];
|
|
13
|
+
export default useVirtualList;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { useEffect, useMemo, useState, useRef, useLayoutEffect } from 'react';
|
|
8
|
+
import { useEventListener, useLatest, useMemoizedFn, useSize } from 'ahooks';
|
|
9
|
+
import { getTargetElement } from 'ahooks/es/utils/domTarget';
|
|
10
|
+
import { isNumber } from 'ahooks/es/utils';
|
|
11
|
+
var useVirtualList = function useVirtualList(list, options) {
|
|
12
|
+
var containerTarget = options.containerTarget,
|
|
13
|
+
wrapperTarget = options.wrapperTarget,
|
|
14
|
+
itemHeight = options.itemHeight,
|
|
15
|
+
_options$overscan = options.overscan,
|
|
16
|
+
overscan = _options$overscan === void 0 ? 5 : _options$overscan;
|
|
17
|
+
var itemHeightRef = useLatest(itemHeight);
|
|
18
|
+
var size = useSize(containerTarget);
|
|
19
|
+
var scrollTriggerByScrollToFunc = useRef(false);
|
|
20
|
+
var _useState = useState([]),
|
|
21
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
22
|
+
targetList = _useState2[0],
|
|
23
|
+
setTargetList = _useState2[1];
|
|
24
|
+
var _useState3 = useState(0),
|
|
25
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
26
|
+
offsetTop = _useState4[0],
|
|
27
|
+
setOffsetTop = _useState4[1];
|
|
28
|
+
var getVisibleCount = function getVisibleCount(containerHeight, fromIndex) {
|
|
29
|
+
if (isNumber(itemHeightRef.current)) {
|
|
30
|
+
return Math.ceil(containerHeight / itemHeightRef.current);
|
|
31
|
+
}
|
|
32
|
+
var sum = 0;
|
|
33
|
+
var endIndex = 0;
|
|
34
|
+
for (var i = fromIndex; i < list.length; i++) {
|
|
35
|
+
var height = itemHeightRef.current(i, list[i]);
|
|
36
|
+
sum += height;
|
|
37
|
+
endIndex = i;
|
|
38
|
+
if (sum >= containerHeight) {
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return endIndex - fromIndex;
|
|
43
|
+
};
|
|
44
|
+
var getOffset = function getOffset(scrollTop) {
|
|
45
|
+
if (isNumber(itemHeightRef.current)) {
|
|
46
|
+
return Math.floor(scrollTop / itemHeightRef.current) + 1;
|
|
47
|
+
}
|
|
48
|
+
var sum = 0;
|
|
49
|
+
var offset = 0;
|
|
50
|
+
for (var i = 0; i < list.length; i++) {
|
|
51
|
+
var height = itemHeightRef.current(i, list[i]);
|
|
52
|
+
sum += height;
|
|
53
|
+
if (sum >= scrollTop) {
|
|
54
|
+
offset = i;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return offset + 1;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// 获取上部高度
|
|
62
|
+
var getDistanceTop = function getDistanceTop(index) {
|
|
63
|
+
if (isNumber(itemHeightRef.current)) {
|
|
64
|
+
var _height = index * itemHeightRef.current;
|
|
65
|
+
return _height;
|
|
66
|
+
}
|
|
67
|
+
var height = list.slice(0, index).reduce(function (sum, _, i) {
|
|
68
|
+
return sum + itemHeightRef.current(i, list[i]);
|
|
69
|
+
}, 0);
|
|
70
|
+
return height;
|
|
71
|
+
};
|
|
72
|
+
var totalHeight = useMemo(function () {
|
|
73
|
+
if (isNumber(itemHeightRef.current)) {
|
|
74
|
+
return list.length * itemHeightRef.current;
|
|
75
|
+
}
|
|
76
|
+
return list.reduce(function (sum, _, index) {
|
|
77
|
+
return sum + itemHeightRef.current(index, list[index]);
|
|
78
|
+
}, 0);
|
|
79
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
80
|
+
}, [list]);
|
|
81
|
+
useLayoutEffect(function () {
|
|
82
|
+
var wrapper = getTargetElement(wrapperTarget);
|
|
83
|
+
wrapper.style.height = totalHeight - offsetTop + 'px';
|
|
84
|
+
wrapper.style.marginTop = offsetTop + 'px';
|
|
85
|
+
}, [totalHeight, wrapperTarget, offsetTop]);
|
|
86
|
+
var calculateRange = function calculateRange() {
|
|
87
|
+
var container = getTargetElement(containerTarget);
|
|
88
|
+
var wrapper = getTargetElement(wrapperTarget);
|
|
89
|
+
if (container && wrapper) {
|
|
90
|
+
var scrollTop = container.scrollTop,
|
|
91
|
+
clientHeight = container.clientHeight;
|
|
92
|
+
var offset = getOffset(scrollTop);
|
|
93
|
+
var visibleCount = getVisibleCount(clientHeight, offset);
|
|
94
|
+
var start = Math.max(0, offset - overscan);
|
|
95
|
+
var end = Math.min(list.length, offset + visibleCount + overscan);
|
|
96
|
+
var _offsetTop = getDistanceTop(start);
|
|
97
|
+
setOffsetTop(_offsetTop);
|
|
98
|
+
// wrapper.style.height = totalHeight - offsetTop + 'px';
|
|
99
|
+
// wrapper.style.marginTop = offsetTop + 'px';
|
|
100
|
+
|
|
101
|
+
setTargetList(list.slice(start, end).map(function (ele, index) {
|
|
102
|
+
return {
|
|
103
|
+
data: ele,
|
|
104
|
+
index: index + start
|
|
105
|
+
};
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
useEffect(function () {
|
|
110
|
+
if (!(size !== null && size !== void 0 && size.width) || !(size !== null && size !== void 0 && size.height)) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
calculateRange();
|
|
114
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
115
|
+
}, [size === null || size === void 0 ? void 0 : size.width, size === null || size === void 0 ? void 0 : size.height, list]);
|
|
116
|
+
useEventListener('scroll', function (e) {
|
|
117
|
+
if (scrollTriggerByScrollToFunc.current) {
|
|
118
|
+
scrollTriggerByScrollToFunc.current = false;
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
e.preventDefault();
|
|
122
|
+
calculateRange();
|
|
123
|
+
}, {
|
|
124
|
+
target: containerTarget
|
|
125
|
+
});
|
|
126
|
+
var scrollTo = function scrollTo(index) {
|
|
127
|
+
var container = getTargetElement(containerTarget);
|
|
128
|
+
if (container) {
|
|
129
|
+
scrollTriggerByScrollToFunc.current = true;
|
|
130
|
+
container.scrollTop = getDistanceTop(index);
|
|
131
|
+
calculateRange();
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
return [targetList, useMemoizedFn(scrollTo)];
|
|
135
|
+
};
|
|
136
|
+
export default useVirtualList;
|
package/es/utils.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MutableRefObject } from 'react';
|
|
2
|
+
import likeGo from './likeGo';
|
|
3
|
+
type TargetValue<T> = T | undefined | null;
|
|
4
|
+
type TargetType = HTMLElement | Element | Window | Document;
|
|
5
|
+
export type BasicTarget<T extends TargetType = Element> = (() => TargetValue<T>) | TargetValue<T> | MutableRefObject<TargetValue<T>>;
|
|
6
|
+
export declare function getTargetElement<T extends TargetType>(target: BasicTarget<T>, defaultElement?: T): T;
|
|
7
|
+
declare const getScrollTop: (el: Document | Element) => number;
|
|
8
|
+
declare const getScrollHeight: (el: Document | Element) => number;
|
|
9
|
+
declare const getClientHeight: (el: Document | Element) => number;
|
|
10
|
+
declare const getEleScrollHeight: (el: Document | Element) => number;
|
|
11
|
+
export declare const getHeader: () => {
|
|
12
|
+
Authorization: any;
|
|
13
|
+
};
|
|
14
|
+
export { getScrollTop, getScrollHeight, getClientHeight, getEleScrollHeight, likeGo };
|
package/es/utils.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import cache from "./cache";
|
|
2
|
+
import likeGo from "./likeGo";
|
|
3
|
+
export function getTargetElement(target, defaultElement) {
|
|
4
|
+
if (!target) {
|
|
5
|
+
return defaultElement;
|
|
6
|
+
}
|
|
7
|
+
var targetElement;
|
|
8
|
+
if (typeof target === 'function') {
|
|
9
|
+
targetElement = target();
|
|
10
|
+
} else if ('current' in target) {
|
|
11
|
+
targetElement = target.current;
|
|
12
|
+
} else {
|
|
13
|
+
targetElement = target;
|
|
14
|
+
}
|
|
15
|
+
return targetElement;
|
|
16
|
+
}
|
|
17
|
+
var getScrollTop = function getScrollTop(el) {
|
|
18
|
+
if (el === document || el === document.body) {
|
|
19
|
+
return Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);
|
|
20
|
+
}
|
|
21
|
+
return el.scrollTop;
|
|
22
|
+
};
|
|
23
|
+
var getScrollHeight = function getScrollHeight(el) {
|
|
24
|
+
return el.scrollHeight || Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
|
|
25
|
+
};
|
|
26
|
+
var getClientHeight = function getClientHeight(el) {
|
|
27
|
+
return el.clientHeight || Math.max(document.documentElement.clientHeight, document.body.clientHeight);
|
|
28
|
+
};
|
|
29
|
+
var getEleScrollHeight = function getEleScrollHeight(el) {
|
|
30
|
+
if (el === document || el === document.body) {
|
|
31
|
+
return Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);
|
|
32
|
+
}
|
|
33
|
+
var top = 0;
|
|
34
|
+
var dom = el;
|
|
35
|
+
while (dom) {
|
|
36
|
+
top += dom.scrollTop;
|
|
37
|
+
dom = dom.parentElement;
|
|
38
|
+
}
|
|
39
|
+
return top;
|
|
40
|
+
};
|
|
41
|
+
export var getHeader = function getHeader() {
|
|
42
|
+
return {
|
|
43
|
+
Authorization: cache.getCache('token', 'session')
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export { getScrollTop, getScrollHeight, getClientHeight, getEleScrollHeight, likeGo };
|
package/es/uuid/index.js
ADDED
package/package.json
CHANGED