@xiping/react-components 1.0.50 → 1.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/gradient-text/index.js +1 -1
- package/dist/cjs/components/message/Message.js +1 -1
- package/dist/cjs/components/subtitle-player/CurrentMode.d.ts +20 -0
- package/dist/cjs/components/subtitle-player/CurrentMode.js +2 -0
- package/dist/cjs/components/subtitle-player/LyricsMode.d.ts +26 -0
- package/dist/cjs/components/subtitle-player/LyricsMode.js +2 -0
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.d.ts +3 -2
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.js +1 -3
- package/dist/cjs/components/subtitle-player/utils.d.ts +28 -0
- package/dist/cjs/components/subtitle-player/utils.js +1 -0
- package/dist/cjs/components/text-animate/TextAnimate.js +1 -1
- package/dist/cjs/components/text-type/TextType.js +1 -1
- package/dist/cjs/components/txt-reader/TxtReader.js +1 -1
- package/dist/cjs/components/txt-reader/index.module.css.js +1 -1
- package/dist/cjs/components/variable-proximity/index.js +1 -1
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.js +1 -1
- package/dist/cjs/components/video-subtitle-player/useVideoSubtitleStore.js +1 -1
- package/dist/cjs/react-components.css +1 -1
- package/dist/es/components/gradient-text/index.js +8 -8
- package/dist/es/components/message/Message.js +72 -72
- package/dist/es/components/subtitle-player/CurrentMode.d.ts +20 -0
- package/dist/es/components/subtitle-player/CurrentMode.js +40 -0
- package/dist/es/components/subtitle-player/LyricsMode.d.ts +26 -0
- package/dist/es/components/subtitle-player/LyricsMode.js +67 -0
- package/dist/es/components/subtitle-player/SubtitlePlayer.d.ts +3 -2
- package/dist/es/components/subtitle-player/SubtitlePlayer.js +121 -238
- package/dist/es/components/subtitle-player/utils.d.ts +28 -0
- package/dist/es/components/subtitle-player/utils.js +72 -0
- package/dist/es/components/text-animate/TextAnimate.js +0 -1
- package/dist/es/components/text-type/TextType.js +31 -31
- package/dist/es/components/txt-reader/TxtReader.js +9 -9
- package/dist/es/components/txt-reader/index.module.css.js +7 -8
- package/dist/es/components/variable-proximity/index.js +8 -9
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.js +64 -64
- package/dist/es/components/video-subtitle-player/useVideoSubtitleStore.js +1 -1
- package/dist/es/react-components.css +1 -1
- package/package.json +15 -15
- package/dist/cjs/_virtual/_commonjsHelpers.js +0 -1
- package/dist/cjs/_virtual/delegate.js +0 -1
- package/dist/cjs/_virtual/download.js +0 -1
- package/dist/cjs/_virtual/download2.js +0 -1
- package/dist/cjs/_virtual/index.js +0 -1
- package/dist/cjs/_virtual/index2.js +0 -1
- package/dist/cjs/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/closest.js +0 -1
- package/dist/cjs/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js +0 -1
- package/dist/cjs/node_modules/.pnpm/downloadjs@1.4.7/node_modules/downloadjs/download.js +0 -3
- package/dist/cjs/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/_virtual/_rollupPluginBabelHelpers.js +0 -2
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/constant.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/defaultConfig.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/error.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/events.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/instManager.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/en.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/i18n.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/zh-cn.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/mediaProxy.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/player.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/basePlugin.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/hooksDescriptor.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/plugin.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/pluginsManager.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/preset.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/resizeObserver.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/back.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/download.js +0 -15
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitCssFull.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitFull.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/loading.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pause.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIcon.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIconExit.js +0 -8
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/play.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/playNext.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/replay.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestCssFull.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestFull.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/rotate.js +0 -12
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/seekicon.js +0 -7
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeLarge.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeMuted.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeSmall.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconPlugin.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconTools.js +0 -3
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionList.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionsIcon.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/thumbnail.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/controls/index.js +0 -9
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/cssFullScreen/index.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/definition/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/download/index.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/dynamicBg/index.js +0 -2
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/enter/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/error/index.js +0 -6
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fpsDetect/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/backicon.js +0 -2
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/index.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/gapJump/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/keyboard/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/loading/index.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/logger/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/index.js +0 -13
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/miniScreenIcon.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/index.js +0 -19
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/touch.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pc/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pip/index.js +0 -8
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/play/index.js +0 -5
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playNext/index.js +0 -7
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playbackRate/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/poster/index.js +0 -2
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/index.js +0 -7
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/innerList.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/miniProgress.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/dotsApi.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/index.js +0 -11
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/prompt/index.js +0 -3
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/replay/index.js +0 -3
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/rotate/index.js +0 -6
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/screenShot/index.js +0 -6
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/start/index.js +0 -4
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/stats/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/testspeed/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/index.js +0 -6
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/timesegments.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/volume/index.js +0 -11
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/waitingTimeoutJump/index.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/presets/default.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/state.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/stateClassMap.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/database.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/debug.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/draggabilly.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/sniffer.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/util.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/xgplayerTimeRange.js +0 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/version.js +0 -1
- package/dist/cjs/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/react.js +0 -1
- package/dist/cjs/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/vanilla.js +0 -1
- package/dist/es/_virtual/_commonjsHelpers.js +0 -6
- package/dist/es/_virtual/delegate.js +0 -7
- package/dist/es/_virtual/download.js +0 -7
- package/dist/es/_virtual/download2.js +0 -4
- package/dist/es/_virtual/index.js +0 -8
- package/dist/es/_virtual/index2.js +0 -4
- package/dist/es/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/closest.js +0 -21
- package/dist/es/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js +0 -29
- package/dist/es/node_modules/.pnpm/downloadjs@1.4.7/node_modules/downloadjs/download.js +0 -77
- package/dist/es/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js +0 -111
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/_virtual/_rollupPluginBabelHelpers.js +0 -197
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/constant.js +0 -7
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/defaultConfig.js +0 -87
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/error.js +0 -64
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/events.js +0 -67
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js +0 -45
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/instManager.js +0 -101
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/en.js +0 -79
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/i18n.js +0 -75
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/zh-cn.js +0 -79
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/mediaProxy.js +0 -466
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/player.js +0 -1240
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/basePlugin.js +0 -207
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/hooksDescriptor.js +0 -130
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/plugin.js +0 -366
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/pluginsManager.js +0 -204
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/preset.js +0 -14
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/resizeObserver.js +0 -81
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/back.js +0 -10
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/download.js +0 -20
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitCssFull.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitFull.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/loading.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pause.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIcon.js +0 -10
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIconExit.js +0 -13
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/play.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/playNext.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/replay.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestCssFull.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestFull.js +0 -9
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/rotate.js +0 -17
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/seekicon.js +0 -12
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeLarge.js +0 -10
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeMuted.js +0 -10
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeSmall.js +0 -10
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconPlugin.js +0 -35
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconTools.js +0 -12
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionList.js +0 -79
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionsIcon.js +0 -193
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/thumbnail.js +0 -141
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/controls/index.js +0 -171
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/cssFullScreen/index.js +0 -105
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/definition/index.js +0 -110
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/download/index.js +0 -83
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/dynamicBg/index.js +0 -232
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/enter/index.js +0 -42
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/error/index.js +0 -68
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fpsDetect/index.js +0 -116
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/backicon.js +0 -68
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/index.js +0 -150
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/gapJump/index.js +0 -96
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/keyboard/index.js +0 -299
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/loading/index.js +0 -46
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/logger/index.js +0 -171
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/index.js +0 -169
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/miniScreenIcon.js +0 -55
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/index.js +0 -448
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/touch.js +0 -138
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pc/index.js +0 -122
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pip/index.js +0 -216
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/play/index.js +0 -102
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playNext/index.js +0 -78
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playbackRate/index.js +0 -100
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/poster/index.js +0 -119
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/index.js +0 -431
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/innerList.js +0 -215
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/miniProgress.js +0 -93
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/dotsApi.js +0 -175
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/index.js +0 -292
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/prompt/index.js +0 -86
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/replay/index.js +0 -92
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/rotate/index.js +0 -106
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/screenShot/index.js +0 -134
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/start/index.js +0 -222
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/stats/index.js +0 -152
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/testspeed/index.js +0 -134
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/index.js +0 -164
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/timesegments.js +0 -146
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/volume/index.js +0 -206
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/waitingTimeoutJump/index.js +0 -53
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/presets/default.js +0 -61
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/state.js +0 -13
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/stateClassMap.js +0 -34
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/database.js +0 -83
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/debug.js +0 -34
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/draggabilly.js +0 -271
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/sniffer.js +0 -111
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/util.js +0 -517
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/xgplayerTimeRange.js +0 -25
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/version.js +0 -4
- package/dist/es/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/react.js +0 -19
- package/dist/es/node_modules/.pnpm/zustand@5.0.9_@types_react@19.2.7_react@19.2.3_use-sync-external-store@1.6.0_react@19.2.3_/node_modules/zustand/esm/vanilla.js +0 -14
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import
|
|
1
|
+
import { jsxs as i, jsx as e, Fragment as L } from "react/jsx-runtime";
|
|
2
|
+
import { useState as b } from "react";
|
|
3
|
+
import a from "react-markdown";
|
|
4
4
|
/* empty css */
|
|
5
5
|
const q = ({
|
|
6
|
-
id:
|
|
6
|
+
id: y,
|
|
7
7
|
content: o,
|
|
8
|
-
sender:
|
|
8
|
+
sender: n,
|
|
9
9
|
timestamp: d,
|
|
10
10
|
isThinking: c = !1,
|
|
11
|
-
isLoading:
|
|
12
|
-
className:
|
|
13
|
-
style:
|
|
14
|
-
showTimestamp:
|
|
15
|
-
avatarUser:
|
|
16
|
-
avatarAssistant:
|
|
17
|
-
thinkingText:
|
|
18
|
-
customThinkingComponent:
|
|
19
|
-
customUserMessageComponent:
|
|
20
|
-
customAssistantMessageComponent:
|
|
21
|
-
parseContent:
|
|
22
|
-
parsedContent:
|
|
23
|
-
thinkContent:
|
|
11
|
+
isLoading: j = !1,
|
|
12
|
+
className: V = "",
|
|
13
|
+
style: B = {},
|
|
14
|
+
showTimestamp: g = !0,
|
|
15
|
+
avatarUser: h,
|
|
16
|
+
avatarAssistant: m,
|
|
17
|
+
thinkingText: H = "思考中...",
|
|
18
|
+
customThinkingComponent: p,
|
|
19
|
+
customUserMessageComponent: _,
|
|
20
|
+
customAssistantMessageComponent: u,
|
|
21
|
+
parseContent: M = !1,
|
|
22
|
+
parsedContent: x,
|
|
23
|
+
thinkContent: r,
|
|
24
24
|
knowledgeSources: l
|
|
25
25
|
}) => {
|
|
26
|
-
const [
|
|
27
|
-
console.log(
|
|
28
|
-
const
|
|
26
|
+
const [t, k] = b(!0), [W, v] = b("idle");
|
|
27
|
+
console.log(y, "id");
|
|
28
|
+
const N = (s) => s.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }), $ = async () => {
|
|
29
29
|
try {
|
|
30
|
-
await navigator.clipboard.writeText(o),
|
|
31
|
-
} catch (
|
|
32
|
-
console.error("复制失败:",
|
|
30
|
+
await navigator.clipboard.writeText(o), v("copied"), setTimeout(() => v("idle"), 2e3);
|
|
31
|
+
} catch (s) {
|
|
32
|
+
console.error("复制失败:", s);
|
|
33
33
|
}
|
|
34
|
-
},
|
|
35
|
-
/* @__PURE__ */
|
|
34
|
+
}, w = () => p || /* @__PURE__ */ i("div", { className: "xiping-message__thinking", children: [
|
|
35
|
+
/* @__PURE__ */ i("div", { className: "xiping-message__thinking-dots", children: [
|
|
36
36
|
/* @__PURE__ */ e("span", {}),
|
|
37
37
|
/* @__PURE__ */ e("span", {}),
|
|
38
38
|
/* @__PURE__ */ e("span", {})
|
|
39
39
|
] }),
|
|
40
|
-
/* @__PURE__ */ e("span", { className: "
|
|
41
|
-
] }),
|
|
42
|
-
/* @__PURE__ */ e("div", { className: "
|
|
43
|
-
/* @__PURE__ */ e("ul", { className: "
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
] },
|
|
47
|
-
] }),
|
|
40
|
+
/* @__PURE__ */ e("span", { className: "xiping-message__thinking-text", children: H })
|
|
41
|
+
] }), I = () => /* @__PURE__ */ e("div", { className: "xiping-message__loading", children: /* @__PURE__ */ e("div", { className: "xiping-message__loading-spinner" }) }), f = () => !l || l.length === 0 ? null : /* @__PURE__ */ i("div", { className: "xiping-message__knowledge-sources", children: [
|
|
42
|
+
/* @__PURE__ */ e("div", { className: "xiping-message__knowledge-sources-header", children: "知识来源:" }),
|
|
43
|
+
/* @__PURE__ */ e("ul", { className: "xiping-message__knowledge-sources-list", children: l.map((s, S) => /* @__PURE__ */ i("li", { className: "xiping-message__knowledge-source-item", children: [
|
|
44
|
+
s.url ? /* @__PURE__ */ e("a", { href: s.url, target: "_blank", rel: "noopener noreferrer", children: s.title }) : /* @__PURE__ */ e("span", { children: s.title }),
|
|
45
|
+
s.description && /* @__PURE__ */ e("div", { className: "xiping-message__knowledge-source-description", children: s.description })
|
|
46
|
+
] }, S)) })
|
|
47
|
+
] }), C = () => n === "user" ? null : /* @__PURE__ */ i(
|
|
48
48
|
"button",
|
|
49
49
|
{
|
|
50
|
-
className: "
|
|
51
|
-
onClick:
|
|
50
|
+
className: "xiping-message__copy-button",
|
|
51
|
+
onClick: $,
|
|
52
52
|
"aria-label": "Copy message",
|
|
53
53
|
title: "Copy message",
|
|
54
54
|
children: [
|
|
55
|
-
/* @__PURE__ */
|
|
55
|
+
/* @__PURE__ */ i(
|
|
56
56
|
"svg",
|
|
57
57
|
{
|
|
58
58
|
width: "14",
|
|
@@ -84,27 +84,27 @@ const q = ({
|
|
|
84
84
|
]
|
|
85
85
|
}
|
|
86
86
|
),
|
|
87
|
-
|
|
87
|
+
W === "copied" && /* @__PURE__ */ e("span", { className: "xiping-message__copy-tooltip", children: "Copied" })
|
|
88
88
|
]
|
|
89
89
|
}
|
|
90
90
|
);
|
|
91
|
-
return
|
|
91
|
+
return n === "user" && _ ? _ : n === "assistant" && u ? u : /* @__PURE__ */ i(
|
|
92
92
|
"div",
|
|
93
93
|
{
|
|
94
|
-
className: `message ${
|
|
95
|
-
style:
|
|
94
|
+
className: `xiping-message ${n === "user" ? "user" : "assistant"} ${V}`,
|
|
95
|
+
style: B,
|
|
96
96
|
children: [
|
|
97
|
-
|
|
98
|
-
/* @__PURE__ */ e("div", { className: "
|
|
99
|
-
|
|
100
|
-
/* @__PURE__ */
|
|
97
|
+
n === "user" && h || n === "assistant" && m ? /* @__PURE__ */ e("div", { className: "xiping-message__avatar", children: n === "user" ? h : m }) : null,
|
|
98
|
+
/* @__PURE__ */ e("div", { className: "xiping-message__content", children: j ? I() : M && n === "assistant" ? /* @__PURE__ */ i(L, { children: [
|
|
99
|
+
r && /* @__PURE__ */ i("div", { className: "xiping-message__think", children: [
|
|
100
|
+
/* @__PURE__ */ i("div", { className: "xiping-message__think-header", children: [
|
|
101
101
|
"思考过程:",
|
|
102
102
|
/* @__PURE__ */ e(
|
|
103
103
|
"button",
|
|
104
104
|
{
|
|
105
|
-
className: "
|
|
106
|
-
onClick: () =>
|
|
107
|
-
"aria-label":
|
|
105
|
+
className: "xiping-message__think-toggle",
|
|
106
|
+
onClick: () => k(!t),
|
|
107
|
+
"aria-label": t ? "隐藏思考过程" : "显示思考过程",
|
|
108
108
|
children: /* @__PURE__ */ e(
|
|
109
109
|
"svg",
|
|
110
110
|
{
|
|
@@ -114,7 +114,7 @@ const q = ({
|
|
|
114
114
|
fill: "none",
|
|
115
115
|
xmlns: "http://www.w3.org/2000/svg",
|
|
116
116
|
style: {
|
|
117
|
-
transform:
|
|
117
|
+
transform: t ? "rotate(180deg)" : "rotate(0deg)",
|
|
118
118
|
transition: "transform 0.3s ease"
|
|
119
119
|
},
|
|
120
120
|
children: /* @__PURE__ */ e(
|
|
@@ -135,28 +135,28 @@ const q = ({
|
|
|
135
135
|
/* @__PURE__ */ e(
|
|
136
136
|
"div",
|
|
137
137
|
{
|
|
138
|
-
className: `
|
|
139
|
-
children: /* @__PURE__ */ e(
|
|
138
|
+
className: `xiping-message__think-content ${t ? "visible" : "hidden"}`,
|
|
139
|
+
children: /* @__PURE__ */ e(a, { children: r })
|
|
140
140
|
}
|
|
141
141
|
)
|
|
142
142
|
] }),
|
|
143
|
-
c &&
|
|
144
|
-
|
|
145
|
-
/* @__PURE__ */ e("div", { className: "
|
|
146
|
-
|
|
143
|
+
c && w(),
|
|
144
|
+
x && /* @__PURE__ */ i("div", { className: "xiping-message__text-container", children: [
|
|
145
|
+
/* @__PURE__ */ e("div", { className: "xiping-message__text", children: /* @__PURE__ */ e(a, { children: x }) }),
|
|
146
|
+
C()
|
|
147
147
|
] }),
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
] }) : /* @__PURE__ */
|
|
151
|
-
|
|
152
|
-
/* @__PURE__ */
|
|
148
|
+
f(),
|
|
149
|
+
g && /* @__PURE__ */ e("div", { className: "xiping-message__timestamp", children: N(d) })
|
|
150
|
+
] }) : /* @__PURE__ */ i(L, { children: [
|
|
151
|
+
r && /* @__PURE__ */ i("div", { className: "xiping-message__think", children: [
|
|
152
|
+
/* @__PURE__ */ i("div", { className: "xiping-message__think-header", children: [
|
|
153
153
|
"思考过程:",
|
|
154
154
|
/* @__PURE__ */ e(
|
|
155
155
|
"button",
|
|
156
156
|
{
|
|
157
|
-
className: "
|
|
158
|
-
onClick: () =>
|
|
159
|
-
"aria-label":
|
|
157
|
+
className: "xiping-message__think-toggle",
|
|
158
|
+
onClick: () => k(!t),
|
|
159
|
+
"aria-label": t ? "隐藏思考过程" : "显示思考过程",
|
|
160
160
|
children: /* @__PURE__ */ e(
|
|
161
161
|
"svg",
|
|
162
162
|
{
|
|
@@ -166,7 +166,7 @@ const q = ({
|
|
|
166
166
|
fill: "none",
|
|
167
167
|
xmlns: "http://www.w3.org/2000/svg",
|
|
168
168
|
style: {
|
|
169
|
-
transform:
|
|
169
|
+
transform: t ? "rotate(180deg)" : "rotate(0deg)",
|
|
170
170
|
transition: "transform 0.3s ease"
|
|
171
171
|
},
|
|
172
172
|
children: /* @__PURE__ */ e(
|
|
@@ -187,18 +187,18 @@ const q = ({
|
|
|
187
187
|
/* @__PURE__ */ e(
|
|
188
188
|
"div",
|
|
189
189
|
{
|
|
190
|
-
className: `
|
|
191
|
-
children: /* @__PURE__ */ e(
|
|
190
|
+
className: `xiping-message__think-content ${t ? "visible" : "hidden"}`,
|
|
191
|
+
children: /* @__PURE__ */ e(a, { children: r })
|
|
192
192
|
}
|
|
193
193
|
)
|
|
194
194
|
] }),
|
|
195
|
-
/* @__PURE__ */
|
|
196
|
-
/* @__PURE__ */ e("div", { className: "
|
|
197
|
-
|
|
195
|
+
/* @__PURE__ */ i("div", { className: "xiping-message__text-container", children: [
|
|
196
|
+
/* @__PURE__ */ e("div", { className: "xiping-message__text", children: /* @__PURE__ */ e(a, { children: o }) }),
|
|
197
|
+
C()
|
|
198
198
|
] }),
|
|
199
|
-
c &&
|
|
200
|
-
|
|
201
|
-
|
|
199
|
+
c && w(),
|
|
200
|
+
f(),
|
|
201
|
+
g && /* @__PURE__ */ e("div", { className: "xiping-message__timestamp", children: N(d) })
|
|
202
202
|
] }) })
|
|
203
203
|
]
|
|
204
204
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SubtitleEntry } from '@xiping/subtitle';
|
|
3
|
+
import { WordHoverHandlerFactory } from './utils.tsx';
|
|
4
|
+
export interface CurrentModeProps {
|
|
5
|
+
/** 当前字幕条目 */
|
|
6
|
+
currentEntries: Array<{
|
|
7
|
+
entry: SubtitleEntry | null;
|
|
8
|
+
label?: string;
|
|
9
|
+
}>;
|
|
10
|
+
/** 单词悬停处理器工厂函数 */
|
|
11
|
+
wordHoverFactory: (entry: SubtitleEntry, label?: string) => WordHoverHandlerFactory;
|
|
12
|
+
/** 是否启用单词悬停功能 */
|
|
13
|
+
enableWordHover: boolean;
|
|
14
|
+
/** 悬停覆盖层节点 */
|
|
15
|
+
overlayNode: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 当前模式组件:只显示当前时间对应的字幕
|
|
19
|
+
*/
|
|
20
|
+
export declare const CurrentMode: React.FC<CurrentModeProps>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsxs as u, Fragment as m, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { renderTextWithWords as h } from "./utils.js";
|
|
3
|
+
const g = ({
|
|
4
|
+
currentEntries: t,
|
|
5
|
+
wordHoverFactory: o,
|
|
6
|
+
enableWordHover: l,
|
|
7
|
+
overlayNode: p
|
|
8
|
+
}) => t.some(({ entry: i }) => i !== null) ? /* @__PURE__ */ u(m, { children: [
|
|
9
|
+
t.map(({ entry: i, label: s }, c) => i ? /* @__PURE__ */ u(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
className: "xiping-subtitle-player__item",
|
|
13
|
+
"data-label": s || void 0,
|
|
14
|
+
children: [
|
|
15
|
+
s && /* @__PURE__ */ e("span", { className: "xiping-subtitle-player__label", children: s }),
|
|
16
|
+
/* @__PURE__ */ e("div", { className: "xiping-subtitle-player__text", children: (() => {
|
|
17
|
+
let a = 0;
|
|
18
|
+
return i.text.split(`
|
|
19
|
+
`).map((n, r) => {
|
|
20
|
+
if (!i.words || i.words.length === 0)
|
|
21
|
+
return /* @__PURE__ */ e("div", { className: "xiping-subtitle-player__line", children: n }, r);
|
|
22
|
+
const d = h(
|
|
23
|
+
n,
|
|
24
|
+
i.words,
|
|
25
|
+
a,
|
|
26
|
+
r,
|
|
27
|
+
l ? o(i, s) : void 0
|
|
28
|
+
);
|
|
29
|
+
return a = d.nextWordIndex, /* @__PURE__ */ e("div", { className: "xiping-subtitle-player__line", children: d.nodes }, r);
|
|
30
|
+
});
|
|
31
|
+
})() })
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
c
|
|
35
|
+
) : null),
|
|
36
|
+
l && /* @__PURE__ */ e("div", { className: "xiping-subtitle-player__hover-layer", children: p })
|
|
37
|
+
] }) : null;
|
|
38
|
+
export {
|
|
39
|
+
g as CurrentMode
|
|
40
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SubtitleEntry } from '@xiping/subtitle';
|
|
3
|
+
import { WordHoverHandlerFactory } from './utils.tsx';
|
|
4
|
+
export interface LyricsModeProps {
|
|
5
|
+
/** 按时间分组的字幕条目 */
|
|
6
|
+
groupedEntriesByTime: Array<Array<{
|
|
7
|
+
entry: SubtitleEntry;
|
|
8
|
+
label?: string;
|
|
9
|
+
startTime: number;
|
|
10
|
+
endTime: number;
|
|
11
|
+
}>>;
|
|
12
|
+
/** 当前播放时间(秒数) */
|
|
13
|
+
currentTime: number;
|
|
14
|
+
/** 单词悬停处理器工厂函数 */
|
|
15
|
+
wordHoverFactory: (entry: SubtitleEntry, label?: string) => WordHoverHandlerFactory;
|
|
16
|
+
/** 是否启用单词悬停功能 */
|
|
17
|
+
enableWordHover: boolean;
|
|
18
|
+
/** 悬停覆盖层节点 */
|
|
19
|
+
overlayNode: React.ReactNode;
|
|
20
|
+
/** 容器引用,用于滚动 */
|
|
21
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 歌词模式组件:显示全部字幕并高亮当前字幕
|
|
25
|
+
*/
|
|
26
|
+
export declare const LyricsMode: React.FC<LyricsModeProps>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsxs as f, Fragment as S, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as H, useEffect as j } from "react";
|
|
3
|
+
import F from "clsx";
|
|
4
|
+
import { secondsToTimeString as W, renderTextWithWords as $ } from "./utils.js";
|
|
5
|
+
const M = ({
|
|
6
|
+
groupedEntriesByTime: v,
|
|
7
|
+
currentTime: l,
|
|
8
|
+
wordHoverFactory: b,
|
|
9
|
+
enableWordHover: m,
|
|
10
|
+
overlayNode: y,
|
|
11
|
+
containerRef: o
|
|
12
|
+
}) => {
|
|
13
|
+
const n = H(null);
|
|
14
|
+
return j(() => {
|
|
15
|
+
if (n.current && o.current) {
|
|
16
|
+
const s = o.current, r = n.current, c = r.offsetTop, a = s.clientHeight, t = r.clientHeight, e = c - a / 2 + t / 2;
|
|
17
|
+
s.scrollTo({
|
|
18
|
+
top: e,
|
|
19
|
+
behavior: "smooth"
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}, [l, o]), /* @__PURE__ */ f(S, { children: [
|
|
23
|
+
v.map((s, r) => {
|
|
24
|
+
const c = s[0]?.startTime ?? 0, a = W(c);
|
|
25
|
+
return /* @__PURE__ */ i("div", { className: "xiping-subtitle-player__group", children: s.map(({ entry: t, label: e, startTime: N, endTime: d }, u) => {
|
|
26
|
+
const _ = l >= N && l <= d, T = l > d, w = u === 0;
|
|
27
|
+
let g = 0;
|
|
28
|
+
return /* @__PURE__ */ f(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
ref: _ ? n : null,
|
|
32
|
+
className: F(
|
|
33
|
+
"xiping-subtitle-player__item",
|
|
34
|
+
{
|
|
35
|
+
"xiping-subtitle-player__item--active": _,
|
|
36
|
+
"xiping-subtitle-player__item--past": T
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
"data-label": e || void 0,
|
|
40
|
+
children: [
|
|
41
|
+
w && /* @__PURE__ */ i("span", { className: "xiping-subtitle-player__time", children: a }),
|
|
42
|
+
e && /* @__PURE__ */ i("span", { className: "xiping-subtitle-player__label", children: e }),
|
|
43
|
+
/* @__PURE__ */ i("div", { className: "xiping-subtitle-player__text", children: t.text.split(`
|
|
44
|
+
`).map((h, p) => {
|
|
45
|
+
if (!t.words || t.words.length === 0)
|
|
46
|
+
return /* @__PURE__ */ i("div", { className: "xiping-subtitle-player__line", children: h }, p);
|
|
47
|
+
const x = $(
|
|
48
|
+
h,
|
|
49
|
+
t.words,
|
|
50
|
+
g,
|
|
51
|
+
p,
|
|
52
|
+
m ? b(t, e) : void 0
|
|
53
|
+
);
|
|
54
|
+
return g = x.nextWordIndex, /* @__PURE__ */ i("div", { className: "xiping-subtitle-player__line", children: x.nodes }, p);
|
|
55
|
+
}) })
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
`${r}-${u}`
|
|
59
|
+
);
|
|
60
|
+
}) }, r);
|
|
61
|
+
}),
|
|
62
|
+
m && /* @__PURE__ */ i("div", { className: "xiping-subtitle-player__hover-layer", children: y })
|
|
63
|
+
] });
|
|
64
|
+
};
|
|
65
|
+
export {
|
|
66
|
+
M as LyricsMode
|
|
67
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { SubtitleEntry, SubtitleLanguage } from '@xiping/subtitle';
|
|
3
|
-
export type SubtitleType =
|
|
3
|
+
export type SubtitleType = "srt" | "vtt";
|
|
4
4
|
export interface SubtitleData {
|
|
5
5
|
/** 字幕类型 */
|
|
6
6
|
type: SubtitleType;
|
|
@@ -11,7 +11,7 @@ export interface SubtitleData {
|
|
|
11
11
|
/** 字幕语言类型,用于分词,默认为中文 */
|
|
12
12
|
language?: SubtitleLanguage;
|
|
13
13
|
}
|
|
14
|
-
export type SubtitleDisplayMode =
|
|
14
|
+
export type SubtitleDisplayMode = "current" | "lyrics";
|
|
15
15
|
export interface SubtitlePlayerProps {
|
|
16
16
|
/** 字幕数据,可以是单个字幕或多个字幕(用于对照) */
|
|
17
17
|
subtitles: SubtitleData | SubtitleData[];
|
|
@@ -41,6 +41,7 @@ export interface HoverTarget {
|
|
|
41
41
|
entry: SubtitleEntry;
|
|
42
42
|
label?: string;
|
|
43
43
|
rect: DOMRect;
|
|
44
|
+
element: HTMLElement;
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
47
|
* 字幕播放组件
|