react-public-components 1.2.1 → 1.2.2

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 (685) hide show
  1. package/dist/ActivityLog/index.cjs +9 -0
  2. package/dist/ActivityLog/index.cjs.map +1 -0
  3. package/dist/ActivityLog/index.css +117 -0
  4. package/dist/ActivityLog/index.css.map +1 -0
  5. package/dist/ActivityLog/index.d.ts +32 -0
  6. package/dist/ActivityLog/index.js +3 -0
  7. package/dist/ActivityLog/index.js.map +1 -0
  8. package/dist/AnnouncementBar/index.cjs +9 -0
  9. package/dist/AnnouncementBar/index.cjs.map +1 -0
  10. package/dist/AnnouncementBar/index.css +37 -0
  11. package/dist/AnnouncementBar/index.css.map +1 -0
  12. package/dist/AnnouncementBar/index.d.ts +18 -0
  13. package/dist/AnnouncementBar/index.js +3 -0
  14. package/dist/AnnouncementBar/index.js.map +1 -0
  15. package/dist/AudioPlayer/index.cjs +10 -0
  16. package/dist/AudioPlayer/index.cjs.map +1 -0
  17. package/dist/AudioPlayer/index.css +105 -0
  18. package/dist/AudioPlayer/index.css.map +1 -0
  19. package/dist/AudioPlayer/index.d.ts +18 -0
  20. package/dist/AudioPlayer/index.js +4 -0
  21. package/dist/AudioPlayer/index.js.map +1 -0
  22. package/dist/BadgeRibbon/index.cjs +9 -0
  23. package/dist/BadgeRibbon/index.cjs.map +1 -0
  24. package/dist/BadgeRibbon/index.css +48 -0
  25. package/dist/BadgeRibbon/index.css.map +1 -0
  26. package/dist/BadgeRibbon/index.d.ts +19 -0
  27. package/dist/BadgeRibbon/index.js +3 -0
  28. package/dist/BadgeRibbon/index.js.map +1 -0
  29. package/dist/BorderBeam/index.cjs +9 -0
  30. package/dist/BorderBeam/index.cjs.map +1 -0
  31. package/dist/BorderBeam/index.css +40 -0
  32. package/dist/BorderBeam/index.css.map +1 -0
  33. package/dist/BorderBeam/index.d.ts +24 -0
  34. package/dist/BorderBeam/index.js +3 -0
  35. package/dist/BorderBeam/index.js.map +1 -0
  36. package/dist/CascadeDrawer/index.cjs +9 -0
  37. package/dist/CascadeDrawer/index.cjs.map +1 -0
  38. package/dist/CascadeDrawer/index.css +73 -0
  39. package/dist/CascadeDrawer/index.css.map +1 -0
  40. package/dist/CascadeDrawer/index.d.ts +23 -0
  41. package/dist/CascadeDrawer/index.js +3 -0
  42. package/dist/CascadeDrawer/index.js.map +1 -0
  43. package/dist/CodeSnippet/index.cjs +9 -0
  44. package/dist/CodeSnippet/index.cjs.map +1 -0
  45. package/dist/CodeSnippet/index.css +63 -0
  46. package/dist/CodeSnippet/index.css.map +1 -0
  47. package/dist/CodeSnippet/index.d.ts +14 -0
  48. package/dist/CodeSnippet/index.js +3 -0
  49. package/dist/CodeSnippet/index.js.map +1 -0
  50. package/dist/CollapseBox/index.cjs +10 -0
  51. package/dist/CollapseBox/index.cjs.map +1 -0
  52. package/dist/CollapseBox/index.css +106 -0
  53. package/dist/CollapseBox/index.css.map +1 -0
  54. package/dist/CollapseBox/index.d.ts +17 -0
  55. package/dist/CollapseBox/index.js +4 -0
  56. package/dist/CollapseBox/index.js.map +1 -0
  57. package/dist/ColorPicker/Color.d.ts +48 -0
  58. package/dist/ColorPicker/index.cjs +23 -0
  59. package/dist/ColorPicker/index.cjs.map +1 -0
  60. package/dist/ColorPicker/index.css +422 -0
  61. package/dist/ColorPicker/index.css.map +1 -0
  62. package/dist/ColorPicker/index.d.ts +48 -0
  63. package/dist/ColorPicker/index.js +4 -0
  64. package/dist/ColorPicker/index.js.map +1 -0
  65. package/dist/ContextMenu/index.cjs +10 -0
  66. package/dist/ContextMenu/index.cjs.map +1 -0
  67. package/dist/ContextMenu/index.css +107 -0
  68. package/dist/ContextMenu/index.css.map +1 -0
  69. package/dist/ContextMenu/index.d.ts +42 -0
  70. package/dist/ContextMenu/index.js +4 -0
  71. package/dist/ContextMenu/index.js.map +1 -0
  72. package/dist/CopyButton/index.cjs +10 -0
  73. package/dist/CopyButton/index.cjs.map +1 -0
  74. package/dist/CopyButton/index.css +122 -0
  75. package/dist/CopyButton/index.css.map +1 -0
  76. package/dist/CopyButton/index.d.ts +36 -0
  77. package/dist/CopyButton/index.js +4 -0
  78. package/dist/CopyButton/index.js.map +1 -0
  79. package/dist/CountUp/index.cjs +9 -0
  80. package/dist/CountUp/index.cjs.map +1 -0
  81. package/dist/CountUp/index.css +23 -0
  82. package/dist/CountUp/index.css.map +1 -0
  83. package/dist/CountUp/index.d.ts +40 -0
  84. package/dist/CountUp/index.js +3 -0
  85. package/dist/CountUp/index.js.map +1 -0
  86. package/dist/CronPicker/index.cjs +11 -0
  87. package/dist/CronPicker/index.cjs.map +1 -0
  88. package/dist/CronPicker/index.css +215 -0
  89. package/dist/CronPicker/index.css.map +1 -0
  90. package/dist/CronPicker/index.d.ts +17 -0
  91. package/dist/CronPicker/index.js +5 -0
  92. package/dist/CronPicker/index.js.map +1 -0
  93. package/dist/DebounceSelect/index.cjs +10 -0
  94. package/dist/DebounceSelect/index.cjs.map +1 -0
  95. package/dist/DebounceSelect/index.css +156 -0
  96. package/dist/DebounceSelect/index.css.map +1 -0
  97. package/dist/DebounceSelect/index.d.ts +39 -0
  98. package/dist/DebounceSelect/index.js +4 -0
  99. package/dist/DebounceSelect/index.js.map +1 -0
  100. package/dist/DiffViewer/index.cjs +9 -0
  101. package/dist/DiffViewer/index.cjs.map +1 -0
  102. package/dist/DiffViewer/index.css +90 -0
  103. package/dist/DiffViewer/index.css.map +1 -0
  104. package/dist/DiffViewer/index.d.ts +21 -0
  105. package/dist/DiffViewer/index.js +3 -0
  106. package/dist/DiffViewer/index.js.map +1 -0
  107. package/dist/DisabledBox/index.cjs +10 -0
  108. package/dist/DisabledBox/index.cjs.map +1 -0
  109. package/dist/DisabledBox/index.css +35 -0
  110. package/dist/DisabledBox/index.css.map +1 -0
  111. package/dist/DisabledBox/index.d.ts +10 -0
  112. package/dist/DisabledBox/index.js +4 -0
  113. package/dist/DisabledBox/index.js.map +1 -0
  114. package/dist/DragSortList/index.cjs +9 -0
  115. package/dist/DragSortList/index.cjs.map +1 -0
  116. package/dist/DragSortList/index.css +44 -0
  117. package/dist/DragSortList/index.css.map +1 -0
  118. package/dist/DragSortList/index.d.ts +18 -0
  119. package/dist/DragSortList/index.js +3 -0
  120. package/dist/DragSortList/index.js.map +1 -0
  121. package/dist/DualRangeSlider/index.cjs +9 -0
  122. package/dist/DualRangeSlider/index.cjs.map +1 -0
  123. package/dist/DualRangeSlider/index.css +41 -0
  124. package/dist/DualRangeSlider/index.css.map +1 -0
  125. package/dist/DualRangeSlider/index.d.ts +22 -0
  126. package/dist/DualRangeSlider/index.js +3 -0
  127. package/dist/DualRangeSlider/index.js.map +1 -0
  128. package/dist/EnvBadge/index.cjs +9 -0
  129. package/dist/EnvBadge/index.cjs.map +1 -0
  130. package/dist/EnvBadge/index.css +123 -0
  131. package/dist/EnvBadge/index.css.map +1 -0
  132. package/dist/EnvBadge/index.d.ts +36 -0
  133. package/dist/EnvBadge/index.js +3 -0
  134. package/dist/EnvBadge/index.js.map +1 -0
  135. package/dist/FileDropZone/index.cjs +9 -0
  136. package/dist/FileDropZone/index.cjs.map +1 -0
  137. package/dist/FileDropZone/index.css +39 -0
  138. package/dist/FileDropZone/index.css.map +1 -0
  139. package/dist/FileDropZone/index.d.ts +20 -0
  140. package/dist/FileDropZone/index.js +3 -0
  141. package/dist/FileDropZone/index.js.map +1 -0
  142. package/dist/FilePreviewer/index.cjs +19 -0
  143. package/dist/FilePreviewer/index.cjs.map +1 -0
  144. package/dist/FilePreviewer/index.css +155 -0
  145. package/dist/FilePreviewer/index.css.map +1 -0
  146. package/dist/FilePreviewer/index.d.ts +38 -0
  147. package/dist/FilePreviewer/index.js +4 -0
  148. package/dist/FilePreviewer/index.js.map +1 -0
  149. package/dist/FilterChips/index.cjs +9 -0
  150. package/dist/FilterChips/index.cjs.map +1 -0
  151. package/dist/FilterChips/index.css +52 -0
  152. package/dist/FilterChips/index.css.map +1 -0
  153. package/dist/FilterChips/index.d.ts +23 -0
  154. package/dist/FilterChips/index.js +3 -0
  155. package/dist/FilterChips/index.js.map +1 -0
  156. package/dist/FlipCard/index.cjs +9 -0
  157. package/dist/FlipCard/index.cjs.map +1 -0
  158. package/dist/FlipCard/index.css +46 -0
  159. package/dist/FlipCard/index.css.map +1 -0
  160. package/dist/FlipCard/index.d.ts +28 -0
  161. package/dist/FlipCard/index.js +3 -0
  162. package/dist/FlipCard/index.js.map +1 -0
  163. package/dist/Fullscreen/index.cjs +10 -0
  164. package/dist/Fullscreen/index.cjs.map +1 -0
  165. package/dist/Fullscreen/index.css +112 -0
  166. package/dist/Fullscreen/index.css.map +1 -0
  167. package/dist/Fullscreen/index.d.ts +49 -0
  168. package/dist/Fullscreen/index.js +4 -0
  169. package/dist/Fullscreen/index.js.map +1 -0
  170. package/dist/GradientText/index.cjs +9 -0
  171. package/dist/GradientText/index.cjs.map +1 -0
  172. package/dist/GradientText/index.css +22 -0
  173. package/dist/GradientText/index.css.map +1 -0
  174. package/dist/GradientText/index.d.ts +18 -0
  175. package/dist/GradientText/index.js +3 -0
  176. package/dist/GradientText/index.js.map +1 -0
  177. package/dist/GuidedTour/index.cjs +10 -0
  178. package/dist/GuidedTour/index.cjs.map +1 -0
  179. package/dist/GuidedTour/index.css +105 -0
  180. package/dist/GuidedTour/index.css.map +1 -0
  181. package/dist/GuidedTour/index.d.ts +35 -0
  182. package/dist/GuidedTour/index.js +4 -0
  183. package/dist/GuidedTour/index.js.map +1 -0
  184. package/dist/HoverCard/index.cjs +9 -0
  185. package/dist/HoverCard/index.cjs.map +1 -0
  186. package/dist/HoverCard/index.css +31 -0
  187. package/dist/HoverCard/index.css.map +1 -0
  188. package/dist/HoverCard/index.d.ts +18 -0
  189. package/dist/HoverCard/index.js +3 -0
  190. package/dist/HoverCard/index.js.map +1 -0
  191. package/dist/ImageCropper/index.cjs +10 -0
  192. package/dist/ImageCropper/index.cjs.map +1 -0
  193. package/dist/ImageCropper/index.css +181 -0
  194. package/dist/ImageCropper/index.css.map +1 -0
  195. package/dist/ImageCropper/index.d.ts +45 -0
  196. package/dist/ImageCropper/index.js +4 -0
  197. package/dist/ImageCropper/index.js.map +1 -0
  198. package/dist/InfiniteScrollList/index.cjs +10 -0
  199. package/dist/InfiniteScrollList/index.cjs.map +1 -0
  200. package/dist/InfiniteScrollList/index.css +35 -0
  201. package/dist/InfiniteScrollList/index.css.map +1 -0
  202. package/dist/InfiniteScrollList/index.d.ts +28 -0
  203. package/dist/InfiniteScrollList/index.js +4 -0
  204. package/dist/InfiniteScrollList/index.js.map +1 -0
  205. package/dist/JsonDiffViewer/index.cjs +9 -0
  206. package/dist/JsonDiffViewer/index.cjs.map +1 -0
  207. package/dist/JsonDiffViewer/index.css +48 -0
  208. package/dist/JsonDiffViewer/index.css.map +1 -0
  209. package/dist/JsonDiffViewer/index.d.ts +14 -0
  210. package/dist/JsonDiffViewer/index.js +3 -0
  211. package/dist/JsonDiffViewer/index.js.map +1 -0
  212. package/dist/JsonEditor/index.cjs +11 -0
  213. package/dist/JsonEditor/index.cjs.map +1 -0
  214. package/dist/JsonEditor/index.css +230 -0
  215. package/dist/JsonEditor/index.css.map +1 -0
  216. package/dist/JsonEditor/index.d.ts +26 -0
  217. package/dist/JsonEditor/index.js +5 -0
  218. package/dist/JsonEditor/index.js.map +1 -0
  219. package/dist/JsonTree/index.cjs +9 -0
  220. package/dist/JsonTree/index.cjs.map +1 -0
  221. package/dist/JsonTree/index.css +58 -0
  222. package/dist/JsonTree/index.css.map +1 -0
  223. package/dist/JsonTree/index.d.ts +14 -0
  224. package/dist/JsonTree/index.js +3 -0
  225. package/dist/JsonTree/index.js.map +1 -0
  226. package/dist/KanbanBoard/index.cjs +9 -0
  227. package/dist/KanbanBoard/index.cjs.map +1 -0
  228. package/dist/KanbanBoard/index.css +80 -0
  229. package/dist/KanbanBoard/index.css.map +1 -0
  230. package/dist/KanbanBoard/index.d.ts +24 -0
  231. package/dist/KanbanBoard/index.js +3 -0
  232. package/dist/KanbanBoard/index.js.map +1 -0
  233. package/dist/KeyValEditor/index.cjs +10 -0
  234. package/dist/KeyValEditor/index.cjs.map +1 -0
  235. package/dist/KeyValEditor/index.css +72 -0
  236. package/dist/KeyValEditor/index.css.map +1 -0
  237. package/dist/KeyValEditor/index.d.ts +28 -0
  238. package/dist/KeyValEditor/index.js +4 -0
  239. package/dist/KeyValEditor/index.js.map +1 -0
  240. package/dist/Marquee/index.cjs +9 -0
  241. package/dist/Marquee/index.cjs.map +1 -0
  242. package/dist/Marquee/index.css +99 -0
  243. package/dist/Marquee/index.css.map +1 -0
  244. package/dist/Marquee/index.d.ts +27 -0
  245. package/dist/Marquee/index.js +3 -0
  246. package/dist/Marquee/index.js.map +1 -0
  247. package/dist/Masonry/index.cjs +9 -0
  248. package/dist/Masonry/index.cjs.map +1 -0
  249. package/dist/Masonry/index.css +15 -0
  250. package/dist/Masonry/index.css.map +1 -0
  251. package/dist/Masonry/index.d.ts +58 -0
  252. package/dist/Masonry/index.js +3 -0
  253. package/dist/Masonry/index.js.map +1 -0
  254. package/dist/MetricCard/index.cjs +10 -0
  255. package/dist/MetricCard/index.cjs.map +1 -0
  256. package/dist/MetricCard/index.css +105 -0
  257. package/dist/MetricCard/index.css.map +1 -0
  258. package/dist/MetricCard/index.d.ts +32 -0
  259. package/dist/MetricCard/index.js +4 -0
  260. package/dist/MetricCard/index.js.map +1 -0
  261. package/dist/MiniSparkline/index.cjs +9 -0
  262. package/dist/MiniSparkline/index.cjs.map +1 -0
  263. package/dist/MiniSparkline/index.css +11 -0
  264. package/dist/MiniSparkline/index.css.map +1 -0
  265. package/dist/MiniSparkline/index.d.ts +20 -0
  266. package/dist/MiniSparkline/index.js +3 -0
  267. package/dist/MiniSparkline/index.js.map +1 -0
  268. package/dist/NumberStepper/index.cjs +9 -0
  269. package/dist/NumberStepper/index.cjs.map +1 -0
  270. package/dist/NumberStepper/index.css +45 -0
  271. package/dist/NumberStepper/index.css.map +1 -0
  272. package/dist/NumberStepper/index.d.ts +24 -0
  273. package/dist/NumberStepper/index.js +3 -0
  274. package/dist/NumberStepper/index.js.map +1 -0
  275. package/dist/NumericRangeInput/index.cjs +9 -0
  276. package/dist/NumericRangeInput/index.cjs.map +1 -0
  277. package/dist/NumericRangeInput/index.css +87 -0
  278. package/dist/NumericRangeInput/index.css.map +1 -0
  279. package/dist/NumericRangeInput/index.d.ts +39 -0
  280. package/dist/NumericRangeInput/index.js +3 -0
  281. package/dist/NumericRangeInput/index.js.map +1 -0
  282. package/dist/PasswordStrength/index.cjs +19 -0
  283. package/dist/PasswordStrength/index.cjs.map +1 -0
  284. package/dist/PasswordStrength/index.css +66 -0
  285. package/dist/PasswordStrength/index.css.map +1 -0
  286. package/dist/PasswordStrength/index.d.ts +31 -0
  287. package/dist/PasswordStrength/index.js +4 -0
  288. package/dist/PasswordStrength/index.js.map +1 -0
  289. package/dist/PdfViewer/index.cjs +10 -0
  290. package/dist/PdfViewer/index.cjs.map +1 -0
  291. package/dist/PdfViewer/index.css +65 -0
  292. package/dist/PdfViewer/index.css.map +1 -0
  293. package/dist/PdfViewer/index.d.ts +20 -0
  294. package/dist/PdfViewer/index.js +4 -0
  295. package/dist/PdfViewer/index.js.map +1 -0
  296. package/dist/PhotoViewer/index.cjs +9 -0
  297. package/dist/PhotoViewer/index.cjs.map +1 -0
  298. package/dist/PhotoViewer/index.css +129 -0
  299. package/dist/PhotoViewer/index.css.map +1 -0
  300. package/dist/PhotoViewer/index.d.ts +23 -0
  301. package/dist/PhotoViewer/index.js +3 -0
  302. package/dist/PhotoViewer/index.js.map +1 -0
  303. package/dist/QrCodeCard/index.cjs +10 -0
  304. package/dist/QrCodeCard/index.cjs.map +1 -0
  305. package/dist/QrCodeCard/index.css +109 -0
  306. package/dist/QrCodeCard/index.css.map +1 -0
  307. package/dist/QrCodeCard/index.d.ts +27 -0
  308. package/dist/QrCodeCard/index.js +4 -0
  309. package/dist/QrCodeCard/index.js.map +1 -0
  310. package/dist/QuickDateRange/index.cjs +9 -0
  311. package/dist/QuickDateRange/index.cjs.map +1 -0
  312. package/dist/QuickDateRange/index.css +30 -0
  313. package/dist/QuickDateRange/index.css.map +1 -0
  314. package/dist/QuickDateRange/index.d.ts +22 -0
  315. package/dist/QuickDateRange/index.js +3 -0
  316. package/dist/QuickDateRange/index.js.map +1 -0
  317. package/dist/ScrollTracker/index.cjs +22 -0
  318. package/dist/ScrollTracker/index.cjs.map +1 -0
  319. package/dist/ScrollTracker/index.css +48 -0
  320. package/dist/ScrollTracker/index.css.map +1 -0
  321. package/dist/ScrollTracker/index.d.ts +37 -0
  322. package/dist/ScrollTracker/index.js +3 -0
  323. package/dist/ScrollTracker/index.js.map +1 -0
  324. package/dist/SegmentedProgress/index.cjs +9 -0
  325. package/dist/SegmentedProgress/index.cjs.map +1 -0
  326. package/dist/SegmentedProgress/index.css +42 -0
  327. package/dist/SegmentedProgress/index.css.map +1 -0
  328. package/dist/SegmentedProgress/index.d.ts +24 -0
  329. package/dist/SegmentedProgress/index.js +3 -0
  330. package/dist/SegmentedProgress/index.js.map +1 -0
  331. package/dist/SensitiveMask/index.cjs +20 -0
  332. package/dist/SensitiveMask/index.cjs.map +1 -0
  333. package/dist/SensitiveMask/index.css +149 -0
  334. package/dist/SensitiveMask/index.css.map +1 -0
  335. package/dist/SensitiveMask/index.d.ts +30 -0
  336. package/dist/SensitiveMask/index.js +5 -0
  337. package/dist/SensitiveMask/index.js.map +1 -0
  338. package/dist/ShimmerSkeleton/index.cjs +9 -0
  339. package/dist/ShimmerSkeleton/index.cjs.map +1 -0
  340. package/dist/ShimmerSkeleton/index.css +55 -0
  341. package/dist/ShimmerSkeleton/index.css.map +1 -0
  342. package/dist/ShimmerSkeleton/index.d.ts +19 -0
  343. package/dist/ShimmerSkeleton/index.js +3 -0
  344. package/dist/ShimmerSkeleton/index.js.map +1 -0
  345. package/dist/Splitter/index.cjs +10 -0
  346. package/dist/Splitter/index.cjs.map +1 -0
  347. package/dist/Splitter/index.d.ts +94 -0
  348. package/dist/Splitter/index.js +4 -0
  349. package/dist/Splitter/index.js.map +1 -0
  350. package/dist/SpotlightCard/index.cjs +9 -0
  351. package/dist/SpotlightCard/index.cjs.map +1 -0
  352. package/dist/SpotlightCard/index.css +34 -0
  353. package/dist/SpotlightCard/index.css.map +1 -0
  354. package/dist/SpotlightCard/index.d.ts +18 -0
  355. package/dist/SpotlightCard/index.js +3 -0
  356. package/dist/SpotlightCard/index.js.map +1 -0
  357. package/dist/StatusTimeline/index.cjs +9 -0
  358. package/dist/StatusTimeline/index.cjs.map +1 -0
  359. package/dist/StatusTimeline/index.css +111 -0
  360. package/dist/StatusTimeline/index.css.map +1 -0
  361. package/dist/StatusTimeline/index.d.ts +25 -0
  362. package/dist/StatusTimeline/index.js +3 -0
  363. package/dist/StatusTimeline/index.js.map +1 -0
  364. package/dist/TagInput/index.cjs +10 -0
  365. package/dist/TagInput/index.cjs.map +1 -0
  366. package/dist/TagInput/index.css +108 -0
  367. package/dist/TagInput/index.css.map +1 -0
  368. package/dist/TagInput/index.d.ts +32 -0
  369. package/dist/TagInput/index.js +4 -0
  370. package/dist/TagInput/index.js.map +1 -0
  371. package/dist/TextEllipsis/index.cjs +11 -0
  372. package/dist/TextEllipsis/index.cjs.map +1 -0
  373. package/dist/TextEllipsis/index.css +217 -0
  374. package/dist/TextEllipsis/index.css.map +1 -0
  375. package/dist/TextEllipsis/index.d.ts +34 -0
  376. package/dist/TextEllipsis/index.js +5 -0
  377. package/dist/TextEllipsis/index.js.map +1 -0
  378. package/dist/TiltCard/index.cjs +9 -0
  379. package/dist/TiltCard/index.cjs.map +1 -0
  380. package/dist/TiltCard/index.css +32 -0
  381. package/dist/TiltCard/index.css.map +1 -0
  382. package/dist/TiltCard/index.d.ts +20 -0
  383. package/dist/TiltCard/index.js +3 -0
  384. package/dist/TiltCard/index.js.map +1 -0
  385. package/dist/TreeFilterPanel/index.cjs +9 -0
  386. package/dist/TreeFilterPanel/index.cjs.map +1 -0
  387. package/dist/TreeFilterPanel/index.css +67 -0
  388. package/dist/TreeFilterPanel/index.css.map +1 -0
  389. package/dist/TreeFilterPanel/index.d.ts +27 -0
  390. package/dist/TreeFilterPanel/index.js +3 -0
  391. package/dist/TreeFilterPanel/index.js.map +1 -0
  392. package/dist/TreeTransfer/index.cjs +10 -0
  393. package/dist/TreeTransfer/index.cjs.map +1 -0
  394. package/dist/TreeTransfer/index.css +67 -0
  395. package/dist/TreeTransfer/index.css.map +1 -0
  396. package/dist/TreeTransfer/index.d.ts +27 -0
  397. package/dist/TreeTransfer/index.js +4 -0
  398. package/dist/TreeTransfer/index.js.map +1 -0
  399. package/dist/TrendIndicator/index.cjs +9 -0
  400. package/dist/TrendIndicator/index.cjs.map +1 -0
  401. package/dist/TrendIndicator/index.css +42 -0
  402. package/dist/TrendIndicator/index.css.map +1 -0
  403. package/dist/TrendIndicator/index.d.ts +22 -0
  404. package/dist/TrendIndicator/index.js +3 -0
  405. package/dist/TrendIndicator/index.js.map +1 -0
  406. package/dist/VideoPlayer/index.cjs +10 -0
  407. package/dist/VideoPlayer/index.cjs.map +1 -0
  408. package/dist/VideoPlayer/index.css +122 -0
  409. package/dist/VideoPlayer/index.css.map +1 -0
  410. package/dist/VideoPlayer/index.d.ts +24 -0
  411. package/dist/VideoPlayer/index.js +4 -0
  412. package/dist/VideoPlayer/index.js.map +1 -0
  413. package/dist/VirtualList/index.cjs +9 -0
  414. package/dist/VirtualList/index.cjs.map +1 -0
  415. package/dist/VirtualList/index.css +26 -0
  416. package/dist/VirtualList/index.css.map +1 -0
  417. package/dist/VirtualList/index.d.ts +22 -0
  418. package/dist/VirtualList/index.js +3 -0
  419. package/dist/VirtualList/index.js.map +1 -0
  420. package/dist/Watermark/index.cjs +9 -0
  421. package/dist/Watermark/index.cjs.map +1 -0
  422. package/dist/Watermark/index.css +24 -0
  423. package/dist/Watermark/index.css.map +1 -0
  424. package/dist/Watermark/index.d.ts +28 -0
  425. package/dist/Watermark/index.js +3 -0
  426. package/dist/Watermark/index.js.map +1 -0
  427. package/dist/chunk-24ND5WB7.cjs +69 -0
  428. package/dist/chunk-24ND5WB7.cjs.map +1 -0
  429. package/dist/chunk-2ARM7X7A.js +44 -0
  430. package/dist/chunk-2ARM7X7A.js.map +1 -0
  431. package/dist/chunk-2ORGQ2IY.js +153 -0
  432. package/dist/chunk-2ORGQ2IY.js.map +1 -0
  433. package/dist/chunk-3JJP4D5L.js +92 -0
  434. package/dist/chunk-3JJP4D5L.js.map +1 -0
  435. package/dist/chunk-4DUMEO5E.cjs +107 -0
  436. package/dist/chunk-4DUMEO5E.cjs.map +1 -0
  437. package/dist/chunk-4GQ3X7MG.cjs +241 -0
  438. package/dist/chunk-4GQ3X7MG.cjs.map +1 -0
  439. package/dist/chunk-4IBF4R3H.cjs +66 -0
  440. package/dist/chunk-4IBF4R3H.cjs.map +1 -0
  441. package/dist/chunk-4MRZVLM6.cjs +103 -0
  442. package/dist/chunk-4MRZVLM6.cjs.map +1 -0
  443. package/dist/chunk-4VGH44DT.js +69 -0
  444. package/dist/chunk-4VGH44DT.js.map +1 -0
  445. package/dist/chunk-4YPT2HUD.cjs +61 -0
  446. package/dist/chunk-4YPT2HUD.cjs.map +1 -0
  447. package/dist/chunk-5G3XVLJF.js +71 -0
  448. package/dist/chunk-5G3XVLJF.js.map +1 -0
  449. package/dist/chunk-5GCEQDBM.cjs +99 -0
  450. package/dist/chunk-5GCEQDBM.cjs.map +1 -0
  451. package/dist/chunk-5GOF5EZU.cjs +87 -0
  452. package/dist/chunk-5GOF5EZU.cjs.map +1 -0
  453. package/dist/chunk-5LA2NPLG.cjs +81 -0
  454. package/dist/chunk-5LA2NPLG.cjs.map +1 -0
  455. package/dist/chunk-5MQCVYVD.js +33 -0
  456. package/dist/chunk-5MQCVYVD.js.map +1 -0
  457. package/dist/chunk-5NI6HK5V.js +159 -0
  458. package/dist/chunk-5NI6HK5V.js.map +1 -0
  459. package/dist/chunk-5WHBZH44.cjs +127 -0
  460. package/dist/chunk-5WHBZH44.cjs.map +1 -0
  461. package/dist/chunk-5YQVSOHK.js +44 -0
  462. package/dist/chunk-5YQVSOHK.js.map +1 -0
  463. package/dist/chunk-62NPVN7T.js +229 -0
  464. package/dist/chunk-62NPVN7T.js.map +1 -0
  465. package/dist/chunk-6OKTK3AQ.cjs +108 -0
  466. package/dist/chunk-6OKTK3AQ.cjs.map +1 -0
  467. package/dist/chunk-6TKNFV4B.js +53 -0
  468. package/dist/chunk-6TKNFV4B.js.map +1 -0
  469. package/dist/chunk-7AKHSOSZ.js +134 -0
  470. package/dist/chunk-7AKHSOSZ.js.map +1 -0
  471. package/dist/chunk-7JLQOQJZ.cjs +106 -0
  472. package/dist/chunk-7JLQOQJZ.cjs.map +1 -0
  473. package/dist/chunk-7JRGQL63.js +59 -0
  474. package/dist/chunk-7JRGQL63.js.map +1 -0
  475. package/dist/chunk-A4LXKZQ5.js +80 -0
  476. package/dist/chunk-A4LXKZQ5.js.map +1 -0
  477. package/dist/chunk-AIIXJB34.js +125 -0
  478. package/dist/chunk-AIIXJB34.js.map +1 -0
  479. package/dist/chunk-AJIIY2QT.cjs +161 -0
  480. package/dist/chunk-AJIIY2QT.cjs.map +1 -0
  481. package/dist/chunk-AVSFSS7S.cjs +924 -0
  482. package/dist/chunk-AVSFSS7S.cjs.map +1 -0
  483. package/dist/chunk-AXHJC7FV.js +106 -0
  484. package/dist/chunk-AXHJC7FV.js.map +1 -0
  485. package/dist/chunk-B3HZIYQQ.cjs +46 -0
  486. package/dist/chunk-B3HZIYQQ.cjs.map +1 -0
  487. package/dist/chunk-B4VXFHER.js +63 -0
  488. package/dist/chunk-B4VXFHER.js.map +1 -0
  489. package/dist/chunk-BXFP7EAW.cjs +176 -0
  490. package/dist/chunk-BXFP7EAW.cjs.map +1 -0
  491. package/dist/chunk-C5B5Y4S2.cjs +292 -0
  492. package/dist/chunk-C5B5Y4S2.cjs.map +1 -0
  493. package/dist/chunk-D7ZE4NMX.cjs +30 -0
  494. package/dist/chunk-D7ZE4NMX.cjs.map +1 -0
  495. package/dist/chunk-DATPWEQK.cjs +73 -0
  496. package/dist/chunk-DATPWEQK.cjs.map +1 -0
  497. package/dist/chunk-DFHFXKR5.cjs +113 -0
  498. package/dist/chunk-DFHFXKR5.cjs.map +1 -0
  499. package/dist/chunk-DKTB6PKI.js +44 -0
  500. package/dist/chunk-DKTB6PKI.js.map +1 -0
  501. package/dist/chunk-DNRZCHZG.js +110 -0
  502. package/dist/chunk-DNRZCHZG.js.map +1 -0
  503. package/dist/chunk-EIFN6XMU.cjs +117 -0
  504. package/dist/chunk-EIFN6XMU.cjs.map +1 -0
  505. package/dist/chunk-EJNMH7ND.js +122 -0
  506. package/dist/chunk-EJNMH7ND.js.map +1 -0
  507. package/dist/chunk-ELI3LL3K.cjs +76 -0
  508. package/dist/chunk-ELI3LL3K.cjs.map +1 -0
  509. package/dist/chunk-EQ7S5SYM.js +67 -0
  510. package/dist/chunk-EQ7S5SYM.js.map +1 -0
  511. package/dist/chunk-ES3KKDLM.js +245 -0
  512. package/dist/chunk-ES3KKDLM.js.map +1 -0
  513. package/dist/chunk-F36V2QTN.js +28 -0
  514. package/dist/chunk-F36V2QTN.js.map +1 -0
  515. package/dist/chunk-F42Z33L7.cjs +103 -0
  516. package/dist/chunk-F42Z33L7.cjs.map +1 -0
  517. package/dist/chunk-F5X3V6A3.cjs +55 -0
  518. package/dist/chunk-F5X3V6A3.cjs.map +1 -0
  519. package/dist/chunk-FBOTWA6O.cjs +97 -0
  520. package/dist/chunk-FBOTWA6O.cjs.map +1 -0
  521. package/dist/chunk-FRGH3Q75.cjs +159 -0
  522. package/dist/chunk-FRGH3Q75.cjs.map +1 -0
  523. package/dist/chunk-FWRVCH7T.js +37 -0
  524. package/dist/chunk-FWRVCH7T.js.map +1 -0
  525. package/dist/chunk-FYFL4PFD.cjs +69 -0
  526. package/dist/chunk-FYFL4PFD.cjs.map +1 -0
  527. package/dist/chunk-G564WB32.cjs +57 -0
  528. package/dist/chunk-G564WB32.cjs.map +1 -0
  529. package/dist/chunk-GCMI5JGQ.cjs +126 -0
  530. package/dist/chunk-GCMI5JGQ.cjs.map +1 -0
  531. package/dist/chunk-GZCNFM6C.js +234 -0
  532. package/dist/chunk-GZCNFM6C.js.map +1 -0
  533. package/dist/chunk-H3AASAXK.cjs +82 -0
  534. package/dist/chunk-H3AASAXK.cjs.map +1 -0
  535. package/dist/chunk-H5VPBP7U.js +115 -0
  536. package/dist/chunk-H5VPBP7U.js.map +1 -0
  537. package/dist/chunk-HQ65GEM7.js +127 -0
  538. package/dist/chunk-HQ65GEM7.js.map +1 -0
  539. package/dist/chunk-HSYTBMLN.cjs +44 -0
  540. package/dist/chunk-HSYTBMLN.cjs.map +1 -0
  541. package/dist/chunk-HTA5EG6X.cjs +625 -0
  542. package/dist/chunk-HTA5EG6X.cjs.map +1 -0
  543. package/dist/chunk-I3HBI52O.js +67 -0
  544. package/dist/chunk-I3HBI52O.js.map +1 -0
  545. package/dist/chunk-IECISUOZ.js +920 -0
  546. package/dist/chunk-IECISUOZ.js.map +1 -0
  547. package/dist/chunk-IRU5E252.cjs +65 -0
  548. package/dist/chunk-IRU5E252.cjs.map +1 -0
  549. package/dist/chunk-IUR7SPDA.js +322 -0
  550. package/dist/chunk-IUR7SPDA.js.map +1 -0
  551. package/dist/chunk-J3IKUWXD.js +102 -0
  552. package/dist/chunk-J3IKUWXD.js.map +1 -0
  553. package/dist/chunk-JD4TEUIV.js +47 -0
  554. package/dist/chunk-JD4TEUIV.js.map +1 -0
  555. package/dist/chunk-K3JC52JH.cjs +49 -0
  556. package/dist/chunk-K3JC52JH.cjs.map +1 -0
  557. package/dist/chunk-K5FWY6HB.cjs +129 -0
  558. package/dist/chunk-K5FWY6HB.cjs.map +1 -0
  559. package/dist/chunk-KBBLTGIU.js +73 -0
  560. package/dist/chunk-KBBLTGIU.js.map +1 -0
  561. package/dist/chunk-KCXXUUWC.js +47 -0
  562. package/dist/chunk-KCXXUUWC.js.map +1 -0
  563. package/dist/chunk-KUW2ZR2A.cjs +183 -0
  564. package/dist/chunk-KUW2ZR2A.cjs.map +1 -0
  565. package/dist/chunk-L7ULSFW6.cjs +35 -0
  566. package/dist/chunk-L7ULSFW6.cjs.map +1 -0
  567. package/dist/chunk-LBEGRYTP.js +219 -0
  568. package/dist/chunk-LBEGRYTP.js.map +1 -0
  569. package/dist/chunk-N7IQ6LYD.cjs +71 -0
  570. package/dist/chunk-N7IQ6LYD.cjs.map +1 -0
  571. package/dist/chunk-NCNDJTOK.js +101 -0
  572. package/dist/chunk-NCNDJTOK.js.map +1 -0
  573. package/dist/chunk-NFC2C2TD.js +181 -0
  574. package/dist/chunk-NFC2C2TD.js.map +1 -0
  575. package/dist/chunk-NMYXVZQP.cjs +121 -0
  576. package/dist/chunk-NMYXVZQP.cjs.map +1 -0
  577. package/dist/chunk-NNS4YN3C.js +42 -0
  578. package/dist/chunk-NNS4YN3C.js.map +1 -0
  579. package/dist/chunk-ODV3XF5W.cjs +71 -0
  580. package/dist/chunk-ODV3XF5W.cjs.map +1 -0
  581. package/dist/chunk-OJEZ3TKT.js +119 -0
  582. package/dist/chunk-OJEZ3TKT.js.map +1 -0
  583. package/dist/chunk-OYRX4AY6.js +159 -0
  584. package/dist/chunk-OYRX4AY6.js.map +1 -0
  585. package/dist/chunk-PBPGBVQQ.cjs +98 -0
  586. package/dist/chunk-PBPGBVQQ.cjs.map +1 -0
  587. package/dist/chunk-PIIJVF5D.cjs +108 -0
  588. package/dist/chunk-PIIJVF5D.cjs.map +1 -0
  589. package/dist/chunk-PMNTOEXC.js +97 -0
  590. package/dist/chunk-PMNTOEXC.js.map +1 -0
  591. package/dist/chunk-PVKBGP6Q.js +174 -0
  592. package/dist/chunk-PVKBGP6Q.js.map +1 -0
  593. package/dist/chunk-Q4QF6UYX.cjs +520 -0
  594. package/dist/chunk-Q4QF6UYX.cjs.map +1 -0
  595. package/dist/chunk-QI7XQDFZ.cjs +221 -0
  596. package/dist/chunk-QI7XQDFZ.cjs.map +1 -0
  597. package/dist/chunk-QKSCFVN2.js +96 -0
  598. package/dist/chunk-QKSCFVN2.js.map +1 -0
  599. package/dist/chunk-R77VVMV5.cjs +328 -0
  600. package/dist/chunk-R77VVMV5.cjs.map +1 -0
  601. package/dist/chunk-R7CRWOHG.js +101 -0
  602. package/dist/chunk-R7CRWOHG.js.map +1 -0
  603. package/dist/chunk-RIR43PO3.js +69 -0
  604. package/dist/chunk-RIR43PO3.js.map +1 -0
  605. package/dist/chunk-RTAQSOVE.cjs +161 -0
  606. package/dist/chunk-RTAQSOVE.cjs.map +1 -0
  607. package/dist/chunk-RWZSTG6Q.cjs +131 -0
  608. package/dist/chunk-RWZSTG6Q.cjs.map +1 -0
  609. package/dist/chunk-SMVAHIBN.cjs +46 -0
  610. package/dist/chunk-SMVAHIBN.cjs.map +1 -0
  611. package/dist/chunk-TGSKTHTV.js +494 -0
  612. package/dist/chunk-TGSKTHTV.js.map +1 -0
  613. package/dist/chunk-TNKJCJ3U.cjs +94 -0
  614. package/dist/chunk-TNKJCJ3U.cjs.map +1 -0
  615. package/dist/chunk-U2TTRBES.js +286 -0
  616. package/dist/chunk-U2TTRBES.js.map +1 -0
  617. package/dist/chunk-UT5UXO44.js +125 -0
  618. package/dist/chunk-UT5UXO44.js.map +1 -0
  619. package/dist/chunk-VIJ3PXCW.cjs +104 -0
  620. package/dist/chunk-VIJ3PXCW.cjs.map +1 -0
  621. package/dist/chunk-VJM2XBHZ.cjs +31 -0
  622. package/dist/chunk-VJM2XBHZ.cjs.map +1 -0
  623. package/dist/chunk-VPHHGQWP.js +104 -0
  624. package/dist/chunk-VPHHGQWP.js.map +1 -0
  625. package/dist/chunk-VQKPZ4YE.cjs +251 -0
  626. package/dist/chunk-VQKPZ4YE.cjs.map +1 -0
  627. package/dist/chunk-VTANPKPT.js +71 -0
  628. package/dist/chunk-VTANPKPT.js.map +1 -0
  629. package/dist/chunk-W6BUNUQM.cjs +46 -0
  630. package/dist/chunk-W6BUNUQM.cjs.map +1 -0
  631. package/dist/chunk-WBN5SAY5.js +53 -0
  632. package/dist/chunk-WBN5SAY5.js.map +1 -0
  633. package/dist/chunk-WWL4VEPH.js +51 -0
  634. package/dist/chunk-WWL4VEPH.js.map +1 -0
  635. package/dist/chunk-WZ2GV4HA.js +49 -0
  636. package/dist/chunk-WZ2GV4HA.js.map +1 -0
  637. package/dist/chunk-X2F2DVMB.js +85 -0
  638. package/dist/chunk-X2F2DVMB.js.map +1 -0
  639. package/dist/chunk-X4MEHYWV.js +105 -0
  640. package/dist/chunk-X4MEHYWV.js.map +1 -0
  641. package/dist/chunk-X7EE5DXL.js +64 -0
  642. package/dist/chunk-X7EE5DXL.js.map +1 -0
  643. package/dist/chunk-XB3BT6BU.js +619 -0
  644. package/dist/chunk-XB3BT6BU.js.map +1 -0
  645. package/dist/chunk-XMBTKO5I.cjs +136 -0
  646. package/dist/chunk-XMBTKO5I.cjs.map +1 -0
  647. package/dist/chunk-XO6PBAAM.cjs +73 -0
  648. package/dist/chunk-XO6PBAAM.cjs.map +1 -0
  649. package/dist/chunk-XWHITF5V.cjs +31 -0
  650. package/dist/chunk-XWHITF5V.cjs.map +1 -0
  651. package/dist/chunk-XYJMP23P.cjs +159 -0
  652. package/dist/chunk-XYJMP23P.cjs.map +1 -0
  653. package/dist/chunk-Y7A3WQQN.js +79 -0
  654. package/dist/chunk-Y7A3WQQN.js.map +1 -0
  655. package/dist/chunk-YJESCN4Y.cjs +39 -0
  656. package/dist/chunk-YJESCN4Y.cjs.map +1 -0
  657. package/dist/chunk-YPVRTMX6.js +91 -0
  658. package/dist/chunk-YPVRTMX6.js.map +1 -0
  659. package/dist/chunk-YXTLWTY4.js +29 -0
  660. package/dist/chunk-YXTLWTY4.js.map +1 -0
  661. package/dist/chunk-Z5LFRNNJ.js +157 -0
  662. package/dist/chunk-Z5LFRNNJ.js.map +1 -0
  663. package/dist/chunk-ZAHKA2V2.js +106 -0
  664. package/dist/chunk-ZAHKA2V2.js.map +1 -0
  665. package/dist/chunk-ZFBLVX7E.cjs +51 -0
  666. package/dist/chunk-ZFBLVX7E.cjs.map +1 -0
  667. package/dist/chunk-ZGWBLJ6U.cjs +55 -0
  668. package/dist/chunk-ZGWBLJ6U.cjs.map +1 -0
  669. package/dist/chunk-ZLHNRKOQ.js +29 -0
  670. package/dist/chunk-ZLHNRKOQ.js.map +1 -0
  671. package/dist/chunk-ZQBEQK2I.cjs +231 -0
  672. package/dist/chunk-ZQBEQK2I.cjs.map +1 -0
  673. package/dist/chunk-ZSK74QFN.cjs +49 -0
  674. package/dist/chunk-ZSK74QFN.cjs.map +1 -0
  675. package/dist/index.cjs +334 -8101
  676. package/dist/index.cjs.map +1 -1
  677. package/dist/index.js +63 -8026
  678. package/dist/index.js.map +1 -1
  679. package/dist/src/icons.d.ts +70 -0
  680. package/dist/src/index.d.ts +124 -0
  681. package/dist/tsup.config.d.ts +2 -0
  682. package/dist/vite.config.d.ts +2 -0
  683. package/package.json +17 -3
  684. package/dist/index.d.cts +0 -1624
  685. package/dist/index.d.ts +0 -1624
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ var chunkQ4QF6UYX_cjs = require('./chunk-Q4QF6UYX.cjs');
4
+ var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function drawQrCode(canvas, text, size) {
8
+ const ctx = canvas.getContext("2d");
9
+ if (!ctx) return;
10
+ const dpr = window.devicePixelRatio || 1;
11
+ canvas.width = size * dpr;
12
+ canvas.height = size * dpr;
13
+ ctx.scale(dpr, dpr);
14
+ ctx.fillStyle = "#ffffff";
15
+ ctx.fillRect(0, 0, size, size);
16
+ const modules = 25;
17
+ const cellSize = size / modules;
18
+ ctx.fillStyle = "#000000";
19
+ const drawPositionPattern = (x, y) => {
20
+ ctx.fillRect(x * cellSize, y * cellSize, 7 * cellSize, 7 * cellSize);
21
+ ctx.fillStyle = "#ffffff";
22
+ ctx.fillRect((x + 1) * cellSize, (y + 1) * cellSize, 5 * cellSize, 5 * cellSize);
23
+ ctx.fillStyle = "#000000";
24
+ ctx.fillRect((x + 2) * cellSize, (y + 2) * cellSize, 3 * cellSize, 3 * cellSize);
25
+ };
26
+ drawPositionPattern(0, 0);
27
+ drawPositionPattern(modules - 7, 0);
28
+ drawPositionPattern(0, modules - 7);
29
+ let hash = 0;
30
+ for (let i = 0; i < text.length; i++) {
31
+ hash = (hash << 5) - hash + text.charCodeAt(i);
32
+ hash |= 0;
33
+ }
34
+ for (let r = 0; r < modules; r++) {
35
+ for (let c = 0; c < modules; c++) {
36
+ if (r < 8 && c < 8 || r < 8 && c >= modules - 8 || r >= modules - 8 && c < 8) {
37
+ continue;
38
+ }
39
+ const seed = (r * 31 + c * 17 + hash) % 100;
40
+ if (Math.abs(seed) % 2 === 0) {
41
+ ctx.fillStyle = "#000000";
42
+ ctx.fillRect(c * cellSize, r * cellSize, cellSize - 0.2, cellSize - 0.2);
43
+ }
44
+ }
45
+ }
46
+ }
47
+ var QrCodeCard = ({
48
+ value,
49
+ size = 160,
50
+ icon,
51
+ status = "active",
52
+ title,
53
+ description,
54
+ downloadable = false,
55
+ onRefresh,
56
+ className = "",
57
+ style
58
+ }) => {
59
+ const canvasRef = react.useRef(null);
60
+ react.useEffect(() => {
61
+ if (canvasRef.current && value) {
62
+ drawQrCode(canvasRef.current, value, size);
63
+ }
64
+ }, [value, size]);
65
+ const handleDownload = () => {
66
+ if (!canvasRef.current) return;
67
+ const url = canvasRef.current.toDataURL("image/png");
68
+ const a = document.createElement("a");
69
+ a.href = url;
70
+ a.download = `qrcode-${Date.now()}.png`;
71
+ a.click();
72
+ };
73
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rpc_qrcode_card ${className}`, style, children: [
74
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_qrcode_card_wrap", style: { width: size, height: size }, children: [
75
+ /* @__PURE__ */ jsxRuntime.jsx(
76
+ "canvas",
77
+ {
78
+ ref: canvasRef,
79
+ className: "rpc_qrcode_card_canvas",
80
+ style: { width: size, height: size }
81
+ }
82
+ ),
83
+ icon && status === "active" && /* @__PURE__ */ jsxRuntime.jsx("img", { src: icon, alt: "Logo", className: "rpc_qrcode_card_logo" }),
84
+ status === "expired" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_qrcode_card_mask", onClick: onRefresh, children: [
85
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u4E8C\u7EF4\u7801\u5DF2\u5931\u6548" }),
86
+ /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: "rpc_qrcode_card_refresh_btn", children: [
87
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.ReloadOutlined, {}),
88
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u70B9\u51FB\u5237\u65B0" })
89
+ ] })
90
+ ] }),
91
+ status === "loading" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_qrcode_card_mask rpc_qrcode_card_mask_loading", children: [
92
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.LoadingOutlined, { style: { fontSize: 28, color: "#1677ff" } }),
93
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_qrcode_card_mask_text", children: "\u52A0\u8F7D\u4E2D..." })
94
+ ] })
95
+ ] }),
96
+ (title || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_qrcode_card_info", children: [
97
+ title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_qrcode_card_title", children: title }),
98
+ description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_qrcode_card_description", children: description })
99
+ ] }),
100
+ downloadable && status === "active" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_qrcode_card_download", onClick: handleDownload, children: "\u4E0B\u8F7D\u4E8C\u7EF4\u7801" })
101
+ ] });
102
+ };
103
+ var QrCodeCard_default = QrCodeCard;
104
+
105
+ exports.QrCodeCard_default = QrCodeCard_default;
106
+ //# sourceMappingURL=chunk-4DUMEO5E.cjs.map
107
+ //# sourceMappingURL=chunk-4DUMEO5E.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../QrCodeCard/index.tsx"],"names":["useRef","useEffect","jsxs","jsx","ReloadOutlined","LoadingOutlined"],"mappings":"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","file":"chunk-4DUMEO5E.cjs","sourcesContent":["import React, { useRef, useEffect, ReactNode, CSSProperties } from 'react';\nimport { ReloadOutlined, LoadingOutlined } from '../src/icons';\nimport './index.less';\n\nexport type QrCodeStatus = 'active' | 'expired' | 'loading';\n\nexport interface QrCodeCardProps {\n\t/** 二维码内容或跳转 URL */\n\tvalue: string;\n\t/** 二维码尺寸(像素),默认为 160 */\n\tsize?: number;\n\t/** 中心嵌入的 Logo 图标地址 */\n\ticon?: string;\n\t/** 二维码状态:'active' 正常,'expired' 已过期,'loading' 生成中,默认为 'active' */\n\tstatus?: QrCodeStatus;\n\t/** 卡片标题说明 */\n\ttitle?: ReactNode;\n\t/** 卡片副标题或扫码提示 */\n\tdescription?: ReactNode;\n\t/** 是否显示一键下载二维码按钮,默认为 false */\n\tdownloadable?: boolean;\n\t/** 点击过期遮罩刷新时的回调 */\n\tonRefresh?: () => void;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\n// 简易轻量伪随机但确定性的二维码图案矩阵绘制算法(保证零外部大库)\nfunction drawQrCode(canvas: HTMLCanvasElement, text: string, size: number) {\n\tconst ctx = canvas.getContext('2d');\n\tif (!ctx) return;\n\n\tconst dpr = window.devicePixelRatio || 1;\n\tcanvas.width = size * dpr;\n\tcanvas.height = size * dpr;\n\tctx.scale(dpr, dpr);\n\n\tctx.fillStyle = '#ffffff';\n\tctx.fillRect(0, 0, size, size);\n\n\tconst modules = 25; // 25x25 矩阵\n\tconst cellSize = size / modules;\n\n\tctx.fillStyle = '#000000';\n\n\t// 绘制三个角的定位方块 (Position Detection Patterns)\n\tconst drawPositionPattern = (x: number, y: number) => {\n\t\t// 外 7x7\n\t\tctx.fillRect(x * cellSize, y * cellSize, 7 * cellSize, 7 * cellSize);\n\t\t// 中间挖空 5x5\n\t\tctx.fillStyle = '#ffffff';\n\t\tctx.fillRect((x + 1) * cellSize, (y + 1) * cellSize, 5 * cellSize, 5 * cellSize);\n\t\t// 中心实心 3x3\n\t\tctx.fillStyle = '#000000';\n\t\tctx.fillRect((x + 2) * cellSize, (y + 2) * cellSize, 3 * cellSize, 3 * cellSize);\n\t};\n\n\tdrawPositionPattern(0, 0);\n\tdrawPositionPattern(modules - 7, 0);\n\tdrawPositionPattern(0, modules - 7);\n\n\t// 基于文本字符串的 hash 填充数据点\n\tlet hash = 0;\n\tfor (let i = 0; i < text.length; i++) {\n\t\thash = (hash << 5) - hash + text.charCodeAt(i);\n\t\thash |= 0;\n\t}\n\n\tfor (let r = 0; r < modules; r++) {\n\t\tfor (let c = 0; c < modules; c++) {\n\t\t\t// 跳过三个角的位置\n\t\t\tif (\n\t\t\t\t(r < 8 && c < 8) ||\n\t\t\t\t(r < 8 && c >= modules - 8) ||\n\t\t\t\t(r >= modules - 8 && c < 8)\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst seed = (r * 31 + c * 17 + hash) % 100;\n\t\t\tif (Math.abs(seed) % 2 === 0) {\n\t\t\t\tctx.fillStyle = '#000000';\n\t\t\t\tctx.fillRect(c * cellSize, r * cellSize, cellSize - 0.2, cellSize - 0.2);\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst QrCodeCard: React.FC<QrCodeCardProps> = ({\n\tvalue,\n\tsize = 160,\n\ticon,\n\tstatus = 'active',\n\ttitle,\n\tdescription,\n\tdownloadable = false,\n\tonRefresh,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst canvasRef = useRef<HTMLCanvasElement>(null);\n\n\tuseEffect(() => {\n\t\tif (canvasRef.current && value) {\n\t\t\tdrawQrCode(canvasRef.current, value, size);\n\t\t}\n\t}, [value, size]);\n\n\tconst handleDownload = () => {\n\t\tif (!canvasRef.current) return;\n\t\tconst url = canvasRef.current.toDataURL('image/png');\n\t\tconst a = document.createElement('a');\n\t\ta.href = url;\n\t\ta.download = `qrcode-${Date.now()}.png`;\n\t\ta.click();\n\t};\n\n\treturn (\n\t\t<div className={`rpc_qrcode_card ${className}`} style={style}>\n\t\t\t<div className=\"rpc_qrcode_card_wrap\" style={{ width: size, height: size }}>\n\t\t\t\t<canvas\n\t\t\t\t\tref={canvasRef}\n\t\t\t\t\tclassName=\"rpc_qrcode_card_canvas\"\n\t\t\t\t\tstyle={{ width: size, height: size }}\n\t\t\t\t/>\n\n\t\t\t\t{/* 嵌入中心 Logo */}\n\t\t\t\t{icon && status === 'active' && (\n\t\t\t\t\t<img src={icon} alt=\"Logo\" className=\"rpc_qrcode_card_logo\" />\n\t\t\t\t)}\n\n\t\t\t\t{/* 过期或加载中蒙层 */}\n\t\t\t\t{status === 'expired' && (\n\t\t\t\t\t<div className=\"rpc_qrcode_card_mask\" onClick={onRefresh}>\n\t\t\t\t\t\t<span>二维码已失效</span>\n\t\t\t\t\t\t<button type=\"button\" className=\"rpc_qrcode_card_refresh_btn\">\n\t\t\t\t\t\t\t<ReloadOutlined />\n\t\t\t\t\t\t\t<span>点击刷新</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'loading' && (\n\t\t\t\t\t<div className=\"rpc_qrcode_card_mask rpc_qrcode_card_mask_loading\">\n\t\t\t\t\t\t<LoadingOutlined style={{ fontSize: 28, color: '#1677ff' }} />\n\t\t\t\t\t\t<span className=\"rpc_qrcode_card_mask_text\">加载中...</span>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* 标题说明 */}\n\t\t\t{(title || description) && (\n\t\t\t\t<div className=\"rpc_qrcode_card_info\">\n\t\t\t\t\t{title && <span className=\"rpc_qrcode_card_title\">{title}</span>}\n\t\t\t\t\t{description && <span className=\"rpc_qrcode_card_description\">{description}</span>}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* 下载链接 */}\n\t\t\t{downloadable && status === 'active' && (\n\t\t\t\t<span className=\"rpc_qrcode_card_download\" onClick={handleDownload}>\n\t\t\t\t\t下载二维码\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default QrCodeCard;\n"]}
@@ -0,0 +1,241 @@
1
+ 'use strict';
2
+
3
+ var chunkQ4QF6UYX_cjs = require('./chunk-Q4QF6UYX.cjs');
4
+ var react = require('react');
5
+ var ReactDOM = require('react-dom');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var ReactDOM__default = /*#__PURE__*/_interopDefault(ReactDOM);
11
+
12
+ function inferFileType(urlOrName) {
13
+ if (!urlOrName) return "unknown";
14
+ const clean = urlOrName.split("?")[0].split("#")[0].toLowerCase();
15
+ const ext = clean.substring(clean.lastIndexOf(".") + 1);
16
+ if (["jpg", "jpeg", "png", "gif", "webp", "svg", "bmp", "ico"].includes(ext)) {
17
+ return "image";
18
+ }
19
+ if (["mp4", "webm", "ogg", "mov", "mkv"].includes(ext)) {
20
+ return "video";
21
+ }
22
+ if (["mp3", "wav", "aac", "flac", "m4a"].includes(ext)) {
23
+ return "audio";
24
+ }
25
+ if (["pdf"].includes(ext)) {
26
+ return "pdf";
27
+ }
28
+ if (["txt", "json", "js", "ts", "jsx", "tsx", "html", "css", "less", "md", "log", "xml"].includes(ext)) {
29
+ return "text";
30
+ }
31
+ return "unknown";
32
+ }
33
+ var FilePreviewer = ({
34
+ open,
35
+ file,
36
+ onCancel,
37
+ onDownload,
38
+ extraActions,
39
+ className = "",
40
+ style
41
+ }) => {
42
+ const [imageScale, setImageScale] = react.useState(1);
43
+ const [imageRotate, setImageRotate] = react.useState(0);
44
+ react.useEffect(() => {
45
+ if (open) {
46
+ setImageScale(1);
47
+ setImageRotate(0);
48
+ }
49
+ }, [open, file]);
50
+ if (!open || !file) return null;
51
+ const currentFile = typeof file === "string" ? { url: file, name: file.substring(file.lastIndexOf("/") + 1) } : file;
52
+ const type = currentFile.fileType || inferFileType(currentFile.name || currentFile.url);
53
+ const handleDefaultDownload = () => {
54
+ if (onDownload) {
55
+ onDownload(currentFile);
56
+ return;
57
+ }
58
+ const a = document.createElement("a");
59
+ a.href = currentFile.url;
60
+ a.download = currentFile.name || "download";
61
+ a.target = "_blank";
62
+ document.body.appendChild(a);
63
+ a.click();
64
+ a.remove();
65
+ };
66
+ const renderFileIcon = () => {
67
+ switch (type) {
68
+ case "image":
69
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.FileImageOutlined, { style: { color: "#1677ff" } });
70
+ case "pdf":
71
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.FilePdfOutlined, { style: { color: "#ff4d4f" } });
72
+ case "text":
73
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.FileTextOutlined, { style: { color: "#52c41a" } });
74
+ default:
75
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.FileOutlined, { style: { color: "#8c8c8c" } });
76
+ }
77
+ };
78
+ const renderBodyContent = () => {
79
+ switch (type) {
80
+ case "image":
81
+ return /* @__PURE__ */ jsxRuntime.jsx(
82
+ "img",
83
+ {
84
+ src: currentFile.url,
85
+ alt: currentFile.name || "Preview",
86
+ className: "rpc_file_previewer_modal_image",
87
+ style: {
88
+ transform: `scale(${imageScale}) rotate(${imageRotate}deg)`
89
+ }
90
+ }
91
+ );
92
+ case "video":
93
+ return /* @__PURE__ */ jsxRuntime.jsx(
94
+ "video",
95
+ {
96
+ src: currentFile.url,
97
+ controls: true,
98
+ autoPlay: true,
99
+ className: "rpc_file_previewer_modal_media"
100
+ }
101
+ );
102
+ case "audio":
103
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_file_previewer_modal_audio_wrap", children: [
104
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 48 }, children: "\u{1F3B5}" }),
105
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 600 }, children: currentFile.name || "\u97F3\u9891\u64AD\u653E" }),
106
+ /* @__PURE__ */ jsxRuntime.jsx("audio", { src: currentFile.url, controls: true, autoPlay: true, style: { width: 320 } })
107
+ ] });
108
+ case "pdf":
109
+ return /* @__PURE__ */ jsxRuntime.jsx(
110
+ "iframe",
111
+ {
112
+ src: currentFile.url,
113
+ title: currentFile.name || "PDF Preview",
114
+ className: "rpc_file_previewer_modal_iframe"
115
+ }
116
+ );
117
+ case "text":
118
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_file_previewer_modal_text_wrap", children: currentFile.textContent || "\u6B63\u5728\u52A0\u8F7D\u6587\u4EF6\u5185\u5BB9..." });
119
+ default:
120
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_file_previewer_modal_fallback_card", children: [
121
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 48, color: "#8c8c8c" }, children: "\u{1F4E6}" }),
122
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
123
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { style: { margin: "0 0 6px 0", fontSize: 16, color: "#1f1f1f" }, children: currentFile.name || "\u672A\u77E5\u6587\u4EF6" }),
124
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { style: { margin: 0, color: "#8c8c8c", fontSize: 13 }, children: [
125
+ "\u8BE5\u683C\u5F0F\u6682\u4E0D\u652F\u6301\u76F4\u63A5\u5728\u7EBF\u9884\u89C8\uFF0C\u8BF7\u4E0B\u8F7D\u540E\u5728\u672C\u5730\u67E5\u770B\u3002",
126
+ currentFile.size ? `(${currentFile.size})` : ""
127
+ ] })
128
+ ] }),
129
+ /* @__PURE__ */ jsxRuntime.jsxs(
130
+ "button",
131
+ {
132
+ type: "button",
133
+ onClick: handleDefaultDownload,
134
+ style: {
135
+ display: "inline-flex",
136
+ alignItems: "center",
137
+ gap: 6,
138
+ padding: "8px 20px",
139
+ background: "#1677ff",
140
+ color: "#fff",
141
+ border: "none",
142
+ borderRadius: 6,
143
+ cursor: "pointer",
144
+ fontSize: 14
145
+ },
146
+ children: [
147
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.DownloadOutlined, {}),
148
+ " \u7ACB\u5373\u4E0B\u8F7D"
149
+ ]
150
+ }
151
+ )
152
+ ] });
153
+ }
154
+ };
155
+ return ReactDOM__default.default.createPortal(
156
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `rpc_file_previewer_modal ${className}`, onClick: onCancel, style, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_file_previewer_modal_card", onClick: (e) => e.stopPropagation(), children: [
157
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_file_previewer_modal_header", children: [
158
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_file_previewer_modal_title", children: [
159
+ renderFileIcon(),
160
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: currentFile.name || "\u6587\u4EF6\u9884\u89C8" })
161
+ ] }),
162
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_file_previewer_modal_actions", children: [
163
+ type === "image" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
164
+ /* @__PURE__ */ jsxRuntime.jsx(
165
+ "button",
166
+ {
167
+ type: "button",
168
+ className: "rpc_file_previewer_modal_action_btn",
169
+ onClick: () => setImageScale((s) => Math.min(s + 0.2, 3)),
170
+ title: "\u653E\u5927",
171
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.ZoomInOutlined, {})
172
+ }
173
+ ),
174
+ /* @__PURE__ */ jsxRuntime.jsx(
175
+ "button",
176
+ {
177
+ type: "button",
178
+ className: "rpc_file_previewer_modal_action_btn",
179
+ onClick: () => setImageScale((s) => Math.max(s - 0.2, 0.4)),
180
+ title: "\u7F29\u5C0F",
181
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.ZoomOutOutlined, {})
182
+ }
183
+ ),
184
+ /* @__PURE__ */ jsxRuntime.jsx(
185
+ "button",
186
+ {
187
+ type: "button",
188
+ className: "rpc_file_previewer_modal_action_btn",
189
+ onClick: () => setImageRotate((r) => (r + 90) % 360),
190
+ title: "\u987A\u65F6\u9488\u65CB\u8F6C90\xB0",
191
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.RotateRightOutlined, {})
192
+ }
193
+ )
194
+ ] }),
195
+ /* @__PURE__ */ jsxRuntime.jsx(
196
+ "button",
197
+ {
198
+ type: "button",
199
+ className: "rpc_file_previewer_modal_action_btn",
200
+ onClick: handleDefaultDownload,
201
+ title: "\u4E0B\u8F7D\u6587\u4EF6",
202
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.DownloadOutlined, {})
203
+ }
204
+ ),
205
+ extraActions,
206
+ /* @__PURE__ */ jsxRuntime.jsx(
207
+ "button",
208
+ {
209
+ type: "button",
210
+ className: "rpc_file_previewer_modal_action_btn",
211
+ onClick: onCancel,
212
+ title: "\u5173\u95ED\u9884\u89C8 (ESC)",
213
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.CloseOutlined, {})
214
+ }
215
+ )
216
+ ] })
217
+ ] }),
218
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_file_previewer_modal_body", children: renderBodyContent() })
219
+ ] }) }),
220
+ document.body
221
+ );
222
+ };
223
+ FilePreviewer.preview = (options) => {
224
+ const div = document.createElement("div");
225
+ document.body.appendChild(div);
226
+ const close = () => {
227
+ ReactDOM__default.default.render(/* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {}), div);
228
+ div.remove();
229
+ };
230
+ ReactDOM__default.default.render(
231
+ /* @__PURE__ */ jsxRuntime.jsx(FilePreviewer, { open: true, file: options, onCancel: close }),
232
+ div
233
+ );
234
+ return { close };
235
+ };
236
+ var FilePreviewer_default = FilePreviewer;
237
+
238
+ exports.FilePreviewer_default = FilePreviewer_default;
239
+ exports.inferFileType = inferFileType;
240
+ //# sourceMappingURL=chunk-4GQ3X7MG.cjs.map
241
+ //# sourceMappingURL=chunk-4GQ3X7MG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../FilePreviewer/index.tsx"],"names":["useState","useEffect","FileImageOutlined","FilePdfOutlined","FileTextOutlined","FileOutlined","jsx","jsxs","DownloadOutlined","ReactDOM","Fragment","ZoomInOutlined","ZoomOutOutlined","RotateRightOutlined","CloseOutlined"],"mappings":"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","file":"chunk-4GQ3X7MG.cjs","sourcesContent":["import React, { useState, useEffect, ReactNode, CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n\tCloseOutlined,\n\tRotateRightOutlined,\n\tZoomInOutlined,\n\tZoomOutOutlined,\n\tDownloadOutlined,\n\tFilePdfOutlined,\n\tFileImageOutlined,\n\tFileTextOutlined,\n\tFileOutlined,\n} from '../src/icons';\nimport './index.less';\n\nexport type FileType = 'image' | 'video' | 'audio' | 'pdf' | 'text' | 'unknown';\n\nexport interface FileItem {\n\t/** 文件访问 URL 或 Base64 */\n\turl: string;\n\t/** 文件名称 */\n\tname?: string;\n\t/** 文件类型(如不传则根据文件名后缀或 URL 自动推断) */\n\tfileType?: FileType;\n\t/** 文件大小描述(如 '2.4 MB') */\n\tsize?: string;\n\t/** 纯文本内容(针对直接传入 text 字符串预览) */\n\ttextContent?: string;\n}\n\nexport interface FilePreviewerProps {\n\t/** 是否打开预览弹窗 */\n\topen: boolean;\n\t/** 当前预览的文件对象或 URL 字符串 */\n\tfile?: FileItem | string | null;\n\t/** 关闭弹窗回调 */\n\tonCancel?: () => void;\n\t/** 自定义下载行为(不传时使用默认浏览器下载) */\n\tonDownload?: (file: FileItem) => void;\n\t/** 自定义标题栏右侧额外操作按钮 */\n\textraActions?: ReactNode;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\n// 根据文件名或 URL 后缀推断文件类型\nexport function inferFileType(urlOrName: string): FileType {\n\tif (!urlOrName) return 'unknown';\n\tconst clean = urlOrName.split('?')[0].split('#')[0].toLowerCase();\n\tconst ext = clean.substring(clean.lastIndexOf('.') + 1);\n\n\tif (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp', 'ico'].includes(ext)) {\n\t\treturn 'image';\n\t}\n\tif (['mp4', 'webm', 'ogg', 'mov', 'mkv'].includes(ext)) {\n\t\treturn 'video';\n\t}\n\tif (['mp3', 'wav', 'aac', 'flac', 'm4a'].includes(ext)) {\n\t\treturn 'audio';\n\t}\n\tif (['pdf'].includes(ext)) {\n\t\treturn 'pdf';\n\t}\n\tif (['txt', 'json', 'js', 'ts', 'jsx', 'tsx', 'html', 'css', 'less', 'md', 'log', 'xml'].includes(ext)) {\n\t\treturn 'text';\n\t}\n\treturn 'unknown';\n}\n\nconst FilePreviewer: React.FC<FilePreviewerProps> & {\n\tpreview: (options: FileItem) => { close: () => void };\n} = ({\n\topen,\n\tfile,\n\tonCancel,\n\tonDownload,\n\textraActions,\n\tclassName = '',\n\tstyle,\n}) => {\n\t// 图片控制状态\n\tconst [imageScale, setImageScale] = useState<number>(1);\n\tconst [imageRotate, setImageRotate] = useState<number>(0);\n\n\tuseEffect(() => {\n\t\tif (open) {\n\t\t\tsetImageScale(1);\n\t\t\tsetImageRotate(0);\n\t\t}\n\t}, [open, file]);\n\n\tif (!open || !file) return null;\n\n\tconst currentFile: FileItem =\n\t\ttypeof file === 'string'\n\t\t\t? { url: file, name: file.substring(file.lastIndexOf('/') + 1) }\n\t\t\t: file;\n\n\tconst type: FileType = currentFile.fileType || inferFileType(currentFile.name || currentFile.url);\n\n\t// 默认下载处理\n\tconst handleDefaultDownload = () => {\n\t\tif (onDownload) {\n\t\t\tonDownload(currentFile);\n\t\t\treturn;\n\t\t}\n\t\tconst a = document.createElement('a');\n\t\ta.href = currentFile.url;\n\t\ta.download = currentFile.name || 'download';\n\t\ta.target = '_blank';\n\t\tdocument.body.appendChild(a);\n\t\ta.click();\n\t\ta.remove();\n\t};\n\n\t// 渲染文件图标\n\tconst renderFileIcon = () => {\n\t\tswitch (type) {\n\t\t\tcase 'image':\n\t\t\t\treturn <FileImageOutlined style={{ color: '#1677ff' }} />;\n\t\t\tcase 'pdf':\n\t\t\t\treturn <FilePdfOutlined style={{ color: '#ff4d4f' }} />;\n\t\t\tcase 'text':\n\t\t\t\treturn <FileTextOutlined style={{ color: '#52c41a' }} />;\n\t\t\tdefault:\n\t\t\t\treturn <FileOutlined style={{ color: '#8c8c8c' }} />;\n\t\t}\n\t};\n\n\t// 渲染主体内容\n\tconst renderBodyContent = () => {\n\t\tswitch (type) {\n\t\t\tcase 'image':\n\t\t\t\treturn (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={currentFile.url}\n\t\t\t\t\t\talt={currentFile.name || 'Preview'}\n\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_image\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\ttransform: `scale(${imageScale}) rotate(${imageRotate}deg)`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 'video':\n\t\t\t\treturn (\n\t\t\t\t\t<video\n\t\t\t\t\t\tsrc={currentFile.url}\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_media\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 'audio':\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"rpc_file_previewer_modal_audio_wrap\">\n\t\t\t\t\t\t<div style={{ fontSize: 48 }}>🎵</div>\n\t\t\t\t\t\t<div style={{ fontSize: 16, fontWeight: 600 }}>{currentFile.name || '音频播放'}</div>\n\t\t\t\t\t\t<audio src={currentFile.url} controls autoPlay style={{ width: 320 }} />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\tcase 'pdf':\n\t\t\t\treturn (\n\t\t\t\t\t<iframe\n\t\t\t\t\t\tsrc={currentFile.url}\n\t\t\t\t\t\ttitle={currentFile.name || 'PDF Preview'}\n\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_iframe\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 'text':\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"rpc_file_previewer_modal_text_wrap\">\n\t\t\t\t\t\t{currentFile.textContent || '正在加载文件内容...'}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"rpc_file_previewer_modal_fallback_card\">\n\t\t\t\t\t\t<div style={{ fontSize: 48, color: '#8c8c8c' }}>📦</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h4 style={{ margin: '0 0 6px 0', fontSize: 16, color: '#1f1f1f' }}>\n\t\t\t\t\t\t\t\t{currentFile.name || '未知文件'}\n\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t\t<p style={{ margin: 0, color: '#8c8c8c', fontSize: 13 }}>\n\t\t\t\t\t\t\t\t该格式暂不支持直接在线预览,请下载后在本地查看。{currentFile.size ? `(${currentFile.size})` : ''}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleDefaultDownload}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: 'inline-flex',\n\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\tgap: 6,\n\t\t\t\t\t\t\t\tpadding: '8px 20px',\n\t\t\t\t\t\t\t\tbackground: '#1677ff',\n\t\t\t\t\t\t\t\tcolor: '#fff',\n\t\t\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\t\t\tborderRadius: 6,\n\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DownloadOutlined /> 立即下载\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t}\n\t};\n\n\treturn ReactDOM.createPortal(\n\t\t<div className={`rpc_file_previewer_modal ${className}`} onClick={onCancel} style={style}>\n\t\t\t<div className=\"rpc_file_previewer_modal_card\" onClick={(e) => e.stopPropagation()}>\n\t\t\t\t{/* 顶部标题栏与工具栏 */}\n\t\t\t\t<div className=\"rpc_file_previewer_modal_header\">\n\t\t\t\t\t<div className=\"rpc_file_previewer_modal_title\">\n\t\t\t\t\t\t{renderFileIcon()}\n\t\t\t\t\t\t<span>{currentFile.name || '文件预览'}</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"rpc_file_previewer_modal_actions\">\n\t\t\t\t\t\t{type === 'image' && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_action_btn\"\n\t\t\t\t\t\t\t\t\tonClick={() => setImageScale((s) => Math.min(s + 0.2, 3))}\n\t\t\t\t\t\t\t\t\ttitle=\"放大\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ZoomInOutlined />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_action_btn\"\n\t\t\t\t\t\t\t\t\tonClick={() => setImageScale((s) => Math.max(s - 0.2, 0.4))}\n\t\t\t\t\t\t\t\t\ttitle=\"缩小\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ZoomOutOutlined />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_action_btn\"\n\t\t\t\t\t\t\t\t\tonClick={() => setImageRotate((r) => (r + 90) % 360)}\n\t\t\t\t\t\t\t\t\ttitle=\"顺时针旋转90°\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<RotateRightOutlined />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_action_btn\"\n\t\t\t\t\t\t\tonClick={handleDefaultDownload}\n\t\t\t\t\t\t\ttitle=\"下载文件\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DownloadOutlined />\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t{extraActions}\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName=\"rpc_file_previewer_modal_action_btn\"\n\t\t\t\t\t\t\tonClick={onCancel}\n\t\t\t\t\t\t\ttitle=\"关闭预览 (ESC)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CloseOutlined />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* 预览主体内容区域 */}\n\t\t\t\t<div className=\"rpc_file_previewer_modal_body\">{renderBodyContent()}</div>\n\t\t\t</div>\n\t\t</div>,\n\t\tdocument.body,\n\t);\n};\n\n// 命令式调用方法\nFilePreviewer.preview = (options: FileItem) => {\n\tconst div = document.createElement('div');\n\tdocument.body.appendChild(div);\n\n\tconst close = () => {\n\t\tReactDOM.render(<></>, div);\n\t\tdiv.remove();\n\t};\n\n\tReactDOM.render(\n\t\t<FilePreviewer open={true} file={options} onCancel={close} />,\n\t\tdiv,\n\t);\n\n\treturn { close };\n};\n\nexport default FilePreviewer;\n"]}
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ // JsonDiffViewer/index.tsx
7
+ var JsonDiffViewer = ({
8
+ before = {},
9
+ after = {},
10
+ className = "",
11
+ style
12
+ }) => {
13
+ const diffRows = react.useMemo(() => {
14
+ const rows = [];
15
+ const allKeys = Array.from(/* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)]));
16
+ allKeys.forEach((key) => {
17
+ const hasBefore = key in before;
18
+ const hasAfter = key in after;
19
+ if (!hasBefore && hasAfter) {
20
+ rows.push({ key, type: "added", newVal: after[key] });
21
+ } else if (hasBefore && !hasAfter) {
22
+ rows.push({ key, type: "removed", oldVal: before[key] });
23
+ } else {
24
+ const bVal = JSON.stringify(before[key]);
25
+ const aVal = JSON.stringify(after[key]);
26
+ if (bVal !== aVal) {
27
+ rows.push({ key, type: "modified", oldVal: before[key], newVal: after[key] });
28
+ } else {
29
+ rows.push({ key, type: "unchanged", newVal: after[key] });
30
+ }
31
+ }
32
+ });
33
+ return rows;
34
+ }, [before, after]);
35
+ const formatVal = (v) => {
36
+ if (typeof v === "object") return JSON.stringify(v);
37
+ if (typeof v === "string") return `"${v}"`;
38
+ return String(v);
39
+ };
40
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rpc_json_diff ${className}`, style, children: [
41
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: "#858585", marginBottom: 6 }, children: "{" }),
42
+ diffRows.map((row) => {
43
+ const sign = row.type === "added" ? "+" : row.type === "removed" ? "-" : row.type === "modified" ? "~" : " ";
44
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rpc_json_diff_row rpc_json_diff_row_${row.type}`, children: [
45
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_json_diff_sign", children: sign }),
46
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "rpc_json_diff_key", children: [
47
+ '"',
48
+ row.key,
49
+ '"'
50
+ ] }),
51
+ ":",
52
+ row.type === "modified" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
53
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { textDecoration: "line-through", opacity: 0.7 }, children: formatVal(row.oldVal) }),
54
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_json_diff_arrow", children: "\u2794" }),
55
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: formatVal(row.newVal) })
56
+ ] }) : row.type === "removed" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: formatVal(row.oldVal) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { children: formatVal(row.newVal) })
57
+ ] }, row.key);
58
+ }),
59
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: "#858585", marginTop: 6 }, children: "}" })
60
+ ] });
61
+ };
62
+ var JsonDiffViewer_default = JsonDiffViewer;
63
+
64
+ exports.JsonDiffViewer_default = JsonDiffViewer_default;
65
+ //# sourceMappingURL=chunk-4IBF4R3H.cjs.map
66
+ //# sourceMappingURL=chunk-4IBF4R3H.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../JsonDiffViewer/index.tsx"],"names":["useMemo","jsx","jsxs"],"mappings":"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","file":"chunk-4IBF4R3H.cjs","sourcesContent":["import React, { useMemo, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface JsonDiffViewerProps {\n\t/** 变更前原始 JSON 对象 */\n\tbefore: Record<string, any>;\n\t/** 变更后最新 JSON 对象 */\n\tafter: Record<string, any>;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\ntype DiffType = 'added' | 'removed' | 'modified' | 'unchanged';\n\ninterface DiffRow {\n\tkey: string;\n\ttype: DiffType;\n\toldVal?: any;\n\tnewVal?: any;\n}\n\nconst JsonDiffViewer: React.FC<JsonDiffViewerProps> = ({\n\tbefore = {},\n\tafter = {},\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst diffRows = useMemo(() => {\n\t\tconst rows: DiffRow[] = [];\n\t\tconst allKeys = Array.from(new Set([...Object.keys(before), ...Object.keys(after)]));\n\n\t\tallKeys.forEach((key) => {\n\t\t\tconst hasBefore = key in before;\n\t\t\tconst hasAfter = key in after;\n\n\t\t\tif (!hasBefore && hasAfter) {\n\t\t\t\trows.push({ key, type: 'added', newVal: after[key] });\n\t\t\t} else if (hasBefore && !hasAfter) {\n\t\t\t\trows.push({ key, type: 'removed', oldVal: before[key] });\n\t\t\t} else {\n\t\t\t\tconst bVal = JSON.stringify(before[key]);\n\t\t\t\tconst aVal = JSON.stringify(after[key]);\n\t\t\t\tif (bVal !== aVal) {\n\t\t\t\t\trows.push({ key, type: 'modified', oldVal: before[key], newVal: after[key] });\n\t\t\t\t} else {\n\t\t\t\t\trows.push({ key, type: 'unchanged', newVal: after[key] });\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn rows;\n\t}, [before, after]);\n\n\tconst formatVal = (v: any) => {\n\t\tif (typeof v === 'object') return JSON.stringify(v);\n\t\tif (typeof v === 'string') return `\"${v}\"`;\n\t\treturn String(v);\n\t};\n\n\treturn (\n\t\t<div className={`rpc_json_diff ${className}`} style={style}>\n\t\t\t<div style={{ color: '#858585', marginBottom: 6 }}>&#123;</div>\n\n\t\t\t{diffRows.map((row) => {\n\t\t\t\tconst sign =\n\t\t\t\t\trow.type === 'added'\n\t\t\t\t\t\t? '+'\n\t\t\t\t\t\t: row.type === 'removed'\n\t\t\t\t\t\t? '-'\n\t\t\t\t\t\t: row.type === 'modified'\n\t\t\t\t\t\t? '~'\n\t\t\t\t\t\t: ' ';\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={row.key} className={`rpc_json_diff_row rpc_json_diff_row_${row.type}`}>\n\t\t\t\t\t\t<span className=\"rpc_json_diff_sign\">{sign}</span>\n\t\t\t\t\t\t<span className=\"rpc_json_diff_key\">\"{row.key}\"</span>:\n\t\t\t\t\t\t{row.type === 'modified' ? (\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<span style={{ textDecoration: 'line-through', opacity: 0.7 }}>\n\t\t\t\t\t\t\t\t\t{formatVal(row.oldVal)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span className=\"rpc_json_diff_arrow\">➔</span>\n\t\t\t\t\t\t\t\t<span>{formatVal(row.newVal)}</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : row.type === 'removed' ? (\n\t\t\t\t\t\t\t<span>{formatVal(row.oldVal)}</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{formatVal(row.newVal)}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t<div style={{ color: '#858585', marginTop: 6 }}>&#125;</div>\n\t\t</div>\n\t);\n};\n\nexport default JsonDiffViewer;\n"]}
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ // NumericRangeInput/index.tsx
7
+ var NumericRangeInput = ({
8
+ value: controlledValue,
9
+ defaultValue = [void 0, void 0],
10
+ onChange,
11
+ min,
12
+ max,
13
+ step = 1,
14
+ precision,
15
+ prefix,
16
+ suffix,
17
+ separator = "~",
18
+ shortcuts,
19
+ disabled = false,
20
+ className = "",
21
+ style
22
+ }) => {
23
+ const [internalVal, setInternalVal] = react.useState(defaultValue);
24
+ const range = controlledValue !== void 0 ? controlledValue : internalVal;
25
+ const [isFocused, setIsFocused] = react.useState(false);
26
+ const isInvalid = range[0] !== void 0 && range[1] !== void 0 && range[0] > range[1];
27
+ const handleStartChange = (e) => {
28
+ const val = e.target.value === "" ? void 0 : Number(e.target.value);
29
+ const nextRange = [val, range[1]];
30
+ if (controlledValue === void 0) setInternalVal(nextRange);
31
+ onChange == null ? void 0 : onChange(nextRange);
32
+ };
33
+ const handleEndChange = (e) => {
34
+ const val = e.target.value === "" ? void 0 : Number(e.target.value);
35
+ const nextRange = [range[0], val];
36
+ if (controlledValue === void 0) setInternalVal(nextRange);
37
+ onChange == null ? void 0 : onChange(nextRange);
38
+ };
39
+ const handleShortcutClick = (scVal) => {
40
+ if (disabled) return;
41
+ if (controlledValue === void 0) setInternalVal(scVal);
42
+ onChange == null ? void 0 : onChange(scVal);
43
+ };
44
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rpc_numeric_range_input ${className}`, style, children: [
45
+ /* @__PURE__ */ jsxRuntime.jsxs(
46
+ "div",
47
+ {
48
+ className: `rpc_numeric_range_input_container ${isFocused ? "rpc_numeric_range_input_container_focused" : ""} ${isInvalid ? "rpc_numeric_range_input_container_error" : ""} ${disabled ? "rpc_numeric_range_input_container_disabled" : ""}`,
49
+ children: [
50
+ prefix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_numeric_range_input_prefix", children: prefix }),
51
+ /* @__PURE__ */ jsxRuntime.jsx(
52
+ "input",
53
+ {
54
+ type: "number",
55
+ value: range[0] !== void 0 ? range[0] : "",
56
+ min,
57
+ max,
58
+ step,
59
+ disabled,
60
+ placeholder: "\u6700\u5C0F\u503C",
61
+ className: "rpc_numeric_range_input_input",
62
+ onChange: handleStartChange,
63
+ onFocus: () => setIsFocused(true),
64
+ onBlur: () => setIsFocused(false)
65
+ }
66
+ ),
67
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_numeric_range_input_separator", children: separator }),
68
+ /* @__PURE__ */ jsxRuntime.jsx(
69
+ "input",
70
+ {
71
+ type: "number",
72
+ value: range[1] !== void 0 ? range[1] : "",
73
+ min,
74
+ max,
75
+ step,
76
+ disabled,
77
+ placeholder: "\u6700\u5927\u503C",
78
+ className: "rpc_numeric_range_input_input",
79
+ onChange: handleEndChange,
80
+ onFocus: () => setIsFocused(true),
81
+ onBlur: () => setIsFocused(false)
82
+ }
83
+ ),
84
+ suffix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_numeric_range_input_suffix", children: suffix })
85
+ ]
86
+ }
87
+ ),
88
+ shortcuts && shortcuts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_numeric_range_input_shortcuts", children: shortcuts.map((sc, idx) => /* @__PURE__ */ jsxRuntime.jsx(
89
+ "span",
90
+ {
91
+ className: "rpc_numeric_range_input_shortcut_item",
92
+ onClick: () => handleShortcutClick(sc.value),
93
+ children: sc.label
94
+ },
95
+ idx
96
+ )) })
97
+ ] });
98
+ };
99
+ var NumericRangeInput_default = NumericRangeInput;
100
+
101
+ exports.NumericRangeInput_default = NumericRangeInput_default;
102
+ //# sourceMappingURL=chunk-4MRZVLM6.cjs.map
103
+ //# sourceMappingURL=chunk-4MRZVLM6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../NumericRangeInput/index.tsx"],"names":["useState","jsxs","jsx"],"mappings":"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","file":"chunk-4MRZVLM6.cjs","sourcesContent":["import React, { useState, useEffect, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type RangeValue = [number | undefined, number | undefined];\n\nexport interface RangeShortcut {\n\tlabel: string;\n\tvalue: RangeValue;\n}\n\nexport interface NumericRangeInputProps {\n\t/** 当前区间值 [min, max](受控) */\n\tvalue?: RangeValue;\n\t/** 默认区间值 */\n\tdefaultValue?: RangeValue;\n\t/** 区间改变回调 */\n\tonChange?: (range: RangeValue) => void;\n\t/** 允许输入的最小值 */\n\tmin?: number;\n\t/** 允许输入的最大值 */\n\tmax?: number;\n\t/** 步长,默认为 1 */\n\tstep?: number;\n\t/** 精度小数位数 */\n\tprecision?: number;\n\t/** 前缀标签(如 '¥') */\n\tprefix?: ReactNode;\n\t/** 后缀标签(如 '元') */\n\tsuffix?: ReactNode;\n\t/** 连接分隔符,默认为 '~' */\n\tseparator?: ReactNode;\n\t/** 快捷区间选项列表 */\n\tshortcuts?: RangeShortcut[];\n\t/** 是否禁用 */\n\tdisabled?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst NumericRangeInput: React.FC<NumericRangeInputProps> = ({\n\tvalue: controlledValue,\n\tdefaultValue = [undefined, undefined],\n\tonChange,\n\tmin,\n\tmax,\n\tstep = 1,\n\tprecision,\n\tprefix,\n\tsuffix,\n\tseparator = '~',\n\tshortcuts,\n\tdisabled = false,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [internalVal, setInternalVal] = useState<RangeValue>(defaultValue);\n\tconst range = controlledValue !== undefined ? controlledValue : internalVal;\n\n\tconst [isFocused, setIsFocused] = useState<boolean>(false);\n\n\tconst isInvalid =\n\t\trange[0] !== undefined && range[1] !== undefined && range[0] > range[1];\n\n\tconst handleStartChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst val = e.target.value === '' ? undefined : Number(e.target.value);\n\t\tconst nextRange: RangeValue = [val, range[1]];\n\t\tif (controlledValue === undefined) setInternalVal(nextRange);\n\t\tonChange?.(nextRange);\n\t};\n\n\tconst handleEndChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst val = e.target.value === '' ? undefined : Number(e.target.value);\n\t\tconst nextRange: RangeValue = [range[0], val];\n\t\tif (controlledValue === undefined) setInternalVal(nextRange);\n\t\tonChange?.(nextRange);\n\t};\n\n\tconst handleShortcutClick = (scVal: RangeValue) => {\n\t\tif (disabled) return;\n\t\tif (controlledValue === undefined) setInternalVal(scVal);\n\t\tonChange?.(scVal);\n\t};\n\n\treturn (\n\t\t<div className={`rpc_numeric_range_input ${className}`} style={style}>\n\t\t\t<div\n\t\t\t\tclassName={`rpc_numeric_range_input_container ${\n\t\t\t\t\tisFocused ? 'rpc_numeric_range_input_container_focused' : ''\n\t\t\t\t} ${isInvalid ? 'rpc_numeric_range_input_container_error' : ''} ${\n\t\t\t\t\tdisabled ? 'rpc_numeric_range_input_container_disabled' : ''\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{prefix && <span className=\"rpc_numeric_range_input_prefix\">{prefix}</span>}\n\n\t\t\t\t<input\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tvalue={range[0] !== undefined ? range[0] : ''}\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\tstep={step}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tplaceholder=\"最小值\"\n\t\t\t\t\tclassName=\"rpc_numeric_range_input_input\"\n\t\t\t\t\tonChange={handleStartChange}\n\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\tonBlur={() => setIsFocused(false)}\n\t\t\t\t/>\n\n\t\t\t\t<span className=\"rpc_numeric_range_input_separator\">{separator}</span>\n\n\t\t\t\t<input\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tvalue={range[1] !== undefined ? range[1] : ''}\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\tstep={step}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tplaceholder=\"最大值\"\n\t\t\t\t\tclassName=\"rpc_numeric_range_input_input\"\n\t\t\t\t\tonChange={handleEndChange}\n\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\tonBlur={() => setIsFocused(false)}\n\t\t\t\t/>\n\n\t\t\t\t{suffix && <span className=\"rpc_numeric_range_input_suffix\">{suffix}</span>}\n\t\t\t</div>\n\n\t\t\t{/* 快捷区间预设 */}\n\t\t\t{shortcuts && shortcuts.length > 0 && (\n\t\t\t\t<div className=\"rpc_numeric_range_input_shortcuts\">\n\t\t\t\t\t{shortcuts.map((sc, idx) => (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\t\tclassName=\"rpc_numeric_range_input_shortcut_item\"\n\t\t\t\t\t\t\tonClick={() => handleShortcutClick(sc.value)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{sc.label}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default NumericRangeInput;\n"]}