@xiping/react-components 1.0.69 → 1.0.77

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 (209) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.js +1 -0
  2. package/dist/cjs/components/blur-fade/BlurFade.js +1 -1
  3. package/dist/cjs/components/blur-text/BlurText.js +1 -1
  4. package/dist/cjs/components/button/Button.css +1 -1
  5. package/dist/cjs/components/button/Button2.js +1 -0
  6. package/dist/cjs/components/comic-text/ComicText2.js +4 -0
  7. package/dist/cjs/components/confetti-button/index.js +1 -1
  8. package/dist/cjs/components/dock/Duck.css +1 -1
  9. package/dist/cjs/components/dock/Duck2.js +1 -0
  10. package/dist/cjs/components/flip-text/FlipText.css +1 -1
  11. package/dist/cjs/components/flip-text/FlipText2.js +1 -0
  12. package/dist/cjs/components/gradient-text/index.css +1 -1
  13. package/dist/cjs/components/gradient-text/index2.js +1 -0
  14. package/dist/cjs/components/hyper-text/HyperText.css +1 -1
  15. package/dist/cjs/components/hyper-text/index.js +1 -1
  16. package/dist/cjs/components/image-compare/ImageCompare.css +1 -1
  17. package/dist/cjs/components/image-compare/ImageCompare2.js +1 -0
  18. package/dist/cjs/components/image-viewer/ImageThumbnails.css +1 -1
  19. package/dist/cjs/components/image-viewer/ImageThumbnails2.js +1 -0
  20. package/dist/cjs/components/image-viewer/ImageViewer.css +1 -1
  21. package/dist/cjs/components/image-viewer/ImageViewer.d.ts +1 -1
  22. package/dist/cjs/components/image-viewer/ImageViewer2.js +1 -0
  23. package/dist/cjs/components/message/Message.css +1 -1
  24. package/dist/cjs/components/message/Message2.js +1 -0
  25. package/dist/cjs/components/pinch-content/PinchContent.js +1 -1
  26. package/dist/cjs/components/pinch-content/index.js +1 -1
  27. package/dist/cjs/components/pointer/Pointer.css +1 -1
  28. package/dist/cjs/components/pointer/Pointer2.js +1 -0
  29. package/dist/cjs/components/scratch-to-reveal/ScratchToReveal.css +1 -1
  30. package/dist/cjs/components/scratch-to-reveal/ScratchToReveal2.js +1 -0
  31. package/dist/cjs/components/shimmer-button/ShimmerButton.css +1 -1
  32. package/dist/cjs/components/shimmer-button/ShimmerButton2.js +1 -0
  33. package/dist/cjs/components/shiny-button/ShinyButton.css +1 -1
  34. package/dist/cjs/components/shiny-button/ShinyButton2.js +1 -0
  35. package/dist/cjs/components/shiny-text/ShinyText2.js +1 -0
  36. package/dist/cjs/components/sparkles-text/SparklesText.css +1 -1
  37. package/dist/cjs/components/sparkles-text/SparklesText2.js +1 -0
  38. package/dist/cjs/components/split-text/SplitText.css +1 -1
  39. package/dist/cjs/components/split-text/SplitText2.js +1 -0
  40. package/dist/cjs/components/subtitle-player/CurrentMode.css +1 -1
  41. package/dist/cjs/components/subtitle-player/CurrentMode2.js +2 -0
  42. package/dist/cjs/components/subtitle-player/LyricsMode.css +1 -1
  43. package/dist/cjs/components/subtitle-player/LyricsMode2.js +2 -0
  44. package/dist/cjs/components/subtitle-player/SubtitlePlayer.css +1 -1
  45. package/dist/cjs/components/subtitle-player/SubtitlePlayer2.js +1 -0
  46. package/dist/cjs/components/subtitle-player/utils.js +1 -1
  47. package/dist/cjs/components/text-animate/TextAnimate.css +1 -1
  48. package/dist/cjs/components/text-animate/TextAnimate2.js +2 -0
  49. package/dist/cjs/components/text-type/TextType.css +1 -1
  50. package/dist/cjs/components/text-type/TextType2.js +1 -0
  51. package/dist/cjs/components/txt-editor/TxtEditor.js +4 -4
  52. package/dist/cjs/components/txt-reader/TxtReader.js +1 -1
  53. package/dist/cjs/components/txt-reader/index.module.css +1 -1
  54. package/dist/cjs/components/txt-reader/index.module.js +1 -0
  55. package/dist/cjs/components/typing-animation/index.css +1 -1
  56. package/dist/cjs/components/typing-animation/index2.js +1 -0
  57. package/dist/cjs/components/variable-proximity/index.css +1 -1
  58. package/dist/cjs/components/variable-proximity/index2.js +1 -0
  59. package/dist/cjs/components/video-dialog/VideoDialog.css +1 -1
  60. package/dist/cjs/components/video-dialog/VideoDialog2.js +1 -0
  61. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.css +1 -1
  62. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.mobile.css +1 -1
  63. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.pc.css +1 -1
  64. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer2.js +1 -0
  65. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayerMobile.js +1 -1
  66. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayerPC.js +1 -1
  67. package/dist/cjs/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutMobile.js +1 -1
  68. package/dist/cjs/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutPC.js +1 -1
  69. package/dist/cjs/components/video-subtitle-player/useVideoSubtitleStore.js +1 -1
  70. package/dist/cjs/components/video-subtitle-player/useXGPlayer.js +1 -1
  71. package/dist/cjs/hooks/useStayTimeReport.js +1 -1
  72. package/dist/cjs/index.js +1 -1
  73. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.24_core-js@3.47.0/node_modules/xgplayer/dist/index.min.css +1 -0
  74. package/dist/cjs/packages/subtitle/lib/index.js +1 -0
  75. package/dist/cjs/packages/subtitle/lib/src/json-converter.js +1 -1
  76. package/dist/cjs/packages/subtitle/lib/src/parser.js +5 -5
  77. package/dist/cjs/react-components.css +27 -27
  78. package/dist/es/components/blur-fade/BlurFade.js +37 -49
  79. package/dist/es/components/blur-text/BlurText.js +67 -76
  80. package/dist/es/components/button/Button.css +1 -1
  81. package/dist/es/components/button/Button2.js +48 -0
  82. package/dist/es/components/comic-text/ComicText2.js +55 -0
  83. package/dist/es/components/confetti-button/index.js +63 -75
  84. package/dist/es/components/dock/Duck.css +1 -1
  85. package/dist/es/components/dock/Duck2.js +60 -0
  86. package/dist/es/components/flip-text/FlipText.css +1 -1
  87. package/dist/es/components/flip-text/FlipText2.js +41 -0
  88. package/dist/es/components/gradient-text/index.css +1 -1
  89. package/dist/es/components/gradient-text/index2.js +29 -0
  90. package/dist/es/components/hyper-text/HyperText.css +1 -1
  91. package/dist/es/components/hyper-text/index.js +51 -79
  92. package/dist/es/components/image-compare/ImageCompare.css +1 -1
  93. package/dist/es/components/image-compare/ImageCompare2.js +96 -0
  94. package/dist/es/components/image-viewer/ImageThumbnails.css +1 -1
  95. package/dist/es/components/image-viewer/ImageThumbnails2.js +40 -0
  96. package/dist/es/components/image-viewer/ImageViewer.css +1 -1
  97. package/dist/es/components/image-viewer/ImageViewer.d.ts +1 -1
  98. package/dist/es/components/image-viewer/ImageViewer2.js +151 -0
  99. package/dist/es/components/message/Message.css +1 -1
  100. package/dist/es/components/message/Message2.js +189 -0
  101. package/dist/es/components/pinch-content/PinchContent.js +120 -127
  102. package/dist/es/components/pinch-content/index.js +5 -5
  103. package/dist/es/components/pointer/Pointer.css +1 -1
  104. package/dist/es/components/pointer/Pointer2.js +61 -0
  105. package/dist/es/components/react-force-graph-3d/index.js +2 -0
  106. package/dist/es/components/scratch-to-reveal/ScratchToReveal.css +1 -1
  107. package/dist/es/components/scratch-to-reveal/ScratchToReveal2.js +88 -0
  108. package/dist/es/components/shimmer-button/ShimmerButton.css +1 -1
  109. package/dist/es/components/shimmer-button/ShimmerButton2.js +33 -0
  110. package/dist/es/components/shiny-button/ShinyButton.css +1 -1
  111. package/dist/es/components/shiny-button/ShinyButton2.js +53 -0
  112. package/dist/es/components/shiny-text/ShinyText2.js +61 -0
  113. package/dist/es/components/sparkles-text/SparklesText.css +1 -1
  114. package/dist/es/components/sparkles-text/SparklesText2.js +90 -0
  115. package/dist/es/components/split-text/SplitText.css +1 -1
  116. package/dist/es/components/split-text/SplitText2.js +109 -0
  117. package/dist/es/components/subtitle-player/CurrentMode.css +1 -1
  118. package/dist/es/components/subtitle-player/CurrentMode2.js +44 -0
  119. package/dist/es/components/subtitle-player/LyricsMode.css +1 -1
  120. package/dist/es/components/subtitle-player/LyricsMode2.js +114 -0
  121. package/dist/es/components/subtitle-player/SubtitlePlayer.css +1 -1
  122. package/dist/es/components/subtitle-player/SubtitlePlayer2.js +169 -0
  123. package/dist/es/components/subtitle-player/utils.js +63 -69
  124. package/dist/es/components/text-animate/TextAnimate.css +1 -1
  125. package/dist/es/components/text-animate/TextAnimate2.js +312 -0
  126. package/dist/es/components/text-type/TextType.css +1 -1
  127. package/dist/es/components/text-type/TextType2.js +80 -0
  128. package/dist/es/components/txt-editor/TxtEditor.js +60 -95
  129. package/dist/es/components/txt-reader/TxtReader.js +45 -74
  130. package/dist/es/components/txt-reader/index.module.css +1 -1
  131. package/dist/es/components/txt-reader/index.module.js +10 -0
  132. package/dist/es/components/typing-animation/index.css +1 -1
  133. package/dist/es/components/typing-animation/index2.js +43 -0
  134. package/dist/es/components/variable-proximity/index.css +1 -1
  135. package/dist/es/components/variable-proximity/index2.js +179 -0
  136. package/dist/es/components/video-dialog/VideoDialog.css +1 -1
  137. package/dist/es/components/video-dialog/VideoDialog2.js +168 -0
  138. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.css +1 -1
  139. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.mobile.css +1 -1
  140. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.pc.css +1 -1
  141. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer2.js +43 -0
  142. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayerMobile.js +29 -46
  143. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayerPC.js +94 -74
  144. package/dist/es/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutMobile.js +24 -21
  145. package/dist/es/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutPC.js +58 -50
  146. package/dist/es/components/video-subtitle-player/useVideoSubtitleStore.js +61 -56
  147. package/dist/es/components/video-subtitle-player/useXGPlayer.js +38 -35
  148. package/dist/es/hooks/useStayTimeReport.js +29 -29
  149. package/dist/es/index.js +33 -70
  150. package/dist/es/node_modules/.pnpm/xgplayer@3.0.24_core-js@3.47.0/node_modules/xgplayer/dist/index.min.css +1 -0
  151. package/dist/es/packages/subtitle/lib/index.js +2 -0
  152. package/dist/es/packages/subtitle/lib/src/json-converter.js +22 -23
  153. package/dist/es/packages/subtitle/lib/src/parser.js +41 -54
  154. package/dist/es/react-components.css +27 -27
  155. package/package.json +28 -29
  156. package/dist/cjs/components/button/Button.js +0 -1
  157. package/dist/cjs/components/comic-text/ComicText.js +0 -4
  158. package/dist/cjs/components/dock/Duck.js +0 -1
  159. package/dist/cjs/components/flip-text/FlipText.js +0 -1
  160. package/dist/cjs/components/gradient-text/index.js +0 -1
  161. package/dist/cjs/components/image-compare/ImageCompare.js +0 -1
  162. package/dist/cjs/components/image-viewer/ImageThumbnails.js +0 -1
  163. package/dist/cjs/components/image-viewer/ImageViewer.js +0 -1
  164. package/dist/cjs/components/message/Message.js +0 -1
  165. package/dist/cjs/components/pointer/Pointer.js +0 -1
  166. package/dist/cjs/components/scratch-to-reveal/ScratchToReveal.js +0 -1
  167. package/dist/cjs/components/shimmer-button/ShimmerButton.js +0 -1
  168. package/dist/cjs/components/shiny-button/ShinyButton.js +0 -1
  169. package/dist/cjs/components/shiny-text/ShinyText.js +0 -1
  170. package/dist/cjs/components/sparkles-text/SparklesText.js +0 -1
  171. package/dist/cjs/components/split-text/SplitText.js +0 -1
  172. package/dist/cjs/components/subtitle-player/CurrentMode.js +0 -2
  173. package/dist/cjs/components/subtitle-player/LyricsMode.js +0 -2
  174. package/dist/cjs/components/subtitle-player/SubtitlePlayer.js +0 -1
  175. package/dist/cjs/components/text-animate/TextAnimate.js +0 -2
  176. package/dist/cjs/components/text-type/TextType.js +0 -1
  177. package/dist/cjs/components/txt-reader/index.module.css.js +0 -1
  178. package/dist/cjs/components/typing-animation/index.js +0 -1
  179. package/dist/cjs/components/variable-proximity/index.js +0 -1
  180. package/dist/cjs/components/video-dialog/VideoDialog.js +0 -1
  181. package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.js +0 -1
  182. package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/dist/index.min.css +0 -1
  183. package/dist/es/components/button/Button.js +0 -72
  184. package/dist/es/components/comic-text/ComicText.js +0 -52
  185. package/dist/es/components/dock/Duck.js +0 -80
  186. package/dist/es/components/flip-text/FlipText.js +0 -38
  187. package/dist/es/components/gradient-text/index.js +0 -22
  188. package/dist/es/components/image-compare/ImageCompare.js +0 -127
  189. package/dist/es/components/image-viewer/ImageThumbnails.js +0 -73
  190. package/dist/es/components/image-viewer/ImageViewer.js +0 -141
  191. package/dist/es/components/message/Message.js +0 -220
  192. package/dist/es/components/pointer/Pointer.js +0 -75
  193. package/dist/es/components/scratch-to-reveal/ScratchToReveal.js +0 -97
  194. package/dist/es/components/shimmer-button/ShimmerButton.js +0 -42
  195. package/dist/es/components/shiny-button/ShinyButton.js +0 -61
  196. package/dist/es/components/shiny-text/ShinyText.js +0 -76
  197. package/dist/es/components/sparkles-text/SparklesText.js +0 -71
  198. package/dist/es/components/split-text/SplitText.js +0 -116
  199. package/dist/es/components/subtitle-player/CurrentMode.js +0 -78
  200. package/dist/es/components/subtitle-player/LyricsMode.js +0 -152
  201. package/dist/es/components/subtitle-player/SubtitlePlayer.js +0 -234
  202. package/dist/es/components/text-animate/TextAnimate.js +0 -310
  203. package/dist/es/components/text-type/TextType.js +0 -121
  204. package/dist/es/components/txt-reader/index.module.css.js +0 -10
  205. package/dist/es/components/typing-animation/index.js +0 -56
  206. package/dist/es/components/variable-proximity/index.js +0 -211
  207. package/dist/es/components/video-dialog/VideoDialog.js +0 -113
  208. package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.js +0 -74
  209. package/dist/es/node_modules/.pnpm/xgplayer@3.0.23_core-js@3.47.0/node_modules/xgplayer/dist/index.min.css +0 -1
@@ -1,5 +1,5 @@
1
1
  /* components/button/Button.css */
2
- .xiping-button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;outline:none}.xiping-button:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px #3b82f680}.xiping-button--small{padding:6px 12px;font-size:14px}.xiping-button--medium{padding:8px 16px;font-size:16px}.xiping-button--large{padding:12px 24px;font-size:18px}.xiping-button--primary{background-color:#2563eb;color:#fff}.xiping-button--primary:hover:not(:disabled){background-color:#1d4ed8}.xiping-button--primary:focus{box-shadow:0 0 0 3px #2563eb80}.xiping-button--secondary{background-color:#4b5563;color:#fff}.xiping-button--secondary:hover:not(:disabled){background-color:#374151}.xiping-button--secondary:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--outline{background-color:transparent;border:1px solid #d1d5db;color:#374151}.xiping-button--outline:hover:not(:disabled){background-color:#f9fafb}.xiping-button--outline:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--ghost{background-color:transparent;color:#374151}.xiping-button--ghost:hover:not(:disabled){background-color:#f3f4f6}.xiping-button--ghost:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--disabled{opacity:.5;cursor:not-allowed}.xiping-button--loading{cursor:wait}.xiping-button--full-width{width:100%}.xiping-button__icon-left{margin-right:8px}.xiping-button__icon-right{margin-left:8px}.xiping-button__spinner{margin-left:-4px;margin-right:8px;width:16px;height:16px;animation:xiping-spin 1s linear infinite}.xiping-button__spinner-circle{opacity:.25}.xiping-button__spinner-path{opacity:.75}@keyframes xiping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
2
+ .xiping-button{cursor:pointer;border:none;border-radius:6px;outline:none;justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:inline-flex}.xiping-button:focus{outline-offset:2px;outline:2px solid #0000;box-shadow:0 0 0 3px #3b82f680}.xiping-button--small{padding:6px 12px;font-size:14px}.xiping-button--medium{padding:8px 16px;font-size:16px}.xiping-button--large{padding:12px 24px;font-size:18px}.xiping-button--primary{color:#fff;background-color:#2563eb}.xiping-button--primary:hover:not(:disabled){background-color:#1d4ed8}.xiping-button--primary:focus{box-shadow:0 0 0 3px #2563eb80}.xiping-button--secondary{color:#fff;background-color:#4b5563}.xiping-button--secondary:hover:not(:disabled){background-color:#374151}.xiping-button--secondary:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--outline{color:#374151;background-color:#0000;border:1px solid #d1d5db}.xiping-button--outline:hover:not(:disabled){background-color:#f9fafb}.xiping-button--outline:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--ghost{color:#374151;background-color:#0000}.xiping-button--ghost:hover:not(:disabled){background-color:#f3f4f6}.xiping-button--ghost:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--disabled{opacity:.5;cursor:not-allowed}.xiping-button--loading{cursor:wait}.xiping-button--full-width{width:100%}.xiping-button__icon-left{margin-right:8px}.xiping-button__icon-right{margin-left:8px}.xiping-button__spinner{width:16px;height:16px;margin-left:-4px;margin-right:8px;animation:1s linear infinite xiping-spin}.xiping-button__spinner-circle{opacity:.25}.xiping-button__spinner-path{opacity:.75}@keyframes xiping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
3
3
 
4
4
 
5
5
  /* components/comic-text/ComicText.css */
@@ -7,51 +7,51 @@
7
7
 
8
8
 
9
9
  /* components/dock/Duck.css */
10
- .xiping-dock{margin-left:auto;margin-right:auto;margin-top:2rem;display:flex;height:58px;width:max-content;align-items:center;justify-content:center;gap:.5rem;border-radius:1rem;border:1px solid;padding:.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports (backdrop-filter: blur(12px)){.xiping-dock{background-color:#ffffff1a}.dark .xiping-dock{background-color:#0000001a}}.xiping-dock--top{align-items:flex-start}.xiping-dock--middle{align-items:center}.xiping-dock--bottom{align-items:flex-end}.xiping-dock-icon{display:flex;aspect-ratio:1 / 1;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px}
10
+ .xiping-dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid;border-radius:1rem;justify-content:center;align-items:center;gap:.5rem;width:max-content;height:58px;margin-top:2rem;margin-left:auto;margin-right:auto;padding:.5rem;display:flex}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.xiping-dock{background-color:#ffffff1a}.dark .xiping-dock{background-color:#0000001a}}.xiping-dock--top{align-items:flex-start}.xiping-dock--middle{align-items:center}.xiping-dock--bottom{align-items:flex-end}.xiping-dock-icon{aspect-ratio:1;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;display:flex}
11
11
 
12
12
 
13
13
  /* components/flip-text/FlipText.css */
14
- .xiping-flip-container{display:flex;justify-content:center;gap:.5rem}.xiping-flip-char{transform-origin:center;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .05))}
14
+ .xiping-flip-container{justify-content:center;gap:.5rem;display:flex}.xiping-flip-char{transform-origin:50%;filter:drop-shadow(0 1px 1px #0000000d)}
15
15
 
16
16
 
17
17
  /* components/gradient-text/index.css */
18
- .xiping-gradient-text{position:relative;margin:0 auto;display:flex;max-width:fit-content;flex-direction:row;align-items:center;justify-content:center;border-radius:1.25rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .5s ease-out;overflow:hidden;cursor:pointer}.xiping-gradient-text__overlay{position:absolute;inset:0;background-size:300% 100%;animation:xiping-gradient linear infinite;border-radius:inherit;z-index:0;pointer-events:none}.xiping-gradient-text__overlay:before{content:"";position:absolute;border-radius:inherit;width:calc(100% - 2px);height:calc(100% - 2px);left:50%;top:50%;transform:translate(-50%,-50%);background-color:#060010;z-index:-1}@keyframes xiping-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.xiping-gradient-text__content{display:inline-block;position:relative;z-index:2;background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:xiping-gradient linear infinite}
18
+ .xiping-gradient-text{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:1.25rem;flex-direction:row;justify-content:center;align-items:center;max-width:fit-content;margin:0 auto;font-weight:500;transition:box-shadow .5s ease-out;display:flex;position:relative;overflow:hidden}.xiping-gradient-text__overlay{border-radius:inherit;z-index:0;pointer-events:none;background-size:300% 100%;animation:linear infinite xiping-gradient;position:absolute;inset:0}.xiping-gradient-text__overlay:before{content:"";border-radius:inherit;z-index:-1;background-color:#060010;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes xiping-gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.xiping-gradient-text__content{z-index:2;color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:linear infinite xiping-gradient;display:inline-block;position:relative}
19
19
 
20
20
 
21
21
  /* components/hyper-text/HyperText.css */
22
- .xiping-hyper-container{overflow:hidden;padding-top:.5rem;padding-bottom:.5rem;font-size:2.25rem;line-height:2.5rem;font-weight:700}.xiping-hyper-char{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.xiping-hyper-space{width:.75rem}
22
+ .xiping-hyper-container{padding-top:.5rem;padding-bottom:.5rem;font-size:2.25rem;font-weight:700;line-height:2.5rem;overflow:hidden}.xiping-hyper-char{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.xiping-hyper-space{width:.75rem}
23
23
 
24
24
 
25
25
  /* components/image-compare/ImageCompare.css */
26
- .xiping-image-compare-container{position:relative;-webkit-user-select:none;user-select:none;overflow:hidden;width:100%}.xiping-image-compare-label{position:absolute;top:1rem;padding:.25rem .5rem;background-color:#0009;color:#fff;font-size:.75rem;font-weight:500;border-radius:.25rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.xiping-image-compare-label-original{right:1rem}.xiping-image-compare-label-modified{left:1rem}.xiping-image-compare-overlay{position:absolute;inset:0;height:100%;overflow:hidden}.xiping-image-compare-divider{position:absolute;top:0;bottom:0;background-color:#ffffffe6;cursor:ew-resize;box-shadow:0 0 0 1px #0000004d,0 0 0 1px #ffffff80 inset,0 0 8px #0003}.xiping-image-compare-divider-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2rem;height:2rem;border-radius:50%;background-color:#fffffff2;border:2px solid rgba(0,0,0,.2);box-shadow:0 0 0 1px #fffc,0 4px 12px #0000004d,0 2px 4px #0003;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s ease,transform .2s ease}.xiping-image-compare-divider-button:hover{box-shadow:0 0 0 1px #ffffffe6,0 6px 16px #0006,0 3px 6px #0000004d;transform:translate(-50%,-50%) scale(1.05)}.xiping-image-compare-divider-button:active{transform:translate(-50%,-50%) scale(.95)}.xiping-image-compare-divider-icon{width:1.5rem;height:1.5rem;color:#1f2937}.xiping-image-compare-divider-theme-dark{background-color:#000000e6;box-shadow:0 0 0 1px #ffffff4d,0 0 0 1px #00000080 inset,0 0 8px #fff3}.xiping-image-compare-divider-button-theme-dark{background-color:#000000f2;border:2px solid rgba(255,255,255,.2);box-shadow:0 0 0 1px #000c,0 4px 12px #ffffff4d,0 2px 4px #fff3}.xiping-image-compare-divider-button-theme-dark:hover{box-shadow:0 0 0 1px #000000e6,0 6px 16px #fff6,0 3px 6px #ffffff4d}.xiping-image-compare-divider-theme-dark .xiping-image-compare-divider-icon{color:#f3f4f6}
26
+ .xiping-image-compare-container{-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.xiping-image-compare-label{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background-color:#0009;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;position:absolute;top:1rem}.xiping-image-compare-label-original{right:1rem}.xiping-image-compare-label-modified{left:1rem}.xiping-image-compare-overlay{height:100%;position:absolute;inset:0;overflow:hidden}.xiping-image-compare-divider{cursor:ew-resize;background-color:#ffffffe6;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #0000004d,inset 0 0 0 1px #ffffff80,0 0 8px #0003}.xiping-image-compare-divider-button{background-color:#fffffff2;border:2px solid #0003;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;transition:box-shadow .2s,transform .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #fffc,0 4px 12px #0000004d,0 2px 4px #0003}.xiping-image-compare-divider-button:hover{transform:translate(-50%,-50%)scale(1.05);box-shadow:0 0 0 1px #ffffffe6,0 6px 16px #0006,0 3px 6px #0000004d}.xiping-image-compare-divider-button:active{transform:translate(-50%,-50%)scale(.95)}.xiping-image-compare-divider-icon{color:#1f2937;width:1.5rem;height:1.5rem}.xiping-image-compare-divider-theme-dark{background-color:#000000e6;box-shadow:0 0 0 1px #ffffff4d,inset 0 0 0 1px #00000080,0 0 8px #fff3}.xiping-image-compare-divider-button-theme-dark{background-color:#000000f2;border:2px solid #fff3;box-shadow:0 0 0 1px #000c,0 4px 12px #ffffff4d,0 2px 4px #fff3}.xiping-image-compare-divider-button-theme-dark:hover{box-shadow:0 0 0 1px #000000e6,0 6px 16px #fff6,0 3px 6px #ffffff4d}.xiping-image-compare-divider-theme-dark .xiping-image-compare-divider-icon{color:#f3f4f6}
27
27
 
28
28
 
29
29
  /* components/image-viewer/ImageThumbnails.css */
30
- .xiping-thumbnails-wrapper{height:6rem;background-color:#00000080;flex-shrink:0;z-index:10;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.xiping-thumbnails-wrapper--hidden{display:none}.xiping-thumbnails-scroll{height:6rem;width:100vw;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.xiping-thumbnails-scroll::-webkit-scrollbar{display:none}.xiping-thumbnails-container{display:flex;gap:.5rem;padding:.5rem;height:6rem;min-width:max-content}.xiping-thumbnail-item{height:100%;aspect-ratio:1 / 1;flex-shrink:0;cursor:pointer;border:2px solid transparent;transition:all .2s}.xiping-thumbnail-item--active{border-color:#fff}.xiping-thumbnail-image{width:100%;height:100%;object-fit:contain}
30
+ .xiping-thumbnails-wrapper{z-index:10;height:6rem;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background-color:#00000080;flex-shrink:0}.xiping-thumbnails-wrapper--hidden{display:none}.xiping-thumbnails-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100vw;height:6rem;overflow:auto hidden}.xiping-thumbnails-scroll::-webkit-scrollbar{display:none}.xiping-thumbnails-container{gap:.5rem;min-width:max-content;height:6rem;padding:.5rem;display:flex}.xiping-thumbnail-item{aspect-ratio:1;cursor:pointer;border:2px solid #0000;flex-shrink:0;height:100%;transition:all .2s}.xiping-thumbnail-item--active{border-color:#fff}.xiping-thumbnail-image{object-fit:contain;width:100%;height:100%}
31
31
 
32
32
 
33
33
  /* components/image-viewer/ImageViewer.css */
34
- .xiping-wrapper{width:100vw;height:100vh;position:relative;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0)}.xiping-tool-wrapper{position:absolute;top:16px;right:16px;display:flex;gap:16px;z-index:10}.xiping-close-icon,.xiping-download-icon{color:#fff;cursor:pointer}.xiping-main-content{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center}.xiping-pinch-content{width:100%;height:100%}.xiping-image{width:100vw;height:100%;object-fit:contain;pointer-events:none}.xiping-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#00000080}.xiping-modal-content{overflow:hidden}.xiping-modal-overlay{background-color:#000000b3}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
34
+ .xiping-modal-root{z-index:2147483647;position:fixed;inset:0}.xiping-modal-backdrop{z-index:0;position:absolute;inset:0}.xiping-modal-content{z-index:1;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}@keyframes xiping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.xiping-spinner-icon{color:#fff;width:48px;height:48px;animation:1s linear infinite xiping-spin}.xiping-wrapper{width:100vw;height:100vh;padding-top:env(safe-area-inset-top,0);flex-direction:column;display:flex;position:relative}.xiping-tool-wrapper{z-index:10;gap:16px;display:flex;position:absolute;top:16px;right:16px}.xiping-close-icon,.xiping-download-icon{color:#fff;cursor:pointer}.xiping-main-content{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.xiping-pinch-content{width:100%;height:100%}.xiping-image{object-fit:contain;pointer-events:none;width:100vw;height:100%}.xiping-loading{background-color:#00000080;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.xiping-modal-content{overflow:hidden}.xiping-modal-overlay{background-color:#000000b3}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
35
35
 
36
36
 
37
37
  /* components/message/Message.css */
38
- .xiping-message{display:flex;align-items:flex-start;max-width:80%;margin-bottom:16px}.xiping-message.user{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.xiping-message.assistant{align-self:flex-start;margin-right:auto}.xiping-message__avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;margin:0 8px;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.xiping-message__content{background-color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 1px 2px #0000001a;position:relative;max-width:100%}.xiping-message:not(:has(.xiping-message__avatar)) .xiping-message__content{margin:0}.xiping-message.user .xiping-message__content{background-color:#007bff;color:#fff}.xiping-message__text{word-break:break-word;line-height:1.5}.xiping-message__timestamp{font-size:.75rem;color:#888;margin-top:4px;text-align:right}.xiping-message.user .xiping-message__timestamp{color:#fffc}.xiping-message__thinking{display:flex;align-items:center;margin-top:8px}.xiping-message__thinking-dots{display:flex;align-items:center;margin-right:8px}.xiping-message__thinking-dots span{width:8px;height:8px;margin:0 2px;background-color:#888;border-radius:50%;display:inline-block;animation:xiping-thinking 1.4s infinite ease-in-out both}.xiping-message__thinking-dots span:nth-child(1){animation-delay:-.32s}.xiping-message__thinking-dots span:nth-child(2){animation-delay:-.16s}.xiping-message__thinking-text{font-size:.9rem;color:#888}.xiping-message.user .xiping-message__thinking-text{color:#fffc}@keyframes xiping-thinking{0%,80%,to{transform:scale(.6)}40%{transform:scale(1)}}.xiping-message__loading{display:flex;align-items:center;justify-content:center;padding:8px}.xiping-message__loading-spinner{width:24px;height:24px;border:3px solid rgba(0,123,255,.3);border-radius:50%;border-top-color:#007bff;animation:xiping-spin 1s ease-in-out infinite}@keyframes xiping-spin{to{transform:rotate(360deg)}}.xiping-message__think{margin-top:12px;padding:8px 12px;background-color:#0000000d;border-radius:8px;font-size:.9rem}.xiping-message.user .xiping-message__think{background-color:#ffffff1a}.xiping-message__think-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500}.xiping-message__think-toggle{background:none;border:none;padding:4px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.xiping-message__think-toggle:hover{background-color:#0000000d}.xiping-message__think-content{max-height:1000px;opacity:1;overflow:hidden;transition:all .3s ease-in-out}.xiping-message__think-content.hidden{max-height:0;opacity:0;margin:0;padding:0}.xiping-message__knowledge-sources{margin-top:8px;padding:8px;background-color:#00000008;border-radius:4px;font-size:.9em}.xiping-message__knowledge-sources-header{font-weight:500;margin-bottom:4px;color:#666}.xiping-message__knowledge-sources-list{list-style:none;padding:0;margin:0}.xiping-message__knowledge-source-item{margin-bottom:4px}.xiping-message__knowledge-source-item:last-child{margin-bottom:0}.xiping-message__knowledge-source-item a{color:#06c;text-decoration:none}.xiping-message__knowledge-source-item a:hover{text-decoration:underline}.xiping-message__knowledge-source-description{font-size:.9em;color:#666;margin-top:2px;margin-left:8px}.xiping-message__text-container{position:relative;display:flex;flex-direction:column;gap:4px}.xiping-message__copy-button{align-self:flex-end;padding:4px;background:none;border:none;cursor:pointer;color:#666;opacity:0;transition:all .2s ease;border-radius:4px;display:flex;align-items:center;justify-content:center}.xiping-message__text-container:hover .xiping-message__copy-button{opacity:1}.xiping-message__copy-button:hover{color:#333;background-color:#0000000d}.xiping-message__copy-tooltip{position:absolute;top:-24px;right:0;background-color:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;animation:xiping-fadeInOut 2s ease-in-out}@keyframes xiping-fadeInOut{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}
38
+ .xiping-message{align-items:flex-start;max-width:80%;margin-bottom:16px;display:flex}.xiping-message.user{flex-direction:row-reverse;align-self:flex-end;margin-left:auto}.xiping-message.assistant{align-self:flex-start;margin-right:auto}.xiping-message__avatar{background-color:#e0e0e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin:0 8px;display:flex;overflow:hidden}.xiping-message__content{background-color:#fff;border-radius:12px;max-width:100%;padding:12px 16px;position:relative;box-shadow:0 1px 2px #0000001a}.xiping-message:not(:has(.xiping-message__avatar)) .xiping-message__content{margin:0}.xiping-message.user .xiping-message__content{color:#fff;background-color:#007bff}.xiping-message__text{word-break:break-word;line-height:1.5}.xiping-message__timestamp{color:#888;text-align:right;margin-top:4px;font-size:.75rem}.xiping-message.user .xiping-message__timestamp{color:#fffc}.xiping-message__thinking{align-items:center;margin-top:8px;display:flex}.xiping-message__thinking-dots{align-items:center;margin-right:8px;display:flex}.xiping-message__thinking-dots span{background-color:#888;border-radius:50%;width:8px;height:8px;margin:0 2px;animation:1.4s ease-in-out infinite both xiping-thinking;display:inline-block}.xiping-message__thinking-dots span:first-child{animation-delay:-.32s}.xiping-message__thinking-dots span:nth-child(2){animation-delay:-.16s}.xiping-message__thinking-text{color:#888;font-size:.9rem}.xiping-message.user .xiping-message__thinking-text{color:#fffc}@keyframes xiping-thinking{0%,80%,to{transform:scale(.6)}40%{transform:scale(1)}}.xiping-message__loading{justify-content:center;align-items:center;padding:8px;display:flex}.xiping-message__loading-spinner{border:3px solid #007bff4d;border-top-color:#007bff;border-radius:50%;width:24px;height:24px;animation:1s ease-in-out infinite xiping-spin}@keyframes xiping-spin{to{transform:rotate(360deg)}}.xiping-message__think{background-color:#0000000d;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:.9rem}.xiping-message.user .xiping-message__think{background-color:#ffffff1a}.xiping-message__think-header{align-items:center;gap:8px;margin-bottom:8px;font-weight:500;display:flex}.xiping-message__think-toggle{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.xiping-message__think-toggle:hover{background-color:#0000000d}.xiping-message__think-content{opacity:1;max-height:1000px;transition:all .3s ease-in-out;overflow:hidden}.xiping-message__think-content.hidden{opacity:0;max-height:0;margin:0;padding:0}.xiping-message__knowledge-sources{background-color:#00000008;border-radius:4px;margin-top:8px;padding:8px;font-size:.9em}.xiping-message__knowledge-sources-header{color:#666;margin-bottom:4px;font-weight:500}.xiping-message__knowledge-sources-list{margin:0;padding:0;list-style:none}.xiping-message__knowledge-source-item{margin-bottom:4px}.xiping-message__knowledge-source-item:last-child{margin-bottom:0}.xiping-message__knowledge-source-item a{color:#06c;text-decoration:none}.xiping-message__knowledge-source-item a:hover{text-decoration:underline}.xiping-message__knowledge-source-description{color:#666;margin-top:2px;margin-left:8px;font-size:.9em}.xiping-message__text-container{flex-direction:column;gap:4px;display:flex;position:relative}.xiping-message__copy-button{cursor:pointer;color:#666;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-self:flex-end;align-items:center;padding:4px;transition:all .2s;display:flex}.xiping-message__text-container:hover .xiping-message__copy-button{opacity:1}.xiping-message__copy-button:hover{color:#333;background-color:#0000000d}.xiping-message__copy-tooltip{color:#fff;white-space:nowrap;background-color:#333;border-radius:4px;padding:4px 8px;font-size:12px;animation:2s ease-in-out xiping-fadeInOut;position:absolute;top:-24px;right:0}@keyframes xiping-fadeInOut{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}
39
39
 
40
40
 
41
41
  /* components/pointer/Pointer.css */
42
- .xiping-pointer{position:fixed;z-index:50;pointer-events:none;transform:translate(-50%,-50%)}.xiping-pointer-icon{transform:rotate(-70deg);stroke:#fff;color:#000}
42
+ .xiping-pointer{z-index:50;pointer-events:none;position:fixed;transform:translate(-50%,-50%)}.xiping-pointer-icon{stroke:#fff;color:#000;transform:rotate(-70deg)}
43
43
 
44
44
 
45
45
  /* components/scratch-to-reveal/ScratchToReveal.css */
46
- .xiping-scratch-to-reveal{position:relative;-webkit-user-select:none;user-select:none}.xiping-scratch-canvas{position:absolute;left:0;top:0}
46
+ .xiping-scratch-to-reveal{-webkit-user-select:none;user-select:none;position:relative}.xiping-scratch-canvas{position:absolute;top:0;left:0}
47
47
 
48
48
 
49
49
  /* components/shimmer-button/ShimmerButton.css */
50
- .xiping-shimmer-button{position:relative;z-index:0;display:flex;cursor:pointer;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border:1px solid rgba(255,255,255,.1);padding:.75rem 1.5rem;color:#fff;background:var(--bg);border-radius:var(--radius);transform:translateZ(0);transition:transform .3s ease-in-out}.xiping-shimmer-button:active{transform:translateY(1px) translateZ(0)}@media(prefers-color-scheme:dark){.xiping-shimmer-button{color:#000}}.xiping-shimmer-button-spark-container{position:absolute;z-index:-30;inset:0;overflow:visible;filter:blur(2px);container-type:size}.xiping-shimmer-button-spark{position:absolute;inset:0;height:100cqh;aspect-ratio:1;border-radius:0;-webkit-mask:none;mask:none;animation:xiping-shimmer-slide var(--speed) ease-in-out infinite alternate}.xiping-shimmer-button-spark-before{position:absolute;inset:-100%;width:auto;transform:rotate(0);background:conic-gradient(from calc(270deg - (var(--spread) * .5)),transparent 0,var(--shimmer-color) var(--spread),transparent var(--spread));animation:xiping-spin-around calc(var(--speed) * 2) infinite linear}.xiping-shimmer-button-highlight{position:absolute;inset:0;width:100%;height:100%;border-radius:1rem;box-shadow:inset 0 -8px 10px #ffffff1f;transform:translateZ(0);transition:all .3s ease-in-out}.xiping-shimmer-button:hover .xiping-shimmer-button-highlight{box-shadow:inset 0 -6px 10px #ffffff40}.xiping-shimmer-button:active .xiping-shimmer-button-highlight{box-shadow:inset 0 -10px 10px #ffffff40}.xiping-shimmer-button-backdrop{position:absolute;z-index:-20;background:var(--bg);border-radius:var(--radius);inset:var(--cut)}@keyframes xiping-shimmer-slide{to{transform:translate(calc(100cqw - 100%))}}@keyframes xiping-spin-around{0%{transform:translateZ(0) rotate(0)}15%,35%{transform:translateZ(0) rotate(90deg)}65%,85%{transform:translateZ(0) rotate(270deg)}to{transform:translateZ(0) rotate(360deg)}}
50
+ .xiping-shimmer-button{z-index:0;cursor:pointer;white-space:nowrap;color:#fff;background:var(--bg);border-radius:var(--radius);border:1px solid #ffffff1a;justify-content:center;align-items:center;padding:.75rem 1.5rem;transition:transform .3s ease-in-out;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.xiping-shimmer-button:active{transform:translateY(1px)translateZ(0)}@media (prefers-color-scheme:dark){.xiping-shimmer-button{color:#000}}.xiping-shimmer-button-spark-container{z-index:-30;filter:blur(2px);position:absolute;inset:0;overflow:visible;container-type:size}.xiping-shimmer-button-spark{aspect-ratio:1;height:100cqh;animation:xiping-shimmer-slide var(--speed) ease-in-out infinite alternate;border-radius:0;position:absolute;inset:0;-webkit-mask:none;mask:none}.xiping-shimmer-button-spark-before{background:conic-gradient(from calc(270deg - (var(--spread) * .5)), transparent 0, var(--shimmer-color) var(--spread), transparent var(--spread));width:auto;animation:xiping-spin-around calc(var(--speed) * 2) infinite linear;position:absolute;inset:-100%;transform:rotate(0)}.xiping-shimmer-button-highlight{border-radius:1rem;width:100%;height:100%;transition:all .3s ease-in-out;position:absolute;inset:0;transform:translateZ(0);box-shadow:inset 0 -8px 10px #ffffff1f}.xiping-shimmer-button:hover .xiping-shimmer-button-highlight{box-shadow:inset 0 -6px 10px #ffffff40}.xiping-shimmer-button:active .xiping-shimmer-button-highlight{box-shadow:inset 0 -10px 10px #ffffff40}.xiping-shimmer-button-backdrop{z-index:-20;background:var(--bg);border-radius:var(--radius);inset:var(--cut);position:absolute}@keyframes xiping-shimmer-slide{to{transform:translate(calc(100cqw - 100%))}}@keyframes xiping-spin-around{0%{transform:translateZ(0)rotate(0)}15%,35%{transform:translateZ(0)rotate(90deg)}65%,85%{transform:translateZ(0)rotate(270deg)}to{transform:translateZ(0)rotate(360deg)}}
51
51
 
52
52
 
53
53
  /* components/shiny-button/ShinyButton.css */
54
- .xiping-shiny-button{position:relative;cursor:pointer;border-radius:.5rem;padding:.5rem 1.5rem;font-weight:500;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid;transition:box-shadow .3s ease-in-out}.xiping-shiny-button:hover{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}@media(prefers-color-scheme:dark){.xiping-shiny-button{background:radial-gradient(circle at 50% 0%,var(--primary) 10%,transparent 60%)}.xiping-shiny-button:hover{box-shadow:0 0 20px var(--primary) / 10%}}.xiping-shiny-button-text{position:relative;display:block;width:100%;height:100%;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:#000000a6}@media(prefers-color-scheme:dark){.xiping-shiny-button-text{font-weight:300;color:#ffffffe5}}.xiping-shiny-button-border{position:absolute;inset:0;z-index:10;display:block;border-radius:inherit;padding:1px}
54
+ .xiping-shiny-button{cursor:pointer;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid;border-radius:.5rem;padding:.5rem 1.5rem;font-weight:500;transition:box-shadow .3s ease-in-out;position:relative}.xiping-shiny-button:hover{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}@media (prefers-color-scheme:dark){.xiping-shiny-button{background:radial-gradient(circle at 50% 0%, var(--primary) 10%, transparent 60%)}.xiping-shiny-button:hover{box-shadow:0 0 20px var(--primary) / 10%}}.xiping-shiny-button-text{text-transform:uppercase;letter-spacing:.05em;color:#000000a6;width:100%;height:100%;font-size:.875rem;display:block;position:relative}@media (prefers-color-scheme:dark){.xiping-shiny-button-text{color:#ffffffe6;font-weight:300}}.xiping-shiny-button-border{z-index:10;border-radius:inherit;padding:1px;display:block;position:absolute;inset:0}
55
55
 
56
56
 
57
57
  /* components/shiny-text/ShinyText.css */
@@ -59,56 +59,56 @@
59
59
 
60
60
 
61
61
  /* components/sparkles-text/SparklesText.css */
62
- .xiping-sparkle{pointer-events:none;position:absolute;z-index:20}.xiping-sparkles-text{font-size:3.75rem;font-weight:700}.xiping-sparkles-text-wrapper{position:relative;display:inline-block}
62
+ .xiping-sparkle{pointer-events:none;z-index:20;position:absolute}.xiping-sparkles-text{font-size:3.75rem;font-weight:700}.xiping-sparkles-text-wrapper{display:inline-block;position:relative}
63
63
 
64
64
 
65
65
  /* components/split-text/SplitText.css */
66
- .xiping-split-parent{overflow:hidden;display:inline-block;white-space:normal}
66
+ .xiping-split-parent{white-space:normal;display:inline-block;overflow:hidden}
67
67
 
68
68
 
69
69
  /* components/subtitle-player/CurrentMode.css */
70
- .xiping-subtitle-player__current-item{display:flex;flex-direction:column;gap:.25rem;transition:all .2s ease}.xiping-subtitle-player__current-label{font-size:.75rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.xiping-subtitle-player__current-text{font-size:1rem;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5)}.xiping-subtitle-player__current-line{margin:.25rem 0}.xiping-subtitle-player__current-line:first-child{margin-top:0}.xiping-subtitle-player__current-line:last-child{margin-bottom:0}.xiping-subtitle-player__current-hover-layer{position:absolute;inset:0;pointer-events:none}@media(max-width:768px){.xiping-subtitle-player__current-text{font-size:.9rem}}
70
+ .xiping-subtitle-player__current-item{flex-direction:column;gap:.25rem;transition:all .2s;display:flex}.xiping-subtitle-player__current-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.xiping-subtitle-player__current-text{text-shadow:0 2px 4px #00000080;font-size:1rem;font-weight:500}.xiping-subtitle-player__current-line{margin:.25rem 0}.xiping-subtitle-player__current-line:first-child{margin-top:0}.xiping-subtitle-player__current-line:last-child{margin-bottom:0}.xiping-subtitle-player__current-hover-layer{pointer-events:none;position:absolute;inset:0}@media (width<=768px){.xiping-subtitle-player__current-text{font-size:.9rem}}
71
71
 
72
72
 
73
73
  /* components/subtitle-player/LyricsMode.css */
74
- .xiping-subtitle-player__lyrics-time{font-size:.7rem;font-weight:500;color:#ffffff80;font-family:Monaco,Menlo,Ubuntu Mono,monospace;margin-bottom:.25rem;-webkit-user-select:none;user-select:none}.xiping-subtitle-player__lyrics-item{display:flex;flex-direction:column;gap:.25rem;transition:all .2s ease}.xiping-subtitle-player__lyrics-item--active{color:#fbbf24;font-weight:600;transition:all .3s ease;position:relative}.xiping-subtitle-player__lyrics-item--active:before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:4px;height:92%;background:#fbbf24;border-radius:2px}.xiping-subtitle-player__lyrics-item--past{opacity:.5;color:#fff9}.xiping-subtitle-player__lyrics-label{font-size:.75rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.xiping-subtitle-player__lyrics-text{font-size:1rem;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5)}.xiping-subtitle-player__lyrics-line{margin:.25rem 0}.xiping-subtitle-player__lyrics-line:first-child{margin-top:0}.xiping-subtitle-player__lyrics-line:last-child{margin-bottom:0}.xiping-subtitle-player__lyrics-hover-layer{position:absolute;inset:0;pointer-events:none}.xiping-subtitle-player--lyrics{max-height:600px;overflow-y:auto;gap:.5rem;scroll-behavior:smooth}.xiping-subtitle-player--lyrics::-webkit-scrollbar{width:8px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-thumb:hover{background:#ffffff80}.xiping-subtitle-player__group{display:flex;flex-direction:column;gap:.5rem;width:100%;border-radius:.5rem;padding:.5rem;margin:-.5rem;transition:all .2s ease}.xiping-subtitle-player__group:hover{background-color:#ffffff1a}.xiping-subtitle-player__group:hover .xiping-subtitle-player__lyrics-item{transform:translate(4px)}.xiping-subtitle-player__group:hover .xiping-subtitle-player__lyrics-item--active{background-color:#fbbf2426}.xiping-subtitle-player__lyrics-item--active .xiping-subtitle-word{color:#fbbf24;font-weight:600}@media(max-width:768px){.xiping-subtitle-player__lyrics-text{font-size:.9rem}}
74
+ .xiping-subtitle-player__lyrics-time{color:#ffffff80;-webkit-user-select:none;user-select:none;margin-bottom:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.7rem;font-weight:500}.xiping-subtitle-player__lyrics-item{flex-direction:column;gap:.25rem;transition:all .2s;display:flex}.xiping-subtitle-player__lyrics-item--active{color:#fbbf24;font-weight:600;transition:all .3s;position:relative}.xiping-subtitle-player__lyrics-item--active:before{content:"";background:#fbbf24;border-radius:2px;width:4px;height:92%;position:absolute;top:50%;left:-1rem;transform:translateY(-50%)}.xiping-subtitle-player__lyrics-item--past{opacity:.5;color:#fff9}.xiping-subtitle-player__lyrics-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.xiping-subtitle-player__lyrics-text{text-shadow:0 2px 4px #00000080;font-size:1rem;font-weight:500}.xiping-subtitle-player__lyrics-line{margin:.25rem 0}.xiping-subtitle-player__lyrics-line:first-child{margin-top:0}.xiping-subtitle-player__lyrics-line:last-child{margin-bottom:0}.xiping-subtitle-player__lyrics-hover-layer{pointer-events:none;position:absolute;inset:0}.xiping-subtitle-player--lyrics{scroll-behavior:smooth;gap:.5rem;max-height:600px;overflow-y:auto}.xiping-subtitle-player--lyrics::-webkit-scrollbar{width:8px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-thumb:hover{background:#ffffff80}.xiping-subtitle-player__group{border-radius:.5rem;flex-direction:column;gap:.5rem;width:100%;margin:-.5rem;padding:.5rem;transition:all .2s;display:flex}.xiping-subtitle-player__group:hover{background-color:#ffffff1a}.xiping-subtitle-player__group:hover .xiping-subtitle-player__lyrics-item{transform:translate(4px)}.xiping-subtitle-player__group:hover .xiping-subtitle-player__lyrics-item--active{background-color:#fbbf2426}.xiping-subtitle-player__lyrics-item--active .xiping-subtitle-word{color:#fbbf24;font-weight:600}@media (width<=768px){.xiping-subtitle-player__lyrics-text{font-size:.9rem}}
75
75
 
76
76
 
77
77
  /* components/subtitle-player/SubtitlePlayer.css */
78
- .xiping-subtitle-player{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#000000bf;border-radius:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;max-width:100%;box-sizing:border-box;position:relative}.xiping-subtitle-player__hover-overlay{position:absolute;transform:translate(-50%,.5rem);z-index:10;pointer-events:auto}.xiping-subtitle-player:has(.xiping-subtitle-player__current-item:only-child){align-items:center}.xiping-subtitle-player:has(.xiping-subtitle-player__current-item:not(:only-child)){align-items:flex-start}.xiping-subtitle-word{display:inline-block;position:relative;transition:all .2s ease;padding:0 .05em;margin:0 .05em;border-radius:2px}.xiping-subtitle-word:hover{background-color:#ffffff1a;transform:translateY(-1px)}.xiping-subtitle-word-before,.xiping-subtitle-word-after{display:inline}@media(max-width:768px){.xiping-subtitle-player{padding:.75rem;font-size:.9rem}}
78
+ .xiping-subtitle-player{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-sizing:border-box;background:#000000bf;border-radius:.5rem;flex-direction:column;gap:.75rem;max-width:100%;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;display:flex;position:relative}.xiping-subtitle-player__hover-overlay{z-index:10;pointer-events:auto;position:absolute;transform:translate(-50%,.5rem)}.xiping-subtitle-player:has(.xiping-subtitle-player__current-item:only-child){align-items:center}.xiping-subtitle-player:has(.xiping-subtitle-player__current-item:not(:only-child)){align-items:flex-start}.xiping-subtitle-word{border-radius:2px;margin:0 .05em;padding:0 .05em;transition:all .2s;display:inline-block;position:relative}.xiping-subtitle-word:hover{background-color:#ffffff1a;transform:translateY(-1px)}.xiping-subtitle-word-before,.xiping-subtitle-word-after{display:inline}@media (width<=768px){.xiping-subtitle-player{padding:.75rem;font-size:.9rem}}
79
79
 
80
80
 
81
81
  /* components/text-animate/TextAnimate.css */
82
- .xiping-text-animate{white-space:pre-wrap}.xiping-text-animate-segment{display:inline-block;white-space:pre}.xiping-text-animate-segment--line{display:block}
82
+ .xiping-text-animate{white-space:pre-wrap}.xiping-text-animate-segment{white-space:pre;display:inline-block}.xiping-text-animate-segment--line{display:block}
83
83
 
84
84
 
85
85
  /* components/text-type/TextType.css */
86
- .xiping-text-type{display:inline-block;white-space:pre-wrap}.xiping-text-type__content{display:inline-block}.xiping-text-type__cursor{margin-left:.25rem;display:inline-block;opacity:1}.xiping-text-type__cursor--hidden{display:none}
86
+ .xiping-text-type{white-space:pre-wrap;display:inline-block}.xiping-text-type__content{display:inline-block}.xiping-text-type__cursor{opacity:1;margin-left:.25rem;display:inline-block}.xiping-text-type__cursor--hidden{display:none}
87
87
 
88
88
 
89
89
  /* components/txt-reader/index.module.css */
90
- ._xiping-top-progress_rkm9f_23{position:fixed;left:0;top:0;right:0;background-color:#f08;height:10px}._xiping-container_rkm9f_33{position:relative;width:100%;height:100%;overflow-y:auto}._xiping-content_rkm9f_41{width:100%;white-space:pre-wrap;word-break:break-word}._xiping-bottom-progress_rkm9f_48{position:fixed;color:#fff;border-radius:4px;font-size:.875rem;background-color:#000000b3;padding:.25rem .5rem;right:1.25rem;bottom:1.25rem}._xiping-text-content_rkm9f_63::-webkit-scrollbar{width:8px}._xiping-text-content_rkm9f_63::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0003;background:#0003}._xiping-text-content_rkm9f_63::-webkit-scrollbar-track{box-shadow:inset 0 0 5px #0003;border-radius:0;background:#00000014}
90
+ ._xiping-top-progress_rkm9f_23{background-color:#f08;height:10px;position:fixed;top:0;left:0;right:0}._xiping-container_rkm9f_33{width:100%;height:100%;position:relative;overflow-y:auto}._xiping-content_rkm9f_41{white-space:pre-wrap;word-break:break-word;width:100%}._xiping-bottom-progress_rkm9f_48{color:#fff;background-color:#000000b3;border-radius:4px;padding:.25rem .5rem;font-size:.875rem;position:fixed;bottom:1.25rem;right:1.25rem}._xiping-text-content_rkm9f_63::-webkit-scrollbar{width:8px}._xiping-text-content_rkm9f_63::-webkit-scrollbar-thumb{background:#0003;box-shadow:inset 0 0 5px #0003}._xiping-text-content_rkm9f_63::-webkit-scrollbar-track{background:#00000014;border-radius:0;box-shadow:inset 0 0 5px #0003}
91
91
 
92
92
 
93
93
  /* components/typing-animation/index.css */
94
- .xiping-typing-animation{font-size:2.25rem;font-weight:700;line-height:5rem;letter-spacing:-.02em}
94
+ .xiping-typing-animation{letter-spacing:-.02em;font-size:2.25rem;font-weight:700;line-height:5rem}
95
95
 
96
96
 
97
97
  /* components/variable-proximity/index.css */
98
- .xiping-variable-proximity{font-family:Roboto Flex,Noto Sans SC,PingFang SC,Microsoft YaHei,SimHei,sans-serif}.xiping-variable-proximity__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
98
+ .xiping-variable-proximity{font-family:Roboto Flex,Noto Sans SC,PingFang SC,Microsoft YaHei,SimHei,sans-serif}.xiping-variable-proximity__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
99
99
 
100
100
 
101
101
  /* components/video-dialog/VideoDialog.css */
102
- .xiping-video-dialog{position:relative}.xiping-video-dialog-container{position:relative;cursor:pointer}.xiping-video-dialog-thumbnail{width:100%;border-radius:.375rem;border:1px solid;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-thumbnail{filter:brightness(.8)}.xiping-video-dialog-overlay{position:absolute;inset:0;display:flex;transform:scale(.9);align-items:center;justify-content:center;border-radius:1rem;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-overlay{transform:scale(1)}.xiping-video-dialog-play-outer{display:flex;width:7rem;height:7rem;align-items:center;justify-content:center;border-radius:9999px;background-color:hsla(var(--primary-h),var(--primary-s),var(--primary-l),.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xiping-video-dialog-play-inner{position:relative;display:flex;width:5rem;height:5rem;transform:scale(1);align-items:center;justify-content:center;border-radius:9999px;background:linear-gradient(to bottom,hsla(var(--primary-h),var(--primary-s),var(--primary-l),.3),hsl(var(--primary-h),var(--primary-s),var(--primary-l)));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-play-inner{transform:scale(1.2)}.xiping-video-dialog-play-icon{width:2rem;height:2rem;transform:scale(1);fill:#fff;color:#fff;transition:transform .2s ease-out;filter:drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06))}.xiping-video-dialog-container:hover .xiping-video-dialog-play-icon{transform:scale(1.05)}.xiping-video-dialog-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xiping-video-dialog-modal-content{position:relative;margin:0 1rem;aspect-ratio:16 / 9;width:100%;max-width:56rem}@media(min-width:768px){.xiping-video-dialog-modal-content{margin:0}}.xiping-video-dialog-close-button{position:absolute;top:-4rem;right:0;border-radius:9999px;background-color:#17171780;padding:.5rem;font-size:1.25rem;color:#fff;box-shadow:0 0 0 1px #0000001a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(prefers-color-scheme:dark){.xiping-video-dialog-close-button{background-color:#f5f5f580;color:#000}}.xiping-video-dialog-close-icon{width:1.25rem;height:1.25rem}.xiping-video-dialog-video-wrapper{position:relative;isolation:isolate;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:1rem;border:2px solid white}.xiping-video-dialog-iframe{width:100%;height:100%;border-radius:1rem}:root{--primary-h: 221.2;--primary-s: 83.2%;--primary-l: 53.3%}
102
+ .xiping-video-dialog{position:relative}.xiping-video-dialog-container{cursor:pointer;position:relative}.xiping-video-dialog-thumbnail{border:1px solid;border-radius:.375rem;width:100%;transition:all .2s ease-out;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.xiping-video-dialog-container:hover .xiping-video-dialog-thumbnail{filter:brightness(.8)}.xiping-video-dialog-overlay{border-radius:1rem;justify-content:center;align-items:center;transition:all .2s ease-out;display:flex;position:absolute;inset:0;transform:scale(.9)}.xiping-video-dialog-container:hover .xiping-video-dialog-overlay{transform:scale(1)}.xiping-video-dialog-play-outer{background-color:hsla(var(--primary-h), var(--primary-s), var(--primary-l), .1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:9999px;justify-content:center;align-items:center;width:7rem;height:7rem;display:flex}.xiping-video-dialog-play-inner{background:linear-gradient(to bottom, hsla(var(--primary-h), var(--primary-s), var(--primary-l), .3), hsl(var(--primary-h), var(--primary-s), var(--primary-l)));border-radius:9999px;justify-content:center;align-items:center;width:5rem;height:5rem;transition:all .2s ease-out;display:flex;position:relative;transform:scale(1);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.xiping-video-dialog-container:hover .xiping-video-dialog-play-inner{transform:scale(1.2)}.xiping-video-dialog-play-icon{fill:#fff;color:#fff;filter:drop-shadow(0 4px 3px #00000012)drop-shadow(0 2px 2px #0000000f);width:2rem;height:2rem;transition:transform .2s ease-out;transform:scale(1)}.xiping-video-dialog-container:hover .xiping-video-dialog-play-icon{transform:scale(1.05)}.xiping-video-dialog-modal{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.xiping-video-dialog-modal-content{aspect-ratio:16/9;width:100%;max-width:56rem;margin:0 1rem;position:relative}@media (width>=768px){.xiping-video-dialog-modal-content{margin:0}}.xiping-video-dialog-close-button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#17171780;border-radius:9999px;padding:.5rem;font-size:1.25rem;position:absolute;top:-4rem;right:0;box-shadow:0 0 0 1px #0000001a}@media (prefers-color-scheme:dark){.xiping-video-dialog-close-button{color:#000;background-color:#f5f5f580}}.xiping-video-dialog-close-icon{width:1.25rem;height:1.25rem}.xiping-video-dialog-video-wrapper{isolation:isolate;z-index:1;border:2px solid #fff;border-radius:1rem;width:100%;height:100%;position:relative;overflow:hidden}.xiping-video-dialog-iframe{border-radius:1rem;width:100%;height:100%}:root{--primary-h:221.2;--primary-s:83.2%;--primary-l:53.3%}
103
103
 
104
104
 
105
105
  /* components/video-subtitle-player/VideoSubtitlePlayer.css */
106
- .xiping-video-subtitle-player{width:100%;height:100%;background:#1a1a1a;border-radius:8px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.xiping-video-subtitle-player__video-wrapper{width:100%;height:100%;background:#000;overflow:hidden}.xiping-video-subtitle-player__video-container{position:relative;width:100%;height:100%;background:#000;overflow:hidden}.xiping-video-subtitle-player__video{position:absolute;top:0;left:0;width:100%;height:100%;padding:0}.xiping-video-subtitle-player__video-container .xgplayer{width:100%!important;height:100%!important}.xiping-video-subtitle-player__video-container .xgplayer video{object-fit:fill!important}.xiping-video-subtitle-player__subtitle-container{width:100%;height:100%;padding:20px;overflow-y:auto;background:#0000004d}.xiping-video-subtitle-player__right{width:100%;height:100%;background:#00000080;display:flex;flex-direction:column}.xiping-video-subtitle-player__detail{flex:1;padding:24px;overflow-y:auto;color:#fff}.xiping-video-subtitle-player__detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#ffffffb3}.xiping-video-subtitle-player__detail-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#fbbf24;border-radius:50%;animation:xiping-vsp-spin 1s linear infinite}@keyframes xiping-vsp-spin{to{transform:rotate(360deg)}}.xiping-video-subtitle-player__detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#ffffff80;text-align:center}.xiping-video-subtitle-player__detail-empty-icon{font-size:48px;opacity:.5}.xiping-video-subtitle-player__detail-empty-text{font-size:14px;line-height:1.6}.xiping-video-subtitle-player__detail-content{display:flex;flex-direction:column;gap:20px}.xiping-video-subtitle-player__detail-word{font-size:32px;font-weight:700;color:#fbbf24;line-height:1.2;margin-bottom:8px}.xiping-video-subtitle-player__detail-pronunciation{font-size:18px;color:#ffffffb3;font-style:italic;margin-bottom:4px}.xiping-video-subtitle-player__detail-pos{display:inline-block;padding:4px 12px;background:#fbbf2433;color:#fbbf24;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;width:fit-content;margin-bottom:8px}.xiping-video-subtitle-player__detail-label{font-size:12px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.xiping-video-subtitle-player__detail-text{font-size:16px;line-height:1.6;color:#ffffffe6}.xiping-video-subtitle-player__detail-translation,.xiping-video-subtitle-player__detail-definition{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.xiping-video-subtitle-player__detail-definition{border-bottom:none}.xiping-video-subtitle-player__detail-examples{display:flex;flex-direction:column;gap:16px}.xiping-video-subtitle-player__detail-example{padding:16px;background:#ffffff0d;border-radius:8px;border-left:3px solid #fbbf24}.xiping-video-subtitle-player__detail-example-en{font-size:15px;line-height:1.6;color:#fffffff2;margin-bottom:8px}.xiping-video-subtitle-player__detail-example-zh{font-size:14px;line-height:1.6;color:#ffffffb3;padding-left:12px;border-left:2px solid rgba(255,255,255,.2)}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar,.xiping-video-subtitle-player__detail::-webkit-scrollbar{width:8px}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar-track,.xiping-video-subtitle-player__detail::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar-thumb,.xiping-video-subtitle-player__detail::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar-thumb:hover,.xiping-video-subtitle-player__detail::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
106
+ .xiping-video-subtitle-player{background:#1a1a1a;border-radius:8px;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden}.xiping-video-subtitle-player__video-wrapper{background:#000;width:100%;height:100%;overflow:hidden}.xiping-video-subtitle-player__video-container{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.xiping-video-subtitle-player__video{width:100%;height:100%;padding:0;position:absolute;top:0;left:0}.xiping-video-subtitle-player__video-container .xgplayer{width:100%!important;height:100%!important}.xiping-video-subtitle-player__video-container .xgplayer video{object-fit:fill!important}.xiping-video-subtitle-player__subtitle-container{background:#0000004d;width:100%;height:100%;padding:20px;overflow-y:auto}.xiping-video-subtitle-player__right{background:#00000080;flex-direction:column;width:100%;height:100%;display:flex}.xiping-video-subtitle-player__detail{color:#fff;flex:1;padding:24px;overflow-y:auto}.xiping-video-subtitle-player__detail-loading{color:#ffffffb3;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}.xiping-video-subtitle-player__detail-loading-spinner{border:3px solid #ffffff1a;border-top-color:#fbbf24;border-radius:50%;width:40px;height:40px;animation:1s linear infinite xiping-vsp-spin}@keyframes xiping-vsp-spin{to{transform:rotate(360deg)}}.xiping-video-subtitle-player__detail-empty{color:#ffffff80;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}.xiping-video-subtitle-player__detail-empty-icon{opacity:.5;font-size:48px}.xiping-video-subtitle-player__detail-empty-text{font-size:14px;line-height:1.6}.xiping-video-subtitle-player__detail-content{flex-direction:column;gap:20px;display:flex}.xiping-video-subtitle-player__detail-word{color:#fbbf24;margin-bottom:8px;font-size:32px;font-weight:700;line-height:1.2}.xiping-video-subtitle-player__detail-pronunciation{color:#ffffffb3;margin-bottom:4px;font-size:18px;font-style:italic}.xiping-video-subtitle-player__detail-pos{color:#fbbf24;text-transform:uppercase;background:#fbbf2433;border-radius:4px;width:fit-content;margin-bottom:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.xiping-video-subtitle-player__detail-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:600}.xiping-video-subtitle-player__detail-text{color:#ffffffe6;font-size:16px;line-height:1.6}.xiping-video-subtitle-player__detail-translation,.xiping-video-subtitle-player__detail-definition{border-bottom:1px solid #ffffff1a;padding-bottom:16px}.xiping-video-subtitle-player__detail-definition{border-bottom:none}.xiping-video-subtitle-player__detail-examples{flex-direction:column;gap:16px;display:flex}.xiping-video-subtitle-player__detail-example{background:#ffffff0d;border-left:3px solid #fbbf24;border-radius:8px;padding:16px}.xiping-video-subtitle-player__detail-example-en{color:#fffffff2;margin-bottom:8px;font-size:15px;line-height:1.6}.xiping-video-subtitle-player__detail-example-zh{color:#ffffffb3;border-left:2px solid #fff3;padding-left:12px;font-size:14px;line-height:1.6}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar{width:8px}.xiping-video-subtitle-player__detail::-webkit-scrollbar{width:8px}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.xiping-video-subtitle-player__detail::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.xiping-video-subtitle-player__detail::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.xiping-video-subtitle-player__subtitle-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.xiping-video-subtitle-player__detail::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
107
107
 
108
108
 
109
109
  /* components/video-subtitle-player/VideoSubtitlePlayer.mobile.css */
110
- .xiping-video-subtitle-player--mobile{display:flex;flex-direction:column;min-height:0;height:100%}.xiping-video-subtitle-player__mobile-video{flex:0 0 auto;width:100%;aspect-ratio:16 / 9;background:#000}.xiping-video-subtitle-player__mobile-video-wrapper{width:100%;height:100%;background:#000;overflow:hidden}.xiping-video-subtitle-player__mobile-video-container{position:relative;width:100%;height:100%;background-color:#a62c2c;overflow:hidden}.xiping-video-subtitle-player__mobile-video-container .xgplayer{width:100%!important;height:100%!important}.xiping-video-subtitle-player__mobile-video-container .xgplayer video{object-fit:fill!important}.xiping-video-subtitle-player__mobile-subtitle{flex:1;min-height:0;padding:12px 16px;overflow-y:auto;background:#0000004d;-webkit-overflow-scrolling:touch}
110
+ .xiping-video-subtitle-player--mobile{flex-direction:column;height:100%;min-height:0;display:flex}.xiping-video-subtitle-player__mobile-video{aspect-ratio:16/9;background:#000;flex:none;width:100%}.xiping-video-subtitle-player__mobile-video-wrapper{background:#000;width:100%;height:100%;overflow:hidden}.xiping-video-subtitle-player__mobile-video-container{background-color:#a62c2c;width:100%;height:100%;position:relative;overflow:hidden}.xiping-video-subtitle-player__mobile-video-container .xgplayer{width:100%!important;height:100%!important}.xiping-video-subtitle-player__mobile-video-container .xgplayer video{object-fit:fill!important}.xiping-video-subtitle-player__mobile-subtitle{-webkit-overflow-scrolling:touch;background:#0000004d;flex:1;min-height:0;padding:12px 16px;overflow-y:auto}
111
111
 
112
112
 
113
113
  /* components/video-subtitle-player/VideoSubtitlePlayer.pc.css */
114
- .xiping-video-subtitle-player--pc .xiping-video-subtitle-player__panel-group,.xiping-video-subtitle-player--pc .xiping-video-subtitle-player__panel-group-inner{width:100%;height:100%}.xiping-video-subtitle-player--pc .xiping-video-subtitle-player__right{border-left:1px solid rgba(255,255,255,.1)}.xiping-video-subtitle-player__resize-handle--horizontal{position:relative;width:2px;background:#ffffff1a;cursor:col-resize;transition:background .2s ease;flex-shrink:0}.xiping-video-subtitle-player__resize-handle--horizontal:hover{background:#fbbf2480}.xiping-video-subtitle-player__resize-handle--horizontal:active{background:#fbbf24cc}.xiping-video-subtitle-player__resize-handle--horizontal:before{content:"";position:absolute;inset:0 -4px;cursor:col-resize}.xiping-video-subtitle-player__resize-handle--vertical{position:relative;height:2px;background:#ffffff1a;cursor:row-resize;transition:background .2s ease;flex-shrink:0}.xiping-video-subtitle-player__resize-handle--vertical:hover{background:#fbbf2480}.xiping-video-subtitle-player__resize-handle--vertical:active{background:#fbbf24cc}.xiping-video-subtitle-player__resize-handle--vertical:before{content:"";position:absolute;inset:-4px 0;cursor:row-resize}
114
+ .xiping-video-subtitle-player--pc .xiping-video-subtitle-player__panel-group,.xiping-video-subtitle-player--pc .xiping-video-subtitle-player__panel-group-inner{width:100%;height:100%}.xiping-video-subtitle-player--pc .xiping-video-subtitle-player__right{border-left:1px solid #ffffff1a}.xiping-video-subtitle-player__resize-handle--horizontal{cursor:col-resize;background:#ffffff1a;flex-shrink:0;width:2px;transition:background .2s;position:relative}.xiping-video-subtitle-player__resize-handle--horizontal:hover{background:#fbbf2480}.xiping-video-subtitle-player__resize-handle--horizontal:active{background:#fbbf24cc}.xiping-video-subtitle-player__resize-handle--horizontal:before{content:"";cursor:col-resize;position:absolute;inset:0 -4px}.xiping-video-subtitle-player__resize-handle--vertical{cursor:row-resize;background:#ffffff1a;flex-shrink:0;height:2px;transition:background .2s;position:relative}.xiping-video-subtitle-player__resize-handle--vertical:hover{background:#fbbf2480}.xiping-video-subtitle-player__resize-handle--vertical:active{background:#fbbf24cc}.xiping-video-subtitle-player__resize-handle--vertical:before{content:"";cursor:row-resize;position:absolute;inset:-4px 0}
@@ -1,51 +1,39 @@
1
1
  "use client";
2
- import { jsx as n } from "react/jsx-runtime";
3
- import { useInView as b, AnimatePresence as w, motion as y } from "motion/react";
4
- import { useRef as V } from "react";
5
- function R({
6
- children: r,
7
- className: a,
8
- variant: s,
9
- duration: l = 0.4,
10
- delay: o = 0,
11
- offset: i = 6,
12
- direction: e = "down",
13
- inView: u = !1,
14
- inViewMargin: d = "-50px",
15
- blur: m = "6px",
16
- ...f
17
- }) {
18
- const t = V(null), p = b(t, { once: !0, margin: d }), c = !u || p, h = {
19
- hidden: {
20
- [e === "left" || e === "right" ? "x" : "y"]: e === "right" || e === "down" ? -i : i,
21
- opacity: 0,
22
- filter: `blur(${m})`
23
- },
24
- visible: {
25
- [e === "left" || e === "right" ? "x" : "y"]: 0,
26
- opacity: 1,
27
- filter: "blur(0px)"
28
- }
29
- }, x = s || h;
30
- return /* @__PURE__ */ n(w, { children: /* @__PURE__ */ n(
31
- y.div,
32
- {
33
- ref: t,
34
- initial: "hidden",
35
- animate: c ? "visible" : "hidden",
36
- exit: "hidden",
37
- variants: x,
38
- transition: {
39
- delay: 0.04 + o,
40
- duration: l,
41
- ease: "easeOut"
42
- },
43
- className: a,
44
- ...f,
45
- children: r
46
- }
47
- ) });
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ import { useRef as t } from "react";
4
+ import { AnimatePresence as n, motion as r, useInView as i } from "motion/react";
5
+ //#region src/components/blur-fade/BlurFade.tsx
6
+ function a({ children: a, className: o, variant: s, duration: c = .4, delay: l = 0, offset: u = 6, direction: d = "down", inView: f = !1, inViewMargin: p = "-50px", blur: m = "6px", ...h }) {
7
+ let g = t(null), _ = i(g, {
8
+ once: !0,
9
+ margin: p
10
+ }), v = !f || _, y = {
11
+ hidden: {
12
+ [d === "left" || d === "right" ? "x" : "y"]: d === "right" || d === "down" ? -u : u,
13
+ opacity: 0,
14
+ filter: `blur(${m})`
15
+ },
16
+ visible: {
17
+ [d === "left" || d === "right" ? "x" : "y"]: 0,
18
+ opacity: 1,
19
+ filter: "blur(0px)"
20
+ }
21
+ }, b = s || y;
22
+ return /* @__PURE__ */ e(n, { children: /* @__PURE__ */ e(r.div, {
23
+ ref: g,
24
+ initial: "hidden",
25
+ animate: v ? "visible" : "hidden",
26
+ exit: "hidden",
27
+ variants: b,
28
+ transition: {
29
+ delay: .04 + l,
30
+ duration: c,
31
+ ease: "easeOut"
32
+ },
33
+ className: o,
34
+ ...h,
35
+ children: a
36
+ }) });
48
37
  }
49
- export {
50
- R as BlurFade
51
- };
38
+ //#endregion
39
+ export { a as BlurFade };
@@ -1,77 +1,68 @@
1
- import { jsx as T, jsxs as A } from "react/jsx-runtime";
2
- import { motion as E } from "motion/react";
3
- import { useState as K, useRef as V, useEffect as D, useMemo as y } from "react";
4
- const F = (s, a) => {
5
- const p = /* @__PURE__ */ new Set([...Object.keys(s), ...a.flatMap((t) => Object.keys(t))]), n = {};
6
- return p.forEach((t) => {
7
- n[t] = [s[t], ...a.map((l) => l[t])];
8
- }), n;
9
- }, _ = ({
10
- text: s = "",
11
- delay: a = 200,
12
- className: p = "",
13
- animateBy: n = "words",
14
- direction: t = "top",
15
- threshold: l = 0.1,
16
- rootMargin: u = "0px",
17
- animationFrom: b,
18
- animationTo: w,
19
- easing: d = (o) => o,
20
- onAnimationComplete: h,
21
- stepDuration: x = 0.35
22
- }) => {
23
- const o = n === "words" ? s.split(" ") : s.split(""), [v, g] = K(!1), i = V(null);
24
- D(() => {
25
- if (!i.current) return;
26
- const r = new IntersectionObserver(
27
- ([e]) => {
28
- e.isIntersecting && (g(!0), r.unobserve(i.current));
29
- },
30
- { threshold: l, rootMargin: u }
31
- );
32
- return r.observe(i.current), () => r.disconnect();
33
- }, [l, u]);
34
- const j = y(
35
- () => t === "top" ? { filter: "blur(10px)", opacity: 0, y: -50 } : { filter: "blur(10px)", opacity: 0, y: 50 },
36
- [t]
37
- ), S = y(
38
- () => [
39
- {
40
- filter: "blur(5px)",
41
- opacity: 0.5,
42
- y: t === "top" ? 5 : -5
43
- },
44
- { filter: "blur(0px)", opacity: 1, y: 0 }
45
- ],
46
- [t]
47
- ), f = b ?? j, m = w ?? S, c = m.length + 1, k = x * (c - 1), C = Array.from({ length: c }, (r, e) => c === 1 ? 0 : e / (c - 1));
48
- return /* @__PURE__ */ T("p", { ref: i, className: p, style: { display: "flex", flexWrap: "wrap" }, children: o.map((r, e) => {
49
- const I = F(f, m), O = {
50
- duration: k,
51
- times: C,
52
- delay: e * a / 1e3,
53
- ease: d
54
- };
55
- return /* @__PURE__ */ A(
56
- E.span,
57
- {
58
- initial: f,
59
- animate: v ? I : f,
60
- transition: O,
61
- onAnimationComplete: e === o.length - 1 ? h : void 0,
62
- style: {
63
- display: "inline-block",
64
- willChange: "transform, filter, opacity"
65
- },
66
- children: [
67
- r === " " ? " " : r,
68
- n === "words" && e < o.length - 1 && " "
69
- ]
70
- },
71
- e
72
- );
73
- }) });
74
- };
75
- export {
76
- _ as default
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ import { useEffect as n, useMemo as r, useRef as i, useState as a } from "react";
3
+ import { motion as o } from "motion/react";
4
+ //#region src/components/blur-text/BlurText.tsx
5
+ var s = (e, t) => {
6
+ let n = new Set([...Object.keys(e), ...t.flatMap((e) => Object.keys(e))]), r = {};
7
+ return n.forEach((n) => {
8
+ r[n] = [e[n], ...t.map((e) => e[n])];
9
+ }), r;
10
+ }, c = ({ text: c = "", delay: l = 200, className: u = "", animateBy: d = "words", direction: f = "top", threshold: p = .1, rootMargin: m = "0px", animationFrom: h, animationTo: g, easing: _ = (e) => e, onAnimationComplete: v, stepDuration: y = .35 }) => {
11
+ let b = d === "words" ? c.split(" ") : c.split(""), [x, S] = a(!1), C = i(null);
12
+ n(() => {
13
+ if (!C.current) return;
14
+ let e = new IntersectionObserver(([t]) => {
15
+ t.isIntersecting && (S(!0), e.unobserve(C.current));
16
+ }, {
17
+ threshold: p,
18
+ rootMargin: m
19
+ });
20
+ return e.observe(C.current), () => e.disconnect();
21
+ }, [p, m]);
22
+ let w = r(() => f === "top" ? {
23
+ filter: "blur(10px)",
24
+ opacity: 0,
25
+ y: -50
26
+ } : {
27
+ filter: "blur(10px)",
28
+ opacity: 0,
29
+ y: 50
30
+ }, [f]), T = r(() => [{
31
+ filter: "blur(5px)",
32
+ opacity: .5,
33
+ y: f === "top" ? 5 : -5
34
+ }, {
35
+ filter: "blur(0px)",
36
+ opacity: 1,
37
+ y: 0
38
+ }], [f]), E = h ?? w, D = g ?? T, O = D.length + 1, k = y * (O - 1), A = Array.from({ length: O }, (e, t) => O === 1 ? 0 : t / (O - 1));
39
+ return /* @__PURE__ */ e("p", {
40
+ ref: C,
41
+ className: u,
42
+ style: {
43
+ display: "flex",
44
+ flexWrap: "wrap"
45
+ },
46
+ children: b.map((e, n) => {
47
+ let r = s(E, D), i = {
48
+ duration: k,
49
+ times: A,
50
+ delay: n * l / 1e3,
51
+ ease: _
52
+ };
53
+ return /* @__PURE__ */ t(o.span, {
54
+ initial: E,
55
+ animate: x ? r : E,
56
+ transition: i,
57
+ onAnimationComplete: n === b.length - 1 ? v : void 0,
58
+ style: {
59
+ display: "inline-block",
60
+ willChange: "transform, filter, opacity"
61
+ },
62
+ children: [e === " " ? "\xA0" : e, d === "words" && n < b.length - 1 && "\xA0"]
63
+ }, n);
64
+ })
65
+ });
77
66
  };
67
+ //#endregion
68
+ export { c as default };
@@ -1 +1 @@
1
- .xiping-button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;outline:none}.xiping-button:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px #3b82f680}.xiping-button--small{padding:6px 12px;font-size:14px}.xiping-button--medium{padding:8px 16px;font-size:16px}.xiping-button--large{padding:12px 24px;font-size:18px}.xiping-button--primary{background-color:#2563eb;color:#fff}.xiping-button--primary:hover:not(:disabled){background-color:#1d4ed8}.xiping-button--primary:focus{box-shadow:0 0 0 3px #2563eb80}.xiping-button--secondary{background-color:#4b5563;color:#fff}.xiping-button--secondary:hover:not(:disabled){background-color:#374151}.xiping-button--secondary:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--outline{background-color:transparent;border:1px solid #d1d5db;color:#374151}.xiping-button--outline:hover:not(:disabled){background-color:#f9fafb}.xiping-button--outline:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--ghost{background-color:transparent;color:#374151}.xiping-button--ghost:hover:not(:disabled){background-color:#f3f4f6}.xiping-button--ghost:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--disabled{opacity:.5;cursor:not-allowed}.xiping-button--loading{cursor:wait}.xiping-button--full-width{width:100%}.xiping-button__icon-left{margin-right:8px}.xiping-button__icon-right{margin-left:8px}.xiping-button__spinner{margin-left:-4px;margin-right:8px;width:16px;height:16px;animation:xiping-spin 1s linear infinite}.xiping-button__spinner-circle{opacity:.25}.xiping-button__spinner-path{opacity:.75}@keyframes xiping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
1
+ .xiping-button{cursor:pointer;border:none;border-radius:6px;outline:none;justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:inline-flex}.xiping-button:focus{outline-offset:2px;outline:2px solid #0000;box-shadow:0 0 0 3px #3b82f680}.xiping-button--small{padding:6px 12px;font-size:14px}.xiping-button--medium{padding:8px 16px;font-size:16px}.xiping-button--large{padding:12px 24px;font-size:18px}.xiping-button--primary{color:#fff;background-color:#2563eb}.xiping-button--primary:hover:not(:disabled){background-color:#1d4ed8}.xiping-button--primary:focus{box-shadow:0 0 0 3px #2563eb80}.xiping-button--secondary{color:#fff;background-color:#4b5563}.xiping-button--secondary:hover:not(:disabled){background-color:#374151}.xiping-button--secondary:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--outline{color:#374151;background-color:#0000;border:1px solid #d1d5db}.xiping-button--outline:hover:not(:disabled){background-color:#f9fafb}.xiping-button--outline:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--ghost{color:#374151;background-color:#0000}.xiping-button--ghost:hover:not(:disabled){background-color:#f3f4f6}.xiping-button--ghost:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--disabled{opacity:.5;cursor:not-allowed}.xiping-button--loading{cursor:wait}.xiping-button--full-width{width:100%}.xiping-button__icon-left{margin-right:8px}.xiping-button__icon-right{margin-left:8px}.xiping-button__spinner{width:16px;height:16px;margin-left:-4px;margin-right:8px;animation:1s linear infinite xiping-spin}.xiping-button__spinner-circle{opacity:.25}.xiping-button__spinner-path{opacity:.75}@keyframes xiping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
@@ -0,0 +1,48 @@
1
+ import './Button.css';/* empty css */
2
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
3
+ //#region src/components/button/Button.tsx
4
+ var n = ({ variant: n = "primary", size: r = "medium", className: i, children: a, leftIcon: o, rightIcon: s, isLoading: c = !1, isDisabled: l = !1, fullWidth: u = !1, type: d = "button", ...f }) => /* @__PURE__ */ t("button", {
5
+ type: d,
6
+ className: [
7
+ "xiping-button",
8
+ `xiping-button--${n}`,
9
+ `xiping-button--${r}`,
10
+ l && "xiping-button--disabled",
11
+ u && "xiping-button--full-width",
12
+ c && "xiping-button--loading",
13
+ i
14
+ ].filter(Boolean).join(" "),
15
+ disabled: l || c,
16
+ ...f,
17
+ children: [
18
+ c && /* @__PURE__ */ t("svg", {
19
+ className: "xiping-button__spinner",
20
+ xmlns: "http://www.w3.org/2000/svg",
21
+ fill: "none",
22
+ viewBox: "0 0 24 24",
23
+ children: [/* @__PURE__ */ e("circle", {
24
+ className: "xiping-button__spinner-circle",
25
+ cx: "12",
26
+ cy: "12",
27
+ r: "10",
28
+ stroke: "currentColor",
29
+ strokeWidth: "4"
30
+ }), /* @__PURE__ */ e("path", {
31
+ className: "xiping-button__spinner-path",
32
+ fill: "currentColor",
33
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
34
+ })]
35
+ }),
36
+ !c && o && /* @__PURE__ */ e("span", {
37
+ className: "xiping-button__icon-left",
38
+ children: o
39
+ }),
40
+ a,
41
+ !c && s && /* @__PURE__ */ e("span", {
42
+ className: "xiping-button__icon-right",
43
+ children: s
44
+ })
45
+ ]
46
+ });
47
+ //#endregion
48
+ export { n as Button };
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import './ComicText.css';/* empty css */
3
+ import { jsx as e } from "react/jsx-runtime";
4
+ import t from "clsx";
5
+ import { motion as n } from "motion/react";
6
+ //#region src/components/comic-text/ComicText.tsx
7
+ function r({ children: r, className: i, style: a, fontSize: o = 5 }) {
8
+ if (typeof r != "string") throw Error("children must be a string");
9
+ let s = "#EF4444";
10
+ return /* @__PURE__ */ e(n.div, {
11
+ className: t("xiping-comic-text", i),
12
+ style: {
13
+ fontSize: `${o}rem`,
14
+ fontFamily: "'Bangers', 'Comic Sans MS', 'Impact', sans-serif",
15
+ fontWeight: "900",
16
+ WebkitTextStroke: `${o * .35}px #000000`,
17
+ transform: "skewX(-10deg)",
18
+ textTransform: "uppercase",
19
+ filter: `
20
+ drop-shadow(5px 5px 0px #000000)
21
+ drop-shadow(3px 3px 0px ${s})
22
+ `,
23
+ backgroundColor: "#FACC15",
24
+ backgroundImage: `radial-gradient(circle at 1px 1px, ${s} 1px, transparent 0)`,
25
+ backgroundSize: "8px 8px",
26
+ backgroundClip: "text",
27
+ WebkitBackgroundClip: "text",
28
+ WebkitTextFillColor: "transparent",
29
+ ...a
30
+ },
31
+ initial: {
32
+ opacity: 0,
33
+ scale: .8,
34
+ rotate: -2
35
+ },
36
+ animate: {
37
+ opacity: 1,
38
+ scale: 1,
39
+ rotate: 0
40
+ },
41
+ transition: {
42
+ duration: .6,
43
+ ease: [
44
+ .175,
45
+ .885,
46
+ .32,
47
+ 1.275
48
+ ],
49
+ type: "spring"
50
+ },
51
+ children: r
52
+ });
53
+ }
54
+ //#endregion
55
+ export { r as ComicText };