@xiping/react-components 1.0.43 → 1.0.49
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/_virtual/_commonjsHelpers.js +1 -0
- package/dist/cjs/_virtual/delegate.js +1 -0
- package/dist/cjs/_virtual/download.js +1 -0
- package/dist/cjs/_virtual/download2.js +1 -0
- package/dist/cjs/_virtual/index.js +1 -0
- package/dist/cjs/_virtual/index2.js +1 -0
- package/dist/cjs/components/shimmer-button/ShimmerButton.js +1 -1
- package/dist/cjs/components/shiny-button/ShinyButton.js +1 -1
- package/dist/cjs/components/sparkles-text/SparklesText.js +1 -1
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.d.ts +51 -0
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.js +3 -0
- package/dist/cjs/components/subtitle-player/index.d.ts +2 -0
- package/dist/cjs/components/txt-editor/TxtEditor.d.ts +5 -4
- package/dist/cjs/components/txt-editor/TxtEditor.js +32 -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.d.ts +10 -0
- package/dist/cjs/components/variable-proximity/index.js +1 -1
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.d.ts +23 -0
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.js +1 -0
- package/dist/cjs/components/video-subtitle-player/index.d.ts +3 -0
- package/dist/cjs/components/video-subtitle-player/useVideoSubtitleStore.d.ts +61 -0
- package/dist/cjs/components/video-subtitle-player/useVideoSubtitleStore.js +1 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/closest.js +1 -0
- package/dist/cjs/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js +1 -0
- package/dist/cjs/node_modules/.pnpm/downloadjs@1.4.7/node_modules/downloadjs/download.js +3 -0
- package/dist/cjs/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/_virtual/_rollupPluginBabelHelpers.js +2 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/constant.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/defaultConfig.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/error.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/events.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/instManager.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/en.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/i18n.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/zh-cn.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/mediaProxy.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/player.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/basePlugin.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/hooksDescriptor.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/plugin.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/pluginsManager.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/preset.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/resizeObserver.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/back.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/download.js +15 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitCssFull.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitFull.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/loading.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pause.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIcon.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIconExit.js +8 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/play.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/playNext.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/replay.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestCssFull.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestFull.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/rotate.js +12 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/seekicon.js +7 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeLarge.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeMuted.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeSmall.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconPlugin.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconTools.js +3 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionList.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionsIcon.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/thumbnail.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/controls/index.js +9 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/cssFullScreen/index.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/definition/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/download/index.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/dynamicBg/index.js +2 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/enter/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/error/index.js +6 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fpsDetect/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/backicon.js +2 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/index.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/gapJump/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/keyboard/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/loading/index.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/logger/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/index.js +13 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/miniScreenIcon.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/index.js +19 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/touch.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pc/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pip/index.js +8 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/play/index.js +5 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playNext/index.js +7 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playbackRate/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/poster/index.js +2 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/index.js +7 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/innerList.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/miniProgress.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/dotsApi.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/index.js +11 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/prompt/index.js +3 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/replay/index.js +3 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/rotate/index.js +6 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/screenShot/index.js +6 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/start/index.js +4 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/stats/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/testspeed/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/index.js +6 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/timesegments.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/volume/index.js +11 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/waitingTimeoutJump/index.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/presets/default.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/state.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/stateClassMap.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/database.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/debug.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/draggabilly.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/sniffer.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/util.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/xgplayerTimeRange.js +1 -0
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/version.js +1 -0
- 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 +1 -0
- 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 +1 -0
- package/dist/cjs/packages/subtitle/lib/src/json-converter.js +1 -0
- package/dist/cjs/packages/subtitle/lib/src/parser.js +5 -0
- package/dist/cjs/react-components.css +1 -1
- package/dist/es/_virtual/_commonjsHelpers.js +6 -0
- package/dist/es/_virtual/delegate.js +7 -0
- package/dist/es/_virtual/download.js +7 -0
- package/dist/es/_virtual/download2.js +4 -0
- package/dist/es/_virtual/index.js +8 -0
- package/dist/es/_virtual/index2.js +4 -0
- package/dist/es/components/shimmer-button/ShimmerButton.js +29 -62
- package/dist/es/components/shiny-button/ShinyButton.js +15 -17
- package/dist/es/components/sparkles-text/SparklesText.js +30 -29
- package/dist/es/components/subtitle-player/SubtitlePlayer.d.ts +51 -0
- package/dist/es/components/subtitle-player/SubtitlePlayer.js +301 -0
- package/dist/es/components/subtitle-player/index.d.ts +2 -0
- package/dist/es/components/txt-editor/TxtEditor.d.ts +5 -4
- package/dist/es/components/txt-editor/TxtEditor.js +105 -43
- package/dist/es/components/txt-reader/TxtReader.js +48 -55
- package/dist/es/components/txt-reader/index.module.css.js +6 -2
- package/dist/es/components/variable-proximity/index.d.ts +10 -0
- package/dist/es/components/variable-proximity/index.js +166 -94
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.d.ts +23 -0
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.js +125 -0
- package/dist/es/components/video-subtitle-player/index.d.ts +3 -0
- package/dist/es/components/video-subtitle-player/useVideoSubtitleStore.d.ts +61 -0
- package/dist/es/components/video-subtitle-player/useVideoSubtitleStore.js +57 -0
- package/dist/es/index.d.ts +2 -1
- package/dist/es/index.js +60 -56
- package/dist/es/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/closest.js +21 -0
- package/dist/es/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js +29 -0
- package/dist/es/node_modules/.pnpm/downloadjs@1.4.7/node_modules/downloadjs/download.js +77 -0
- package/dist/es/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js +111 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/_virtual/_rollupPluginBabelHelpers.js +197 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/constant.js +7 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/defaultConfig.js +87 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/error.js +64 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/events.js +67 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js +45 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/instManager.js +101 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/en.js +79 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/i18n.js +75 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/zh-cn.js +79 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/mediaProxy.js +466 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/player.js +1240 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/basePlugin.js +207 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/hooksDescriptor.js +130 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/plugin.js +366 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/pluginsManager.js +204 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/preset.js +14 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/resizeObserver.js +81 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/back.js +10 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/download.js +20 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitCssFull.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/exitFull.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/loading.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pause.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIcon.js +10 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/pipIconExit.js +13 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/play.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/playNext.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/replay.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestCssFull.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/requestFull.js +9 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/rotate.js +17 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/seekicon.js +12 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeLarge.js +10 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeMuted.js +10 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/assets/volumeSmall.js +10 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconPlugin.js +35 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/iconTools.js +12 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionList.js +79 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/optionsIcon.js +193 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/common/thumbnail.js +141 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/controls/index.js +171 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/cssFullScreen/index.js +105 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/definition/index.js +110 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/download/index.js +83 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/dynamicBg/index.js +232 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/enter/index.js +42 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/error/index.js +68 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fpsDetect/index.js +116 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/backicon.js +68 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/fullscreen/index.js +150 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/gapJump/index.js +96 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/keyboard/index.js +299 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/loading/index.js +46 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/logger/index.js +171 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/index.js +169 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/miniScreen/miniScreenIcon.js +55 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/index.js +448 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/mobile/touch.js +138 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pc/index.js +122 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/pip/index.js +216 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/play/index.js +102 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playNext/index.js +78 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/playbackRate/index.js +100 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/poster/index.js +119 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/index.js +431 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/innerList.js +215 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progress/miniProgress.js +93 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/dotsApi.js +175 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/progressPreview/index.js +292 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/prompt/index.js +86 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/replay/index.js +92 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/rotate/index.js +106 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/screenShot/index.js +134 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/start/index.js +222 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/stats/index.js +152 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/testspeed/index.js +134 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/index.js +164 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/time/timesegments.js +146 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/volume/index.js +206 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugins/waitingTimeoutJump/index.js +53 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/presets/default.js +61 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/state.js +13 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/stateClassMap.js +34 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/database.js +83 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/debug.js +34 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/draggabilly.js +271 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/sniffer.js +111 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/util.js +517 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/xgplayerTimeRange.js +25 -0
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/version.js +4 -0
- 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 +19 -0
- 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 +14 -0
- package/dist/es/packages/subtitle/lib/src/json-converter.js +27 -0
- package/dist/es/packages/subtitle/lib/src/parser.js +56 -0
- package/dist/es/react-components.css +1 -1
- package/package.json +23 -21
- package/dist/cjs/components/qr-code/index.d.ts +0 -103
- package/dist/cjs/components/qr-code/index.js +0 -1
- package/dist/es/components/qr-code/index.d.ts +0 -103
- package/dist/es/components/qr-code/index.js +0 -49
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}exports.getDefaultExportFromCjs=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.js"),t=require("../node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js");var r=t.__require();const o=e.getDefaultExportFromCjs(r);exports.default=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.js"),o=require("../node_modules/.pnpm/downloadjs@1.4.7/node_modules/downloadjs/download.js");var r=o.__require();const t=e.getDefaultExportFromCjs(r);exports.default=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={exports:{}};exports.__module=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("./_commonjsHelpers.js"),r=require("../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js");var e=r.__require();const o=t.getDefaultExportFromCjs(e);exports.default=o;exports.eventemitter3Exports=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={exports:{}};exports.__module=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),l=require("react"),d=require("../../utils/utils.js");;/* empty css */const i=l.forwardRef(({shimmerColor:s="#ffffff",shimmerSize:r="0.05em",shimmerDuration:t="3s",borderRadius:m="100px",background:n="rgba(0, 0, 0, 1)",className:a,children:u,...o},c)=>e.jsxs("button",{style:{"--spread":"90deg","--shimmer-color":s,"--radius":m,"--speed":t,"--cut":r,"--bg":n},className:d.cn("xiping-shimmer-button",a),ref:c,...o,children:[e.jsx("div",{className:"xiping-shimmer-button-spark-container",children:e.jsx("div",{className:"xiping-shimmer-button-spark",children:e.jsx("div",{className:"xiping-shimmer-button-spark-before"})})}),u,e.jsx("div",{className:"xiping-shimmer-button-highlight"}),e.jsx("div",{className:"xiping-shimmer-button-backdrop"})]}));i.displayName="ShimmerButton";exports.ShimmerButton=i;exports.default=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),s=require("../../utils/utils.js"),c=require("motion/react"),l=require("react");;/* empty css */const o={initial:{"--x":"100%",scale:.8},animate:{"--x":"-100%",scale:1},whileTap:{scale:.95},transition:{repeat:1/0,repeatType:"loop",repeatDelay:1,type:"spring",stiffness:20,damping:15,mass:2,scale:{type:"spring",stiffness:200,damping:5,mass:.5}}},e=l.forwardRef(({children:r,className:n,...t},i)=>a.jsxs(c.motion.button,{ref:i,className:s.cn("xiping-shiny-button",n),...o,...t,children:[a.jsx("span",{className:"xiping-shiny-button-text",style:{maskImage:"linear-gradient(-75deg,var(--primary) calc(var(--x) + 20%),transparent calc(var(--x) + 30%),var(--primary) calc(var(--x) + 100%))"},children:r}),a.jsx("span",{style:{mask:"linear-gradient(rgb(0,0,0), rgb(0,0,0)) content-box exclude,linear-gradient(rgb(0,0,0), rgb(0,0,0))",WebkitMask:"linear-gradient(rgb(0,0,0), rgb(0,0,0)) content-box exclude,linear-gradient(rgb(0,0,0), rgb(0,0,0))",backgroundImage:"linear-gradient(-75deg,var(--primary)/10% calc(var(--x)+20%),var(--primary)/50% calc(var(--x)+25%),var(--primary)/10% calc(var(--x)+100%))"},className:"xiping-shiny-button-border"})]}));e.displayName="ShinyButton";exports.ShinyButton=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),g=require("motion/react"),d=require("react"),k=require("../../utils/utils.js");;/* empty css */const y=({id:i,x:e,y:o,color:a,delay:c,scale:l})=>n.jsx(g.motion.svg,{className:"xiping-sparkle",initial:{opacity:0,left:e,top:o},animate:{opacity:[0,1,0],scale:[0,l,0],rotate:[75,120,150]},transition:{duration:.8,repeat:1/0,delay:c},width:"21",height:"21",viewBox:"0 0 21 21",children:n.jsx("path",{d:"M9.82531 0.843845C10.0553 0.215178 10.9446 0.215178 11.1746 0.843845L11.8618 2.72026C12.4006 4.19229 12.3916 6.39157 13.5 7.5C14.6084 8.60843 16.8077 8.59935 18.2797 9.13822L20.1561 9.82534C20.7858 10.0553 20.7858 10.9447 20.1561 11.1747L18.2797 11.8618C16.8077 12.4007 14.6084 12.3916 13.5 13.5C12.3916 14.6084 12.4006 16.8077 11.8618 18.2798L11.1746 20.1562C10.9446 20.7858 10.0553 20.7858 9.82531 20.1562L9.13819 18.2798C8.59932 16.8077 8.60843 14.6084 7.5 13.5C6.39157 12.3916 4.19225 12.4007 2.72023 11.8618L0.843814 11.1747C0.215148 10.9447 0.215148 10.0553 0.843814 9.82534L2.72023 9.13822C4.19225 8.59935 6.39157 8.60843 7.5 7.5C8.60843 6.39157 8.59932 4.19229 9.13819 2.72026L9.82531 0.843845Z",fill:a})},i),j=({children:i,colors:e={first:"#9E7AFF",second:"#FE8BBB"},className:o,sparklesCount:a=10,...c})=>{const[l,p]=d.useState([]);return d.useEffect(()=>{const r=()=>{const t=`${Math.random()*100}%`,s=`${Math.random()*100}%`,x=Math.random()>.5?e.first:e.second,h=Math.random()*2,C=Math.random()*1+.3,S=Math.random()*10+5;return{id:`${t}-${s}-${Date.now()}`,x:t,y:s,color:x,delay:h,scale:C,lifespan:S}},u=()=>{const t=Array.from({length:a},r);p(t)},f=()=>{p(t=>t.map(s=>s.lifespan<=0?r():{...s,lifespan:s.lifespan-.1}))};u();const m=setInterval(f,100);return()=>clearInterval(m)},[e.first,e.second,a]),n.jsx("div",{className:k.cn("xiping-sparkles-text",o),...c,style:{"--sparkles-first-color":`${e.first}`,"--sparkles-second-color":`${e.second}`},children:n.jsxs("span",{className:"xiping-sparkles-text-wrapper",children:[l.map(r=>n.jsx(y,{...r},r.id)),n.jsx("strong",{children:i})]})})};exports.SparklesText=j;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SubtitleEntry, SubtitleLanguage } from '@xiping/subtitle';
|
|
3
|
+
export type SubtitleType = 'srt' | 'vtt';
|
|
4
|
+
export interface SubtitleData {
|
|
5
|
+
/** 字幕类型 */
|
|
6
|
+
type: SubtitleType;
|
|
7
|
+
/** 字幕内容字符串 */
|
|
8
|
+
content: string;
|
|
9
|
+
/** 可选的语言标识,用于多字幕对照时的标签显示 */
|
|
10
|
+
label?: string;
|
|
11
|
+
/** 字幕语言类型,用于分词,默认为中文 */
|
|
12
|
+
language?: SubtitleLanguage;
|
|
13
|
+
}
|
|
14
|
+
export type SubtitleDisplayMode = 'current' | 'lyrics';
|
|
15
|
+
export interface SubtitlePlayerProps {
|
|
16
|
+
/** 字幕数据,可以是单个字幕或多个字幕(用于对照) */
|
|
17
|
+
subtitles: SubtitleData | SubtitleData[];
|
|
18
|
+
/** 当前播放进度(秒数) */
|
|
19
|
+
currentTime: number;
|
|
20
|
+
/** 显示模式:'current' 只显示当前字幕,'lyrics' 显示全部字幕并高亮当前 */
|
|
21
|
+
mode?: SubtitleDisplayMode;
|
|
22
|
+
/** 自定义类名 */
|
|
23
|
+
className?: string;
|
|
24
|
+
/** 自定义样式 */
|
|
25
|
+
style?: React.CSSProperties;
|
|
26
|
+
/**
|
|
27
|
+
* 分词 hover 状态回调,由外部决定如何处理(比如请求第三方接口、展示弹窗等)
|
|
28
|
+
* 传入 null 表示 hover 结束
|
|
29
|
+
*/
|
|
30
|
+
onWordHoverChange?: (target: HoverTarget | null) => void;
|
|
31
|
+
/**
|
|
32
|
+
* 可选的渲染函数,在组件内部直接渲染自定义弹窗
|
|
33
|
+
* 建议将数据请求放到父组件,通过该函数返回需要展示的内容
|
|
34
|
+
*/
|
|
35
|
+
renderWordOverlay?: (target: HoverTarget) => React.ReactNode;
|
|
36
|
+
}
|
|
37
|
+
export interface HoverTarget {
|
|
38
|
+
word: string;
|
|
39
|
+
wordIndex: number;
|
|
40
|
+
lineIndex: number;
|
|
41
|
+
entry: SubtitleEntry;
|
|
42
|
+
label?: string;
|
|
43
|
+
rect: DOMRect;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 字幕播放组件
|
|
47
|
+
* 支持 SRT 和 WebVTT 格式,可以同时显示多个字幕进行对照
|
|
48
|
+
* 支持两种显示模式:当前模式(只显示当前字幕)和歌词模式(显示全部并高亮当前)
|
|
49
|
+
*/
|
|
50
|
+
export declare const SubtitlePlayer: React.FC<SubtitlePlayerProps>;
|
|
51
|
+
export default SubtitlePlayer;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),f=require("react"),x=require("../../packages/subtitle/lib/src/parser.js"),B=require("../../packages/subtitle/lib/src/json-converter.js");;/* empty css */function M(a){const u=a.replace(",",".").split(":");if(u.length!==3)return 0;const h=parseInt(u[0],10)||0,b=parseInt(u[1],10)||0,c=parseFloat(u[2])||0;return h*3600+b*60+c}function _(a){const i=Math.floor(a/3600),u=Math.floor(a%3600/60),h=Math.floor(a%60);return i>0?`${i.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}:${h.toString().padStart(2,"0")}`:`${u.toString().padStart(2,"0")}:${h.toString().padStart(2,"0")}`}function D(a,i){for(const u of a){const h=M(u.startTime),b=M(u.endTime);if(i>=h&&i<=b)return u}return null}function F(a,i,u,h,b){if(!i||i.length===0)return{nodes:a,nextWordIndex:u};const c=[];let d=0;for(let p=u;p<i.length;p++){const m=i[p],g=a.substring(d).indexOf(m);if(g===-1)return{nodes:c.length>0?c:a,nextWordIndex:p};const T=d+g;if(T>d){const v=a.substring(d,T);v&&c.push(l.jsx("span",{className:"subtitle-word-before",children:v},`before-${h}-${p}`))}const y=b?.(m,p,h);if(c.push(l.jsx("span",{className:"subtitle-word","data-word":m,onMouseEnter:y?.onMouseEnter,onMouseLeave:y?.onMouseLeave,children:m},`word-${h}-${p}`)),d=T+m.length,d>=a.length)return{nodes:c,nextWordIndex:p+1}}if(d<a.length){const p=a.substring(d);p&&c.push(l.jsx("span",{className:"subtitle-word-after",children:p},`after-${h}`))}return{nodes:c.length>0?c:a,nextWordIndex:i.length}}const J=({subtitles:a,currentTime:i,mode:u="current",className:h="",style:b,onWordHoverChange:c,renderWordOverlay:d})=>{const p=f.useMemo(()=>Array.isArray(a)?a:[a],[a]),m=f.useRef(null),N=f.useRef(null),[g,T]=f.useState(null),[y,v]=f.useState([]);f.useEffect(()=>{let n=!0;async function s(){try{const t=await Promise.all(p.map(async e=>{try{const r=e.language||"zh",o=e.type==="srt"?await B.srtToJson(e.content,r):await B.vttToJson(e.content,r);return{entries:JSON.parse(o),label:e.label}}catch(r){return console.error("字幕解析失败:",r),{entries:e.type==="srt"?x.parseSRT(e.content):x.parseVTT(e.content),label:e.label}}}));n&&v(t)}catch(t){if(console.error("加载字幕失败:",t),n){const e=p.map(r=>{try{return{entries:r.type==="srt"?x.parseSRT(r.content):x.parseVTT(r.content),label:r.label}}catch(o){return console.error("字幕解析失败:",o),{entries:[],label:r.label}}});v(e)}}}return s(),()=>{n=!1}},[p]);const w=f.useMemo(()=>y.length>0?y:p.map(n=>{try{return{entries:n.type==="srt"?x.parseSRT(n.content):x.parseVTT(n.content),label:n.label}}catch(s){return console.error("字幕解析失败:",s),{entries:[],label:n.label}}}),[y,p]),R=f.useMemo(()=>w.map(({entries:n,label:s})=>({entry:D(n,i),label:s,entries:n})),[w,i]),W=f.useMemo(()=>{const n=[];w.forEach(({entries:e,label:r})=>{e.forEach(o=>{n.push({entry:o,label:r,startTime:M(o.startTime),endTime:M(o.endTime)})})}),n.sort((e,r)=>e.startTime-r.startTime);const s=[];let t=[];for(const e of n)if(t.length===0)t.push(e);else{const r=t[t.length-1];e.startTime<=r.endTime?t.push(e):(s.push(t),t=[e])}return t.length>0&&s.push(t),s},[w]);f.useEffect(()=>{if(u==="lyrics"&&N.current&&m.current){const n=m.current,s=N.current,t=s.offsetTop,e=n.clientHeight,r=s.clientHeight,o=t-e/2+r/2;n.scrollTo({top:o,behavior:"smooth"})}},[u,i]);const E=f.useCallback((n,s)=>{const t=n.currentTarget.getBoundingClientRect(),e=m.current?.getBoundingClientRect(),r=e!==void 0?new DOMRect(t.left-e.left,t.top-e.top,t.width,t.height):t,o={...s,rect:r};T(o),c?.(o)},[c]),P=f.useCallback(()=>{T(null),c?.(null)},[c]),q=f.useCallback((n,s)=>(t,e,r)=>({onMouseEnter:o=>E(o,{word:t,wordIndex:e,lineIndex:r,entry:n,label:s}),onMouseLeave:P}),[E,P]),I=d&&g?l.jsx("div",{className:"subtitle-player-hover-overlay",style:{left:g.rect.x+g.rect.width/2,top:g.rect.y+g.rect.height},children:d(g)}):null;return u==="current"?R.some(({entry:s})=>s!==null)?l.jsxs("div",{ref:m,className:`subtitle-player subtitle-player--current ${h}`,style:b,children:[R.map(({entry:s,label:t},e)=>s?l.jsxs("div",{className:"subtitle-player-item","data-label":t||void 0,children:[t&&l.jsx("span",{className:"subtitle-player-label",children:t}),l.jsx("div",{className:"subtitle-player-text",children:(()=>{let r=0;return s.text.split(`
|
|
2
|
+
`).map((o,S)=>{if(!s.words||s.words.length===0)return l.jsx("div",{className:"subtitle-player-line",children:o},S);const j=F(o,s.words,r,S,d||c?q(s,t):void 0);return r=j.nextWordIndex,l.jsx("div",{className:"subtitle-player-line",children:j.nodes},S)})})()})]},e):null),(d||c)&&l.jsx("div",{className:"subtitle-player-hover-layer",children:I})]}):null:l.jsxs("div",{ref:m,className:`subtitle-player subtitle-player--lyrics ${h}`,style:b,children:[W.map((n,s)=>{const t=n[0]?.startTime??0,e=_(t);return l.jsx("div",{className:"subtitle-player-group",children:n.map(({entry:r,label:o,startTime:S,endTime:j},V)=>{const A=i>=S&&i<=j,C=i>j,O=V===0;let L=0;return l.jsxs("div",{ref:A?N:null,className:`subtitle-player-item ${A?"subtitle-player-item--active":""} ${C?"subtitle-player-item--past":""}`,"data-label":o||void 0,children:[O&&l.jsx("span",{className:"subtitle-player-time",children:e}),o&&l.jsx("span",{className:"subtitle-player-label",children:o}),l.jsx("div",{className:"subtitle-player-text",children:r.text.split(`
|
|
3
|
+
`).map((k,$)=>{if(!r.words||r.words.length===0)return l.jsx("div",{className:"subtitle-player-line",children:k},$);const z=F(k,r.words,L,$,d||c?q(r,o):void 0);return L=z.nextWordIndex,l.jsx("div",{className:"subtitle-player-line",children:z.nodes},$)})})]},`${s}-${V}`)})},s)}),(d||c)&&l.jsx("div",{className:"subtitle-player-hover-layer",children:I})]})};exports.SubtitlePlayer=J;exports.default=J;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
2
|
export interface TxtEditorProps {
|
|
3
3
|
/**
|
|
4
4
|
* 编辑器高度
|
|
@@ -13,6 +13,7 @@ export interface TxtEditorProps {
|
|
|
13
13
|
/**
|
|
14
14
|
* 编辑器默认语言
|
|
15
15
|
* @default 'plaintext'
|
|
16
|
+
* @deprecated Tiptap 不支持语法高亮,此属性已废弃
|
|
16
17
|
*/
|
|
17
18
|
language?: string;
|
|
18
19
|
/**
|
|
@@ -40,13 +41,13 @@ export interface TxtEditorProps {
|
|
|
40
41
|
/**
|
|
41
42
|
* 编辑器加载完成回调
|
|
42
43
|
*/
|
|
43
|
-
onMount?:
|
|
44
|
+
onMount?: (editor: Editor) => void;
|
|
44
45
|
/**
|
|
45
46
|
* 文本编辑器样式
|
|
46
47
|
*/
|
|
47
48
|
className?: string;
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
|
-
*
|
|
51
|
+
* Tiptap 文本编辑器组件
|
|
51
52
|
*/
|
|
52
|
-
export declare const TxtEditor: ({ height, width, language, defaultValue, value, theme, readOnly, onChange, onMount, className, }: TxtEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export declare const TxtEditor: ({ height, width, language: _language, defaultValue, value, theme, readOnly, onChange, onMount, className, }: TxtEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1,32 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),u=require("@tiptap/react"),M=require("@tiptap/starter-kit"),t=require("react"),E=({height:i="500px",width:n="100%",language:w="plaintext",defaultValue:l,value:o,theme:p="light",readOnly:s=!1,onChange:g,onMount:a,className:x})=>{const c=o!==void 0,b=t.useMemo(()=>l||o||"",[l,o]),e=u.useEditor({extensions:[M.configure({bold:!1,italic:!1,strike:!1,code:!1,heading:!1,blockquote:!1,horizontalRule:!1,hardBreak:!1})],content:b,editable:!s,immediatelyRender:!1,onUpdate:({editor:d})=>{const k=d.getText();g?.(k)}});if(t.useEffect(()=>{if(!e||!c)return;const d=e.getText();o!==d&&e.commands.setContent(o||"",{emitUpdate:!1})},[e,o,c]),t.useEffect(()=>{e&&e.setEditable(!s)},[e,s]),t.useEffect(()=>{e&&a&&a(e)},[e,a]),!e)return null;const m=typeof i=="number"?`${i}px`:i,h=typeof n=="number"?`${n}px`:n,r=p==="vs-dark";return f.jsxs("div",{className:x,style:{width:h,height:m,border:`1px solid ${r?"#3e3e3e":"#d4d4d4"}`,borderRadius:"4px",overflow:"hidden",backgroundColor:r?"#1e1e1e":"#ffffff"},children:[f.jsx(u.EditorContent,{editor:e,style:{height:"100%",overflow:"auto"}}),f.jsx("style",{children:`
|
|
2
|
+
.ProseMirror {
|
|
3
|
+
outline: none;
|
|
4
|
+
padding: 12px;
|
|
5
|
+
min-height: 100%;
|
|
6
|
+
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
|
|
7
|
+
font-size: 14px;
|
|
8
|
+
line-height: 1.5;
|
|
9
|
+
color: ${r?"#d4d4d4":"#333333"};
|
|
10
|
+
white-space: pre-wrap;
|
|
11
|
+
word-wrap: break-word;
|
|
12
|
+
}
|
|
13
|
+
.ProseMirror p {
|
|
14
|
+
margin: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
}
|
|
17
|
+
.ProseMirror p + p {
|
|
18
|
+
margin-top: 0;
|
|
19
|
+
}
|
|
20
|
+
.ProseMirror:focus {
|
|
21
|
+
outline: none;
|
|
22
|
+
}
|
|
23
|
+
${r?`
|
|
24
|
+
.ProseMirror {
|
|
25
|
+
background-color: #1e1e1e;
|
|
26
|
+
}
|
|
27
|
+
`:`
|
|
28
|
+
.ProseMirror {
|
|
29
|
+
background-color: #ffffff;
|
|
30
|
+
}
|
|
31
|
+
`}
|
|
32
|
+
`})]})};exports.TxtEditor=E;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),l=require("react"),n=require("clsx"),t=require("motion/react"),r=require("./index.module.css.js"),F=16,h=1.5,v="normal",a=({content:u,lineHeight:d=h,fontSize:x=F,fontWeight:f=v,className:g="",style:m={},onProgressChange:p,initialScrollPosition:S,cacheKey:q,showTopProgress:T=!0,topProgressClassName:_,showBottomProgress:N=!0,bottomProgressClassName:R})=>{const s=l.useRef(null),o=l.useRef(null),{scrollYProgress:i}=t.useScroll({container:s,target:o}),c=t.useTransform(()=>(i.get()*100).toFixed(2).replace(/\.0*$/,"")),j=t.useMotionTemplate`${c}%`;return c.on("change",E=>{p?.(Number(E))}),e.jsxs(e.Fragment,{children:[T&&e.jsx(t.motion.div,{id:"scroll-indicator",className:n(r.default["xiping-top-progress"],_),style:{scaleX:i,originX:0}}),e.jsx("div",{className:n(r.default["xiping-container"],r.default.textContent),ref:s,children:e.jsx("div",{ref:o,className:n(r.default["xiping-content"],g),style:{fontSize:`${x}px`,lineHeight:d,fontWeight:f,...m},children:u})}),N&&e.jsx(t.motion.div,{id:"scroll-present",className:n(r.default["xiping-bottom-progress"],R),children:j})]})};exports.TxtReader=a;exports.default=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_textContent_yv2bi_63",e={"xiping-top-progress":"_xiping-top-progress_yv2bi_23","xiping-container":"_xiping-container_yv2bi_33","xiping-content":"_xiping-content_yv2bi_41","xiping-bottom-progress":"_xiping-bottom-progress_yv2bi_48",textContent:t};exports.default=e;exports.textContent=t;
|
|
@@ -9,6 +9,16 @@ interface VariableProximityProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
9
9
|
className?: string;
|
|
10
10
|
onClick?: () => void;
|
|
11
11
|
style?: React.CSSProperties;
|
|
12
|
+
/**
|
|
13
|
+
* 自定义字体族,如果不提供则使用默认的可变字体
|
|
14
|
+
* 例如: "'Custom Font', 'Roboto Flex', sans-serif"
|
|
15
|
+
*/
|
|
16
|
+
fontFamily?: string;
|
|
17
|
+
/**
|
|
18
|
+
* 是否自动加载默认字体(当 fontFamily 未提供时)
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
autoLoadFonts?: boolean;
|
|
12
22
|
}
|
|
13
23
|
declare const VariableProximity: import('react').ForwardRefExoticComponent<VariableProximityProps & import('react').RefAttributes<HTMLSpanElement>>;
|
|
14
24
|
export { VariableProximity };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("react/jsx-runtime"),f=require("react"),D=require("motion/react");;/* empty css */const l={robotoFlex:!1,notoSansSC:!1,loading:!1};function P(n){if(typeof document>"u")return!1;try{return document.fonts.check(`1em "${n}"`)}catch{return!0}}function O(){if(l.loading||l.robotoFlex&&l.notoSansSC)return;l.loading=!0;const n=P("Roboto Flex"),r=P("Noto Sans SC");if(n&&(l.robotoFlex=!0),r&&(l.notoSansSC=!0),n&&r){l.loading=!1;return}const i=(t,s)=>{if(document.querySelector(`link[href="${t}"]`)){s?.();return}const c=document.createElement("link");c.rel="stylesheet",c.href=t,c.onload=()=>s?.(),document.head.appendChild(c)},d=[{roboto:"https://fonts.loli.net/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap",noto:"https://fonts.loli.net/css2?family=Noto+Sans+SC:wght@100..900&display=swap"},{roboto:"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap",noto:"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap"}],m=t=>{if(t>=d.length){l.loading=!1;return}const s=d[t];let p=0;const c=()=>{p++,p===2&&(l.loading=!1)};n?c():i(s.roboto,()=>{l.robotoFlex=!0,c()}),r?c():i(s.noto,()=>{l.notoSansSC=!0,c()}),setTimeout(()=>{(!l.robotoFlex||!l.notoSansSC)&&m(t+1)},3e3)};m(0)}function U(n=!0){f.useEffect(()=>{n&&typeof document<"u"&&O()},[n])}function G(n){f.useEffect(()=>{let r;const i=()=>{n(),r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>cancelAnimationFrame(r)},[n])}function H(n){const r=f.useRef({x:0,y:0});return f.useEffect(()=>{const i=(t,s)=>{if(n?.current){const p=n.current.getBoundingClientRect();r.current={x:t-p.left,y:s-p.top}}else r.current={x:t,y:s}},d=t=>i(t.clientX,t.clientY),m=t=>{const s=t.touches[0];i(s.clientX,s.clientY)};return window.addEventListener("mousemove",d),window.addEventListener("touchmove",m),()=>{window.removeEventListener("mousemove",d),window.removeEventListener("touchmove",m)}},[n]),r}const b=f.forwardRef((n,r)=>{const{label:i,fromFontVariationSettings:d,toFontVariationSettings:m,containerRef:t,radius:s=50,falloff:p="linear",className:c="",onClick:V,style:C,fontFamily:y,autoLoadFonts:k=!0,...q}=n;U(k&&!y);const R=f.useRef([]),v=f.useRef([]),S=H(t),x=f.useRef({x:null,y:null}),N=f.useMemo(()=>{const e=o=>new Map(o.split(",").map(g=>g.trim()).map(g=>{const[h,F]=g.split(" ");return[h.replace(/['"]/g,""),parseFloat(F)]})),a=e(d),u=e(m);return Array.from(a.entries()).map(([o,g])=>({axis:o,fromValue:g,toValue:u.get(o)??g}))},[d,m]),j=(e,a,u,o)=>Math.sqrt((u-e)**2+(o-a)**2),A=e=>{const a=Math.min(Math.max(1-e/s,0),1);switch(p){case"exponential":return a**2;case"gaussian":return Math.exp(-((e/(s/2))**2)/2);case"linear":default:return a}};G(()=>{if(!t?.current)return;const{x:e,y:a}=S.current;if(x.current.x===e&&x.current.y===a)return;x.current={x:e,y:a};const u=t.current.getBoundingClientRect();R.current.forEach((o,g)=>{if(!o)return;const h=o.getBoundingClientRect(),F=h.left+h.width/2-u.left,T=h.top+h.height/2-u.top,M=j(S.current.x,S.current.y,F,T);if(M>=s){o.style.fontVariationSettings=d;return}const X=A(M),L=N.map(({axis:Y,fromValue:E,toValue:z})=>{const _=E+(z-E)*X;return`'${Y}' ${_}`}).join(", ");v.current[g]=L,o.style.fontVariationSettings=L})});const $=/[\u4e00-\u9fa5]/.test(i)?i.split(""):i.split(" ").flatMap((e,a,u)=>{const o=e.split("");return a<u.length-1?[...o," "]:o});let I=0;const B=f.useMemo(()=>{const e={display:"inline",...C};return y&&(e.fontFamily=y),e},[y,C]);return w.jsxs("span",{ref:r,className:`${c} variable-proximity`,onClick:V,style:B,...q,children:[$.map((e,a)=>{const u=I++;return w.jsx(D.motion.span,{ref:o=>{R.current[u]=o},style:{display:e===" "?"inline":"inline-block",fontVariationSettings:v.current[u]},"aria-hidden":"true",children:e},a)}),w.jsx("span",{className:"sr-only",children:i})]})});b.displayName="VariableProximity";exports.VariableProximity=b;exports.default=b;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SubtitleData, HoverTarget } from '../subtitle-player/SubtitlePlayer';
|
|
3
|
+
export interface VideoSubtitlePlayerProps {
|
|
4
|
+
/** 视频URL */
|
|
5
|
+
videoUrl: string;
|
|
6
|
+
/** 字幕数据 */
|
|
7
|
+
subtitles: SubtitleData[];
|
|
8
|
+
/** 视频封面图 */
|
|
9
|
+
poster?: string;
|
|
10
|
+
/** 自定义类名 */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** 自定义样式 */
|
|
13
|
+
style?: React.CSSProperties;
|
|
14
|
+
/** 自定义详情获取函数,用于调用大模型API */
|
|
15
|
+
onFetchDetail?: (target: HoverTarget | null) => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 视频字幕播放器组件
|
|
19
|
+
* 左侧:上部分16:9视频播放器,下部分字幕显示
|
|
20
|
+
* 右侧:字幕详情(单词/短语的发音、解释等)
|
|
21
|
+
*/
|
|
22
|
+
export declare const VideoSubtitlePlayer: React.FC<VideoSubtitlePlayerProps>;
|
|
23
|
+
export default VideoSubtitlePlayer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),a=require("react");;/* empty css */const q=require("../subtitle-player/SubtitlePlayer.js"),w=require("./useVideoSubtitleStore.js");;/* empty css */const T=require("../../node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js"),x=({videoUrl:u,subtitles:c,poster:p,className:j="",style:N,onFetchDetail:o})=>{const s=a.useRef(null),d=a.useRef(null),{currentTime:r,isPlaying:R,setCurrentTime:v,setIsPlaying:n,setSubtitles:_,currentDetail:l,isLoadingDetail:S,fetchDetail:m}=w.useVideoSubtitleStore();a.useEffect(()=>{_(c)},[c,_]),a.useEffect(()=>{if(!s.current)return;const t=`video-subtitle-player-${Date.now()}`;s.current&&(s.current.id=t);const i=new T.default({id:t,url:u,poster:p,autoplay:!1,fluid:!0,width:"100%",height:"100%",controls:!0});d.current=i;const y=()=>{const P=i.currentTime||0;v(P)},f=()=>{n(!0)},b=()=>{n(!1)},h=()=>{n(!1)};return i.on("timeupdate",y),i.on("play",f),i.on("pause",b),i.on("ended",h),()=>{i.off("timeupdate",y),i.off("play",f),i.off("pause",b),i.off("ended",h),i.destroy(),d.current=null}},[u,p,v,n]),a.useEffect(()=>{if(d.current){const t=d.current;Math.abs(t.currentTime-r)>.5&&(t.currentTime=r)}},[r]);const g=a.useCallback(async t=>{o?await o(t):await m(t)},[o,m]);return e.jsxs("div",{className:`video-subtitle-player ${j}`,style:N,children:[e.jsxs("div",{className:"video-subtitle-player__left",children:[e.jsx("div",{className:"video-subtitle-player__video-container",children:e.jsx("div",{ref:s,className:"video-subtitle-player__video"})}),e.jsx("div",{className:"video-subtitle-player__subtitle-container",children:e.jsx(q.SubtitlePlayer,{subtitles:c,currentTime:r,mode:"current",onWordHoverChange:g})})]}),e.jsx("div",{className:"video-subtitle-player__right",children:e.jsx("div",{className:"video-subtitle-player__detail",children:S?e.jsxs("div",{className:"video-subtitle-player__detail-loading",children:[e.jsx("div",{className:"video-subtitle-player__detail-loading-spinner"}),e.jsx("span",{children:"加载中..."})]}):l?e.jsxs("div",{className:"video-subtitle-player__detail-content",children:[e.jsx("div",{className:"video-subtitle-player__detail-word",children:l.word}),l.pronunciation&&e.jsx("div",{className:"video-subtitle-player__detail-pronunciation",children:l.pronunciation}),l.partOfSpeech&&e.jsx("div",{className:"video-subtitle-player__detail-pos",children:l.partOfSpeech}),l.translation&&e.jsxs("div",{className:"video-subtitle-player__detail-translation",children:[e.jsx("div",{className:"video-subtitle-player__detail-label",children:"中文翻译"}),e.jsx("div",{className:"video-subtitle-player__detail-text",children:l.translation})]}),l.definition&&e.jsxs("div",{className:"video-subtitle-player__detail-definition",children:[e.jsx("div",{className:"video-subtitle-player__detail-label",children:"英文解释"}),e.jsx("div",{className:"video-subtitle-player__detail-text",children:l.definition})]}),l.examples&&l.examples.length>0&&e.jsxs("div",{className:"video-subtitle-player__detail-examples",children:[e.jsx("div",{className:"video-subtitle-player__detail-label",children:"例句"}),l.examples.map((t,i)=>e.jsxs("div",{className:"video-subtitle-player__detail-example",children:[e.jsx("div",{className:"video-subtitle-player__detail-example-en",children:t.sentence}),e.jsx("div",{className:"video-subtitle-player__detail-example-zh",children:t.translation})]},i))]})]}):e.jsxs("div",{className:"video-subtitle-player__detail-empty",children:[e.jsx("div",{className:"video-subtitle-player__detail-empty-icon",children:"📖"}),e.jsx("div",{className:"video-subtitle-player__detail-empty-text",children:"将鼠标悬停在字幕单词上查看详情"})]})})})]})};exports.VideoSubtitlePlayer=x;exports.default=x;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { SubtitleData, HoverTarget } from '../subtitle-player/SubtitlePlayer';
|
|
2
|
+
/**
|
|
3
|
+
* 字幕详情信息
|
|
4
|
+
*/
|
|
5
|
+
export interface SubtitleDetail {
|
|
6
|
+
/** 单词或短语 */
|
|
7
|
+
word: string;
|
|
8
|
+
/** 发音(音标) */
|
|
9
|
+
pronunciation?: string;
|
|
10
|
+
/** 中文解释 */
|
|
11
|
+
translation?: string;
|
|
12
|
+
/** 英文解释 */
|
|
13
|
+
definition?: string;
|
|
14
|
+
/** 例句 */
|
|
15
|
+
examples?: Array<{
|
|
16
|
+
sentence: string;
|
|
17
|
+
translation: string;
|
|
18
|
+
}>;
|
|
19
|
+
/** 词性 */
|
|
20
|
+
partOfSpeech?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 视频字幕播放器状态
|
|
24
|
+
*/
|
|
25
|
+
export interface VideoSubtitleState {
|
|
26
|
+
/** 播放进度(秒数) */
|
|
27
|
+
currentTime: number;
|
|
28
|
+
/** 是否正在播放 */
|
|
29
|
+
isPlaying: boolean;
|
|
30
|
+
/** 字幕数据 */
|
|
31
|
+
subtitles: SubtitleData[];
|
|
32
|
+
/** 当前hover的单词详情 */
|
|
33
|
+
currentDetail: SubtitleDetail | null;
|
|
34
|
+
/** 是否正在加载详情 */
|
|
35
|
+
isLoadingDetail: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 视频字幕播放器操作
|
|
39
|
+
*/
|
|
40
|
+
export interface VideoSubtitleActions {
|
|
41
|
+
/** 设置播放进度 */
|
|
42
|
+
setCurrentTime: (time: number) => void;
|
|
43
|
+
/** 设置播放状态 */
|
|
44
|
+
setIsPlaying: (playing: boolean) => void;
|
|
45
|
+
/** 设置字幕数据 */
|
|
46
|
+
setSubtitles: (subtitles: SubtitleData[]) => void;
|
|
47
|
+
/** 设置当前详情 */
|
|
48
|
+
setCurrentDetail: (detail: SubtitleDetail | null) => void;
|
|
49
|
+
/** 设置加载状态 */
|
|
50
|
+
setIsLoadingDetail: (loading: boolean) => void;
|
|
51
|
+
/** 根据hover目标获取详情(可以在这里调用大模型API) */
|
|
52
|
+
fetchDetail: (target: HoverTarget | null) => Promise<void>;
|
|
53
|
+
/** 重置状态 */
|
|
54
|
+
reset: () => void;
|
|
55
|
+
}
|
|
56
|
+
export type VideoSubtitleStore = VideoSubtitleState & VideoSubtitleActions;
|
|
57
|
+
/**
|
|
58
|
+
* 创建视频字幕播放器store
|
|
59
|
+
* @param fetchDetailFn 可选的详情获取函数,如果不提供则使用默认实现
|
|
60
|
+
*/
|
|
61
|
+
export declare const useVideoSubtitleStore: import('zustand').UseBoundStore<import('zustand').StoreApi<VideoSubtitleStore>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../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"),n={currentTime:0,isPlaying:!1,subtitles:[],currentDetail:null,isLoadingDetail:!1},o=a.create((i,l)=>({...n,setCurrentTime:e=>{i({currentTime:e})},setIsPlaying:e=>{i({isPlaying:e})},setSubtitles:e=>{i({subtitles:e})},setCurrentDetail:e=>{i({currentDetail:e})},setIsLoadingDetail:e=>{i({isLoadingDetail:e})},fetchDetail:async e=>{if(!e){i({currentDetail:null,isLoadingDetail:!1});return}i({isLoadingDetail:!0});try{await new Promise(r=>setTimeout(r,300));const t={word:e.word,pronunciation:`/${e.word.toLowerCase()}/`,translation:`${e.word}的中文翻译`,definition:`Definition of ${e.word}`,examples:[{sentence:`This is an example sentence with ${e.word}.`,translation:`这是一个包含${e.word}的例句。`}],partOfSpeech:"noun"};i({currentDetail:t,isLoadingDetail:!1})}catch(t){console.error("获取详情失败:",t),i({currentDetail:null,isLoadingDetail:!1})}},reset:()=>{i(n)}}));exports.useVideoSubtitleStore=o;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export * from './components/image-compare';
|
|
|
10
10
|
export * from './components/dock';
|
|
11
11
|
export * from './components/txt-editor';
|
|
12
12
|
export * from './components/message';
|
|
13
|
-
export * from './components/qr-code';
|
|
14
13
|
export * from './components/react-force-graph-3d';
|
|
15
14
|
export * from './components/confetti-button';
|
|
16
15
|
export * from './components/pointer';
|
|
@@ -27,4 +26,6 @@ export * from './components/dome-gallery';
|
|
|
27
26
|
export * from './components/text-type';
|
|
28
27
|
export * from './components/gradient-text';
|
|
29
28
|
export * from './components/variable-proximity';
|
|
29
|
+
export * from './components/subtitle-player';
|
|
30
|
+
export * from './components/video-subtitle-player';
|
|
30
31
|
export * from './hooks/useStayTimeReport';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./components/button/Button.js"),o=require("./components/txt-reader/TxtReader.js"),n=require("./components/hyper-text/index.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./components/button/Button.js"),o=require("./components/txt-reader/TxtReader.js"),n=require("./components/hyper-text/index.js"),u=require("./components/typing-animation/index.js"),t=require("./components/confetti-button/index.js"),a=require("./components/gradient-text/index.js"),c=require("./components/variable-proximity/index.js"),s=require("./hooks/useStayTimeReport.js"),l=require("./components/pinch-content/PinchContent.js"),d=require("./components/image-viewer/ImageViewer.js"),T=require("./components/shimmer-button/ShimmerButton.js"),m=require("./components/image-compare/ImageCompare.js"),q=require("./components/text-type/TextType.js"),x=require("./components/text-animate/TextAnimate.js"),e=require("./components/dock/Duck.js"),S=require("./components/txt-editor/TxtEditor.js"),p=require("./components/message/Message.js"),y=require("react-force-graph-3d"),V=require("canvas-confetti"),g=require("./components/pointer/Pointer.js"),B=require("./components/sparkles-text/SparklesText.js"),P=require("./components/blur-fade/BlurFade.js"),b=require("./components/video-dialog/VideoDialog.js"),h=require("./components/comic-text/ComicText.js"),f=require("./components/flip-text/FlipText.js"),i=require("./components/animated-list/AnimatedList.js"),C=require("./components/shiny-button/ShinyButton.js"),k=require("./components/scratch-to-reveal/ScratchToReveal.js"),A=require("./components/split-text/SplitText.js"),D=require("./components/subtitle-player/SubtitlePlayer.js"),R=require("./components/video-subtitle-player/VideoSubtitlePlayer.js"),F=require("./components/video-subtitle-player/useVideoSubtitleStore.js");exports.Button=r.Button;exports.TxtReader=o.TxtReader;exports.HyperText=n.HyperText;exports.TypingAnimation=u.TypingAnimation;exports.Confetti=t.Confetti;exports.ConfettiButton=t.ConfettiButton;exports.GradientText=a.default;exports.VariableProximity=c.VariableProximity;exports.useStayTimeReport=s.useStayTimeReport;exports.PinchContent=l.default;exports.ImageViewer=d.default;exports.ShimmerButton=T.ShimmerButton;exports.ImageCompare=m.default;exports.TextType=q.default;exports.TextAnimate=x.TextAnimate;exports.Dock=e.Dock;exports.DockIcon=e.DockIcon;exports.dockVariants=e.dockVariants;exports.TxtEditor=S.TxtEditor;exports.Message=p.Message;exports.ForceGraph3D=y;exports.confetti=V;exports.Pointer=g.Pointer;exports.SparklesText=B.SparklesText;exports.BlurFade=P.BlurFade;exports.VideoDialog=b.VideoDialog;exports.ComicText=h.ComicText;exports.FlipText=f.FlipText;exports.AnimatedList=i.AnimatedList;exports.AnimatedListItem=i.AnimatedListItem;exports.ShinyButton=C.ShinyButton;exports.ScratchToReveal=k.ScratchToReveal;exports.SplitText=A.SplitText;exports.SubtitlePlayer=D.SubtitlePlayer;exports.VideoSubtitlePlayer=R.VideoSubtitlePlayer;exports.useVideoSubtitleStore=F.useVideoSubtitleStore;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var r,c;function i(){if(c)return r;c=1;var s=9;if(typeof Element<"u"&&!Element.prototype.matches){var t=Element.prototype;t.matches=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}function a(e,o){for(;e&&e.nodeType!==s;){if(typeof e.matches=="function"&&e.matches(o))return e;e=e.parentNode}}return r=a,r}exports.__require=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./closest.js");var l,o;function s(){if(o)return l;o=1;var c=g.__require();function i(e,n,r,u,t){var a=d.apply(this,arguments);return e.addEventListener(r,a,t),{destroy:function(){e.removeEventListener(r,a,t)}}}function f(e,n,r,u,t){return typeof e.addEventListener=="function"?i.apply(null,arguments):typeof r=="function"?i.bind(null,document).apply(null,arguments):(typeof e=="string"&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,function(a){return i(a,n,r,u,t)}))}function d(e,n,r,u){return function(t){t.delegateTarget=c(t.target,n),t.delegateTarget&&u.call(e,t)}}return l=f,l}exports.__require=s;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("../../../../../_virtual/download2.js");var q=w.__module.exports,L;function x(){return L||(L=1,(function(A,O){(function(R,h){A.exports=h()})(q,function(){return function R(h,S,B){var n=window,s="application/octet-stream",i=B||s,e=h,d=!S&&!B&&e,o=document.createElement("a"),v=function(t){return String(t)},r=n.Blob||n.MozBlob||n.WebKitBlob||v,u=S||"download",a,y;if(r=r.call?r.bind(n):Blob,String(this)==="true"&&(e=[e,i],i=e[0],e=e[1]),d&&d.length<2048&&(u=d.split("/").pop().split("?")[0],o.href=d,o.href.indexOf(d)!==-1)){var c=new XMLHttpRequest;return c.open("GET",d,!0),c.responseType="blob",c.onload=function(t){R(t.target.response,u,s)},setTimeout(function(){c.send()},0),c}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(e))if(e.length>1024*1024*1.999&&r!==v)e=U(e),i=e.type||s;else return navigator.msSaveBlob?navigator.msSaveBlob(U(e),u):p(e);else if(/([\x80-\xff])/.test(e)){var f=0,g=new Uint8Array(e.length),D=g.length;for(f;f<D;++f)g[f]=e.charCodeAt(f);e=new r([g],{type:i})}a=e instanceof r?e:new r([e],{type:i});function U(t){var l=t.split(/[:;,]/),m=l[1],k=l[2]=="base64"?atob:decodeURIComponent,_=k(l.pop()),T=_.length,b=0,C=new Uint8Array(T);for(b;b<T;++b)C[b]=_.charCodeAt(b);return new r([C],{type:m})}function p(t,l){if("download"in o)return o.href=t,o.setAttribute("download",u),o.className="download-js-link",o.innerHTML="downloading...",o.style.display="none",document.body.appendChild(o),setTimeout(function(){o.click(),document.body.removeChild(o),l===!0&&setTimeout(function(){n.URL.revokeObjectURL(o.href)},250)},66),!0;if(/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent))return/^data:/.test(t)&&(t="data:"+t.replace(/^data:([\w\/\-\+]+)/,s)),window.open(t)||confirm(`Displaying New Document
|
|
2
|
+
|
|
3
|
+
Use Save As... to download, then click back to return to this page.`)&&(location.href=t),!0;var m=document.createElement("iframe");document.body.appendChild(m),!l&&/^data:/.test(t)&&(t="data:"+t.replace(/^data:([\w\/\-\+]+)/,s)),m.src=t,setTimeout(function(){document.body.removeChild(m)},333)}if(navigator.msSaveBlob)return navigator.msSaveBlob(a,u);if(n.URL)p(n.URL.createObjectURL(a),!0);else{if(typeof a=="string"||a.constructor===v)try{return p("data:"+i+";base64,"+n.btoa(a))}catch{return p("data:"+i+","+encodeURIComponent(a))}y=new FileReader,y.onload=function(t){p(this.result)},y.readAsDataURL(a)}return!0}})})(w.__module)),w.__module.exports}exports.__require=x;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../../../../../_virtual/index2.js");var m;function L(){return m||(m=1,(function(g){var w=Object.prototype.hasOwnProperty,c="~";function p(){}Object.create&&(p.prototype=Object.create(null),new p().__proto__||(c=!1));function b(s,t,n){this.fn=s,this.context=t,this.once=n||!1}function x(s,t,n,r,l){if(typeof n!="function")throw new TypeError("The listener must be a function");var u=new b(n,r||s,l),o=c?c+t:t;return s._events[o]?s._events[o].fn?s._events[o]=[s._events[o],u]:s._events[o].push(u):(s._events[o]=u,s._eventsCount++),s}function y(s,t){--s._eventsCount===0?s._events=new p:delete s._events[t]}function f(){this._events=new p,this._eventsCount=0}f.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)w.call(n,r)&&t.push(c?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t},f.prototype.listeners=function(t){var n=c?c+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var l=0,u=r.length,o=new Array(u);l<u;l++)o[l]=r[l].fn;return o},f.prototype.listenerCount=function(t){var n=c?c+t:t,r=this._events[n];return r?r.fn?1:r.length:0},f.prototype.emit=function(t,n,r,l,u,o){var a=c?c+t:t;if(!this._events[a])return!1;var e=this._events[a],v=arguments.length,h,i;if(e.fn){switch(e.once&&this.removeListener(t,e.fn,void 0,!0),v){case 1:return e.fn.call(e.context),!0;case 2:return e.fn.call(e.context,n),!0;case 3:return e.fn.call(e.context,n,r),!0;case 4:return e.fn.call(e.context,n,r,l),!0;case 5:return e.fn.call(e.context,n,r,l,u),!0;case 6:return e.fn.call(e.context,n,r,l,u,o),!0}for(i=1,h=new Array(v-1);i<v;i++)h[i-1]=arguments[i];e.fn.apply(e.context,h)}else{var E=e.length,_;for(i=0;i<E;i++)switch(e[i].once&&this.removeListener(t,e[i].fn,void 0,!0),v){case 1:e[i].fn.call(e[i].context);break;case 2:e[i].fn.call(e[i].context,n);break;case 3:e[i].fn.call(e[i].context,n,r);break;case 4:e[i].fn.call(e[i].context,n,r,l);break;default:if(!h)for(_=1,h=new Array(v-1);_<v;_++)h[_-1]=arguments[_];e[i].fn.apply(e[i].context,h)}}return!0},f.prototype.on=function(t,n,r){return x(this,t,n,r,!1)},f.prototype.once=function(t,n,r){return x(this,t,n,r,!0)},f.prototype.removeListener=function(t,n,r,l){var u=c?c+t:t;if(!this._events[u])return this;if(!n)return y(this,u),this;var o=this._events[u];if(o.fn)o.fn===n&&(!l||o.once)&&(!r||o.context===r)&&y(this,u);else{for(var a=0,e=[],v=o.length;a<v;a++)(o[a].fn!==n||l&&!o[a].once||r&&o[a].context!==r)&&e.push(o[a]);e.length?this._events[u]=e.length===1?e[0]:e:y(this,u)}return this},f.prototype.removeAllListeners=function(t){var n;return t?(n=c?c+t:t,this._events[n]&&y(this,n)):(this._events=new p,this._eventsCount=0),this},f.prototype.off=f.prototype.removeListener,f.prototype.addListener=f.prototype.on,f.prefixed=c,f.EventEmitter=f,g.exports=f})(d.__module)),d.__module.exports}exports.__require=L;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?p(Object(r),!0).forEach(function(n){b(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function l(e){"@babel/helpers - typeof";return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(e)}function j(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function A(e,t,r){return t&&s(e.prototype,t),r&&s(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function b(e,t,r){return t=y(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function R(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},i(e)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},a(e,t)}function O(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function m(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return m(e)}function T(e){var t=O();return function(){var n=i(e),o;if(t){var f=i(this).constructor;o=Reflect.construct(n,arguments,f)}else o=n.apply(this,arguments);return g(this,o)}}function h(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=i(e),e!==null););return e}function u(){return typeof Reflect<"u"&&Reflect.get?u=Reflect.get.bind():u=function(t,r,n){var o=h(t,r);if(o){var f=Object.getOwnPropertyDescriptor(o,r);return f.get?f.get.call(arguments.length<3?t:n):f.value}},u.apply(this,arguments)}function I(e){return d(e)||P(e)||v(e)||_()}function d(e){if(Array.isArray(e))return c(e)}function P(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function v(e,t){if(e){if(typeof e=="string")return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}}function c(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(e,t){if(typeof e!="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function y(e){var t=w(e,"string");return typeof t=="symbol"?t:String(t)}exports.arrayLikeToArray=c;exports.arrayWithoutHoles=d;exports.assertThisInitialized=m;exports.classCallCheck=j;exports.createClass=A;exports.createSuper=T;exports.defineProperty=b;exports.get=u;exports.getPrototypeOf=i;exports.inherits=R;exports.isNativeReflectConstruct=O;exports.iterableToArray=P;exports.nonIterableSpread=_;exports.objectSpread2=S;exports.possibleConstructorReturn=g;exports.setPrototypeOf=a;exports.superPropBase=h;exports.toConsumableArray=I;exports.toPrimitive=w;exports.toPropertyKey=y;exports.typeof=l;exports.unsupportedIterableToArray=v;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],l=["requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen"],E=["exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen"],r="data-xgplayerid";exports.EXIT_FULLSCREEN_API=E;exports.FULLSCREEN_EVENTS=e;exports.GET_FULLSCREEN_API=l;exports.PLATER_ID=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("./utils/util.js");function o(){return{id:"",el:null,url:"",domEventType:"default",nullUrlStart:!1,width:600,height:337.5,fluid:!1,fitVideoSize:"fixed",videoFillMode:"auto",volume:.6,autoplay:!1,autoplayMuted:!1,loop:!1,isLive:!1,zoom:1,videoInit:!0,poster:"",isMobileSimulateMode:!1,defaultPlaybackRate:1,execBeforePluginsCall:null,allowSeekAfterEnded:!0,enableContextmenu:!0,closeVideoClick:!1,closeVideoDblclick:!1,closePlayerBlur:!1,closeDelayBlur:!1,leavePlayerTime:3e3,closePlayVideoFocus:!1,closePauseVideoFocus:!1,closeFocusVideoFocus:!0,closeControlsBlur:!0,topBarAutoHide:!0,videoAttributes:{},startTime:0,seekedStatus:"play",miniprogress:!1,disableSwipeHandler:function(){},enableSwipeHandler:function(){},preProcessUrl:null,ignores:[],whitelist:[],inactive:3e3,lang:l.getLang(),controls:!0,marginControls:!1,fullscreenTarget:null,screenShot:!1,rotate:!1,pip:!1,download:!1,mini:!1,cssFullscreen:!0,keyShortcut:!0,presets:[],plugins:[],playbackRate:1,definition:{list:[]},playsinline:!0,customDuration:0,timeOffset:0,icons:{},i18n:[],tabindex:0,thumbnail:null,videoConfig:{},isHideTips:!1,minWaitDelay:200,commonStyle:{progressColor:"",playedColor:"",cachedColor:"",sliderBtnStyle:{},volumeColor:""}}}exports.default=o;
|
package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/error.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("./_virtual/_rollupPluginBabelHelpers.js"),c=require("./version.js"),M=require("./utils/util.js");var O={1:"media",2:"media",3:"media",4:"media",5:"media",6:"media"},v={1:5101,2:5102,3:5103,4:5104,5:5105,6:5106},h=l.createClass(function E(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{errorType:"",errorCode:0,errorMessage:"",originError:"",ext:{},mediaError:null};l.classCallCheck(this,E);var i=r&&r.i18n?r.i18n.ERROR_TYPES:null;if(r.media){var a=e.mediaError?e.mediaError:r.media.error||{},R=r.duration,f=r.currentTime,T=r.ended,s=r.src,d=r.currentSrc,u=r.media,P=u.readyState,S=u.networkState,o=e.errorCode||a.code;v[o]&&(o=v[o]);var m={playerVersion:c.default,currentTime:f,duration:R,ended:T,readyState:P,networkState:S,src:s||d,errorType:e.errorType,errorCode:o,message:e.errorMessage||a.message,mediaError:a,originError:e.originError?e.originError.stack:"",host:M.default.getHostFromUrl(s||d)};return e.ext&&Object.keys(e.ext).map(function(g){m[g]=e.ext[g]}),m}else if(arguments.length>1){for(var n={playerVersion:c.default,domain:document.domain},C=["errorType","currentTime","duration","networkState","readyState","src","currentSrc","ended","errd","errorCode","mediaError"],t=0;t<arguments.length;t++)n[C[t]]=arguments[t];return n.ex=i?(i[arguments[0]]||{}).msg:"",n}});exports.ERROR_TYPE_MAP=O;exports.default=h;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var E="play",a="playing",A="ended",e="pause",r="error",_="seeking",T="seeked",S="timeupdate",R="waiting",N="canplay",t="canplaythrough",L="durationchange",v="volumechange",O="loadeddata",D="loadedmetadata",C="ratechange",I="progress",n="loadstart",s="emptied",P="stalled",d="suspend",o="abort",l="bufferedChange",U="focus",G="blur",c="ready",i="urlNull",H="autoplay_started",u="autoplay_was_prevented",g="complete",p="replay",Y="destroy",F="urlchange",h="download_speed_change",y="leaveplayer",V="enterplayer",M="loading",f="fullscreen_change",m="cssFullscreen_change",B="mini_state_change",b="definition_change",w="before_definition_change",W="after_definition_change",K="SEI_PARSED",k="retry",X="video_resize",x="pip_change",Z="rotate",j="screenShot",z="playnext",q="shortcut",J="xglog",Q="user_action",$="reset",EE="source_error",aE="source_success",AE="switch_subtitle",eE=["play","playing","ended","pause","error","seeking","seeked","timeupdate","waiting","canplay","canplaythrough","durationchange","volumechange","loadeddata","loadedmetadata","ratechange","progress","loadstart","emptied","stalled","suspend","abort","lowdecode"],rE={STATS_INFO:"stats_info",STATS_DOWNLOAD:"stats_download",STATS_RESET:"stats_reset"},_E="fps_stuck";exports.ABORT=o;exports.AFTER_DEFINITION_CHANGE=W;exports.AUTOPLAY_PREVENTED=u;exports.AUTOPLAY_STARTED=H;exports.BEFORE_DEFINITION_CHANGE=w;exports.BUFFER_CHANGE=l;exports.CANPLAY=N;exports.CANPLAY_THROUGH=t;exports.COMPLETE=g;exports.CSS_FULLSCREEN_CHANGE=m;exports.DEFINITION_CHANGE=b;exports.DESTROY=Y;exports.DOWNLOAD_SPEED_CHANGE=h;exports.DURATION_CHANGE=L;exports.EMPTIED=s;exports.ENDED=A;exports.ENTER_PLAYER=V;exports.ERROR=r;exports.FPS_STUCK=_E;exports.FULLSCREEN_CHANGE=f;exports.LEAVE_PLAYER=y;exports.LOADED_DATA=O;exports.LOADED_METADATA=D;exports.LOADING=M;exports.LOAD_START=n;exports.MINI_STATE_CHANGE=B;exports.PAUSE=e;exports.PIP_CHANGE=x;exports.PLAY=E;exports.PLAYER_BLUR=G;exports.PLAYER_FOCUS=U;exports.PLAYING=a;exports.PLAYNEXT=z;exports.PROGRESS=I;exports.RATE_CHANGE=C;exports.READY=c;exports.REPLAY=p;exports.RESET=$;exports.RETRY=k;exports.ROTATE=Z;exports.SCREEN_SHOT=j;exports.SEEKED=T;exports.SEEKING=_;exports.SEI_PARSED=K;exports.SHORTCUT=q;exports.SOURCE_ERROR=EE;exports.SOURCE_SUCCESS=aE;exports.STALLED=P;exports.STATS_EVENTS=rE;exports.SUSPEND=d;exports.SWITCH_SUBTITLE=AE;exports.TIME_UPDATE=S;exports.URL_CHANGE=F;exports.URL_NULL=i;exports.USER_ACTION=Q;exports.VIDEO_EVENTS=eE;exports.VIDEO_RESIZE=X;exports.VOLUME_CHANGE=v;exports.WAITING=R;exports.XGLOG=J;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_virtual/_rollupPluginBabelHelpers.js"),u=require("./error.js"),s=require("./events.js"),o=require("./instManager.js"),l=require("./lang/i18n.js"),a=require("./player.js"),d=require("./plugin/basePlugin.js"),f=require("./plugin/plugin.js"),c=require("./plugins/cssFullScreen/index.js"),P=require("./plugins/fullscreen/index.js"),p=require("./plugins/play/index.js"),y=require("./plugins/progress/index.js"),q=require("./plugins/time/index.js"),g=require("./plugins/volume/index.js"),I=require("./presets/default.js"),S=require("./stateClassMap.js"),v=require("./utils/sniffer.js"),x=require("./utils/util.js");var r=(function(n){e.inherits(t,n);var i=e.createSuper(t);function t(){return e.classCallCheck(this,t),i.apply(this,arguments)}return e.createClass(t)})(a.default);e.defineProperty(r,"defaultPreset",I.default);e.defineProperty(r,"Util",x.default);e.defineProperty(r,"Sniffer",v.default);e.defineProperty(r,"Errors",u.default);e.defineProperty(r,"Events",s);e.defineProperty(r,"Plugin",f.default);e.defineProperty(r,"BasePlugin",d.default);e.defineProperty(r,"I18N",l.default);e.defineProperty(r,"STATE_CLASS",S.default);e.defineProperty(r,"InstManager",o.InstManager);e.defineProperty(r,"PlayIcon",p.default);e.defineProperty(r,"TimeIcon",q.default);e.defineProperty(r,"Progress",y.default);e.defineProperty(r,"FullscreenIcon",P.default);e.defineProperty(r,"CssFullscreenIcon",c.default);e.defineProperty(r,"VolumeIcon",g.default);exports.default=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./_virtual/_rollupPluginBabelHelpers.js"),v=require("../../../../../../_virtual/index.js");var n={},f=null,o=(function(l){c.inherits(s,l);var a=c.createSuper(s);function s(){return c.classCallCheck(this,s),a.apply(this,arguments)}return c.createClass(s,[{key:"add",value:function(e){e&&(n[e.playerId]=e,Object.keys(n).length===1&&this.setActive(e.playerId,!0))}},{key:"remove",value:function(e){e&&(e.isUserActive,delete n[e.playerId])}},{key:"_iterate",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(var t in n)if(Object.prototype.hasOwnProperty.call(n,t)){var u=n[t];if(r){if(e(u))break}else e(u)}}},{key:"forEach",value:function(e){this._iterate(e)}},{key:"find",value:function(e){var r=null;return this._iterate(function(t){var u=e(t);return u&&(r=t),u},!0),r}},{key:"findAll",value:function(e){var r=[];return this._iterate(function(t){e(t)&&r.push(t)}),r}},{key:"setActive",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(n[e])return r?this.forEach(function(t){e===t.playerId?(t.isUserActive=!0,t.isInstNext=!1):t.isUserActive=!1}):n[e].isUserActive=r,e}},{key:"getActiveId",value:function(){for(var e=Object.keys(n),r=0;r<e.length;r++){var t=n[e[r]];if(t&&t.isUserActive)return e[r]}return null}},{key:"setNext",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(n[e])return r?this.forEach(function(t){e===t.playerId?(t.isUserActive=!1,t.isInstNext=!0):t.isInstNext=!1}):n[e].isInstNext=r,e}}],[{key:"getInstance",value:function(){return f||(f=new s),f}}]),s})(v.eventemitter3Exports.EventEmitter);function g(l){for(var a=Object.keys(n),s=0;s<a.length;s++){var i=n[a[s]];if(i.root===l)return i}return null}exports.InstManager=o;exports.checkPlayerRoot=g;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e={LANG:"en",TEXT:{ERROR_TYPES:{network:{code:1,msg:"video download error"},mse:{code:2,msg:"stream append error"},parse:{code:3,msg:"parsing error"},format:{code:4,msg:"wrong format"},decoder:{code:5,msg:"decoding error"},runtime:{code:6,msg:"grammatical errors"},timeout:{code:7,msg:"play timeout"},other:{code:8,msg:"other errors"}},HAVE_NOTHING:"There is no information on whether audio/video is ready",HAVE_METADATA:"Audio/video metadata is ready ",HAVE_CURRENT_DATA:"Data about the current play location is available, but there is not enough data to play the next frame/millisecond",HAVE_FUTURE_DATA:"Current and at least one frame of data is available",HAVE_ENOUGH_DATA:"The available data is sufficient to start playing",NETWORK_EMPTY:"Audio/video has not been initialized",NETWORK_IDLE:"Audio/video is active and has been selected for resources, but no network is used",NETWORK_LOADING:"The browser is downloading the data",NETWORK_NO_SOURCE:"No audio/video source was found",MEDIA_ERR_ABORTED:"The fetch process is aborted by the user",MEDIA_ERR_NETWORK:"An error occurred while downloading",MEDIA_ERR_DECODE:"An error occurred while decoding",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/video is not supported",REPLAY:"Replay",ERROR:"Network is offline",PLAY_TIPS:"Play",PAUSE_TIPS:"Pause",PLAYNEXT_TIPS:"Play next",DOWNLOAD_TIPS:"Download",ROTATE_TIPS:"Rotate",RELOAD_TIPS:"Reload",FULLSCREEN_TIPS:"Fullscreen",EXITFULLSCREEN_TIPS:"Exit fullscreen",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Exit cssfullscreen",TEXTTRACK:"Caption",PIP:"PIP",SCREENSHOT:"Screenshot",LIVE:"LIVE",OFF:"Off",OPEN:"Open",MINI_DRAG:"Click and hold to drag",MINISCREEN:"Miniscreen",REFRESH_TIPS:"Please Try",REFRESH:"Refresh",FORWARD:"forward",LIVE_TIP:"Live"}};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("../_virtual/_rollupPluginBabelHelpers.js"),o=require("../utils/util.js"),s=require("./en.js");var n={lang:{},langKeys:[],textKeys:[]};function f(t,r){return Object.keys(r).forEach(function(e){var l=o.default.typeOf(r[e]),u=o.default.typeOf(t[e]);if(l==="Array"){var a;u!=="Array"&&(t[e]=[]),(a=t[e]).push.apply(a,g.toConsumableArray(r[e]))}else l==="Object"?(u!=="Object"&&(t[e]={}),f(t[e],r[e])):t[e]=r[e]}),t}function p(){Object.keys(n.lang.en).map(function(t){n.textKeys[t]=t})}function K(t,r){var e=[];if(r||(r=n),!!r.lang){o.default.typeOf(t)!=="Array"?e=Object.keys(t).map(function(a){var y=a==="zh"?"zh-cn":a;return{LANG:y,TEXT:t[a]}}):e=t;var l=r,u=l.lang;e.map(function(a){a.LANG==="zh"&&(a.LANG="zh-cn"),u[a.LANG]?f(u[a.LANG]||{},a.TEXT||{}):c(a,r)}),p()}}function c(t,r){var e=t.LANG;if(r||(r=n),!!r.lang){var l=t.TEXT||{};e==="zh"&&(e="zh-cn"),r.lang[e]?f(r.lang[e],l):(r.langKeys.push(e),r.lang[e]=l),p()}}function i(t){var r,e={lang:{},langKeys:[],textKeys:{},pId:t};return f(e.lang,n.lang),(r=e.langKeys).push.apply(r,g.toConsumableArray(n.langKeys)),f(e.textKeys,n.textKeys),e}c(s.default);var v={get textKeys(){return n.textKeys},get langKeys(){return n.langKeys},get lang(){var t={};return n.langKeys.map(function(r){t[r]=n.lang[r]}),n.lang["zh-cn"]&&(t.zh=n.lang["zh-cn"]||{}),t},extend:K,use:c,init:i};exports.default=v;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var u={LANG:"zh-cn",TEXT:{ERROR_TYPES:{network:{code:1,msg:"视频下载错误"},mse:{code:2,msg:"流追加错误"},parse:{code:3,msg:"解析错误"},format:{code:4,msg:"格式错误"},decoder:{code:5,msg:"解码错误"},runtime:{code:6,msg:"语法错误"},timeout:{code:7,msg:"播放超时"},other:{code:8,msg:"其他错误"}},HAVE_NOTHING:"没有关于音频/视频是否就绪的信息",HAVE_METADATA:"音频/视频的元数据已就绪",HAVE_CURRENT_DATA:"关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒",HAVE_FUTURE_DATA:"当前及至少下一帧的数据是可用的",HAVE_ENOUGH_DATA:"可用数据足以开始播放",NETWORK_EMPTY:"音频/视频尚未初始化",NETWORK_IDLE:"音频/视频是活动的且已选取资源,但并未使用网络",NETWORK_LOADING:"浏览器正在下载数据",NETWORK_NO_SOURCE:"未找到音频/视频来源",MEDIA_ERR_ABORTED:"取回过程被用户中止",MEDIA_ERR_NETWORK:"网络错误",MEDIA_ERR_DECODE:"解码错误",MEDIA_ERR_SRC_NOT_SUPPORTED:"不支持的音频/视频格式",REPLAY:"重播",ERROR:"网络连接似乎出现了问题",PLAY_TIPS:"播放",PAUSE_TIPS:"暂停",PLAYNEXT_TIPS:"下一集",DOWNLOAD_TIPS:"下载",ROTATE_TIPS:"旋转",RELOAD_TIPS:"重新载入",FULLSCREEN_TIPS:"进入全屏",EXITFULLSCREEN_TIPS:"退出全屏",CSSFULLSCREEN_TIPS:"进入样式全屏",EXITCSSFULLSCREEN_TIPS:"退出样式全屏",TEXTTRACK:"字幕",PIP:"画中画",SCREENSHOT:"截图",LIVE:"正在直播",OFF:"关闭",OPEN:"开启",MINI_DRAG:"点击按住可拖动视频",MINISCREEN:"小屏幕",REFRESH_TIPS:"请试试",REFRESH:"刷新",FORWARD:"快进中",LIVE_TIP:"直播"}};exports.default=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("./_virtual/_rollupPluginBabelHelpers.js"),k=require("../../../../../../_virtual/index.js"),m=require("./utils/util.js"),E=require("./utils/sniffer.js"),f=require("./error.js"),h=require("./events.js");function y(u,n){!this||!this.emit||(u==="error"?this.errorHandler(u,n.error):this.emit(u,n))}function O(u,n){return function(o,t){var e={player:n,eventName:u,originalEvent:o,detail:o.detail||{},timeStamp:o.timeStamp,currentTime:n.currentTime,duration:n.duration,paused:n.paused,ended:n.ended,isInternalOp:!!n._internalOp[o.type],muted:n.muted,volume:n.volume,host:m.default.getHostFromUrl(n.currentSrc),vtype:n.vtype};if(n.removeInnerOP(o.type),u==="timeupdate"&&(n._currentTime=n.media&&n.media.currentTime),u==="ratechange"){var r=n.media?n.media.playbackRate:0;if(r&&n._rate===r)return;n._rate=n.media&&n.media.playbackRate}if(u==="durationchange"&&(n._duration=n.media.duration),u==="volumechange"&&(e.isMutedChange=n._lastMuted!==n.muted,n._lastMuted=n.muted),u==="error"&&(e.error=t||n.video.error),n.mediaEventMiddleware[u]){var i=y.bind(n,u,e);try{n.mediaEventMiddleware[u].call(n,e,i)}catch(a){throw y.call(n,u,e),a}}else y.call(n,u,e)}}var b=(function(u){l.inherits(o,u);var n=l.createSuper(o);function o(t){var e;l.classCallCheck(this,o),e=n.call(this,t),e._hasStart=!1,e._currentTime=0,e._duration=0,e._internalOp={},e._lastMuted=!1,e.vtype="MP4",e._rate=-1,e.mediaConfig=Object.assign({},{controls:!1,autoplay:t.autoplay,playsinline:t.playsinline,"x5-playsinline":t.playsinline,"webkit-playsinline":t.playsinline,"x5-video-player-fullscreen":t["x5-video-player-fullscreen"]||t.x5VideoPlayerFullscreen,"x5-video-orientation":t["x5-video-orientation"]||t.x5VideoOrientation,airplay:t.airplay,"webkit-airplay":t.airplay,tabindex:t.tabindex|0,mediaType:t.mediaType||"video","data-index":-1},t.videoConfig,t.videoAttributes);var r=t["x5-video-player-type"]||t.x5VideoPlayerType;return E.default.isWeixin&&E.default.os.isAndroid&&r&&(e.mediaConfig["x5-video-player-type"]=r,delete e.mediaConfig.playsinline,delete e.mediaConfig["webkit-playsinline"],delete e.mediaConfig["x5-playsinline"]),t.loop&&(e.mediaConfig.loop="loop"),t.autoplayMuted&&!Object.prototype.hasOwnProperty.call(e.mediaConfig,"muted")&&(e.mediaConfig.muted=!0),e.media=t.mediaEl instanceof HTMLMediaElement?t.mediaEl:typeof t.mediaEl=="function"?t.mediaEl(e.mediaConfig):m.default.createDom(e.mediaConfig.mediaType,"",e.mediaConfig,""),t.defaultPlaybackRate&&(e.media.defaultPlaybackRate=e.media.playbackRate=t.defaultPlaybackRate),m.default.typeOf(t.volume)==="Number"&&(e.volume=t.volume),t.autoplayMuted&&(e.media.muted=!0,e._lastMuted=!0),t.autoplay&&(e.media.autoplay=!0),t.playsinline&&(e.media.playsinline=!0),e._interval={},e.mediaEventMiddleware={},e.attachVideoEvents(),e}return l.createClass(o,[{key:"setEventsMiddleware",value:function(e){var r=this;Object.keys(e).map(function(i){r.mediaEventMiddleware[i]=e[i]})}},{key:"removeEventsMiddleware",value:function(e){var r=this;Object.keys(e).map(function(i){delete r.mediaEventMiddleware[i]})}},{key:"attachVideoEvents",value:function(){var e=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.media;this._evHandlers||(this._evHandlers=h.VIDEO_EVENTS.map(function(i){var a="on".concat(i.charAt(0).toUpperCase()).concat(i.slice(1));return typeof e[a]=="function"&&e.on(i,e[a]),l.defineProperty({},i,O(i,e))})),this._evHandlers.forEach(function(i){var a=Object.keys(i)[0];r.addEventListener(a,i[a],!1)})}},{key:"detachVideoEvents",value:function(){var e=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.media;this._evHandlers.forEach(function(i){var a=Object.keys(i)[0];r.removeEventListener(a,i[a],!1)}),this._evHandlers.forEach(function(i){var a=Object.keys(i)[0],s="on".concat(a.charAt(0).toUpperCase()).concat(a.slice(1));typeof e[s]=="function"&&e.off(a,e[s])}),this._evHandlers=null}},{key:"_attachSourceEvents",value:function(e,r){var i=this;e.removeAttribute("src"),e.load(),r.forEach(function(c,g){i.media.appendChild(m.default.createDom("source","",{src:"".concat(c.src),type:"".concat(c.type||""),"data-index":g+1}))});var a=e.children;if(a){this._videoSourceCount=a.length,this._videoSourceIndex=a.length,this._vLoadeddata=function(c){i.emit(h.SOURCE_SUCCESS,{src:c.target.currentSrc,host:m.default.getHostFromUrl(c.target.currentSrc)})};for(var s=null,d=0;d<this._evHandlers.length;d++)if(Object.keys(this._evHandlers[d])[0]==="error"){s=this._evHandlers[d];break}!this._sourceError&&(this._sourceError=function(c){var g=parseInt(c.target.getAttribute("data-index"),10);if(i._videoSourceIndex--,i._videoSourceIndex===0||g>=i._videoSourceCount){var p={code:4,message:"sources_load_error"};s?s.error(c,p):i.errorHandler("error",p)}var _=f.ERROR_TYPE_MAP[4];i.emit(h.SOURCE_ERROR,new f.default(i,{errorType:_,errorCode:4,errorMessage:"sources_load_error",mediaError:{code:4,message:"sources_load_error"},src:c.target.src}))});for(var v=0;v<a.length;v++)a[v].addEventListener("error",this._sourceError);e.addEventListener("loadeddata",this._vLoadeddata)}}},{key:"_detachSourceEvents",value:function(e){var r=e.children;if(!(!r||r.length===0||!this._sourceError)){for(var i=0;i<r.length;i++)r[i].removeEventListener("error",this._sourceError);for(;r.length>0;)e.removeChild(r[0]);this._vLoadeddata&&e.removeEventListener("loadeddata",this._vLoadeddata)}}},{key:"errorHandler",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(this.media&&(this.media.error||r)){var i=this.media.error||r,a=i.code?f.ERROR_TYPE_MAP[i.code]:"other",s=i.message;this.media.currentSrc||this.media.srcObject||(s="empty_src",i={code:6,message:s}),this.emit(e,new f.default(this,{errorType:a,errorCode:i.code,errorMessage:i.message||"",mediaError:i}))}}},{key:"destroy",value:function(){this.media&&(this.media.pause&&(this.media.pause(),this.media.muted=!0),this.media.removeAttribute("src"),this.media.load()),this._currentTime=0,this._duration=0,this.mediaConfig=null;for(var e in this._interval)Object.prototype.hasOwnProperty.call(this._interval,e)&&(clearInterval(this._interval[e]),this._interval[e]=null);this.detachVideoEvents(),this.media=null,this.mediaEventMiddleware={},this.removeAllListeners()}},{key:"video",get:function(){return this.media},set:function(e){this.media=e}},{key:"play",value:function(){var e=this.media?this.media.play():null;return e}},{key:"pause",value:function(){this.media&&this.media.pause()}},{key:"load",value:function(){this.media&&this.media.load()}},{key:"canPlayType",value:function(e){return this.media?this.media.canPlayType(e):!1}},{key:"getBufferedRange",value:function(e){var r=[0,0];if(!this.media)return r;e||(e=this.media.buffered);var i=this.media.currentTime;if(e)for(var a=0,s=e.length;a<s&&(r[0]=e.start(a),r[1]=e.end(a),!(r[0]<=i&&i<=r[1]));a++);return r[0]-i<=0&&i-r[1]<=0?r:[0,0]}},{key:"autoplay",get:function(){return this.media?this.media.autoplay:!1},set:function(e){this.media&&(this.media.autoplay=e)}},{key:"buffered",get:function(){return this.media?this.media.buffered:null}},{key:"buffered2",get:function(){return this.media&&this.media.buffered?m.default.getBuffered2(this.media.buffered):null}},{key:"bufferedPoint",get:function(){var e={start:0,end:0};if(!this.media)return e;var r=this.media.buffered;if(!r||r.length===0)return e;for(var i=0;i<r.length;i++)if((r.start(i)<=this.currentTime||r.start(i)<.1)&&r.end(i)>=this.currentTime)return{start:r.start(i),end:r.end(i)};return e}},{key:"crossOrigin",get:function(){return this.media?this.media.crossOrigin:""},set:function(e){this.media&&(this.media.crossOrigin=e)}},{key:"currentSrc",get:function(){return this.media?this.media.currentSrc:""},set:function(e){this.media&&(this.media.currentSrc=e)}},{key:"currentTime",get:function(){return this.media?this.media.currentTime!==void 0?this.media.currentTime:this._currentTime:0},set:function(e){this.media&&(this.media.currentTime=e)}},{key:"defaultMuted",get:function(){return this.media?this.media.defaultMuted:!1},set:function(e){this.media&&(this.media.defaultMuted=e)}},{key:"duration",get:function(){return this._duration}},{key:"ended",get:function(){return this.media?this.media.ended:!1}},{key:"error",get:function(){return this.media.error}},{key:"errorNote",get:function(){var e=this.media.error;if(!e)return"";var r=["MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED"];return r[this.media.error.code-1]}},{key:"loop",get:function(){return this.media?this.media.loop:!1},set:function(e){this.media&&(this.media.loop=e)}},{key:"muted",get:function(){return this.media?this.media.muted:!1},set:function(e){!this.media||this.media.muted===e||(this._lastMuted=this.media.muted,this.media.muted=e)}},{key:"networkState",get:function(){return this.media.networkState}},{key:"paused",get:function(){return this.media?this.media.paused:!0}},{key:"playbackRate",get:function(){return this.media?this.media.playbackRate:0},set:function(e){!this.media||e===1/0||(this.media.defaultPlaybackRate=e,this.media.playbackRate=e)}},{key:"played",get:function(){return this.media?this.media.played:null}},{key:"preload",get:function(){return this.media?this.media.preload:!1},set:function(e){this.media&&(this.media.preload=e)}},{key:"readyState",get:function(){return this.media.readyState}},{key:"seekable",get:function(){return this.media?this.media.seekable:!1}},{key:"seeking",get:function(){return this.media?this.media.seeking:!1}},{key:"src",get:function(){return this.media?this.media.src:""},set:function(e){if(this.media){if(this.emit(h.URL_CHANGE,e),this.emit(h.WAITING),this._currentTime=0,this._duration=0,m.default.isMSE(this.media)){this.onWaiting();return}this._detachSourceEvents(this.media),m.default.typeOf(e)==="Array"?this._attachSourceEvents(this.media,e):e?this.media.src=e:this.media.removeAttribute("src"),this.load()}}},{key:"volume",get:function(){return this.media?this.media.volume:0},set:function(e){e===1/0||!this.media||(this.media.volume=e)}},{key:"aspectRatio",get:function(){return this.media?this.media.videoWidth/this.media.videoHeight:0}},{key:"addInnerOP",value:function(e){this._internalOp[e]=!0}},{key:"removeInnerOP",value:function(e){delete this._internalOp[e]}},{key:"emit",value:function(e,r){for(var i,a=arguments.length,s=new Array(a>2?a-2:0),d=2;d<a;d++)s[d-2]=arguments[d];(i=l.get(l.getPrototypeOf(o.prototype),"emit",this)).call.apply(i,[this,e,r].concat(s))}},{key:"on",value:function(e,r){for(var i,a=arguments.length,s=new Array(a>2?a-2:0),d=2;d<a;d++)s[d-2]=arguments[d];(i=l.get(l.getPrototypeOf(o.prototype),"on",this)).call.apply(i,[this,e,r].concat(s))}},{key:"once",value:function(e,r){for(var i,a=arguments.length,s=new Array(a>2?a-2:0),d=2;d<a;d++)s[d-2]=arguments[d];(i=l.get(l.getPrototypeOf(o.prototype),"once",this)).call.apply(i,[this,e,r].concat(s))}},{key:"off",value:function(e,r){for(var i,a=arguments.length,s=new Array(a>2?a-2:0),d=2;d<a;d++)s[d-2]=arguments[d];(i=l.get(l.getPrototypeOf(o.prototype),"off",this)).call.apply(i,[this,e,r].concat(s))}},{key:"offAll",value:function(){l.get(l.getPrototypeOf(o.prototype),"removeAllListeners",this).call(this)}}]),o})(k.default);exports.default=b;
|