@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.
Files changed (255) hide show
  1. package/dist/cjs/_virtual/_commonjsHelpers.js +1 -0
  2. package/dist/cjs/_virtual/delegate.js +1 -0
  3. package/dist/cjs/_virtual/download.js +1 -0
  4. package/dist/cjs/_virtual/download2.js +1 -0
  5. package/dist/cjs/_virtual/index.js +1 -0
  6. package/dist/cjs/_virtual/index2.js +1 -0
  7. package/dist/cjs/components/shimmer-button/ShimmerButton.js +1 -1
  8. package/dist/cjs/components/shiny-button/ShinyButton.js +1 -1
  9. package/dist/cjs/components/sparkles-text/SparklesText.js +1 -1
  10. package/dist/cjs/components/subtitle-player/SubtitlePlayer.d.ts +51 -0
  11. package/dist/cjs/components/subtitle-player/SubtitlePlayer.js +3 -0
  12. package/dist/cjs/components/subtitle-player/index.d.ts +2 -0
  13. package/dist/cjs/components/txt-editor/TxtEditor.d.ts +5 -4
  14. package/dist/cjs/components/txt-editor/TxtEditor.js +32 -1
  15. package/dist/cjs/components/txt-reader/TxtReader.js +1 -1
  16. package/dist/cjs/components/txt-reader/index.module.css.js +1 -1
  17. package/dist/cjs/components/variable-proximity/index.d.ts +10 -0
  18. package/dist/cjs/components/variable-proximity/index.js +1 -1
  19. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.d.ts +23 -0
  20. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.js +1 -0
  21. package/dist/cjs/components/video-subtitle-player/index.d.ts +3 -0
  22. package/dist/cjs/components/video-subtitle-player/useVideoSubtitleStore.d.ts +61 -0
  23. package/dist/cjs/components/video-subtitle-player/useVideoSubtitleStore.js +1 -0
  24. package/dist/cjs/index.d.ts +2 -1
  25. package/dist/cjs/index.js +1 -1
  26. package/dist/cjs/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/closest.js +1 -0
  27. package/dist/cjs/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js +1 -0
  28. package/dist/cjs/node_modules/.pnpm/downloadjs@1.4.7/node_modules/downloadjs/download.js +3 -0
  29. package/dist/cjs/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js +1 -0
  30. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/_virtual/_rollupPluginBabelHelpers.js +2 -0
  31. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/constant.js +1 -0
  32. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/defaultConfig.js +1 -0
  33. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/error.js +1 -0
  34. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/events.js +1 -0
  35. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js +1 -0
  36. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/instManager.js +1 -0
  37. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/en.js +1 -0
  38. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/i18n.js +1 -0
  39. 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
  40. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/mediaProxy.js +1 -0
  41. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/player.js +1 -0
  42. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/basePlugin.js +1 -0
  43. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/hooksDescriptor.js +1 -0
  44. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/plugin.js +1 -0
  45. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/pluginsManager.js +1 -0
  46. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/preset.js +1 -0
  47. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/resizeObserver.js +1 -0
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/presets/default.js +1 -0
  112. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/state.js +1 -0
  113. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/stateClassMap.js +1 -0
  114. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/database.js +1 -0
  115. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/debug.js +1 -0
  116. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/draggabilly.js +1 -0
  117. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/sniffer.js +1 -0
  118. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/util.js +1 -0
  119. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/xgplayerTimeRange.js +1 -0
  120. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/version.js +1 -0
  121. 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
  122. 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
  123. package/dist/cjs/packages/subtitle/lib/src/json-converter.js +1 -0
  124. package/dist/cjs/packages/subtitle/lib/src/parser.js +5 -0
  125. package/dist/cjs/react-components.css +1 -1
  126. package/dist/es/_virtual/_commonjsHelpers.js +6 -0
  127. package/dist/es/_virtual/delegate.js +7 -0
  128. package/dist/es/_virtual/download.js +7 -0
  129. package/dist/es/_virtual/download2.js +4 -0
  130. package/dist/es/_virtual/index.js +8 -0
  131. package/dist/es/_virtual/index2.js +4 -0
  132. package/dist/es/components/shimmer-button/ShimmerButton.js +29 -62
  133. package/dist/es/components/shiny-button/ShinyButton.js +15 -17
  134. package/dist/es/components/sparkles-text/SparklesText.js +30 -29
  135. package/dist/es/components/subtitle-player/SubtitlePlayer.d.ts +51 -0
  136. package/dist/es/components/subtitle-player/SubtitlePlayer.js +301 -0
  137. package/dist/es/components/subtitle-player/index.d.ts +2 -0
  138. package/dist/es/components/txt-editor/TxtEditor.d.ts +5 -4
  139. package/dist/es/components/txt-editor/TxtEditor.js +105 -43
  140. package/dist/es/components/txt-reader/TxtReader.js +48 -55
  141. package/dist/es/components/txt-reader/index.module.css.js +6 -2
  142. package/dist/es/components/variable-proximity/index.d.ts +10 -0
  143. package/dist/es/components/variable-proximity/index.js +166 -94
  144. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.d.ts +23 -0
  145. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.js +125 -0
  146. package/dist/es/components/video-subtitle-player/index.d.ts +3 -0
  147. package/dist/es/components/video-subtitle-player/useVideoSubtitleStore.d.ts +61 -0
  148. package/dist/es/components/video-subtitle-player/useVideoSubtitleStore.js +57 -0
  149. package/dist/es/index.d.ts +2 -1
  150. package/dist/es/index.js +60 -56
  151. package/dist/es/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/closest.js +21 -0
  152. package/dist/es/node_modules/.pnpm/delegate@3.2.0/node_modules/delegate/src/delegate.js +29 -0
  153. package/dist/es/node_modules/.pnpm/downloadjs@1.4.7/node_modules/downloadjs/download.js +77 -0
  154. package/dist/es/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js +111 -0
  155. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/_virtual/_rollupPluginBabelHelpers.js +197 -0
  156. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/constant.js +7 -0
  157. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/defaultConfig.js +87 -0
  158. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/error.js +64 -0
  159. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/events.js +67 -0
  160. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js +45 -0
  161. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/instManager.js +101 -0
  162. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/en.js +79 -0
  163. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/lang/i18n.js +75 -0
  164. 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
  165. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/mediaProxy.js +466 -0
  166. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/player.js +1240 -0
  167. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/basePlugin.js +207 -0
  168. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/hooksDescriptor.js +130 -0
  169. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/plugin.js +366 -0
  170. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/pluginsManager.js +204 -0
  171. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/preset.js +14 -0
  172. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/plugin/resizeObserver.js +81 -0
  173. 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
  174. 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
  175. 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
  176. 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
  177. 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
  178. 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
  179. 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
  180. 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
  181. 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
  182. 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
  183. 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
  184. 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
  185. 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
  186. 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
  187. 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
  188. 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
  189. 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
  190. 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
  191. 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
  192. 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
  193. 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
  194. 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
  195. 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
  196. 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
  197. 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
  198. 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
  199. 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
  200. 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
  201. 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
  202. 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
  203. 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
  204. 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
  205. 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
  206. 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
  207. 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
  208. 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
  209. 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
  210. 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
  211. 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
  212. 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
  213. 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
  214. 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
  215. 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
  216. 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
  217. 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
  218. 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
  219. 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
  220. 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
  221. 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
  222. 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
  223. 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
  224. 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
  225. 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
  226. 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
  227. 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
  228. 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
  229. 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
  230. 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
  231. 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
  232. 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
  233. 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
  234. 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
  235. 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
  236. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/presets/default.js +61 -0
  237. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/state.js +13 -0
  238. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/stateClassMap.js +34 -0
  239. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/database.js +83 -0
  240. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/debug.js +34 -0
  241. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/draggabilly.js +271 -0
  242. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/sniffer.js +111 -0
  243. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/util.js +517 -0
  244. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/utils/xgplayerTimeRange.js +25 -0
  245. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/version.js +4 -0
  246. 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
  247. 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
  248. package/dist/es/packages/subtitle/lib/src/json-converter.js +27 -0
  249. package/dist/es/packages/subtitle/lib/src/parser.js +56 -0
  250. package/dist/es/react-components.css +1 -1
  251. package/package.json +23 -21
  252. package/dist/cjs/components/qr-code/index.d.ts +0 -103
  253. package/dist/cjs/components/qr-code/index.js +0 -1
  254. package/dist/es/components/qr-code/index.d.ts +0 -103
  255. package/dist/es/components/qr-code/index.js +0 -49
@@ -0,0 +1,125 @@
1
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
+ import { useRef as x, useEffect as u, useCallback as C } from "react";
3
+ /* empty css */
4
+ import { SubtitlePlayer as I } from "../subtitle-player/SubtitlePlayer.js";
5
+ import { useVideoSubtitleStore as R } from "./useVideoSubtitleStore.js";
6
+ /* empty css */
7
+ import j from "../../node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/es/index.umd.js";
8
+ const z = ({
9
+ videoUrl: p,
10
+ subtitles: o,
11
+ poster: m,
12
+ className: g = "",
13
+ style: P,
14
+ onFetchDetail: c
15
+ }) => {
16
+ const d = x(null), r = x(null), {
17
+ currentTime: s,
18
+ isPlaying: D,
19
+ setCurrentTime: v,
20
+ setIsPlaying: n,
21
+ setSubtitles: _,
22
+ currentDetail: l,
23
+ isLoadingDetail: w,
24
+ fetchDetail: y
25
+ } = R();
26
+ u(() => {
27
+ _(o);
28
+ }, [o, _]), u(() => {
29
+ if (!d.current) return;
30
+ const t = `video-subtitle-player-${Date.now()}`;
31
+ d.current && (d.current.id = t);
32
+ const i = new j({
33
+ id: t,
34
+ url: p,
35
+ poster: m,
36
+ autoplay: !1,
37
+ fluid: !0,
38
+ width: "100%",
39
+ height: "100%",
40
+ controls: !0
41
+ });
42
+ r.current = i;
43
+ const h = () => {
44
+ const T = i.currentTime || 0;
45
+ v(T);
46
+ }, f = () => {
47
+ n(!0);
48
+ }, b = () => {
49
+ n(!1);
50
+ }, N = () => {
51
+ n(!1);
52
+ };
53
+ return i.on("timeupdate", h), i.on("play", f), i.on("pause", b), i.on("ended", N), () => {
54
+ i.off("timeupdate", h), i.off("play", f), i.off("pause", b), i.off("ended", N), i.destroy(), r.current = null;
55
+ };
56
+ }, [p, m, v, n]), u(() => {
57
+ if (r.current) {
58
+ const t = r.current;
59
+ Math.abs(t.currentTime - s) > 0.5 && (t.currentTime = s);
60
+ }
61
+ }, [s]);
62
+ const S = C(
63
+ async (t) => {
64
+ c ? await c(t) : await y(t);
65
+ },
66
+ [c, y]
67
+ );
68
+ return /* @__PURE__ */ a(
69
+ "div",
70
+ {
71
+ className: `video-subtitle-player ${g}`,
72
+ style: P,
73
+ children: [
74
+ /* @__PURE__ */ a("div", { className: "video-subtitle-player__left", children: [
75
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__video-container", children: /* @__PURE__ */ e(
76
+ "div",
77
+ {
78
+ ref: d,
79
+ className: "video-subtitle-player__video"
80
+ }
81
+ ) }),
82
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__subtitle-container", children: /* @__PURE__ */ e(
83
+ I,
84
+ {
85
+ subtitles: o,
86
+ currentTime: s,
87
+ mode: "current",
88
+ onWordHoverChange: S
89
+ }
90
+ ) })
91
+ ] }),
92
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__right", children: /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail", children: w ? /* @__PURE__ */ a("div", { className: "video-subtitle-player__detail-loading", children: [
93
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-loading-spinner" }),
94
+ /* @__PURE__ */ e("span", { children: "加载中..." })
95
+ ] }) : l ? /* @__PURE__ */ a("div", { className: "video-subtitle-player__detail-content", children: [
96
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-word", children: l.word }),
97
+ l.pronunciation && /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-pronunciation", children: l.pronunciation }),
98
+ l.partOfSpeech && /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-pos", children: l.partOfSpeech }),
99
+ l.translation && /* @__PURE__ */ a("div", { className: "video-subtitle-player__detail-translation", children: [
100
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-label", children: "中文翻译" }),
101
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-text", children: l.translation })
102
+ ] }),
103
+ l.definition && /* @__PURE__ */ a("div", { className: "video-subtitle-player__detail-definition", children: [
104
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-label", children: "英文解释" }),
105
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-text", children: l.definition })
106
+ ] }),
107
+ l.examples && l.examples.length > 0 && /* @__PURE__ */ a("div", { className: "video-subtitle-player__detail-examples", children: [
108
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-label", children: "例句" }),
109
+ l.examples.map((t, i) => /* @__PURE__ */ a("div", { className: "video-subtitle-player__detail-example", children: [
110
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-example-en", children: t.sentence }),
111
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-example-zh", children: t.translation })
112
+ ] }, i))
113
+ ] })
114
+ ] }) : /* @__PURE__ */ a("div", { className: "video-subtitle-player__detail-empty", children: [
115
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-empty-icon", children: "📖" }),
116
+ /* @__PURE__ */ e("div", { className: "video-subtitle-player__detail-empty-text", children: "将鼠标悬停在字幕单词上查看详情" })
117
+ ] }) }) })
118
+ ]
119
+ }
120
+ );
121
+ };
122
+ export {
123
+ z as VideoSubtitlePlayer,
124
+ z as default
125
+ };
@@ -0,0 +1,3 @@
1
+ export * from './VideoSubtitlePlayer';
2
+ export * from './useVideoSubtitleStore';
3
+ export { default } from './VideoSubtitlePlayer';
@@ -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,57 @@
1
+ import { create as r } from "../../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";
2
+ const t = {
3
+ currentTime: 0,
4
+ isPlaying: !1,
5
+ subtitles: [],
6
+ currentDetail: null,
7
+ isLoadingDetail: !1
8
+ }, s = r((i, o) => ({
9
+ ...t,
10
+ setCurrentTime: (e) => {
11
+ i({ currentTime: e });
12
+ },
13
+ setIsPlaying: (e) => {
14
+ i({ isPlaying: e });
15
+ },
16
+ setSubtitles: (e) => {
17
+ i({ subtitles: e });
18
+ },
19
+ setCurrentDetail: (e) => {
20
+ i({ currentDetail: e });
21
+ },
22
+ setIsLoadingDetail: (e) => {
23
+ i({ isLoadingDetail: e });
24
+ },
25
+ fetchDetail: async (e) => {
26
+ if (!e) {
27
+ i({ currentDetail: null, isLoadingDetail: !1 });
28
+ return;
29
+ }
30
+ i({ isLoadingDetail: !0 });
31
+ try {
32
+ await new Promise((a) => setTimeout(a, 300));
33
+ const n = {
34
+ word: e.word,
35
+ pronunciation: `/${e.word.toLowerCase()}/`,
36
+ translation: `${e.word}的中文翻译`,
37
+ definition: `Definition of ${e.word}`,
38
+ examples: [
39
+ {
40
+ sentence: `This is an example sentence with ${e.word}.`,
41
+ translation: `这是一个包含${e.word}的例句。`
42
+ }
43
+ ],
44
+ partOfSpeech: "noun"
45
+ };
46
+ i({ currentDetail: n, isLoadingDetail: !1 });
47
+ } catch (n) {
48
+ console.error("获取详情失败:", n), i({ currentDetail: null, isLoadingDetail: !1 });
49
+ }
50
+ },
51
+ reset: () => {
52
+ i(t);
53
+ }
54
+ }));
55
+ export {
56
+ s as useVideoSubtitleStore
57
+ };
@@ -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/es/index.js CHANGED
@@ -3,65 +3,69 @@ import { Button as r } from "./components/button/Button.js";
3
3
  import { TxtReader as x } from "./components/txt-reader/TxtReader.js";
4
4
  import { HyperText as p } from "./components/hyper-text/index.js";
5
5
  import { TypingAnimation as i } from "./components/typing-animation/index.js";
6
- import { QRCode as d } from "./components/qr-code/index.js";
7
- import { Confetti as s, ConfettiButton as T } from "./components/confetti-button/index.js";
8
- import { default as c } from "./components/gradient-text/index.js";
9
- import { VariableProximity as C } from "./components/variable-proximity/index.js";
10
- import { useStayTimeReport as g } from "./hooks/useStayTimeReport.js";
11
- import { default as B } from "./components/pinch-content/PinchContent.js";
12
- import { default as A } from "./components/image-viewer/ImageViewer.js";
13
- import { ShimmerButton as I } from "./components/shimmer-button/ShimmerButton.js";
14
- import { default as V } from "./components/image-compare/ImageCompare.js";
15
- import { default as P } from "./components/text-type/TextType.js";
16
- import { TextAnimate as L } from "./components/text-animate/TextAnimate.js";
17
- import { Dock as v, DockIcon as w, dockVariants as E } from "./components/dock/Duck.js";
18
- import { TxtEditor as M } from "./components/txt-editor/TxtEditor.js";
19
- import { Message as j } from "./components/message/Message.js";
20
- import { default as z } from "react-force-graph-3d";
21
- import { default as K } from "canvas-confetti";
22
- import { Pointer as O } from "./components/pointer/Pointer.js";
23
- import { SparklesText as W } from "./components/sparkles-text/SparklesText.js";
24
- import { BlurFade as Y } from "./components/blur-fade/BlurFade.js";
25
- import { VideoDialog as _ } from "./components/video-dialog/VideoDialog.js";
26
- import { ComicText as oo } from "./components/comic-text/ComicText.js";
27
- import { FlipText as eo } from "./components/flip-text/FlipText.js";
28
- import { AnimatedList as mo, AnimatedListItem as xo } from "./components/animated-list/AnimatedList.js";
29
- import { ShinyButton as po } from "./components/shiny-button/ShinyButton.js";
30
- import { ScratchToReveal as io } from "./components/scratch-to-reveal/ScratchToReveal.js";
31
- import { SplitText as lo } from "./components/split-text/SplitText.js";
6
+ import { Confetti as l, ConfettiButton as d } from "./components/confetti-button/index.js";
7
+ import { default as s } from "./components/gradient-text/index.js";
8
+ import { VariableProximity as c } from "./components/variable-proximity/index.js";
9
+ import { useStayTimeReport as y } from "./hooks/useStayTimeReport.js";
10
+ import { default as g } from "./components/pinch-content/PinchContent.js";
11
+ import { default as B } from "./components/image-viewer/ImageViewer.js";
12
+ import { ShimmerButton as P } from "./components/shimmer-button/ShimmerButton.js";
13
+ import { default as k } from "./components/image-compare/ImageCompare.js";
14
+ import { default as D } from "./components/text-type/TextType.js";
15
+ import { TextAnimate as F } from "./components/text-animate/TextAnimate.js";
16
+ import { Dock as G, DockIcon as L, dockVariants as v } from "./components/dock/Duck.js";
17
+ import { TxtEditor as E } from "./components/txt-editor/TxtEditor.js";
18
+ import { Message as M } from "./components/message/Message.js";
19
+ import { default as q } from "react-force-graph-3d";
20
+ import { default as J } from "canvas-confetti";
21
+ import { Pointer as N } from "./components/pointer/Pointer.js";
22
+ import { SparklesText as Q } from "./components/sparkles-text/SparklesText.js";
23
+ import { BlurFade as W } from "./components/blur-fade/BlurFade.js";
24
+ import { VideoDialog as Y } from "./components/video-dialog/VideoDialog.js";
25
+ import { ComicText as _ } from "./components/comic-text/ComicText.js";
26
+ import { FlipText as oo } from "./components/flip-text/FlipText.js";
27
+ import { AnimatedList as eo, AnimatedListItem as ro } from "./components/animated-list/AnimatedList.js";
28
+ import { ShinyButton as xo } from "./components/shiny-button/ShinyButton.js";
29
+ import { ScratchToReveal as po } from "./components/scratch-to-reveal/ScratchToReveal.js";
30
+ import { SplitText as io } from "./components/split-text/SplitText.js";
31
+ import { SubtitlePlayer as lo } from "./components/subtitle-player/SubtitlePlayer.js";
32
+ import { VideoSubtitlePlayer as so } from "./components/video-subtitle-player/VideoSubtitlePlayer.js";
33
+ import { useVideoSubtitleStore as co } from "./components/video-subtitle-player/useVideoSubtitleStore.js";
32
34
  export {
33
- mo as AnimatedList,
34
- xo as AnimatedListItem,
35
- Y as BlurFade,
35
+ eo as AnimatedList,
36
+ ro as AnimatedListItem,
37
+ W as BlurFade,
36
38
  r as Button,
37
- oo as ComicText,
38
- s as Confetti,
39
- T as ConfettiButton,
40
- v as Dock,
41
- w as DockIcon,
42
- eo as FlipText,
43
- z as ForceGraph3D,
44
- c as GradientText,
39
+ _ as ComicText,
40
+ l as Confetti,
41
+ d as ConfettiButton,
42
+ G as Dock,
43
+ L as DockIcon,
44
+ oo as FlipText,
45
+ q as ForceGraph3D,
46
+ s as GradientText,
45
47
  p as HyperText,
46
- V as ImageCompare,
47
- A as ImageViewer,
48
- j as Message,
49
- B as PinchContent,
50
- O as Pointer,
51
- d as QRCode,
52
- io as ScratchToReveal,
53
- I as ShimmerButton,
54
- po as ShinyButton,
55
- W as SparklesText,
56
- lo as SplitText,
57
- L as TextAnimate,
58
- P as TextType,
59
- M as TxtEditor,
48
+ k as ImageCompare,
49
+ B as ImageViewer,
50
+ M as Message,
51
+ g as PinchContent,
52
+ N as Pointer,
53
+ po as ScratchToReveal,
54
+ P as ShimmerButton,
55
+ xo as ShinyButton,
56
+ Q as SparklesText,
57
+ io as SplitText,
58
+ lo as SubtitlePlayer,
59
+ F as TextAnimate,
60
+ D as TextType,
61
+ E as TxtEditor,
60
62
  x as TxtReader,
61
63
  i as TypingAnimation,
62
- C as VariableProximity,
63
- _ as VideoDialog,
64
- K as confetti,
65
- E as dockVariants,
66
- g as useStayTimeReport
64
+ c as VariableProximity,
65
+ Y as VideoDialog,
66
+ so as VideoSubtitlePlayer,
67
+ J as confetti,
68
+ v as dockVariants,
69
+ y as useStayTimeReport,
70
+ co as useVideoSubtitleStore
67
71
  };
@@ -0,0 +1,21 @@
1
+ var s, c;
2
+ function i() {
3
+ if (c) return s;
4
+ c = 1;
5
+ var r = 9;
6
+ if (typeof Element < "u" && !Element.prototype.matches) {
7
+ var t = Element.prototype;
8
+ t.matches = t.matchesSelector || t.mozMatchesSelector || t.msMatchesSelector || t.oMatchesSelector || t.webkitMatchesSelector;
9
+ }
10
+ function a(e, o) {
11
+ for (; e && e.nodeType !== r; ) {
12
+ if (typeof e.matches == "function" && e.matches(o))
13
+ return e;
14
+ e = e.parentNode;
15
+ }
16
+ }
17
+ return s = a, s;
18
+ }
19
+ export {
20
+ i as __require
21
+ };
@@ -0,0 +1,29 @@
1
+ import { __require as g } from "./closest.js";
2
+ var l, o;
3
+ function p() {
4
+ if (o) return l;
5
+ o = 1;
6
+ var c = g();
7
+ function i(e, n, t, a, r) {
8
+ var u = d.apply(this, arguments);
9
+ return e.addEventListener(t, u, r), {
10
+ destroy: function() {
11
+ e.removeEventListener(t, u, r);
12
+ }
13
+ };
14
+ }
15
+ function f(e, n, t, a, r) {
16
+ return typeof e.addEventListener == "function" ? i.apply(null, arguments) : typeof t == "function" ? i.bind(null, document).apply(null, arguments) : (typeof e == "string" && (e = document.querySelectorAll(e)), Array.prototype.map.call(e, function(u) {
17
+ return i(u, n, t, a, r);
18
+ }));
19
+ }
20
+ function d(e, n, t, a) {
21
+ return function(r) {
22
+ r.delegateTarget = c(r.target, n), r.delegateTarget && a.call(e, r);
23
+ };
24
+ }
25
+ return l = f, l;
26
+ }
27
+ export {
28
+ p as __require
29
+ };
@@ -0,0 +1,77 @@
1
+ import { __module as w } from "../../../../../_virtual/download2.js";
2
+ var q = w.exports, A;
3
+ function O() {
4
+ return A ? w.exports : (A = 1, (function(x, _) {
5
+ (function(R, h) {
6
+ x.exports = h();
7
+ })(q, function() {
8
+ return function R(h, B, U) {
9
+ var n = window, l = "application/octet-stream", i = U || l, e = h, d = !B && !U && e, o = document.createElement("a"), v = function(t) {
10
+ return String(t);
11
+ }, r = n.Blob || n.MozBlob || n.WebKitBlob || v, c = B || "download", a, y;
12
+ if (r = r.call ? r.bind(n) : Blob, String(this) === "true" && (e = [e, i], i = e[0], e = e[1]), d && d.length < 2048 && (c = d.split("/").pop().split("?")[0], o.href = d, o.href.indexOf(d) !== -1)) {
13
+ var f = new XMLHttpRequest();
14
+ return f.open("GET", d, !0), f.responseType = "blob", f.onload = function(t) {
15
+ R(t.target.response, c, l);
16
+ }, setTimeout(function() {
17
+ f.send();
18
+ }, 0), f;
19
+ }
20
+ if (/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(e))
21
+ if (e.length > 1024 * 1024 * 1.999 && r !== v)
22
+ e = S(e), i = e.type || l;
23
+ else
24
+ return navigator.msSaveBlob ? (
25
+ // IE10 can't do a[download], only Blobs:
26
+ navigator.msSaveBlob(S(e), c)
27
+ ) : p(e);
28
+ else if (/([\x80-\xff])/.test(e)) {
29
+ var u = 0, g = new Uint8Array(e.length), D = g.length;
30
+ for (u; u < D; ++u) g[u] = e.charCodeAt(u);
31
+ e = new r([g], { type: i });
32
+ }
33
+ a = e instanceof r ? e : new r([e], { type: i });
34
+ function S(t) {
35
+ var s = t.split(/[:;,]/), m = s[1], k = s[2] == "base64" ? atob : decodeURIComponent, C = k(s.pop()), L = C.length, b = 0, T = new Uint8Array(L);
36
+ for (b; b < L; ++b) T[b] = C.charCodeAt(b);
37
+ return new r([T], { type: m });
38
+ }
39
+ function p(t, s) {
40
+ if ("download" in o)
41
+ return o.href = t, o.setAttribute("download", c), o.className = "download-js-link", o.innerHTML = "downloading...", o.style.display = "none", document.body.appendChild(o), setTimeout(function() {
42
+ o.click(), document.body.removeChild(o), s === !0 && setTimeout(function() {
43
+ n.URL.revokeObjectURL(o.href);
44
+ }, 250);
45
+ }, 66), !0;
46
+ if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent))
47
+ return /^data:/.test(t) && (t = "data:" + t.replace(/^data:([\w\/\-\+]+)/, l)), window.open(t) || confirm(`Displaying New Document
48
+
49
+ Use Save As... to download, then click back to return to this page.`) && (location.href = t), !0;
50
+ var m = document.createElement("iframe");
51
+ document.body.appendChild(m), !s && /^data:/.test(t) && (t = "data:" + t.replace(/^data:([\w\/\-\+]+)/, l)), m.src = t, setTimeout(function() {
52
+ document.body.removeChild(m);
53
+ }, 333);
54
+ }
55
+ if (navigator.msSaveBlob)
56
+ return navigator.msSaveBlob(a, c);
57
+ if (n.URL)
58
+ p(n.URL.createObjectURL(a), !0);
59
+ else {
60
+ if (typeof a == "string" || a.constructor === v)
61
+ try {
62
+ return p("data:" + i + ";base64," + n.btoa(a));
63
+ } catch {
64
+ return p("data:" + i + "," + encodeURIComponent(a));
65
+ }
66
+ y = new FileReader(), y.onload = function(t) {
67
+ p(this.result);
68
+ }, y.readAsDataURL(a);
69
+ }
70
+ return !0;
71
+ };
72
+ });
73
+ })(w), w.exports);
74
+ }
75
+ export {
76
+ O as __require
77
+ };
@@ -0,0 +1,111 @@
1
+ import { __module as x } from "../../../../../_virtual/index2.js";
2
+ var w;
3
+ function O() {
4
+ return w ? x.exports : (w = 1, (function(d) {
5
+ var g = Object.prototype.hasOwnProperty, c = "~";
6
+ function h() {
7
+ }
8
+ Object.create && (h.prototype = /* @__PURE__ */ Object.create(null), new h().__proto__ || (c = !1));
9
+ function b(s, t, n) {
10
+ this.fn = s, this.context = t, this.once = n || !1;
11
+ }
12
+ function m(s, t, n, r, l) {
13
+ if (typeof n != "function")
14
+ throw new TypeError("The listener must be a function");
15
+ var u = new b(n, r || s, l), o = c ? c + t : t;
16
+ 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;
17
+ }
18
+ function y(s, t) {
19
+ --s._eventsCount === 0 ? s._events = new h() : delete s._events[t];
20
+ }
21
+ function f() {
22
+ this._events = new h(), this._eventsCount = 0;
23
+ }
24
+ f.prototype.eventNames = function() {
25
+ var t = [], n, r;
26
+ if (this._eventsCount === 0) return t;
27
+ for (r in n = this._events)
28
+ g.call(n, r) && t.push(c ? r.slice(1) : r);
29
+ return Object.getOwnPropertySymbols ? t.concat(Object.getOwnPropertySymbols(n)) : t;
30
+ }, f.prototype.listeners = function(t) {
31
+ var n = c ? c + t : t, r = this._events[n];
32
+ if (!r) return [];
33
+ if (r.fn) return [r.fn];
34
+ for (var l = 0, u = r.length, o = new Array(u); l < u; l++)
35
+ o[l] = r[l].fn;
36
+ return o;
37
+ }, f.prototype.listenerCount = function(t) {
38
+ var n = c ? c + t : t, r = this._events[n];
39
+ return r ? r.fn ? 1 : r.length : 0;
40
+ }, f.prototype.emit = function(t, n, r, l, u, o) {
41
+ var a = c ? c + t : t;
42
+ if (!this._events[a]) return !1;
43
+ var e = this._events[a], p = arguments.length, v, i;
44
+ if (e.fn) {
45
+ switch (e.once && this.removeListener(t, e.fn, void 0, !0), p) {
46
+ case 1:
47
+ return e.fn.call(e.context), !0;
48
+ case 2:
49
+ return e.fn.call(e.context, n), !0;
50
+ case 3:
51
+ return e.fn.call(e.context, n, r), !0;
52
+ case 4:
53
+ return e.fn.call(e.context, n, r, l), !0;
54
+ case 5:
55
+ return e.fn.call(e.context, n, r, l, u), !0;
56
+ case 6:
57
+ return e.fn.call(e.context, n, r, l, u, o), !0;
58
+ }
59
+ for (i = 1, v = new Array(p - 1); i < p; i++)
60
+ v[i - 1] = arguments[i];
61
+ e.fn.apply(e.context, v);
62
+ } else {
63
+ var E = e.length, _;
64
+ for (i = 0; i < E; i++)
65
+ switch (e[i].once && this.removeListener(t, e[i].fn, void 0, !0), p) {
66
+ case 1:
67
+ e[i].fn.call(e[i].context);
68
+ break;
69
+ case 2:
70
+ e[i].fn.call(e[i].context, n);
71
+ break;
72
+ case 3:
73
+ e[i].fn.call(e[i].context, n, r);
74
+ break;
75
+ case 4:
76
+ e[i].fn.call(e[i].context, n, r, l);
77
+ break;
78
+ default:
79
+ if (!v) for (_ = 1, v = new Array(p - 1); _ < p; _++)
80
+ v[_ - 1] = arguments[_];
81
+ e[i].fn.apply(e[i].context, v);
82
+ }
83
+ }
84
+ return !0;
85
+ }, f.prototype.on = function(t, n, r) {
86
+ return m(this, t, n, r, !1);
87
+ }, f.prototype.once = function(t, n, r) {
88
+ return m(this, t, n, r, !0);
89
+ }, f.prototype.removeListener = function(t, n, r, l) {
90
+ var u = c ? c + t : t;
91
+ if (!this._events[u]) return this;
92
+ if (!n)
93
+ return y(this, u), this;
94
+ var o = this._events[u];
95
+ if (o.fn)
96
+ o.fn === n && (!l || o.once) && (!r || o.context === r) && y(this, u);
97
+ else {
98
+ for (var a = 0, e = [], p = o.length; a < p; a++)
99
+ (o[a].fn !== n || l && !o[a].once || r && o[a].context !== r) && e.push(o[a]);
100
+ e.length ? this._events[u] = e.length === 1 ? e[0] : e : y(this, u);
101
+ }
102
+ return this;
103
+ }, f.prototype.removeAllListeners = function(t) {
104
+ var n;
105
+ return t ? (n = c ? c + t : t, this._events[n] && y(this, n)) : (this._events = new h(), this._eventsCount = 0), this;
106
+ }, f.prototype.off = f.prototype.removeListener, f.prototype.addListener = f.prototype.on, f.prefixed = c, f.EventEmitter = f, d.exports = f;
107
+ })(x), x.exports);
108
+ }
109
+ export {
110
+ O as __require
111
+ };